Tho*_*sen 40 build-tools npm package.json
我正在尝试将npm作为构建工具.
我遇到的一个绊脚石是我需要将javascript文件从一个文件夹复制到另一个文件夹.源文件夹包含打字稿文件,javascript文件和地图文件,但在目标文件夹中我只对javascript文件感兴趣.
我不想为每个文件创建一个copy-statement,但是想要复制所有.js文件.此外,我的源文件夹包含也包含javascript文件的子文件夹.这些也需要复制,并维护子文件夹结构.
我尝试过使用NCP和过滤器,但我无法使用过滤器.我已经测试了过滤器中使用的正则表达式,它似乎工作正常.测试在做正则表达式测试仪用正则表达式.*\.js$和测试串状main.ts,main.js main.js.map等等,只有.js文件的字符串相匹配.
我的包json包含以下(缩写):
{
"scripts": {
"copy": "ncp scripts wwwroot/scripts --filter=\".*(\\\\.js$)\""
},
"devDependencies": {
"ncp": "2.0.0.0"
}
}
Run Code Online (Sandbox Code Playgroud)
由于我的正则表达式是一个字符串中的字符串,我已经双重转义它.我也尝试了其他变体,例如:
--filter=/.*\.js$/g - compilation error
--filter=/.*\\.js$/g - no files copied
--filter=\".*\\.js$\" - no files copied
--filter=\"/.*\\.js$/g\" - no files copied
(no filter) - all files copied
Run Code Online (Sandbox Code Playgroud)
我与NCP没有任何关系.如果其他东西效果更好,那么我会用它.
那么:我如何在package.json的脚本部分中仅将具有特定扩展名的文件复制到另一个文件夹?我很确定我忽略了一些令人眼花缭乱的事情......
Mat*_*tis 69
cpx可能是一个很好的替代品.
它有一个CLI,允许你使用globs代替正则表达式,可以保存目录树,并且在我写这篇文章时是相对最新的....
asd*_*ads 14
还有名为https://github.com/calvinmetcalf/copyfiles的 npm模块copyfiles
例如,将*.css文件./src夹中的所有文件复制到./styles文件夹:
copyfiles --flat src/*.css styles
Run Code Online (Sandbox Code Playgroud)
小智 6
快速兼容性构建脚本(也适用于 Windows):
"build": "react-scripts build && mv build docs || move build docs",
Run Code Online (Sandbox Code Playgroud)
@powershell copy \"D:/Path/untitled.txt\" destionation-file.txt"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
54265 次 |
| 最近记录: |