node.js - 如何将环境变量添加到服务器,由赛普拉斯测试运行?
问题描述
我的 package.json 文件是
"scripts": {
"start": "concurrently \"nodemon index.js\" \"PORT=3000 react-scripts start\"",
"build": "react-scripts build",
"server": "NODE_ENV=production nodemon index.js",
"dev": "NODE_ENV=development nodemon index.js",
"test": "react-scripts test",
"eslint": "eslint .",
"cypress:open": "cypress open",
"start:test": "NODE_ENV=test concurrently \"NODE_ENV=test nodemon index.js\" \"NODE_ENV=test PORT=3000 react-scripts start\""
},
我在节点 app.js 中创建的路由器是
if (process.env.NODE_ENV === 'test') {
const testingRouter = require('./controllers/testing')
app.use('/api/testing', testingRouter)
}
但是当我运行 cypress test 它抱怨没有这样的路由器。如何在调用 npm run cypress:open 命令时制作 NODE_ENV=test?
以及如何通过 console.log(process.env.NODE_ENV) 查看是否将其传递给 cypres 进程?
解决方案
解决了
"start:test": "cross-env NODE_ENV==test concurrently \"cross-env NODE_ENV=test nodemon index.js\" \"cross-env NODE_ENV=test PORT=3000 react-scripts start\""
和 npm run start:test 在一个命令提示符下运行命令,并在另一个命令提示符下运行 cypress
推荐阅读
- javascript - 在 mouseClicked 函数内增加一个数字
- perl - 未知字符集重音字符转换为 utf8
- git - Git n commit 后面 | n 前面
- python - 如何让 pyautogui 从字符串中打印单词?
- python - 重新定向 Matplotlib 极坐标图
- aws-lambda - 响应卡未显示 -Amazon lex
- mysql - 将具有各种语言的excel文件导入mysql数据库
- xamarin - 有没有办法在 Webview 中将 xamarin 登录页面连接到我的网站?
- http - 对托管在公司网络上的 Web 应用程序的 HTTP GET 请求
- python - 如何使“pygame.event.get()”在 pygame 的所有模块中可用