KBJ*_*KBJ 78 packaging web-deployment node.js express
我是Node.js编程的新手,我最近使用(快速,主干和其他免费视图技术,使用mongoDB)创建了一个示例工作Web应用程序.现在,我想要在暂存环境中部署相同的内容,我不知道如何打包此应用程序并分发相同的内容.[我可以照顾mongoDb并单独设置]
我来自Java世界,在那里我们为可重用的libs和用于Web应用程序的war/ear包创建jar,它们部署在servlet容器中.现在在这种情况下,因为node.js本身也充当了Web容器,我如何打包我的webapp?
PS:截至目前,我正在考虑手动将所有必需的源文件复制到登台环境中,并运行npm命令下载该计算机上的所有依赖项,然后使用"forever"或其他一些机制来运行我的server.js.(另外,添加某种监控,以防app崩溃并永远失败)我不确定这是不是正确的方法?我相信必须有一些标准化的方法来解决这个问题.
Hüs*_*BAL 88
部署Node.js应用程序非常容易.在maven,有pom.xml.相关概念Node.js是package.json.您可以声明您的依赖项package.json.您也可以进行环境设置package.json.例如,在开发环境中你可以这么说
我想进行单元测试.
但在生产中;
我想跳过单元测试.
您在.m2文件夹下有maven的本地存储库.在Node.js中,node_modulesNode.js项目下有一个文件夹.您可以看到带有名称的模块文件夹.
让我们来看看grunt这个答案的一部分.Grunt是您的前端资产,HTML,JavaScript,CSS的任务管理器.例如,在部署之前,您可以缩小html,css,javascript甚至图像.您还可以将grunt任务运行功能放入package.json.
如果要查看示例应用程序,可以在此处找到示例博客应用程序.检查文件夹结构并package.json供参考.
对于部署,我建议您使用heroku部署启动应用程序.你可以在这里找到方法.这是基于git的简单部署.
在项目运行部分,只需设置您的环境NODE_ENV=development和node app.js.这app.js是你的项目.
这是java和nodejs的相对概念;
maven clean install => npm install.m2folder => node_modules(在项目文件夹下)mvn test=> npm test(测试部分package.json)junit,, powermock... => mocha,node-unit,...Spring MVC=> Express.JSpom.xml => package.jsonimport package => require('module_name')Mil*_*ous 43
没有标准化的方法,但你走在正确的轨道上.如果您package.json是最新且保存完好的,您只需将您的应用程序目录复制/压缩/克隆到生产系统,不包括node_modules.
在生产系统上,运行
npm install以安装依赖项,npm test如果您有测试,最后NODE_ENV=production node server.js
最近的一些幻灯片我认为非常有用,也包括像永远这样的包装主题,可以在这里找到.
- 是否有使用express构建的打包节点webapps的标准格式/指南?(节点应用程序是否有类似的jar/war包装系统?)
是的,CommonJS包规范:
本规范描述了用于分发CommonJS程序和库的CommonJS包格式.CommonJS包是将模块,代码和其他资产集合整合到一个表单中.它为CommonJS组件的便捷交付,安装和管理提供了基础.
对于您的下一个问题:
2.如何打包后如何部署?它会成为一个exe,因为它也是它自己的容器吗?
我是第二个Hüseyin建议在Heroku上部署生产的.对于开发和分期我使用节点设备与VirtualBox和Amazon EC2上,分别为:
该程序采用build-debian-cloud或Debian-VirtualBox-Appliance构建的Debian机器,并将其转换为Node.js"设备",能够运行通过git部署的Node应用程序.
您的网络应用程序将不会成为exe.
几种解决方法:
将您的代码推送到Git存储库中,排除所有非您的代码(node_modules/**),然后将其拉入您的暂存环境中,运行npm install以还原所有依赖项
用它创建一个NPM软件包,通过npm在您的登台环境中安装它(这也应该照顾所有依赖项)
手动将文件复制/ ssh文件到暂存环境(可以使用进行自动化Grunt),然后通过npm
| 归档时间: |
|
| 查看次数: |
61217 次 |
| 最近记录: |