是包。Json应该手动编辑?像npm这样的程序不能只查看文件,看到“require”语句,然后使用它将必要的条目放入包中吗?json文件吗?有这样的节目吗?


当前回答

npm add <package-name>

上面的命令将把包添加到节点模块并更新包。json文件

其他回答

运行npm init -y使你的包。Json和所有默认值。 然后您可以更改包。相应的json 通过避免在npm init中的每个命令上都按enter键,可以节省很多时间

我只是写了一个简单的脚本来收集./node_modules中的依赖项。它满足了我目前的要求。这可能会对其他人有所帮助,我贴在这里。

var fs = require("fs");

function main() {
  fs.readdir("./node_modules", function (err, dirs) {
    if (err) {
      console.log(err);
      return;
    }
    dirs.forEach(function(dir){
      if (dir.indexOf(".") !== 0) {
        var packageJsonFile = "./node_modules/" + dir + "/package.json";
        if (fs.existsSync(packageJsonFile)) {
          fs.readFile(packageJsonFile, function (err, data) {
            if (err) {
              console.log(err);
            }
            else {
              var json = JSON.parse(data);
              console.log('"'+json.name+'": "' + json.version + '",');
            }
          });
        }
      }
    });

  });
}

main();

在我的例子中,上面的脚本输出:

"colors": "0.6.0-1",
"commander": "1.0.5",
"htmlparser": "1.7.6",
"optimist": "0.3.5",
"progress": "0.1.0",
"request": "2.11.4",
"soupselect": "0.2.0",   // Remember: remove the comma character in the last line.

现在,你可以复制和粘贴它们。玩得开心!

包。NPM使用Json文件来了解你的node.js项目。

使用npm init生成包。Json文件!

它与npm捆绑在一起。在这里阅读它的文档:https://docs.npmjs.com/cli/init

此外,您可以使用一个官方工具以编程方式生成该文件:https://github.com/npm/init-package-json

不,它不是。

是的,有可能。

是的,有。

有时,当您注释掉代码或尝试尝试新模块时,实验并不奏效。然后,在package.json中有额外的垃圾。下面的过程将清除它,得到一个实际使用的内容的干净列表和一个干净的node_modules文件夹。

[Linux]重建包。来自项目的依赖项

安装

[终端]安装自动安装程序:sudo npm Install -g auto- Install

使用

[IDE]注释/删除你js文件中的失败实验 [终端]进入项目文件夹:cd <项目文件夹> [Terminal]移除节点模块:rm -rf node_modules [终端]运行auto installer: auto-install。注意错误。 [终端]终止观察者:CTRL+C [终端]修复漏洞:npm审计Fix——force [终端]修复自动安装的错误 [终端]如果有错误,返回“运行自动安装程序”步骤

自动化

(快捷键(VS代码)。添加一个键盘快捷键数组的键绑定: { “关键”:“ctrl + alt +一个”, “命令”:“workbench.action.terminal.sendSequence”, " args ": { “文本”:“没有\ u000D” } },

警告

我猜auto-install是pre-async/await。如果一个文件包含这些,它将无法解析该js文件,然后它将自动删除仅在该文件中引用的任何依赖项。你可以添加 var autoInstallKeep = { foo:要求(“foo”) } 防止模块foo由于解析错误而自动卸载

简单的回答:将已安装的npm模块添加到包中。Json不存在,使用

npm init -y

然后你就可以做了

npm i <module-name>

它会将该模块添加到package。json中