【问题标题】:typescript not reading env file打字稿不读取env文件
【发布时间】:2020-10-06 12:27:58
【问题描述】:

我是 typescript 的新手,我构建了这个简单的邮件应用程序,但问题是 TypeScript 无法读取文件,当我把它放在 src 文件夹中时,它没有在构建时复制到 dist 中,当我把它在 src 文件夹之外并放置手册要求只是为了测试 IDE 没有向我显示 env 的选项

这是我的目录树

是什么原因造成的?我不知道。

【问题讨论】:

    标签: node.js typescript environment-variables


    【解决方案1】:

    我认为节点(或打字稿)不知道如何本地导入 .env 文件。

    您可能想要安装和配置dotenv npm package

    然后您只需将此行添加到启动服务器的文件中:

    require('dotenv').config()
    

    现在您的环境变量可以在以下位置访问:

    process.ENV.MY_VAR_HERE
    

    Here's a decent article 关于环境变量以及.env 文件如何与它们一起使用。

    【讨论】:

    • 我确实安装了 dotenv,但问题是 .env 文件无法被打字稿识别(顺便说一句,我使用导入)但是当我在 JS 中这样做时它可以工作
    • 什么是“打字稿无法识别”?使用dotenv 包时,不要直接导入.env 文件。另外,我相信大多数代码编辑器的自动完成导入都会省略以. 开头的文件名。
    • 我知道它不是直接导入的,我只是想知道,打字稿是否可以到达文件,因为在 .config({}) 中我放置了“路径”属性。如果 ide 省略了 .从自动完成为什么 tsc 没有将 .env 文件复制到构建(dist)中?
    • .env 文件的全部意义在于这些值是由环境在运行时提供的。所以它不应该在编译的版本中。在生产中,这些值应在托管服务器的操作系统中设置为适当的环境变量。 .env 文件只是在开发过程中以项目特定方式伪造它的一种方式。所以我仍然不确定你在问什么,但我认为它不会像你想象的那样起作用。
    • 好吧,无论如何感谢您的回复。我没有尝试在我的项目中导入 .env 文件我提到了整个路径的事情,因为我确实在使用 dotenv 配置路径时遇到了问题,但我尝试了与我在使用 JS 的节点项目中所做的完全相同的路径并且它有效但是它在 TS 中没有,所以我猜是 TS 或 ES6 模块的问题
    猜你喜欢
    • 2021-08-22
    • 2016-03-29
    • 2016-02-12
    • 2022-10-30
    • 2021-04-10
    • 2022-08-19
    • 2018-09-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多