在npm脚本中使用package.json的变量

3
我将使用npm run来通过browserify构建一个JavaScript文件。在构建之前,我想让它在我的构建文件夹中创建一个名为package.json中列出的版本的目录。这是我package.json的一个示例:
{
  "name": "My App",
  "version": "0.0.0-pre-alpha",
  "description": "App desc",
  "main": "index.js",
  "dependencies": {
    "browserify" : "*",
  }
  "scripts": {
    "prebuild": "mkdir -p build/$npm_package_version",
    "browserify" : "browserify ./src/index.js ./build/$npm_package_version/js/myapp-$npm_package_version.js",
    "build" : "npm run prebuild && npm run browserify"
  }
}

在预构建中执行的代码是:

mkdir -p build/$npm_package_version

但我希望它能执行

mkdir -p build/0.0.0-pre-alpha

我做错了什么?
1个回答

4

更新: 事实证明,在脚本中无法使用mkdir参数。所以我最终使用了mkdirp npm模块

旧帖:

对于其他正在寻找答案的人:结果发现在Windows中正确使用变量的方法是

%npm_package_version%

因此,最终的代码应该如下所示:
"prebuild": "mkdir -p build/%npm_package_version%"

嘿,我知道我们已经有一段时间没联系了,但我在我的Windows机器上尝试了这两个解决方案都没成功。你知道是什么出了问题吗? - user3335812
它对我来说使用了mkdirp模块,它起作用了。这是工作代码:"mkdirp build/%npm_package_version%/js" - LongInt

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接