【问题标题】:Require function is not defined需求函数未定义
【发布时间】:2020-02-25 15:30:39
【问题描述】:

我正在使用 express 开发 3D 查看器。

我的问题是我试图在我的 JS 文件的一个(不是主要的)中要求文件系统模块。当我尝试加载浏览器时,控制台会给我下一条消息:

ReferenceError: 要求未定义

我的项目结构是:

  • node_module
    • js
      • app.js // 问题出在这里
    • 查看次数
      • index.ejs
  • server.js

【问题讨论】:

  • 浏览器对必需的一无所知 - 它是 node.js 功能。您需要使用 import 语句而不是 require 或将您的脚本与 browserify 或类似的东西捆绑在一起
  • 您可以尝试导入。可能缺少“导出”甚至“默认”关键字

标签: javascript require referenceerror


【解决方案1】:

如何使用浏览器导入的简短示例:

  1. 使用下一个内容创建 index.html:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script type="module" src="./main.js"></script>
</body>
</html>

检查脚本标签 - 我们设置 type="module" - 这指示浏览器我们正在使用模块系统

  1. 使用以下命令创建 main.js 脚本:
import name from './name.js';

console.log(name);
  1. 创建 name.js 文件:
const name = 'test';
export default name;

现在您需要运行这个应用程序。最简单的方法是使用WebServer For Chrome

启动应用程序并检查控制台。您应该会看到记录了“测试”。

就是这样。请记住,这只是一个示例。我们不涉及缩小、缓存和其他重要的事情。

【讨论】:

  • @JoséEmilioBadíaValdés 如果它回答了您的问题,请随时将答案标记为已解决
猜你喜欢
  • 1970-01-01
  • 2020-09-29
  • 2019-06-22
  • 2020-04-26
  • 1970-01-01
  • 2021-02-14
  • 2016-12-28
  • 2014-10-01
  • 2014-06-19
相关资源
最近更新 更多