Node.js npm任务中的路径通配符(windows与linux)

Node.js npm任务中的路径通配符(windows与linux),node.js,linux,jenkins,wildcard,postcss,Node.js,Linux,Jenkins,Wildcard,Postcss,我对以下针对通配符路径运行autoprefixer的npm任务有问题: "css:autoprefix": "postcss -u autoprefixer --autoprefixer.browsers \"Last 2 versions\" -r src/frontend/app/**/*.css" 该命令在windows上运行良好,但在我的linux(jenkins build server)上,css没有前缀。是否可能是linux不理解命令中的***.css linux是否可能不理解命

我对以下针对通配符路径运行autoprefixer的npm任务有问题:

"css:autoprefix": "postcss -u autoprefixer --autoprefixer.browsers \"Last 2 versions\" -r src/frontend/app/**/*.css"
该命令在windows上运行良好,但在我的linux(jenkins build server)上,css没有前缀。是否可能是linux不理解命令中的
***.css

linux是否可能不理解命令中的**/*.css

你完全正确

这应该有效:

"css:autoprefix": "postcss -u autoprefixer --autoprefixer.browsers \"Last 2 versions\" -r \"src/frontend/app/**/*.css\""
为什么这样做:

"css:autoprefix": "postcss -u autoprefixer --autoprefixer.browsers \"Last 2 versions\" -r \"src/frontend/app/**/*.css\""
Windows根本不支持globs,因此它直接将
***.css
传递给postss,后者可以正确地扩展它

Linux支持globs,但许多发行版不支持globstar(
**
)默认情况下,Linux shell尝试展开glob,但将
**
解析为
*
。这无法正确展开glob。通过将glob括在引号中,glob将始终直接传递给postss,后者可以正确展开glob

linux是否可能不理解命令中的**/*.css

你完全正确

这应该有效:

"css:autoprefix": "postcss -u autoprefixer --autoprefixer.browsers \"Last 2 versions\" -r \"src/frontend/app/**/*.css\""
为什么这样做:

"css:autoprefix": "postcss -u autoprefixer --autoprefixer.browsers \"Last 2 versions\" -r \"src/frontend/app/**/*.css\""
Windows根本不支持globs,因此它直接将
***.css
传递给postss,后者可以正确地扩展它


Linux支持globs,但许多发行版不支持globstar(
**
)默认情况下,Linux shell尝试展开glob,但将
**
解析为
*
。这无法正确展开glob。通过将glob用引号括起来,glob将始终直接传递给postss,后者可以正确展开glob。

可以标记为
npm
,而
npm脚本
。可以标记为
npm>
npm脚本