问题描述
我正在从Angular + Node.js服务器-> Sapper转换项目。关于e2e测试,有些事情我无法理解。我可以使用设置为测试的NODE_ENV
env变量运行Sapper吗?当我运行export NODE_ENV=test && sapper dev
时,变量总是 dev
。我该如何解决?
我当前的解决方法是先构建应用程序,然后以node __sapper__/build
启动它,但这在开发e2e应用程序时不是很好。
解决方法
Sapper是一个开源项目,因此我们可以检查如何设置NODE_ENV
:https://github.com/sveltejs/sapper。
运行sapper dev
时,在NODE_ENV
中设置了环境变量/src/api/dev.ts
(/src/api/dev.ts)
process.env.NODE_ENV = 'development';
硬编码到development
的地方。
可以在以下变量中将变量设置为其他值(包括testing
)
(/src/cli.ts)
178. process.env.NODE_ENV = process.env.NODE_ENV || 'production';
所以我想您需要sapper prod
(或类似的东西,将其选中)才能使用此NODE_ENV
。
您还应该检查它是否没有达到您要达到的目的,也许坚持使用sapper dev
比在非开发模式下运行更合适。