如何在不重新安装的情况下保存package.json中所有已安装的节点模块?
我有类似npm init --yes
的内容,但我不确定是否有效。
感谢您的帮助!
答案 0 :(得分:1)
我认为没有办法用一些内置模块来获取这些东西
但您可以编写自己的代码来获取该信息并在您自己的package.json
文件中更新
var fs = require("fs");
function getPackageInfo() {
fs.readdir("./node_modules", function(err, module) {
if (err) {
console.log(err);
return;
}
console.log(module)
module.forEach(function(dir) {
if (dir.indexOf(".") !== 0) {
var packageFile = "./node_modules/" + dir + "/package.json";
if (fs.existsSync(packageFile)) {
fs.readFile(packageFile, function(err, data) {
if (err) {
console.log(err);
} else {
var json = JSON.parse(data);
console.log('"' + json.name + '": "' + json.version + '",');
}
});
}
}
});
});
}
getPackageInfo();
<强>输出强>
"setprototypeof": "1.0.1",
"raw-body": "2.1.7",
"source-map": "0.4.4",
"statuses": "1.3.0",
"transformers": "2.1.0",
"type-is": "1.6.13",
"methods": "1.1.2",
"uglify-js": "2.7.3",
"uglify-to-browserify": "1.0.2",
"utils-merge": "1.0.0",
"unpipe": "1.0.0",
"vary": "1.0.1",
"void-elements": "2.0.1",
"with": "4.0.3",
"window-size": "0.1.0",
"wordwrap": "0.0.3",
"yargs": "3.10.0",
"mime-db": "1.24.0",
...................
..................
..................
.................
您也可以使用
npm list --depth=0
命令按child_process spawn