我在 Cypress 测试中需要 Next.js 项目中的一些环境变量,看来正确的方法是使用loadEnvConfig
from@next/env
。
赛普拉斯支持通过其支持文件在每次测试之前运行代码。
这是我的支持文件的样子:
import { loadEnvConfig } from '@next/env'
import './commands'
loadEnvConfig('/path/to/my/project')
Run Code Online (Sandbox Code Playgroud)
当我在开发模式下运行 Next,然后运行 Cypress 时,我在控制台中收到以下错误:
index.js:1 Failed to load env from .env.production.local TypeError: t.statSync is not a function
at loadEnvConfig (index.js:1)
at Object../cypress/support/index.js (index.js:4)
at __webpack_require__ (bootstrap:19)
at Object.0 (tests?p=cypress/support/index.js:682)
at __webpack_require__ (bootstrap:19)
at eval (bootstrap:83)
at eval (bootstrap:83)
at eval (<anonymous>)
Run Code Online (Sandbox Code Playgroud)
还有另外三个类似的,为.env.local
、.env.production
、 和.env
。
这是我正在尝试创建的图像:
我曾尝试使用边界半径,但结果总是太圆。我正在寻找一个 CSS 解决方案(没有 SVG)。
.blade {
height: 300px;
width: 150px;
border-radius: 0 0 50% 50%;
border-left:20px solid #c0bfde;
border-right:20px solid #7b7ba0;
background:#e3e1f6
}
Run Code Online (Sandbox Code Playgroud)
<div class="blade"></div>
Run Code Online (Sandbox Code Playgroud)