Express 4.x에서“./bin/www”는 무엇입니까?
방금 Node.js 앱에서 Express 4.0에 대해 배우기 시작 ./bin/www
했으며 응용 프로그램 서버 및 포트 설정 만 작성되고 미들웨어 및 라우팅과 같은 다른 모든 ./app.js
파일이 파일에 정의되어있는 파일을 생성했습니다.
그러나 이것이 무엇을하는지 잘 모르겠습니다 ./bin/www
. Express 3.x를 사용했으며 항상 동일한 ./app.js
파일 에서 라우팅 및 미들웨어뿐만 아니라 서버 및 포트 설정을 정의하고로 노드 앱을 시작했습니다 node app.js
. 그래서 사용하는 요점은 무엇 ./bin/www
입니까? 서버와 포트 정의 만 다른 서버와 분리합니까?
현재 express-generator를 사용하여 패키지를 만들면 package.json
다음과 같은 정의 가 포함됩니다.
"scripts": {
"start": "node ./bin/www"
}
그러나, 나는 내 응용 프로그램을 사용하여 실행해야하는지 궁금 node ./bin/www
하거나 npm start
. 앱을 시작하려면 어떤 명령을 실행해야합니까?
또한 앱을 heroku에 배포 할 때 Procfile
파일에 무엇을 작성해야 합니까? 가 web: node app.js
충분?
에서 익스프레스 3.0 , 당신은 일반적으로 사용하는 것 app.configure()
(또는 app.use()
당신이 필요로 필요한 미들웨어를 설정). 지정한 미들웨어는 Express 3.0과 함께 번들로 제공됩니다.
예:
var express = require('express');
var routes = require('./routes');
var user = require('./routes/user');
var http = require('http');
var path = require('path');
var app = express();
// all environments
app.set('port', process.env.PORT || 3000);
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'jade');
app.use(express.favicon());
app.use(express.logger('dev'));
app.use(express.compress());
app.use(express.json());
app.use(express.urlencoded());
app.use(express.methodOverride());
그러나 Express 4.0 에서는 모든 미들웨어가 제거되어 핵심 Express (정적 미들웨어 제외)와 독립적으로 유지 보수 및 업데이트 될 수 있으므로 별도로 호출해야합니다 (에 표시된 내용 app.js
).
bin/
디렉토리는 당신이 당신의 다양한 정의 할 수있는 위치의 역할을 시작 스크립트 . 는 www
웹 서버로 명시 응용 프로그램을 시작하는 예입니다.
궁극적으로, 당신은 같은 다른 스크립트를 가질 수있다 test
, stop
또는 restart
등이 구조를 갖는로 모든 것을 주입식없이, 당신은 다른 시작 구성을 가질 수 있습니다 app.js
.
Express 앱을 시작하는 올바른 방법은 다음과 같습니다.
npm start
Heroku에 Express 4.x 앱 을 배포하려면 다음에 추가하십시오 .Procfile
web: npm start
Express 3.x와 같은 노드 앱은 비표준 시작 파일 app.js
을 사용하지만 실행하기에 잘못된 파일입니다.
package.json
있다
"scripts": {
"start": "node ./bin/www"
}
시작 명령 줄을 나타냅니다. 시작 파일에 대한 경로뿐만 아니라 전체 명령 행이 포함되어 있기 때문에 사소하지 않습니다.
당신이 명시 발전기를 사용하는 경우, 당신의 로컬 파일에서 보면 ./bin
,이 www
./bin의 파일 내부. node ./bin/www
따라서을 실행 하면 node.js가 www
파일 에서 코드를 실행 합니다. 멋진 것은 없습니다.
Windows에서는 다음 명령을 사용하십시오.
DEBUG = myapp : * & npm start를 설정 한 다음 브라우저에 http : // localhost : 3000 / 을 로드 하여 앱에 액세스하십시오.
이것을 Procfile에 넣고 web: node ./bin/www
작동하는지 확인하십시오 foreman start
. 포트 5000에서 앱을 사용할 수 있어야합니다.
참고 URL : https://stackoverflow.com/questions/23169941/what-does-bin-www-do-in-express-4-x
'IT' 카테고리의 다른 글
Android Studio 및 gradle을 사용하여 Android 라이브러리를 작성하는 방법은 무엇입니까? (0) | 2020.06.18 |
---|---|
2012 년 허드슨 vs 젠킨스 (0) | 2020.06.18 |
메타 태그 안에 속성 property =“og : title”이 무엇입니까? (0) | 2020.06.18 |
내 앱을 성공적으로 제출 한 후“너무 많은 심볼 파일” (0) | 2020.06.18 |
DIV가 전체 테이블 셀을 채우도록하십시오. (0) | 2020.06.18 |