Laravel 5.4集成Tinymce报错:无法找到theme.js与plugins.js
解决Laravel 5.4集成Tinymce找不到theme.js和plugins.js的问题
嘿,我来帮你搞定这个Tinymce资源找不到的问题!这种情况大多是资源路径配置或者文件存放的问题,咱们一步步排查:
1. 先确认Tinymce完整资源包的存放位置
你只引入了tinymce.min.js是不够的哦!Tinymce的theme.js、plugins.js还有各种插件、主题文件都在完整的安装包里。你需要把解压后的整个Tinymce文件夹放到Laravel项目的public/js/plugins/tinymce/目录下,确保里面包含themes/、plugins/这些子文件夹,而不是只放一个单独的tinymce.min.js。
2. 修正Tinymce初始化的路径配置
如果文件已经放对位置,但还是报错,大概率是Tinymce默认的资源路径没指向正确的目录。你可以在初始化代码里加上base_url来指定Tinymce的根目录:
tinymce.init({ selector: '#tinymce', height: 400, base_url: '/js/plugins/tinymce', // 对应public下的路径 plugins: 'advlist autolink lists link image charmap print preview anchor', // 按需填写插件 theme: 'silver' // 注意:新版本Tinymce默认主题是silver,旧版本可能是modern });
这个base_url会告诉Tinymce去哪里找主题和插件文件,避免它用默认路径去错误的地方查找。
3. 检查Laravel的资源路径解析
你用URL::asset()引入tinymce.min.js是没问题的,不过也可以试试Laravel的asset()助手函数,写法更简洁:
<script src="{{ asset('js/plugins/tinymce/tinymce.min.js') }}"></script> <script src="{{ asset('js/components/post/create.js') }}"></script>
另外,记得清理一下缓存:
- 清空浏览器的缓存(按Ctrl+Shift+R强制刷新)
- 运行Laravel的缓存清理命令:
php artisan cache:clear php artisan config:clear
避免因为缓存导致路径解析错误。
4. 确认主题和插件名称是否正确
- 主题名称别写错:新版本Tinymce的默认主题是
silver,如果是老版本可能是modern,写错的话就会找不到对应的theme.js。 - 插件名称要和
plugins/目录下的文件夹名完全一致,比如advlist对应plugins/advlist/,别打错字母或者加多余的后缀。
5. 极端情况:手动指定主题和插件路径
如果上面的方法都不管用,你可以直接在初始化里硬编码主题和插件的具体路径:
tinymce.init({ selector: '#tinymce', height: 400, theme_url: '/js/plugins/tinymce/themes/silver/theme.js', // 直接指定主题文件路径 plugins: 'advlist', plugins_url: '/js/plugins/tinymce/plugins/' // 指定插件目录 });
内容的提问来源于stack exchange,提问作者GerardoAGL96
相关产品推荐
相关产品推荐

