首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何打包和部署Node.js + express web应用程序?

如何打包和部署Node.js + express web应用程序?
EN

Stack Overflow用户
提问于 2014-01-21 21:12:53
回答 6查看 69.2K关注 0票数 84

我是Node.js编程的新手,最近我用mongoDB创建了一个示例web应用程序(express、backbone和其他免费的视图技术)。现在,我想要在登台环境中部署该应用程序,但我不确定如何打包和分发该应用程序。我可以分别处理mongoDb和设置它

我来自Java世界,在那里我们为可重用的库创建war,为部署在servlet容器中的web应用程序创建war/ear包。在这种情况下,由于node.js本身也充当web容器,我如何打包我的web应用程序?

  1. 是否有使用express构建的打包节点any应用程序的标准格式/指南?(节点应用程序是否有类似的jar/war打包系统?)
  2. 打包后如何部署?它会成为一个可执行文件吗?因为它也是它自己的容器。

PS:到目前为止,我正在考虑手动将所有需要的源文件复制到登台环境中,并运行npm命令来下载该计算机上的所有依赖项,然后使用“永久”或其他机制来运行我的server.js。(另外,添加一些监控,以防应用程序崩溃并永远失败)我不确定这是不是正确的方式?我相信一定有某种标准化的方法来解决这个问题。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2014-01-21 21:24:47

没有标准化的方法,但你走在了正确的道路上。如果您的package.json是最新的并且保存良好,那么您只需将您的应用程序目录复制/压缩/克隆到生产系统,但不包括node_modules

在您的生产系统上,运行npm install以安装依赖项,如果有测试,则运行npm test,最后运行NODE_ENV=production node server.js

最近一些我认为很有帮助的幻灯片,也包括包装器的主题,比如永远,可以在here上找到。

票数 45
EN

Stack Overflow用户

发布于 2014-01-21 21:25:51

部署Node.js应用程序是非常容易的事情。在maven中,有pom.xmlNode.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=developmentnode app.js即可。这里,app.js在您的项目中。

这里是java和nodejs的相关概念;

  1. maven clean install npm install
  2. .m2 folder)
  3. mvn test node_modules => npm test( Express.JS
  4. pom.xml package.json
  5. import package require('module_name')

=> => node_modules,... => npm testpowermock,... => mochanode-unit,project => => project=>

票数 89
EN

Stack Overflow用户

发布于 2018-09-16 01:15:48

希望这可能会对寻找解决方案的人有所帮助,打包Node js应用程序可以使用"npm pack“command.It创建您的应用程序的压缩文件,该文件可以在生产/升级环境中运行。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21259181

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档