【问题标题】:Resolve "Uncaught ReferenceError: require is not defined" error in Node.js解决 Node.js 中的“Uncaught ReferenceError: require is not defined”错误
【发布时间】:2015-07-04 14:55:47
【问题描述】:

我正在尝试使用 SengGrid 设置基本联系表单,但我不断收到“未捕获的 ReferenceError:未定义要求”错误。

我在 html 页面头部的脚本标签中有这段代码。

    var sendgrid = require('sendgrid')(username,pass);

我查看了 requirejs,但我不确定为什么会收到此错误。有人可以向我解释如何解决这个问题吗?

【问题讨论】:

  • 你真的在使用 node.js 吗?此代码应该添加到您的 JavaScript 服务器代码中,而不是 HTML 页面中。
  • Node.js 不在浏览器中。如果你想在浏览器中使用 requirejs,你需要使用脚本标签来加载它。

标签: javascript node.js requirejs require


【解决方案1】:

require() 未内置在浏览器中。

所以当你说“我在 html 页面头部的脚本标记中有这段代码”时。这可以解释为什么在脚本运行时没有定义符号 require。如果你想在浏览器中使用require(),那么你需要先使用一个脚本标签来加载一个定义了require函数并支持require()类型功能的库,并确保加载成功后再尝试使用require()requirejs 就是您可以使用的此类库之一。

require() 内置在服务器上的 node.js 中,因此它始终可用。

【讨论】:

  • 我需要做什么才能在 angularjs 中使用 require()?
  • @cfl - 请重新阅读我的答案的中间段落。如果你想在浏览器中使用类似 require() 的功能,我会告诉你可以使用什么。这是一篇关于它的文章:sitepoint.com/using-requirejs-angularjs-applications
【解决方案2】:

基本上,您需要为浏览器转换源代码,将 require 调用替换为实际的模块代码。 看看这些实用程序:

【讨论】:

    猜你喜欢
    • 2013-08-14
    • 2019-09-29
    • 2017-10-25
    • 2017-02-25
    • 1970-01-01
    • 1970-01-01
    • 2017-08-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多