2017-08-16 101 views
1

我已经改变了我的package.json脚本,如下所示(由this postthis one建议)。它的工作原理和所期望的一样。如何执行两个NPM命令作为最后一步顺序复制文件?

... 
"deploy": "ng build && echo Do not forget to copy web.config!", ... 

然后,我试图将回声替换为实际上像这样复制文件。

... 
"deploy": "ng build && copy ./src/web.config ./dist", ... 

但是,这会失败并显示以下错误。

''copy'不被识别为内部或外部命令,可操作程序或批处理文件。

我知道我可以通过Grunting或Gulping来解决这个问题,但我想保持简单,看看是否可行。是吗?

我试过用撇号包围路径,甚至将复制命令作为脚本的单个命令运行。没有运气。

+0

它是如何失败?有没有错误? – n00dl3

+0

@ n00dl3对不起。我粘贴了一个旧版本的问题。请参阅当前的一个。至于你的问题 - 错误说没有这样的命令,或多或少。 –

回答

2

copy不是有效的bash命令。改为使用cp

您可以编写一个只复制该文件的nodejs脚本。

copy.js

var fs = require('fs'); 
fs.createReadStream('./src/web.config') 
    .pipe(fs.createWriteStream('./dist/web.config')); 

... 
"deploy": "ng build && node run ./copy.js . 

我得到了它运行使用M $-DOS COPY。它也可以使用PowerShell使用Copy-Item

不要忘记你必须在M $上使用反斜杠,而你也需要使用反斜杠。

"deploy": "COPY .\\a\\test .\\b\\test"

"deploy": "Copy-Item .\\a\\test .\\b\\test"

相关问题