我需要在命令行(cmd)
中运行npm run build
之后,我需要运行
xcopy C:\ fileOne C:\ fileTwo
但是,我想只运行一个命令并执行上述两个命令。 所以我想也许我的 package.json 应该是这样的:
"scripts": {
"build": "react-scripts build",
"copy": "xcopy C:\path\firstFile C:\path\secondFile",
"zack": "npm run build && npm run copy",
},
基于这个想法:
"scripts": {
"a1": "command1",
"a2": "command2",
"zack": "npm run a1 && npm run a2",
},
然后我可以在命令行中运行:
npm run zack
但我没有成功实现目标
(我这样做的原因是:我想在SubliteText 3(HTML JS CSS)中更改源代码并自动在Eclipse中发送(复制粘贴)(在其他一些项目中))< / p>
我想这样做:
我的主要问题是如何将本地目录路径放在package.json文件中的字符串中。
答案 0 :(得分:1)
您应该编写一个脚本文件来处理它,而不是直接在package.json中编写命令。
像
这样的东西var fs = require('fs');
fs.createReadStream('PATH_TO_FILE_ONE').pipe(fs.createWriteStream('PATH_TO_NEW_FILE'));
将上述脚本保存为类似afterBuild.js
并在你的package.json中只做zack为npm run build && node afterBuild.js
答案 1 :(得分:0)
我安装了npc模块:
npm install ncp -g
npm install ncp --save
然后我创建了一个文件: afterBuild.js ,我在里面插入了这段代码:
var ncp = require("ncp");
ncp("C:/directory/file.txt", "C:/destination/directory/file.txt", callback);
function callback(){} //empty function, I don't need it for the start
并在 package.json 中写道:
"scripts": {
"build": "react-scripts build",
"zack": "npm run build && node afterBuild.js"
},
我从命令行运行它,如:
npm run zack