如果要运行单个命令以将npm软件包安装在嵌套的子文件夹中,则可以通过npm
和mainpackage.json
在根目录中运行脚本。该脚本将访问每个子目录并运行npm install
。
var fs = require('fs')
var resolve = require('path').resolve
var join = require('path').join
var cp = require('child_process')
var os = require('os')
// get library path
var lib = resolve(__dirname, '../lib/')
fs.readdirSync(lib)
.forEach(function (mod) {
var modPath = join(lib, mod)
// ensure path has package.json
if (!fs.existsSync(join(modPath, 'package.json'))) return
// npm binary based on OS
var npmCmd = os.platform().startsWith('win') ? 'npm.cmd' : 'npm'
// install folder
cp.spawn(npmCmd, ['i'], { env: process.env, cwd: modPath, stdio: 'inherit' })
})
请注意,这是一个摘自StrongLoop文章的示例,该文章专门解决了模块化node.js
项目结构(包括嵌套的组件和package.json
文件)。
如建议的那样,您还可以使用bash脚本实现相同的目的。
编辑:使代码在Windows中工作