Hos*_*ork 5 deployment jslint node.js cloud-foundry npm
我正在开发我的第一个Cloud Foundry项目(......和第一个Node.js项目,第一个MongoDB项目,以及第一个"express"项目等等......)
在第一天,我发现了这个问题,并将答案用作组织我的github存储库的起点:
有一个/node_modules未签入的目录.而是npm install根据package.json文件中的规范自动创建.好的,好的...我做了那个文件.
(注意:在a期间vmc push,似乎没有被推送到服务器检查package.json文件.它似乎只是复制在node_modules目录上,如果它不存在则什么都不做......所以有必要npm install在你的客户端做,然后推.)
我已经在我的应用程序中运行了一些基础知识,现在我正准备开始测试和构建基础架构.例如:我想要一个构建过程,它将在我的所有JavaScript上运行linting.有一个名为ready.js的持续集成库,它看起来像是一个最新的构建工具......
但是在我的项目目录中做某事感觉不对npm install ready.js.这意味着/node_modules当它不打算在云上运行时,更多的东西将进入目录并上传到云.出于同样的原因:如果我有一个构建进程正在进行资源缩减(或其他),那么我不希望使用vmc push任何一个部署源.
我知道这一切都是新的...但是有没有一个约定将目标转储到构建目录并从那里推送?或者每个人都从有效的github根目录中推出,并且同时推动所有构建和测试?欢迎任何提示......使用方法,避免方法......
更新:我找到了一个应用程序样板,用于使用express和Node.js(以及其他几个常见模块),它在服务器代码的javascript中执行其"构建过程"......无论好坏:
https://github.com/mape/node-express-boilerplate
我也发现了这一点,似乎将术语"样板"与你想要看到的模块名称结合在一起是一个很好的搜索策略,可以找到我想要的东西:
https://github.com/swbiggart/node-express-requirejs-backbone
npm 允许你指定devDependencies,你可能想看这篇文章。
您可以在 下添加所有开发/测试环境依赖项devDependencies以及在 下添加所有与生产相关的模块dependencies。然后,您可以添加一个脚本来推送到云端。
我不熟悉 Cloud Foundry 或vmc push工作流程。但是,您可以向package.jsonscripts中的对象添加自定义脚本,该脚本会安装开发环境模块、运行测试、清理 npm 缓存,然后安装仅用于生产的模块并将您的代码和仅这些模块推送到云。
编辑
我不确定如果不推送到 npm 存储库,您是否可以使用这些,但它们作为示例很有用(我猜......)或者,您可以在 shell 脚本或节点脚本中自动化我上面描述的工作流程。
/编辑
您可以连接到任何可用的脚本...(请参阅 参考资料man npm-scripts获取更多信息):
preinstall
Run BEFORE the package is installed
install, postinstall
Run AFTER the package is installed.
preuninstall, uninstall
Run BEFORE the package is uninstalled.
postuninstall
Run AFTER the package is uninstalled.
preupdate
Run BEFORE the package is updated with the update command.
update, postupdate
Run AFTER the package is updated with the update command.
prepublish
Run BEFORE the package is published.
publish, postpublish
Run AFTER the package is published.
pretest, test, posttest
Run by the npm test command.
prestop, stop, poststop
Run by the npm stop command.
prestart, start, poststart
Run by the npm start command.
prerestart, restart, postrestart
Run by the npm restart command. Note: npm restart will run the
stop and start scripts if no restart script is provided.
Additionally, arbitrary scrips can be run by doing npm run-script
<stage> <pkg>.
Run Code Online (Sandbox Code Playgroud)
注意,publish这里是将模块发布到npm. 您应该将包设置为私有 ( "private": true),这样您就不会意外地将代码发布到 npm 存储库。
| 归档时间: |
|
| 查看次数: |
1791 次 |
| 最近记录: |