【问题标题】:Simditor with webpack带有 webpack 的 Simditor
【发布时间】:2019-05-07 11:29:41
【问题描述】:

如何用 Webpack 编译 Simditor?

我正在尝试使用 Laravel Mix 编译 Simditor,但出现以下错误:

Uncaught TypeError: Simditor.connect is not a function

这是我的 js 文件:

window.$ = window.jQuery = require('jquery');
import 'simple-module';
import 'simditor';

$(document).ready(function () {
    $('.input.text-editor').each(function () {
        var editor = new Simditor({
            textarea: $(this).find('textarea')
        });
    });
});

知道为什么我会收到此错误吗?

编辑网站:simditor.tower.im

【问题讨论】:

    标签: javascript webpack laravel-mix


    【解决方案1】:

    我刚刚发现,你不能用 webpack 构建那个库,你需要下载这个库并将文件单独包含到 html 中。

    都试过了,顺便说一句,你需要包括

    mobilecheck.js
    jquery.min.js
    module.js
    hotkeys.js
    simditor.js
    

    为了这个库工作!

    我使用的是 Symfony webpack encore。

    【讨论】:

    • 这个文件module.js应该在哪里?我在 node_modules/simditor 中没有遇到这个文件
    【解决方案2】:

    我尝试了几个安装webpack的simditor版本,其中一个成功了,在2.3.22版本之后,simditor的JS库目录和所有依赖项都与以前的版本不同。

    这是我的步骤:

    1. 使用 webpack 安装版本 2.3.22 的 simditor(在 Rails 6 中运行 yarn add simditor@2.3.22
    2. import 'simple-module';
    3. import 'simple-hotkeys';
    4. import 'simple-uploader';
    5. import Simditor from 'simditor';

    有效!

    【讨论】:

    • 谢谢!在我意识到我错误地使用了语义版本控制字符串之前,我遇到了一些麻烦。经验教训:不要使用 ^~ 并重新开始(yarn 可能缓存了一些更新的简单 * 库)。