gpt4 book ai didi

node.js - c9的Architect中是如何处理依赖关系的?

转载 作者:太空宇宙 更新时间:2023-11-04 02:21:11 25 4
gpt4 key购买 nike

我正在看c9's Architect用于构建模块化的 Node.js 应用程序,但我似乎找不到任何有关处理依赖项的信息。

例如,假设我编写了一个使用 lodash 之类的插件。我是否将依赖项包含在我的根 package.json 中,或者将其添加到我的插件的 package.json 中?如果是后者,我怀疑我需要在插件文件夹中运行 npm install ,但进入每个插件目录并执行此操作可能会很乏味。这是预期的行为吗?使用 Architect 时是否有更好的方法来管理依赖关系?

最佳答案

一个月过去了,我有一个很好的机会和 Architect 一起玩,所以我可以回答我自己的问题。

是的,依赖项由插件文件夹中的 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()
})

关于node.js - c9的Architect中是如何处理依赖关系的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33344437/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com