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

问题描述:

我正在使用nodejs进行web应用程序。在这种情况下,我对使用任何文件进行细微更改时连续触发命令“npm start”感到沮丧。如何在nodejs中自动调用“npm start”?

问题1:如何在不打开命令提示符的情况下自动调用我的“npm start”有没有办法?

问题2:我也想在url中删除这个端口显示。

我要像下面的结果,例如:

当前URL:http://localhost:3200/login 预期网址:每次保存代码变更http://localhost/myprojectname/login

+0

如果您想要在更改代码后自动运行npm start命令,则有一些模块可以解决您的问题。像'node-dev'或'superviosr'等等。第二个问题,如果你不想在生产环境中显示端口,你可以使用nginx来做反向代理,但是如果在开发中,我不会认为这是必要的。 – kenticny

+0

社区[已经讨论过急于提问](http://meta.*.com/q/326569/472495),并且已经坚定地解决了它是不可接受的。 – halfer

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

对于开发,最简单的方法就是在URL中使用端口。为了摆脱它,你需要在端口80上运行你的应用程序,这需要以root身份运行,这是不安全的。有办法做到这一点(通过ngrok iptables的,nginx的,等等,但多数开发商选择将只处理地方发展过程中的URL的端口

+0

谢谢彼得。让我试着安装这个软件包。 – daxter

+0

你能告诉我如何上传我的nodejs网络应用程序..? – daxter

+0

嗨,彼得我已经安装了这个软件包。位不工作。我使用的是“npm start”,但它给出了错误 – daxter

尝试nodemon module,Nodemon是一个实用程序,将监视任何改变你的源代码并自动重启你的server.Perfect在本地机器上进行开发,你不再需要在每次更改代码时处理npm start,它会自动重启服务器,并且会立即反映出更改。

安装它全球

npm install -g nodemon 

然后尝试使用npm startnode app.js

nodemon app.js改为运行你的应用程序。如果你想使用80端口,就应该执行root /管理员权限的应用程序,并确保没有其他服务在该端口上运行的另一个解决方案是我强烈建议使用nginx服务器反向代理设置。在您的机器上安装nginx服务器,以下是您可以使用nginx反向代理应用以从url中删除任何端口号的设置。

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/; 
     } 
} 

希望这可以帮助你。

+0

谢谢Dinesh ...我希望这将是工作。 – daxter

+0

@daxter,太好了,如果你的问题已经解决了,那么+1帖子。 –