温馨提示:本文翻译自stackoverflow.com,查看原文请点击:php - Laravel CKEditor5
ckeditor5 laravel laravel-6 php webpack

php - Laravel CKEditor5

发布于 2020-05-04 01:23:18

由于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>

我做错了事,但我很茫然...以前有没有人看过这个问题?

查看更多

提问者
Tim Lewis
被浏览
6
Tim Lewis 2020-02-15 05:12

文档无法引用的很简单的解决方案,但是您需要将to的值分配require()ClassicEditor

var ClassicEditor = require('@ckeditor/ckeditor5-build-classic');

这样做可以正确引用代码。