当前位置: 首页 > 知识库问答 >
问题:

“./bin/www”在Express4.x中做什么?

林俊晖
2023-03-14

我刚开始在Node.js应用程序中学习Express4.0,我发现它生成了./bin/www文件,在该文件上只编写了应用服务器和端口设置,其他所有东西(如中间件和路由)都在./app.js文件中定义。

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

现在,当我使用express-generator创建包时,package.json包括以下定义:

"scripts": {
    "start": "node ./bin/www"
}

共有1个答案

隗昀
2023-03-14

在Express 3.0中,通常使用app.configure()(或app.use())来设置所需的中间件。您指定的那些中间件与Express3.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中看到的内容)。

npm start
web: npm start
"scripts": {
    "start": "node ./bin/www",
}
 类似资料:
  • 问题内容: 我刚刚开始在Node.js应用程序中学习Express 4.0,我发现它生成了文件,在该文件上仅写入了应用程序服务器和端口设置,并且在文件中定义了其他所有内容(例如中间件和路由)。 但是,我不确定这是做什么的。我使用Express 3.x,并且始终在同一文件中定义服务器和端口设置以及路由和中间件,并使用来启动我的节点应用程序。那么使用的意义何在?它仅将服务器和端口定义与其他定义分开吗?

  • 问题内容: 所以这是交易:我正在尝试在一个快速项目中使用socket.io。启动Express Js 4之后,我更新了express- generator,现在应用程序的初始功能进入了文件 (检查通过,然后 话虽这么说,让我们记住socket.io文档如何要求我们将其触发: 好的,但是我无法像推荐的那样在app.js中执行此操作。为了正常工作,这应该在./bin/www中完成。在./bin/www

  • 基于此,我认为我应该完全开始在中使用

  • 我目前正在编写API以尝试获得代币。我快到了,但在最后一关跌倒了… 编码的令牌在第一部分返回正常,https请求尽管返回了问题。 我得到的响应是grant_type丢失,所以我知道由于这个x-www-form-urlencoded我有一个格式问题,但是我不知道如何修复它。 这是网站所说的: 您需要在请求正文中以 x-www-form-urlencode 格式包含以下数据: grant _ type

  • 问题内容: 好的,我尝试查找或shift的含义,但是此站点对此进行了解释:http : //www.janeg.ca/scjp/oper/shift.html 如果和孩子说话,会是什么解释? 问题答案: 计算机是二进制设备。因此,数字由1和0的序列表示。 移位只是简单地左右移动那些1和0的序列。 因此,操作员要做的就是将这些位向右移一位。 考虑数字101: 在这种情况下,最低有效位被截断了。显然,

  • 问题内容: %在JavaScript中有什么作用? 关于它是什么及其作用的定义将不胜感激。 问题答案: 这是一个 模运算符 。有关JavaScript算术运算符的更多信息,请参见本文档或规范 。 %(模量) 模运算符的用法如下: var1%var2 在前面的语句中,模运算符以第二操作数为模的形式返回第一个操作数,即var1以var2为模,其中var1和var2是变量。模函数是var1除以var2的