Как сохранить все установленные модули узла в package.json, не переустанавливая их?Как сохранить все установленные модули узла в package.json?
У меня есть что-то вроде npm init --yes
, но я не уверен, что если это сработает.
Спасибо за помощь!
Как сохранить все установленные модули узла в package.json, не переустанавливая их?Как сохранить все установленные модули узла в package.json?
У меня есть что-то вроде npm init --yes
, но я не уверен, что если это сработает.
Спасибо за помощь!
Я думаю, что нет никакого способа, чтобы получить этот материал с некоторыми встроенными модулями
Но вы можете написать свой собственный код, чтобы получить эту информацию и обновления в в вашем собственном 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
Это решение хорошо как обходной путь, так как нет прямого метода. Но это может быть проблематично, поскольку теперь npm (более новые версии> = v3) создает плоское дерево, и в результате этот код будет генерировать большее дерево зависимостей, чем фактическое. – Pankaj
u также может использовать команду 'npm list --depth = 0', чтобы получить список и версию пакетов, используя * shelljs * или * child_process spawn * вместо перемещения папки и файлов –
Согласитесь, нам все же нужно кое-что сделать, чтобы получить его сделанный. Но ваш вопрос правильный. Я обновляю свой ответ. – abdulbarik
http://stackoverflow.com/questions/10972176/find-the-version-of-an-installed-npm-package –