Ale*_*lex 7 ckeditor npm laravel-5
当我尝试使用 NPM 将 CKEDITOR 包含到我的新 Laravel 5.5 项目中时,我在 Chrome 控制台中收到以下错误(对 local.dev 使用 laravel Valet):
app.js:16991 GET https://local.dev/chart/config.js?t=H7HG
app.js:16991 GET https://local.dev/chart/skins/moono-lisa/editor.css?t=H7HG
app.js:16991 GET https://local.dev/chart/lang/en.js?t=H7HG
Run Code Online (Sandbox Code Playgroud)
我的 Laravel Mix 设置如下所示:
mix.js('resources/assets/js/app.js', 'public/js')
.babel(['resources/assets/js/libraries/*.js'], 'public/js/vendor.js')
.version();
Run Code Online (Sandbox Code Playgroud)
我的 CKEDITOR 安装位于:
/vendor/ckeditor/ckeditor
Run Code Online (Sandbox Code Playgroud)
我可以在站点加载后访问 CKEDITOR 实例。但是,如上所示,当我导航到https://local.dev/chart 时,CKEDITOR 现在查找配置、皮肤和 lang 文件,其中 /chart 附加到它的基本路径。
我做了一些研究,发现了一些相关问题,并且能够成功地使用 asset() 更改 base_path。相关的 stackOverflow 问题可以在这里和这里找到。
我想要做的是通过 NPM 拉入 CKEDITOR,使用 Laravel Mix 组合、版本和缩小我的脚本(一个用于供应商库,一个用于我的特定于应用程序的 JS),然后将这两个 .js 文件输出到这些Laravel 应用程序中的目录:
/public/js/vendor.js
/public/js/app.js
Run Code Online (Sandbox Code Playgroud)
Laravel mix 生成这两个文件,构建成功,所有其他库都运行良好。但是,CKEDITOR 丢失了它的基本路径并引发了寻找皮肤/langs/config.js 的错误——知道如何调整 CKEDITOR 的 basePath 以指向供应商文件,以便它停止发出这些错误并正常工作吗?
预先感谢您提供的任何帮助!
对于那些与我有同样问题的人,我找到了一个根本不涉及修改 CKEDITOR 的解决方法:
使用 Webpack 复制需要的 CKEDITOR 文件:
.copy('node_modules/ckeditor/config.js', 'public/js/ckeditor/config.js')
.copy('node_modules/ckeditor/styles.js', 'public/js/ckeditor/styles.js')
.copy('node_modules/ckeditor/contents.css', 'public/js/ckeditor/contents.css')
.copyDirectory('node_modules/ckeditor/skins', 'public/js/ckeditor/skins')
.copyDirectory('node_modules/ckeditor/lang', 'public/js/ckeditor/lang')
.copyDirectory('node_modules/ckeditor/plugins', 'public/js/ckeditor/plugins')
Run Code Online (Sandbox Code Playgroud)
然后,在您的页面正文中,添加:
<script> var CKEDITOR_BASEPATH = '/js/ckeditor/'; </script>
Run Code Online (Sandbox Code Playgroud)
这将允许 CKEDITOR 找到所需的文件。这对我来说有点难看,所以也许有更好的方法来做到这一点 - 如果是这样,请让我知道并拒绝这个答案。
| 归档时间: |
|
| 查看次数: |
1899 次 |
| 最近记录: |