将Express生成的app.js文件更改为server.js

时间:2015-09-28 06:58:28

标签: node.js express mean-stack

我正在使用命令express -e myAppName来启动我的应用。

默认情况下,这会给我一个名为app.js的文件,众所周知,该文件包含我所有的服务器逻辑,中间件等。

我尝试将app.js的名称更改为server.js,之后我收到了此错误。 Error: Cannot find module '../app'

所以我进入我的bin目录并在www文件中我将var app = require('../app');更改为var app = require('../server');但是这并没有修复错误因此它会持续存在。

我对Web开发相对较新(3个月),并且使用MEAN堆栈将近2个月。我环顾了一会儿,并没有找到任何人试图改变我想要的文件名。

1 个答案:

答案 0 :(得分:4)

您所做的是正确的(即更新bin \ www中的路径)。

但是,您应该使用npm start

启动快递应用

通常,npm应用程序允许您在包json中指定一个命令,它将启动您的应用程序,这是第一个查看的地方。

对于快速生成,这应该如下所示:

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

如果您想要更改它并稍后传递参数,您只需要更新 package.json 文件,您的最终用户就不会受到影响。

无论您更改哪些文件名或参数,

npm start都会为您的程序用户提供一致的启动应用程序

开发设置

在您的情况下,由于您在开发时使用nodemon自动重新启动,因此您应该按如下方式使用它:

nodemon bin/www

而不是修改你的入口点,你应该制作一个像这样的特殊脚本:

{
  "scripts" : {
    "start" : "node bin/www",
    "devel" : "nodemon bin/www"
  }
}

然后开始使用nodemon:

npm run devel

这样您的最终用户就不会从nodemon开发工具开始。