2

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

我究竟做错了什么?

4

1 回答 1

4

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

旧帖:

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

%npm_package_version%

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

"prebuild": "mkdir -p build/%npm_package_version%"
于 2016-07-31T10:24:41.107 回答