由于unisharp/laravel-ckeditor
与Laravel 6的依赖项不兼容,我想在Laravel应用程序中替换旧版本的CKEditor 。我发现CKEditor 5页面包含NPM安装说明,但未能使其正常运行。这是我的代码:
resources/main.js
require('@ckeditor/ckeditor5-build-classic');
$(document).ready(function(){
ClassicEditor.create($('#edit_about_text').get()[0]);
});
webpack.mix.js
mix.js('resources/assets/js/main.js', 'public/js');
layouts/master.blade.php
<!doctype html>
<html>
<head></head>
<body>
<script src="{{ asset('js/main.js') }}"></script>
</body>
</html>
jQuery
已包含(以某种方式;有些不熟悉webpack
),但是运行扩展页面会@extends('layouts.master')
导致以下结果:
未捕获的ReferenceError:未定义ClassicEditor
如果我require()
从中删除该语句main.js
并仅使用CDN
链接,那么一切都会按预期进行:
<script src="https://cdn.ckeditor.com/ckeditor5/16.0.0/classic/ckeditor.js"></script>
<script src="{{ asset('js/main.js') }}"></script>
我做错了事,但我很茫然...以前有没有人看过这个问题?
文档无法引用的很简单的解决方案,但是您需要将to的值分配require()
给ClassicEditor
:
var ClassicEditor = require('@ckeditor/ckeditor5-build-classic');
这样做可以正确引用代码。