从 npm 脚本命令访问 project.json webroot 值?

Accessing project.json webroot value from a npm script command?

我正在尝试使用 NPM 作为我的 ASP.NET 5 (Vnext) 构建工具以及用于构建我的 js/cs 文件,但我不想在我的 npm 和asp.net 5 个配置文件。

在我的项目中我有以下文件

package.json

"scripts": {
  "build:js": "browserify assets/scripts/main.js > $npm_package_config_aspnet5_webroot/main.js"
}

project.json

{
    "version": "1.0.0-*",
    "webroot": "wwwroot",
}

我希望能够从 ASP.NET 5 json 文件中提取 webroot 值,并在 npm 脚本命令中使用它,如下所示

json npm package 是一个非常酷的 CLI 工具,我一直在使用它来做这样的事情。您可以使用它来提取 json 文件的各个值。将此与 bash 脚本结合使用意味着您可以相当简单地从 project.json.

中提取 asp.net webroot

假设您的 project.json 看起来像这样:

{
    "webroot": "www/"
}

您可以使用 json 工具,如下所示:

$ json -f project.json webroot
www/

现在,这只是将它与您的 build:js 命令结合起来的一个例子:

"scripts": {
    "build:js": "browserify assets/scripts/main.js > $(json -f project.json webroot)/main.js"
}

你也可以创建一个 npm 任务来提取值,如果你需要多次使用它,这将很有用:

"scripts": {
    "getwebroot": "json -f project.json webroot",
    "build:js": "browserify assets/scripts/main.js > $(npm run getwebroot -s)/main.js",
    "build:css": "cat assets/styles/* > $(npm run getwebroot -s)/style.css"
}