【发布时间】:2018-07-19 13:46:09
【问题描述】:
我正在一个使用 npm 的现有项目上试用 VSCode,该项目有一个 package.json 文件,该文件具有相应的“name:”键,读取“SpecPro-File-Management-UI”。 VSCode 以“字符串与模式不匹配...”反对这一行,显然是因为名称中的大写字符。
此问题在已关闭的VSCode issue 中有所描述。这给我的 package.json 文件留下了advice to setup a custom schema。这是非常不友好的,也是采用 VSCode 的障碍。我不想把时间花在自定义模式上。我不想重命名我的项目。我只想编辑我的代码并利用许多 VSCode 好东西,而不会分散错误消息的注意力。
考虑到在 npm 包中使用大写字符是一种非常普遍的做法, VSCode 应该采用更友好的架构或覆盖标准架构的简单方法似乎是最合理的。据我所知,我必须制作自己的个人模式来解决这个问题。对于这样一个简单的问题,需要大量的工作和未来的维护。
有没有简单的方法来消除这个错误的错误信息?
【问题讨论】:
-
你的名字违反了该字段的 NPM 规则。 docs.npmjs.com/files/package.json。全部小写,否则你会遇到其他问题。
-
这是相当严格的。我在该参考中给出的原因不适用的情况下使用 npm 和相关技术。我在所有其他组件都使用大写名称的现有项目的上下文中创建此代码。一切正常,但这条 VSCode 消息是不必要且烦人的。
-
我同意这个限制很烦人,但你迟早会遇到其他工具(NPM/JSPM/Yarn/Bower/random devDependencies)的问题。只需遵循约定,因为在这种情况下它不会受到伤害。
-
由于我没有使用大多数这些工具,因此这些潜在问题不适用。所以这个 VSCode 警告消息是我想要抑制的刺激。我不想为了取悦 VSCode 而违背现有代码已有几十年的惯例。总的来说,我真的很喜欢 VSCode。但是这个问题肯定是负面的。
-
VS Code 行为正确。为什么它应该容忍无效的清单?请注意,即使在本地使用
npm link或者如果您有私有 NPM 注册表和包服务器,您也可能会遇到问题。 NPM 有一个注册表,你在浪费时间试图维护一个无关紧要的约定。
标签: json node.js visual-studio-code package.json