我正在运行next命令为modules目录中的每个模块执行npm install
if (process.platform === 'win32') {
return 'powershell -noprofile -command "Get-ChildItem ../modules | ? { $_.PSIsContainer } | % { Push-Location $_.FullName; npm install; Pop-Location }"';
} else {
return 'for dir in ../modules/*; do (cd $dir && pwd && npm install); done'
}
有更优雅的方法吗?应该是跨平台的
答案 0 :(得分:1)
此脚本应适用于Windows和Linux系统:
www.mse.mk/FreeMseFeeds/service/FreeMSEFeeds.svc/ticker/JSON/9538ac69-2c99-45ba-bbd4-90931ca0cc7d
脚本列出目录内容,过滤掉非目录,然后在每个目录中执行var fs = require('fs');
var path = require('path');
var child_process = require('child_process');
fs.readdirSync(path.join(__dirname, 'modules')
.filter(function(dir) {
return fs.statSync(path.join(__dirname, 'modules', dir)).isDirectory();
})
.forEach(function(dir) {
child_process.spawnSync('npm', ['install'], {
cwd: path.join(__dirname, 'modules', dir))
});
});
。