我正在使用命令行来安装nodejs项目的每个必需节点。
目前你可以这样做:
sudo gen-web-app express
这将创建开始为expressjs开发所需的一切。
我现在正在
工作sudo gen-web-app reactjs
一切正常,除了我必须在package.json中手动进行并将启动脚本添加到文件中。 我知道这可以使用SED In BASH,但我需要一些使用sed的帮助。
这是文件:
{
"name": "test",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"dependencies": {
"nodemon": "^1.11.0",
"path": "^0.12.7",
"react": "^15.6.1",
"webpack": "^3.1.0",
"webpack-dev-server": "^2.5.1"
}
}
我想替换以下内容,但我会感激一点帮助:)
"test": "echo \"Error: no test specified\" && exit 1"
与
"start": "webpack-dev-server"
答案 0 :(得分:2)
Download and install jq - 命令行JSON
语法识别解析器,允许您修改.json
个文件。对于你的例子。
tmp=$(mktemp)
jq '.scripts.start = "webpack-dev-server" | del(.scripts.test)' input.json > "$tmp" && mv "$tmp" input.json
将生成最终的.json
文件
{
"name": "test",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"start": "webpack-dev-server"
},
"author": "",
"license": "ISC",
"dependencies": {
"nodemon": "^1.11.0",
"path": "^0.12.7",
"react": "^15.6.1",
"webpack": "^3.1.0",
"webpack-dev-server": "^2.5.1"
}
}
您可以在jqplay.org开发的免费游乐场玩jq
。
答案 1 :(得分:1)
ListViewItem
答案 2 :(得分:0)
使用jq
的另一个选项是简单地覆盖.scripts
的值:
jq '.scripts = { start: "webpack-dev-server" }' file.json