如何设置在nodejs中自动调用“npm start”?

时间:2016-07-07 06:05:03

标签: node.js

我正在使用nodejs进行Web应用程序。在这种情况下,我对在任何文件上应用小的更改时连续触发命令“npm start”感到沮丧。

问题1:如果不打开命令提示符,如何保持自动调用我的“npm start”有什么办法吗?

问题2:我还要在url中删除此端口显示。

我想要如下结果,例如:

当前网址:http://localhost:3200/login 预期网址:http://localhost/myprojectname/login

2 个答案:

答案 0 :(得分:1)

每当您保存代码更改时,

node-dev都会自动重启您的应用程序。使用npm install -g node-dev安装它然后使用node-dev server.js运行您的应用程序(或者如果不是server.js,则调用项目的入口点文件)。

对于开发,最简单的方法就是使用URL中的端口。要摆脱它,您需要在端口80上运行您的应用程序,这需要以root身份运行,这是不安全的。有办法(通过ngrok iptables,nginx等),但大多数开发人员选择在本地开发期间只处理URL中的端口

答案 1 :(得分:0)

尝试nodemon module,Nodemon是一个实用程序,它将监视源中的任何更改并自动重新启动服务器。在本地计算机上进行开发完善,每次更改时都不再需要处理npm start代码。它将自动重启服务器,更改将立即反映。

全局安装

npm install -g nodemon

然后尝试使用nodemon app.js代替npm startnode app.js

运行您的应用

如果您想使用端口80,您应该使用root / administrator权限运行您的应用程序,并确保该端口上没有其他服务正在运行另一个解决方案,我强烈建议使用nginx服务器反向代理设置。安装您计算机上的nginx服务器,以下是您可以使用nginx反向代理从网址中删除所需端口号的设置。

server {
        listen   80;
        server_name yourdomain.com;

        location / {
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header Host $host;
                proxy_set_header X-NginX-Proxy true;
                proxy_pass http://localhost:3000/;
                proxy_redirect http://localhost:3000/ https://$server_name/;
        }
}

希望这会对你有所帮助。