【问题标题】:require is not defined javascript要求未定义 javascript
【发布时间】:2018-06-15 08:00:28
【问题描述】:

****** 编辑 *******

我现在确实意识到了这个错误,当我测试我的需求时,我正在我的终端中运行我的脚本。

****** 旧 ****

答案可能已经在页面上,但我找不到它,我看到的一般答案是我不能在客户端使用“require”。

问题是我尝试运行的脚本可以在我的学校笔记本电脑上完美运行。但它不想在我家的桌面上运行。

我正在尝试运行我想要这样的脚本。 "var fs = 要求('fs');"

但是我浏览器中的控制台只是给了我这个错误(ReferenceError: require is not)

我正在使用带有 Node.js 的 Visual Studio Code。

我有一个使用 1 个 script.js 文件的基本 index.html 文件。没有其他任何东西被用于它。

如果您想查看我的文件的链接( https://drive.google.com/file/d/1VgEmwtcHkURFT1WmPOnEKr_OHLT_SY78/view?usp=sharing)

【问题讨论】:

    标签: javascript node.js google-chrome firefox


    【解决方案1】:

    我正在使用带有 Node.js 的 Visual Studio Code。

    我有一个使用 1 个 script.js 文件的基本 index.html 文件。

    所以你有两套JS。

    1. 在 Node.js 中运行的 JS
    2. 在浏览器中运行的 JS(通过 index.html 传递)

    var fs = require('fs'); 非常属于前一类。 require 是 Node.js 内置的。 fs 是 Node.js 的核心库。

    您正在尝试在浏览器中运行它,但它不受支持且无法运行。您需要在 Node.js 中运行它。

    我知道我不能在客户端使用“require”。

    require 的浏览器端实现和工具(如 Webpack)会将模块捆绑到与浏览器兼容的文件中,但这些方法都不会在这里为您提供帮助,因为fs 本身依赖于 Node.js。

    【讨论】:

    • 天哪,我真的很愚蠢。而且看起来确实有点累。我现在犯了一个错误,当我只测试脚本时,我在终端中运行它,而不是通过浏览器。
    【解决方案2】:

    require() 不是标准的 JavaScript,它内置在 NodeJS 中以加载模块。

    尝试使用 Express 或类似工具来运行一个简单的 Web 服务器,它应该可以工作。现在它不能在家工作,因为它没有被 Node 引擎编译。

    【讨论】:

    • 是的,当我在学校笔记本电脑上测试我的需求时,我是通过我的终端来做的
    【解决方案3】:

    require() 它不是前端 javascript 的内部函数,你需要导入一些库来为你实现这一点,例如 require.js 或 browserify。 否则 fs 仅在 NodeJS 中支持,您需要在服务器而不是浏览器中运行。

    【讨论】:

      【解决方案4】:

      这对我有帮助,请检查您的 package.json 中的 type:"module" 并将其删除。

      【讨论】:

        猜你喜欢
        • 2023-03-12
        • 2020-11-08
        • 2016-07-02
        • 1970-01-01
        • 1970-01-01
        • 2018-08-07
        • 2019-04-15
        相关资源
        最近更新 更多