由于与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>
我做错了事,但我茫然不知所措...有人见过这个问题吗?
require()
的值分配给ClassicEditor
:var ClassicEditor = require('@ckeditor/ckeditor5-build-classic');
这样做可以正确引用代码。
boostrap.js
文件中包含的库示例,例如pusher
,axios
等...>您可以使用
window.ClassicEditor = require('@ckeditor/ckeditor5-build-classic');
$(document).ready(function(){
ClassicEditor.create($('#edit_about_text').get()[0]);
});