我有一个使用 TypeScript 的 SvelteKit 项目,根目录下有一个
.env
文件。在根目录下,我添加了一个 drizzle.config.ts
文件。当我在顶部添加以下内容时:
_import { DATABASE_HOST} from '$env/static/private';_
然后 WebStorm 和 VSCode 都给出以下错误:
_Cannot find module '$env/static/private' or its corresponding type declarations._
当我启动一个全新的 SvelteKit 项目并添加上面提到的文件时也会发生这种情况,所以我想重现这个问题会很容易。
我已重新启动 VsCode、Webstorm 和我的计算机。我尝试使用一个新项目来做到这一点。这些方法都不起作用。许多帖子告诉我要更改一些配置文件。我尝试了其中一些,但没有用。我也觉得这不应该是解决方案,因为应该有一个开箱即用的解决方案?
任何人都可以解释为什么这不起作用,以及在 SvelteKit 的根文件中使用环境变量的正确方法是什么?
提前致谢!
您只能在 SvelteKit 应用程序的代码中使用
$env
模块(通常是 src
中的内容),因为它是由相应注入变量的构建处理的。
在其他文件中,您必须使用运行时执行文件提供的任何机制来访问环境变量,例如在节点中有
process.env
。