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

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

默认情况下,这给了我一个名为app.js的文件,正如你所知道的所有我的服务器逻辑,中间件等。

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

所以我进入我的bin目录,并在www文件中更改var app = require('../app'); var app = require('../server'); 但是,这并没有解决这个错误,所以它一直持续下去。

我对networking开发(3个月)比较陌生,在MEAN堆栈上工作了近2个月。 我环顾了一会儿,并没有发现任何人试图改变我想要的文件名。

你所做的是正确的(即更新bin \ www中的path)。

但是,您应该使用npm startnpm start快速应用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开发工具开始。