【问题标题】:Laravel mix with TinyMCE npm run production - compiled file 'get' undefinedLaravel 与 TinyMCE npm 混合运行生产 - 编译文件“获取”未定义
【发布时间】:2020-11-19 15:00:20
【问题描述】:

我在导入 tinymce 插件时遇到了 npm run production 问题。

当我运行 npm run dev 时,一切都按预期工作。在 npm run production 上它编译成功,但是当我使用 TinyMCE 编辑器打开页面时,它不会加载 TinyMCE,并且在控制台中出现 javascript 错误:

Uncaught TypeError: Cannot read property 'get' of undefined

我试图找到解决方案并遇到了类似的问题,但没有一个与 npm run production 相关。

我尝试使用 "ascii_only": true 配置 webpack uglify

另外,我尝试在 webpack.mix.js 中为 tinymce 插件设置模块加载器,但仍然没有成功。

我就是这样使用它的:

// app.js
window.tinymce = require('tinymce/tinymce.js');

// webpack.mix.js
mix.js('resources/js/app.js', 'public/js');

mix.copyDirectory('node_modules/tinymce/icons', 'public/js/icons');
mix.copyDirectory('node_modules/tinymce/plugins', 'public/js/plugins');
mix.copyDirectory('node_modules/tinymce/skins', 'public/js/skins');
mix.copyDirectory('node_modules/tinymce/themes', 'public/js/themes');

npm run dev 之后一切正常,但在 npm run production 之后编译的 javascript 出现错误。

我猜这可能是因为缩小但我无法解决它。

【问题讨论】:

    标签: javascript npm webpack tinymce laravel-mix


    【解决方案1】:

    laravel-mix 版本有问题,是 1.7,最新的是 5.x。

    更新后一切正常。

    【讨论】: