npm脚本中的平台无关用户
我正在寻找一种在npm脚本中传递npm脚本中的平台无关用户,npm,environment-variables,npm-scripts,Npm,Environment Variables,Npm Scripts,我正在寻找一种在npm脚本中传递os用户名的方法。但是,我需要脚本能够运行平台无关性。还有什么我可以做的吗 在unix上,我能做到 { “脚本”:{ “dosomething”:“somethirdpartypackage-SomeParameter$USER” } } npm运行dosomething 和在窗口上 { “脚本”:{ “dosomething”:“somethirdpartypackage-SomeParameter%USERNAME%” } } npm运行dosomethi
os
用户名的方法。但是,我需要脚本能够运行平台无关性。还有什么我可以做的吗
在unix上,我能做到
{
“脚本”:{
“dosomething”:“somethirdpartypackage-SomeParameter$USER”
}
}
npm运行dosomething
和在窗口上
{
“脚本”:{
“dosomething”:“somethirdpartypackage-SomeParameter%USERNAME%”
}
}
npm运行dosomething
但我需要一些方法来实现平台不可知论
理想情况下,我希望在将用户名作为参数传递给第三方软件包之前,将其小写:npm不提供实现此目的的内置功能 该软件包提供了一种语法来解决跨平台引用变量的差异。这些区别是:
- 操作系统(Linux、macOS等)上需要美元前缀
$
- 在Windows上,需要将变量名称用百分号
括起来%…%
cross-var
并没有解决跨操作系统所需的不同环境变量名称,即
在*nix上是必需的用户
在Windows上是必需的用户名
解决方案A: 考虑使用node.js脚本,例如
dosomething.js
,如下所示:
dosomething.js
保存在项目目录的根目录中,即将其保存到package.json
所在的同一文件夹中
项目
├── dosomething.js简短回答:npm没有提供实现这一点的内置功能
该软件包提供了一种语法来解决跨平台引用变量的差异。这些区别是:
- 操作系统(Linux、macOS等)上需要美元前缀
$
- 在Windows上,需要将变量名称用百分号
%…%
括起来
但是,cross-var
并没有解决跨操作系统所需的不同环境变量名称,即
用户
在*nix上是必需的
用户名
在Windows上是必需的
考虑到您的定制需求和以跨平台兼容的方式实现这一点所需的条件逻辑,您需要利用node.js
解决方案A:
考虑使用node.js脚本,例如dosomething.js
,如下所示:
首先将dosomething.js
保存在项目目录的根目录中,即将其保存到package.json
所在的同一文件夹中
项目
├── dosomething.js