Sér*_*gio 7 javascript node.js npm
可以使用 访问 package.json 文件内的变量$npm_package_[key]。我需要做这样的事情,但没有成功:
{
"name": "core"
"version": "1.0.0"
"scripts": {
"first": "echo $npm_package_myvariable"
"second": "echo $npm_package_myvariable"
}
"myvariable": "$npm_package_name:$npm_package_version"
}
Run Code Online (Sandbox Code Playgroud)
我需要myvariable在多个脚本中重用该键的值,但出乎意料的是,打印的值不是$npm_package_name:$npm_package_version预期的core:1.0.0。
我目前正在使用:
v10.16.3v10.15.3我重点介绍 3 种方法来做到这一点。每条路都是前一条路的增量。
1. 第一种方法
package.json:
{
"name": "core"
"version": "1.0.0"
"scripts": {
"start": "echo $var1"
}
}
Run Code Online (Sandbox Code Playgroud)
Start npm:
var1=10 npm start
Run Code Online (Sandbox Code Playgroud)
2.第二种方法
如果用户在运行 npm 时未能添加 var1,第一种方法将会失败。更好的方法是使用默认值
package.json:
{
"name": "core"
"version": "1.0.0"
"scripts": {
"start": "echo ${var1:10}"
}
}
Run Code Online (Sandbox Code Playgroud)
启动 npm:
var1=20 npm start:使用传递值npm start:使用定义的默认值现在让我们看看最终的方法
3. 第三种方法
如果要访问多个脚本中的变量,则需要npm-run-all依赖关系。
安装依赖项:
npm i -D npm-run-all
Run Code Online (Sandbox Code Playgroud)
package.json:
{
"name": "core"
"version": "1.0.0"
"scripts": {
"start": "npm-run-all multi:*",
"multi:first": "echo ${var1:-10}"
"multi:second": "echo ${var1:-10}"
}
}
Run Code Online (Sandbox Code Playgroud)
启动 npm:
var1=10 npm start
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6235 次 |
| 最近记录: |