我正在寻找C9建筑师来构建一个模块化的node.js应用程序,但是我似乎找不到任何关于处理依赖关系的信息。
例如,假设我编写了一个使用类似lodash的插件。我是将依赖项包含在根package.json中,还是将其添加到插件的package.json中?如果是后者,我想我需要在插件文件夹中运行npm install,但是进入每个插件目录并这样做可能会很繁琐。这是预期的行为吗?在使用架构师时,是否有更好的管理依赖关系的方法?
发布于 2015-11-24 04:57:24
一个月过去了,我有一个很好的机会和建筑师一起玩,所以我可以回答我自己的问题。
是的,依赖关系由插件文件夹中的package.json处理,所以在插件目录中使用npm install --save
至于在所有文件夹上运行npm install,我编写了一个gulp任务来自动化这个过程。我几分钟就把这件事解决了,这样就有了改进的余地,但是:
var gulp = require("gulp")
var dir = require("node-dir")
gulp.task("install-plugins", function(callback) {
console.log("Installing dependencies for plugins")
dir.paths(__dirname + "/plugins", function(err, paths) {
try {
paths.dirs.forEach(function(item) {
if (item.indexOf("node_modules") > -1 || item.indexOf("bower_components") > -1) {
return
}
console.log("Running 'npm install' in " + item)
cp.execSync("npm install", {
cwd: item
})
})
} catch (ex) {
console.log("Failed to run 'npm install'. Error was: " + ex)
}
})
callback()
})https://stackoverflow.com/questions/33344437
复制相似问题