将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 start
来npm 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开发工具开始。
- NodeJS :: TypeError:无法读取未定义的属性'first_name'
- Angular.js和Node.js – 通过控制器将inputvariables传递给server.js
- 通过使用Angularjs Expressjs Node和MEAN.js的POST方法将数组传递给$ resource
- 为什么我的AngularJS / Express / Socket.io应用程序不能提供socket.io.js文件?
- 从MEAN堆栈开始,只是哼了一声
- 在Express中设置默认的响应标题
- 快递未能查看视图
- JavaScript文件无法find并加载
- angular度不显示创build的对象,直到我刷新页面