我的工作流程是npm脚本,在我的node_modules中运行命令以及简单的shell命令。
不幸的是,由于我在某些命令中使用反引号,这使得Windows用户很难(参见下面的示例)。我有一个拉取请求志愿转换为shellJS/shx我的构建因此我的repo将构建跨平台但我们无法找到npm脚本中的反引号解决方案。
问题:
在package.json中使用示例反引号:
"mkdirs": [
"dist/AS",
"libs",
"models/scripts"
],
"scripts": {
"mkdirs": "mkdir -p `bin/pkgkey.js mkdirs`",
....
.. bin/pkgkey.js mkdirs
脚本只返回mkdirs数组。这可能看起来很奇怪,但它对于组织npm风格的工作流程非常有用。
pkgkey脚本(简化):
#!/usr/bin/env node
const fs = require('fs')
const json = JSON.parse(fs.readFileSync('package.json'))
const key = process.argv[2]
let val = json[key]
if (Array.isArray(val)) val = val.join(' ')
process.stdout.write(val)
答案 0 :(得分:0)
检查交叉环境,不知道它是否适用于您的用例但我用它来使npm脚本独立于平台
npm i --save-dev cross-env
"mkdirs": "cross-env mkdir -p ..."