最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

Express.x中“ .binwww”的作用是什么?

运维笔记admin12浏览0评论

Express.x中“ ./bin/www”的作用是什么?

Express.x中“ ./bin/www”的作用是什么?

我刚刚开始在Node.js应用程序中学习Express 4.0,发现它生成了./bin/www文件,在该文件上仅写入了应用程序服务器和端口设置,而其他所有内容(如中间件和路由)都在[ C0]文件。

但是,我不确定此./app.js的作用。我使用Express 3.x,并且始终在同一./bin/www文件上定义服务器和端口设置以及路由和中间件,并使用./app.js启动我的节点应用程序。那么使用node app.js有什么意义呢?它是否仅将服务器和端口定义与其他定义分开?

现在,当我使用express-generator创建包时,./bin/www包含以下定义:

package.json

但是,我想知道是否应该使用"scripts": { "start": "node ./bin/www" } node ./bin/www启动我的应用程序。我应该运行哪个命令来启动我的应用程序?

而且,当我将应用程序部署到heroku时,应该在npm start文件中写什么? Procfile是否足够?

回答如下:

Express 3.0]中,通常将使用web: node app.js(或app.configure())来设置所需的中间件。您指定的那些中间件与Express 3.0捆绑在一起。

示例:

app.use()

但是,在[[Express 4.0

中,所有中间件均已删除,因此它们可以独立于核心Express进行维护和更新(静态中间件除外),因此需要分别调用它们(在[C0中看到的内容])。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(expresspress()); app.use(express.json()); app.use(express.urlencoded()); app.use(express.methodOverride()); 目录用作您可以定义各种

启动脚本

的位置。 app.js是将Express App作为Web服务器启动的示例。
[最终,您可能具有不同的脚本,例如bin/wwwtest等。具有此结构可以使您拥有不同的启动配置,而无需将所有内容塞满stop

启动Express应用程序的正确方法是:

restart

要将

Express 4.x

应用程序部署到Heroku,请将其添加到您的app.js
npm start
或者,如果您仅可以在Procfile中使用启动脚本,heroku将自动使用该脚本,并阅读更多web: npm start

package.json

发布评论

评论列表(0)

  1. 暂无评论