1

我想知道,是否有一种方法可以为我的 package.json 依赖项使用注释。

现在我们有一个更大的 package.json 文件,我们越来越迷失依赖关系,它们来自哪里。在其他语言(不是 javascript)上,我们可以轻松添加评论。但是由于 JSON 不支持评论,这对我们来说真的很难。

package.json 是否有可选的文件格式来定义我们的依赖项?如果没有,我们如何设法创建一个带有注释的 package.json?

我更想知道,为什么 node/NPM 通过选择一种无法记录的文件格式来强制开发人员不记录?!?

希望有人能帮助我们走出黑暗...

4

2 回答 2

1

今年早些时候我遇到了同样的问题。我刚刚通过编写一些像这样的基本脚本解决了这个问题

#!/usr/local/bin/python

import os

os.rename("package.json", "package_M.json")

with open("package_M.json") as f:
    with open("package.json", "a") as tmp_p:
        for line in f:
            if "//" not in line:
                tmp_p.write(line)
os.system('npm install')
os.remove("package.json")
os.rename("package_M.json", "package.json")

我知道它类似于“黑客”,但它对我有用:)
希望它会有所帮助!

于 2015-05-10T09:32:00.887 回答
0

我不明白您的标题,为什么某些依赖项无法安装到package.json. 唯一的解释是被遗忘--save的旗帜npm i

继续前进,

package.json 是否有可选的文件格式来定义我们的依赖项?

不。

如果没有,我们如何设法创建一个带有注释的 package.json?

请参阅此问题重复的原始问题:How do I add comments to package.json for npm install? 那里有一些食谱。就个人而言,我不想在package.jsons 中添加评论,但我确实在我的 JSON 中使用了评论。我只是添加虚拟字段,例如"widt__comment___(value_below_is_capped_to_660_||_false_will_be_set_to_660_too)": false,. 我省略了最后一个字母,它在 JSON 排序时出现在顶部(下一个字段是width,因此它的注释以 开头widt_)。

为什么 node/NPM 通过选择一种无法记录的文件格式来强制开发人员不记录?

package.json必须可靠地解析返回,这限制了可能的格式选择。JSON 是一种非常可靠的旧格式,在解析和呈现方面具有非常严格的已知规则。JSON 也包含在标准 RFC 7159 和 ECMA-404 中。TOML 不受任何保护。YAML 也不包含在任何标准中。顺便说一句,TOML 仍在 v0.x 上,根据 Semver,它甚至不被认为是稳定的。

于 2017-02-14T14:24:20.187 回答