我想在名为prepare_build
的npm脚本中运行这个简单的命令:
...
scripts: {
"prepare_build" : "mkdir -p dist/lib/{js,css}"
}
...
运行npm run prepare_build
会创建一个目录dist/lib/{js,css}
,而在控制台中运行该命令会同时创建dist/lib/js
和dist/lib/css
。
我在这里做错了什么?
注意:
答案 0 :(得分:4)
<a ui-sref="parent">
<a ui-sref="parent.child1">
<a ui-sref="parent.child2">
语法既不是mkdir的功能,也不是OS的功能。它是你shell的一个特性(可能是bash)。因此,为了解释它,您需要执行一个可以理解该语法的shell。
以下内容可能有效,但尚未经过测试:
{js,css}
执行bash,将命令转换为:
scripts: {
"prepare_build" : "bash -c 'mkdir -p dist/lib/{js,css}'"
}
在执行之前。
答案 1 :(得分:0)
使用npm脚本时,往往会出现某些怪癖,特别是在尝试创建适用于Win,Linux和Mac的npm脚本时。找到变通方法往往是最务实的。在您的情况下,我建议您安装mkdirp package npm install mkdirp --save-dev
,然后以下内容将有效:
scripts: {
"prepare_build" : "mkdirp dist/lib/js dist/lib/css"
}