我可以按照某种package.json格式进行npm安装吗?

时间:2013-09-02 10:45:14

标签: node.js npm

安装npm软件包并使用--save--save-dev--save-optional选项将软件包写入相应依赖项属性中的package.json文件时,将显示整个文件要用2空格缩进重写:

$ cat package.json
{
    "name": "my-package"
}

$ npm install --save another-package && cat package.json
{
  "name": "my-package",
  "dependencies": {
    "another-package": "~0.1.5"
  }
}

有没有办法让npm遵循现有格式,或者为package.json文件指定自定义格式(例如4空格缩进)?

我在npm options documentation中找不到任何内容。

2 个答案:

答案 0 :(得分:11)

在挖掘npm source之后,不幸的是,我的问题的答案肯定是“不”。使用其中一个“保存”选项执行npm install时,following happens

fs.readFile(saveTarget, function (er, data) {
  try {
    data = JSON.parse(data.toString("utf8"))
  } catch (ex) {
    er = ex
  }
  // ...
  data = JSON.stringify(data, null, 2) + "\n"
  fs.writeFile(saveTarget, data, function (er) {
    cb(er, installed, tree, pretty)
  })
})

重要的一行是对JSON.stringify的调用。使用第三个参数调用stringify时,返回的字符串缩进的格式为指定的空格数。

由于无法在内部自定义npm使用的值,因此此行为目前是不可配置的。

答案 1 :(得分:1)