我的 package.json 中有以下行
"scripts": {
"start": "cross-env NODE_ENV=development node index.js"
}
Run Code Online (Sandbox Code Playgroud)
我可以看到“ yarn start ”命令运行良好,但是当我直接在终端中运行“ cross-env NODE_ENV=development node index.js ”命令时,出现以下错误:
zsh: command not found: cross-env
Run Code Online (Sandbox Code Playgroud)
如果 cross-env 没有在终端中注册,“ yarn start ”命令如何工作?
我想在.env
文件中定义一个 url,然后使用cross-env package在 package.json 中使用它:
# .env
REACT_APP_TESET_URL=https://test.com
Run Code Online (Sandbox Code Playgroud)
// package.json
{
//...
"scripts": {
"start": "rescripts start"
"start:test": "cross-env REACT_APP_MANUAL_URL=$REACT_APP_TEST_URL yarn start",
}
}
Run Code Online (Sandbox Code Playgroud)
但$REACT_APP_TEST_URL
被解释为字符串。
我当然可以传入一个REACT_APP_ENV_NAME
变量 via cross-env
,然后决定在我的 React 应用程序中.env
使用哪个变量与switch
语句,但我更喜欢按照上面描述的方式进行操作。
有办法实现这一点吗?
我的团队由 4 人组成,我是唯一的 Mac 用户,而我的同事则使用 Windows 计算机。我的团队成员(Windows 用户)使用以下命令,但在我的 Mac 计算机上不起作用:
"start": "set \"NODE_ENV=prod\" && node index.js"
Run Code Online (Sandbox Code Playgroud)
当我尝试打印process.env.NODE_ENV
日志时,它返回了undefined
。
然后浏览后,我在 Mac 上使用了以下命令,效果很好:
"start: "export NODE_ENV=prod && node index.js"
Run Code Online (Sandbox Code Playgroud)
现在,如果我将代码提交到存储库中,它们将受到影响。
有没有通用的解决方案可以用来解决这个平台问题?
提前致谢。
我必须使用cross-env
package.json 设置节点环境变量,但值位于.env
文件中。
我尝试过以下格式,但没有一个有效。
cross-env API_KEY=%API_KEY% && ...
Run Code Online (Sandbox Code Playgroud)
cross-env API_KEY=$API_KEY && ...
Run Code Online (Sandbox Code Playgroud)
cross-env %API_KEY% && ...
Run Code Online (Sandbox Code Playgroud) cross-env ×4
node.js ×3
npm ×2
package.json ×2
javascript ×1
node-modules ×1
reactjs ×1
yarnpkg ×1