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

时间:2015-07-08 20:17:23

标签: npm asp.net-core build-tools

我正在尝试使用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脚本命令中使用它,如下所示

1 个答案:

答案 0 :(得分:0)

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"
}