【问题标题】:How to import dotenv data and npm modules in script.js如何在 script.js 中导入 dotenv 数据和 npm 模块
【发布时间】:2021-03-24 20:28:00
【问题描述】:

import * as dotenv from "dotenv";

ACCESS_TOKEN_KEY = dotenv.ACCESS_TOKEN_KEY

我尝试从 .env 导入数据并抛出此错误

“未捕获的语法错误:无法在模块外使用 import 语句”

当我安装一些 npm 包并尝试导入它们时发生了同样的事情

我已经在我的脚本标签中添加了一个模块的类型属性

    <script src="./script.js" defer type="module"></script>

现在我得到了这个错误

“未捕获的类型错误:无法解析模块说明符“dotenv”。相对引用必须以“/”、“./”或“../”开头。”

如果我使用“/”或“./”来更改导入路径,我会收到一个新错误

net::ERR_ABORTED 404(未找到)

有谁知道我做错了什么以及如何解决它?

【问题讨论】:

  • dotenv 应该只用在服务器上,不能用在浏览器上。
  • 浏览器有对应的文件吗?
  • 不,想法是这些变量对客户端不可见。

标签: javascript


【解决方案1】:

据我所知,您可以在 npm init 之后在 package.json 上初始化一个脚本。 但是你不能在脚本上初始化 npm。 在我看来这没有意义 但要了解更多信息,您可以随时阅读 NPM DOCS

【讨论】:

    【解决方案2】:

    当您使用 ES 模块时,您不需要在应用程序代码中要求和加载 dotenv。您需要使用此解决方案,而不是使用导入。

    $ node -r dotenv/config script.js
    

    其中-r 表示--require

    【讨论】:

      猜你喜欢
      • 2020-05-29
      • 2016-07-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-12
      • 2017-07-08
      • 2020-02-14
      • 2017-01-31
      相关资源
      最近更新 更多