gpt4 book ai didi

node.js - 我可以链接 npm 配置条目吗?

转载 作者:太空宇宙 更新时间:2023-11-03 23:37:43 25 4
gpt4 key购买 nike

使用 npm config 部分很简单,也很酷,但我遇到了一个限制:配置条目不会扩展,因此无法链接它们,甚至无法访问非配置值。配置中的软件包版本。

示例:

{
"name": "myproj",
"version": "0.1.2",

"//": "Here, '$npm_package_version' is not expanded",
"config": {
"target": "dist/myproj-$npm_package_version.js"
},

"scripts": {
"echo": "echo $npm_package_config_target",
}
}

这给出:

dist/myproj-$npm_package_version.js

而不是:

dist/myproj-0.1.2.js

我能做点什么吗?像这样链接值是一个有用的功能 - 我很惊讶 nom 没有这样做。有什么理由不这样做吗?

引用文献:

最佳答案

有几种方法可以解决这个问题。

最简单的方法可能就是评估字符串

{
"name": "myproj",
"version": "0.1.2",
"config": {
"target": "dist/myproj-$npm_package_version.js"
},
"scripts": {
"echo": "eval echo $npm_package_config_target"
}
}

如果您对 eval 不满意,则可以在脚本中手动连接字符串:

{
"name": "myproj",
"version": "0.1.2",
"config": {
"target_prefix": "dist/myproj-",
"target_suffix": ".js"
},
"scripts": {
"echo": "echo $npm_package_config_target_prefix$npm_package_version$npm_package_config_target_suffix",
}
}

或者您可以放弃使用 npms config 并编写一个快速脚本,该脚本可以与其他脚本组合:

{
"name": "myproj",
"version": "0.1.2",
"scripts": {
"config:target": "echo dist/myproj-$npm_package_version.js",
"echo": "echo $(npm run config:target)"
}
}

关于node.js - 我可以链接 npm 配置条目吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29728457/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com