programing

특급 JS내의 여만

goodsources 2023. 11. 2. 21:41
반응형

특급 JS내의 여만

저는 아직도 Yeoman과 Express의 예를 들어보고 싶습니다.

저는 다음을 시도해 보았는데 "좋아요"라는 반응을 보았지만, 저는 경로를 병합하는 데 어려움을 겪고 있습니다.(가독성을 위해 지나치게 단순화됨)

mkdir test
cd test
express
mkdir app
cd app
mkdir js
cd js
yeoman angular

그런 다음 Gruntfile.js에서 "output:dist"를 "output:../..public"으로 변경했습니다.

이제 두 서버 모두 자체적으로 잘 실행됩니다(예: yeoman server 및 node app.js).지금 'yoman build'를 실행하여 express 앱에서 /public에 minimated JS를 출력할 수도 있습니다.

경로가 어떻게 합쳐질지 좀 애매한데요?급행 노선이 아닌 Angular 노선을 올리려고 합니다.github의 angular-express-seed 예제들은 괜찮아 보이지만, 저는 여전히 Yeoman이 프로젝트에 통합되기를 원합니다.

어떤 제안이든 감사히 받겠습니다.

요먼 + expressjs의 경우 이 구조를 추천합니다.

mkdir app
cd app
yeoman angular
express .

그래서 당신의 dir 트리는 이렇게 보여야 합니다.

.
├── app
│   ├── 404.html
│   ├── favicon.ico
│   ├── index.html
│   ├── robots.txt
│   ├── scripts
│   │   ├── controllers
│   │   │   └── main.js
│   │   ├── vendor
│   │   │   ├── angular.js
│   │   │   ├── angular.min.js
│   │   │   ├── es5-shim.min.js
│   │   │   └── json3.min.js
│   │   └── yeoman-test.js
│   ├── styles
│   │   └── main.css
│   └── views
│       └── main.html
├── app.js
├── Gruntfile.js
├── package.json
├── public
│   ├── images
│   ├── javascripts
│   └── stylesheets
│       └── style.css
├── routes
│   ├── index.js
│   └── user.js
├── test
│   ├── lib
│   │   └── angular-mocks.js
│   └── spec
│       └── controllers
│           └── main.js
├── testacular.conf.js
└── views
    ├── index.jade
    └── layout.jade

이제 중복된 것을 제거할 수 있습니다.public디렉토리(Directory).app대신):

rm -rf public

그리고 지금은app.js, 정적 파일을 서비스할 dir를 변경해야 합니다.다음 줄 변경:

app.use(express.static(path.join(__dirname, 'public')));

다음 항목에 대해:

app.use(express.static(path.join(__dirname, 'app')));

그리고 그 정도는 되어야 합니다.이제 두 개의 "인덱스" 파일이 있다는 점에서 한 가지 주의할 점이 있습니다. 하나는 다음과 같습니다.views/index.jade, 다른 하나는app/index.html. 제거하기app/index.html현재는 여만을 깨뜨리고 있으므로, 나의 조언은 길을 없애라는 것입니다.app/index.jade편집만 하면 됩니다.index.html.

도움이 되길 바랍니다!

여기 약간 다른 설정이 있습니다.

yo angular

Gruntfile.js를 업데이트하여 구성을 'app'에서 'public'으로 변경합니다.

그다음에 하오

express .

app.js를 열고 이 app.get ('/', routes와 같은 경로 매핑이 없는지 확인합니다.색인);노드 서버가 실제로 "그룬트 서버"를 실행할 때 로드되는 파일과 동일한 index.html을 제공하기 때문입니다.

이제 공용 디렉토리를 삭제한 다음 앱 디렉토리를 공용으로 이동합니다.

rm -rf public
mv app public

이 프로젝트는 모든 요구 사항을 포함하는 것 같습니다(MongoDB에 대한 옵션 지원도 포함되어 있음). https://github.com/DaftMonk/generator-angular-fullstack

방금 현지에서 시도해봤는데 효과가 있네요.

npm install -g generator-angular-fullstack

yo angular-fullstack [appname]

자세한 내용은 GitHub 페이지를 참고하세요.

만약 내가 평판이 있다면 @btford의 답변에 대해 논평할 것입니다.

설치를 추가하고 싶었을 뿐입니다.express .끝나고yo angulargrunt-created 패키지를 덮어씁니다.@jperezaguinaga 가 보고한대로 grunt를 깰 json 파일.

패키지 사본을 꼭 저장해 두십시오.설치하기 전 jsonexpress .. 그런 다음 원래 패키지에 다음 종속성을 추가합니다.json:

"dependencies" : { 
  "express": "3.3.4",
  "jade": "*"
}

이 솔루션에 문제가 있습니다. express는 여전히 index.html 대신 index.jade를 로드하려고 하지만 localhost:3000/index.html express render를 올바르게 입력하면 됩니다.app.js에서 이 줄을 제거하는 것을 해결했습니다.

//app.get('/', routes.index);

도움이 되길 바랍니다.공유해줘서 고마워, D.

다음은 다른 사람들이 이전에 제안한 단계이지만 모두 번호가 매겨진 단계의 모음입니다.버전을 기준으로 합니다.여만 1.0.4 & 익스프레스 3.3.8

1) 프로젝트 디렉토리와 cd를 작성합니다.

2) 설치 각도:

yo angular

(su에 로그인하지 않은 경우 다음 두 줄을 실행해야 함)

bower install
sudo npm install

3) 패키지 이름을 바꿉니다.json to package_yo.json (따라서 express' 버전의 package.json에서 덮어쓰지 않습니다)

4) Express Express -cless -Hs 설치(또는 원하는 기타 Express 옵션 설치)

sudo npm install

5) Express' public 디렉토리를 삭제하고 Express' app.js: app.use(require('less-middleware')({ src: _dirname + '/app'}), app.use(express.static(path.join(_dirname, 'app'))의 경로에 대해 'public'을 'app'으로 변경합니다.

6) express' 기본 경로( app.get('/', 경로)를 삭제합니다.index); ) (이제 express는 angular의 /app 폴더에 지정된 경로를 대신 사용합니다.

7) 서버 시작 npm 시작

(그럼 요만의 웰컴페이지는 localhost:3000/에서 보실 수 있습니다.)

언급URL : https://stackoverflow.com/questions/14106248/yeoman-inside-expressjs

반응형