【问题标题】:Client-side javascript error: Uncaught ReferenceError: require is not defined客户端 javascript 错误:未捕获的 ReferenceError:未定义要求
【发布时间】:2015-03-27 16:45:09
【问题描述】:

我正在尝试在 Ace Editor 中创建一个新的 Range 对象。我发现了许多规定以下内容的示例:

var Range = require("ace/range").Range;
var newRange = new Range(0, 0, 0, 10);

但是当我尝试这个时,我得到了以下错误:

Uncaught ReferenceError: require is not defined

我在 Rails 视图的脚本标签中加载 Ace Editor JS:

<script src="/js/ace_editor/ace.js" type="text/javascript" charset="utf-8"></script>

【问题讨论】:

  • 你是否包含了requirejs文件?
  • require AFAIK 是加载模块的节点的一部分。
  • @AlexChar - 是的,大多数解决方案都参考 Node- 但我只是想在客户端 Rails 设置中使用它......?
  • @AmitJoki - 啊,这是 require.js 的东西?我以前从未真正使用过它
  • @Yarin 嗯很难说。但是从您的代码中,您尝试使用 ace 编辑器模块。为什么使用 require 很重要?如果我现在错了,你无论如何都要在你的 html 的标题中加载脚本。

标签: javascript ace-editor


【解决方案1】:

如果您使用的是无冲突版本,则需要使用 ace.require 而不是 require,因为 no-conflict 不会创建全局要求,以免与可能在页面上加载的其他不兼容的 require 实现发生冲突。

【讨论】:

    猜你喜欢
    • 2018-01-25
    • 2013-10-04
    • 1970-01-01
    • 2020-07-13
    相关资源
    最近更新 更多