NPM脚本,拷贝包.当绑定时,Json到dist
npm script, copy package.json to dist when bundling
我正在尝试添加第二部分到我的npm bundle脚本。第一部分运行得很好,但是我试图将3个文件与包一起复制。
现在我有:
"bundle": "NODE_ENV=production webpack --output-file bundledFile.js && cp package.json dist/",
NODE_ENV=production webpack --output-file bundledFile.js
单独工作很好。不工作的部分是&& cp package.json dist/
,我想脚本复制我的包。Json(实际上还有其他2个文件,但只是从这个开始)到dist文件夹。全新的这些脚本,任何想法如何修复?感谢任何建议,谢谢!
语法应该可以工作(并且看起来可以,看看您的注释)。我建议把你的npm脚本分成多个点:
{
"bundle": "NODE_ENV=production webpack --output-file bundledFile.js",
"copy": "cp package.json dist/ && cp README.md dist/ && cp .npmrc dist/",
"build": "npm run bundle && npm run copy"
}
为了跨平台兼容(cp
通常在windows上不可用),我还建议在某处添加一个构建文件,如./tools/copy-distrubution-files.js
,它将使用fs
复制必要的文件,然后在npm脚本中调用node ./tools/copy-distribution-files.js
。这将(主要)独立于平台(您仍然必须假设node
可用作为nodejs可执行文件,但这对我来说似乎相当合理)。
对我来说最快的方法是在包中引用powershell。Json脚本如下:
"copyFile": "@powershell copy './source/package.json' './deploy'",
如果您在windows上运行,请使用以下命令:
"copy": "copy '"package.json'" '"dist'" && copy '"README.md'" '"dist'" && copy '".npmrc'" '"dist'""
copy而不是cp。不要忘记对每个路径使用" (在引号内用'转义)。如果你需要定义一个长路径,不要使用/(斜杠),而要使用'(反斜杠)
:
copy "devices''VS-88UT''index.html" "devices''VS-88UT''dist"
另外,如果你喜欢的话,有一个很好的插件可以在每次构建之前和之后运行bash命令
使用Node
使用Node.js的内置功能,而不是依赖于shell命令,这些命令在每个操作系统上都不可用,这是可行的方法。因为这个原因,本页上的所有其他答案都应该避免。
对于当前的Node.js版本,可以使用fs.copy
来复制文件和文件夹。将它与node -e "javascript code goes here"
结合使用,可以编写简短的跨平台npm脚本。
"copyAssets": "node -e '"require('fs').cpSync('./assets', './build/assets', {recursive: true});'""
将/assets
文件夹复制到/build/assets
文件夹。
在windows中复制文件夹和文件只需使用
xcopy git''* dist'' /e /i /h
我想这可能对某人有帮助。
- jQuery匹配JSON对象的部分文本
- 在循环中分配json值时,值被覆盖
- 需要帮助设置json数组
- 如何在Javascript中将JSon对象转换为数组
- 我可以在json对象中添加一个函数吗
- 使用JS将数组转换为json对象
- Javascript-如何读取json文件中的列并将其保存在Javascript数组中
- 使用JQuery解析JSON嵌套数组
- 在使用Polymer'加载所有json文件后执行方法;s的核心ajax
- 如何使用json将对象列表从java转换为javascript
- 如何使用 node.js 比较两个 json 数组
- 如何将JSON数据导入我的ejs模板
- 区分JSON中的矩阵和列表列表
- 不显示带有本地json文件数据的谷歌地图脚本
- 如何将json数据显示为html
- 如何为json对象中的段发送array[]
- 根据id将json数组组合为一个json数组
- Json数据包含日期和时间格式
- AngularJS-在JSON选择器中使用变量名
- NPM脚本,拷贝包.当绑定时,Json到dist