Node.js npm命令没有';t更新json
此命令工作正常:Node.js npm命令没有';t更新json,node.js,json,npm,command-line,Node.js,Json,Npm,Command Line,此命令工作正常: json -I -f ./src/environments/build.json -e 'this.patch++' 我试图在我的package.json文件中创建一个自定义的build NPM命令,在实际生成之前运行该命令,但首先我只是尝试运行json命令,只是想看看它是否工作,但它没有:/ package.json { ... "scripts": { ... "svrge-build-dev": "json -I -f ./src/environ
json -I -f ./src/environments/build.json -e 'this.patch++'
我试图在我的package.json
文件中创建一个自定义的build NPM命令,在实际生成之前运行该命令,但首先我只是尝试运行json命令,只是想看看它是否工作,但它没有:/
package.json
{
...
"scripts": {
...
"svrge-build-dev": "json -I -f ./src/environments/build.json -e 'this.patch++'",
...
}
然后我得到这个输出(这与我单独运行JSON代码时完全相同),这意味着命令肯定正在运行
> web-client@1.0.0 svrge-build-dev D:\repos\test\web-client
> json -I -f ./src/environments/build.json -e 'this.patch++
json: updated "./src/environments/build.json" in-place //<- this is exactly the same'
>网络-client@1.0.0svrge构建开发人员D:\repos\test\web客户端
>json-I-f./src/environments/build.json-e'this.patch++
json:更新了“/src/environments/build.json”,重新说明了我在评论中所说的:尝试用双引号替换单引号:
{
// ...
“脚本”:{
// ...
“svrge build dev”:“json-I-f./src/environments/build.json-e\”this.patch++\“”,
// ...
}
触发这种想法的是输出中的这一行:
> json -I -f ./src/environments/build.json -e 'this.patch++
在做了一些挖掘之后,我认为这取决于操作系统和/或命令行解释器。它显示了运行的命令,但没有完整的单引号
经过一番搜索,这似乎确实是一个bug:请参阅和。您可能想让维护人员了解一下:我链接的最后一个问题使它看起来像是Windows问题。如果您将单引号替换为转义的双引号,如json-I-f./src/environments/build.json-e\“this.patch++\”“
?它能工作……说真的。这是什么原因呢?我从他们的文档中得到的代码带有单引号。如果你把它作为答案,我会接受它。”