Javascript,在自己的脚本

时间:2015-11-08 18:57:24

标签: javascript requirejs referenceerror

我的问题如下:

我想将https://github.com/olivier-m/minislate用作我项目的一部分。 Github上的README告诉我们将以下代码注入到使用该脚本的网站中,如下所示:

<script src="js/minislate.js"></script>
<script>
    window.addEventListener('DOMContentLoaded', function() {
        var editor = new Minislate.simpleEditor('#editable');
    });
</script>

但是我必须将它用作我自己脚本的一部分,而不是在实际的网站上 - 我只是想把它分开。

这就是我现在所拥有的:

而不是使用require.js:

requirejs(["./libs/minislate.min"]);

在另一个剧本中

define([], function () {

    var EditTexUtil = function (iframe, keyWord) {

        this.addWYSIWYGInterface = function () {

            var $editableElements = $(iframe).contents().find(keyWord);

            $editableElements.each(function () {
                var editor = new Minislate.simpleEditor($(this));
            });
        }
    }

    return EditTexUtil;
})

正如您所看到的,我修改了一些iframe内部内容,具体取决于关键字。 发生以下错误:

未捕获的ReferenceError:未定义Minislate

那么如何解决这个问题呢? 我想我错过了一般的东西,这就是我在这里问的原因。

1 个答案:

答案 0 :(得分:0)

如果需要在我们的其他脚本中解决Minislate,则必须使用RequireJS的 require 而非 define 函数:

require(['./libs/minislate'], function (Minislate) {

  //this part will run when minslate.js is loaded and parsed, hence Minislate is defined
  //other code goes here

})