`gulp build`和依赖对devDependency的节点
尽pipe所有的东西都是dependency
devDependency
,但我还是很困惑,在npm start
之前,如何进行“构build时间”步骤所需的模块。
在我的项目中,必须在npm start
工作之前调用gulp build
。 构build步骤中的活动示例包括转码和捆绑。 官方文档特别指出,不要在依赖项部分包含转译器,而应该在devDependencies部分。 其他的最佳实践表明,自动生成的代码应该保持在git / modules之外。 把它们放在一起,我不知道该做什么:没有经过编译和构build的人就无法下载和运行我的模块,而且这些步骤如果没有编译器/捆绑器/等等就无法完成。 在依赖部分。 (否则“跑步”被认为是“发展”?)
节点项目在这种情况下如何正确构build?
任何不需要在生产模式下运行您的应用程序应该是devDependency。 这将包括所有的构build工具。
你的gulp build
应该运行在你的自动构build服务器上,并生成运行你的应用程序所需的任何东西(例如,经过转换的JS或者一个webpack包)。 你的构build脚本应该是这样的:
npm install gulp build # or better make it a script in package.json # npm run build # remove devDependencies - no longer needed npm prune --production npm start
你的package.json将包含如下内容:
{ ... "scripts": { "build": "gulp build", "start": "NODE_ENV=production node lib/index" } ... }
在这个人为的例子中,入口点是lib / index。
- 如何使用psd.js来区分PSD图层types
- 在node.js中使用mysql-node查询中的variables
- 如何使用Jasmine 2在jasmine.json中设置源文件
- 节点不能调用未定义的方法'serializeUser'
- 如何使用Braintree从webhook获取客户的ID?
- 是否有可能在我的Jesttesting套件中创build一个Express.js服务器?
- 从Clojurescript中创build一个NodeJS可运行的单个JavaScript文件
- 很多很多自我参考在sequelize在twitter像web应用程序
- 带有Connect基本身份validation的Expressj不会设置请求用户