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

我正在寻找一种在npm脚本中传递
os
用户名的方法。但是,我需要脚本能够运行平台无关性。还有什么我可以做的吗

在unix上,我能做到

{
“脚本”:{
“dosomething”:“somethirdpartypackage-SomeParameter$USER”
}
}
npm运行dosomething

和在窗口上

{
“脚本”:{
“dosomething”:“somethirdpartypackage-SomeParameter%USERNAME%”
}
}
npm运行dosomething

但我需要一些方法来实现平台不可知论


理想情况下,我希望在将用户名作为参数传递给第三方软件包之前,将其小写:npm不提供实现此目的的内置功能

该软件包提供了一种语法来解决跨平台引用变量的差异。这些区别是:

  • 操作系统(Linux、macOS等)上需要美元前缀
    $
  • 在Windows上,需要将变量名称用百分号
    %…%
    括起来
但是,
cross-var
并没有解决跨操作系统所需的不同环境变量名称,即

  • 用户
    在*nix上是必需的
  • 用户名
    在Windows上是必需的
考虑到您的定制需求和以跨平台兼容的方式实现这一点所需的条件逻辑,您需要利用node.js


解决方案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