我是Node.js编程的新手,最近我用mongoDB创建了一个示例web应用程序(express、backbone和其他免费的视图技术)。现在,我想要在登台环境中部署该应用程序,但我不确定如何打包和分发该应用程序。我可以分别处理mongoDb和设置它
我来自Java世界,在那里我们为可重用的库创建war,为部署在servlet容器中的web应用程序创建war/ear包。在这种情况下,由于node.js本身也充当web容器,我如何打包我的web应用程序?
PS:到目前为止,我正在考虑手动将所有需要的源文件复制到登台环境中,并运行npm命令来下载该计算机上的所有依赖项,然后使用“永久”或其他机制来运行我的server.js。(另外,添加一些监控,以防应用程序崩溃并永远失败)我不确定这是不是正确的方式?我相信一定有某种标准化的方法来解决这个问题。
发布于 2014-01-21 21:24:47
没有标准化的方法,但你走在了正确的道路上。如果您的package.json
是最新的并且保存良好,那么您只需将您的应用程序目录复制/压缩/克隆到生产系统,但不包括node_modules
。
在您的生产系统上,运行npm install
以安装依赖项,如果有测试,则运行npm test
,最后运行NODE_ENV=production node server.js
最近一些我认为很有帮助的幻灯片,也包括包装器的主题,比如永远,可以在here上找到。
发布于 2014-01-21 21:25:51
部署Node.js
应用程序是非常容易的事情。在maven中,有pom.xml
。Node.js
中的相关概念是package.json
。你可以声明你对package.json
的依赖。您还可以在package.json
上进行环境设置。例如,在dev环境中,您可以这样说
我想运行单元测试。
但在生产中;
我想跳过单元测试。
在.m2
文件夹下有maven的本地存储库。在Node.js中,您的Node.js项目下有一个node_modules
文件夹。您可以看到带有其名称的模块文件夹。
让我们来看看这个答案的grunt
部分。Grunt
是一个任务管理器,管理你的前端资源,html,javascript,css。例如,在部署之前,你可以缩小html,css,javascript甚至图片。您还可以将grunt
任务运行函数放在package.json
中。
如果您想查看示例应用程序,可以找到示例博客应用程序here。检查文件夹结构和package.json
以供参考。
对于部署,我建议您在启动应用程序中部署heroku。你可以找到howto here。这是一个简单的基于git的部署。
在项目运行部分,只需设置环境NODE_ENV=development
和node app.js
即可。这里,app.js
在您的项目中。
这里是java和nodejs的相关概念;
maven clean install
npm install
.m2
folder)mvn test
node_modules
=> npm test
( Express.JSpom.xml
package.json
import package
require('module_name')
=> => node_modules
,... => npm test
,powermock
,... => mocha,node-unit,project => => project=>
发布于 2018-09-16 01:15:48
希望这可能会对寻找解决方案的人有所帮助,打包Node js应用程序可以使用"npm pack“command.It创建您的应用程序的压缩文件,该文件可以在生产/升级环境中运行。
https://stackoverflow.com/questions/21259181
复制相似问题