【问题标题】:Using a package.json variable in npm script在 npm 脚本中使用 package.json 变量
【发布时间】:2016-12-05 14:21:27
【问题描述】:

我正在使用 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"
  }
}

prebuild 中执行的代码是:

mkdir -p build/$npm_package_version

但我希望它执行

mkdir -p build/0.0.0-pre-alpha

我做错了什么?

【问题讨论】:

    标签: npm package.json npm-run


    【解决方案1】:

    更新: 原来你不能在脚本中使用带有 mkdir 的参数。所以我最终使用了mkdirp npm module

    旧帖:

    对于寻找答案的其他人:事实证明,当您在 Windows 中工作时,使用变量的正确方法是

    %npm_package_version%
    

    所以最终的代码应该是这样的:

    "prebuild": "mkdir -p build/%npm_package_version%"
    

    【讨论】:

    • 嘿,知道已经有一段时间了,但是我在我的 Windows 机器上尝试了这个,两种解决方案都不起作用。你知道怎么回事吗?
    • 它为我使用了 mkdirp 模块。这是工作代码:“mkdirp build/%npm_package_version%/js”
    猜你喜欢
    • 2021-11-12
    • 2018-10-17
    • 2018-12-03
    • 2018-02-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-26
    • 2020-01-22
    相关资源
    最近更新 更多