使用npm pkg set命令时如何保持属性类型不变?
使用
npm pkg set时保持JSON属性类型的解决方法 我们使用最新版本的npm,执行以下命令:
npm pkg set 'prettier.printWidth'=100 npm pkg set 'prettier.singleQuote'=true
期望在package.json中得到的结果:
// package.json { // ... "prettier": { "singleQuote": true, "printWidth": 100 } }
但实际得到的结果中属性被转为字符串类型:
// package.json { // ... "prettier": { "singleQuote": "true", "printWidth": "100" } }
解决方法
在执行npm pkg set命令时添加--json参数,让npm将传入的值解析为对应JSON类型:
npm pkg set 'prettier.printWidth'=100 --json npm pkg set 'prettier.singleQuote'=true --json
或者直接传递完整的JSON对象一次性设置:
npm pkg set prettier='{"printWidth":100,"singleQuote":true}'
原因说明
默认情况下,Shell会将输入的100、true作为字符串传递给npm,导致写入package.json时被保留为字符串类型。添加--json参数后,npm会按照JSON规则解析这些值,自动识别数字、布尔类型,从而保持正确的属性类型。
内容的提问来源于stack exchange,提问作者user14082
相关产品推荐
相关产品推荐

