以编程方式安装npm包,提供--save-dev标志

Tri*_*ley 3 javascript node.js npm

它没有很好的文档记录,但您可以使用npm作为Node.js模块并在代码中调用命令.

我想捕获用户输入以获取所需的包并以这种方式安装它们,并将它们保存到带有--save-dev标志的包中.我试图在代码中运行并运行它,但是无法找到将其保存到包文件的方法.

这甚至可能,还是以其他方式完成.欢迎并赞赏替代方法.

var npm = require("npm")

npm.load({}, function (er) {
  if (er) return handlError(er)

  npm.commands.install(["titlecase"], function (err, data) {
    if (err) return console.error(err)
  })

})
Run Code Online (Sandbox Code Playgroud)

Sha*_*oor 7

有可能,标志需要传递给npm.load():

var npm = require('npm');

npm.load({ 'save-dev': true }, function (err) {
    if (err) console.log(err);

    npm.commands.install(['lodash'], function (err, data) {
        if (err) return console.error(err)
    });
});
Run Code Online (Sandbox Code Playgroud)

你有这里的标志及其类型列表.