【发布时间】:2025-11-24 04:00:01
【问题描述】:
我正在处理一个一直在使用资产管道的 Rails 项目,但我们目前正在尝试过渡到 webpack。我在尝试让 TinyMCE 通过纱线后工作时遇到了一个问题 - 文本编辑器根本无法加载。
过渡到 webpack 之前
最初我在 application.html.haml 中使用了 CDN,一切正常:
%script{src: 'https://cloud.tinymce.com/stable/tinymce.min.js?apiKey=gexncjni90zx3qf0m5rr7kl8l40wd5yuly2xjza0g3kwrljt'}`
过渡后
我通过yarn安装了包:
$ yarn add tinymce
我还有我的 tinyMce.js 文件(函数本身没有改变):
import tinymce from 'tinymce/tinymce';
import 'tinymce/themes/modern/theme';
import 'tinymce/plugins/lists';
import 'tinymce/plugins/table';
function tinyMce() {
$(document).on('turbolinks:load', function () {
tinyMCE.remove();
tinyMCE.init({
selector: 'textarea.tinymce',
plugins: [
'table', 'lists'
],
});
});
}
export { tinyMce };
在我的 application.js 中:
import { tinyMce } from "../vendor/tinyMCE/tinyMce";
由于 TinyMCE 没有皮肤就无法工作,我跟着 documentation 跑了
$ cp -r node_modules/tinymce/skins skins
我尝试将skins 文件夹直接放在根目录中,放在位于根目录中的packs 文件夹中和javascript/packs 中,但即使我尝试指定skin_url,错误仍然存在。
一般说明
- Webpack 本身运行良好,包括自定义脚本和导入包(使用
typed.js测试)。 -
tinymce似乎也在加载 - 之前我在控制台中遇到了更多关于table和lists插件的错误,但在将 2 个导入行添加到tinyMce.js后这些错误就消失了。
关于我可能遗漏的任何提示?
【问题讨论】:
-
我很好奇您为什么必须从 CDN 切换。云脚本是否仍然无法交付编辑器?
-
另外,当你使用 skin_url 时,你使用的路径是什么。
-
@RobQuan 从 CDN 切换的要点是保持事物的凝聚力,并且由于我们开始使用 webpack,理想情况下所有外部库都将从那里提取。我现在让它工作了(见下面的答案),但尽管一切正常,但我在控制台中遇到了错误。
标签: ruby-on-rails npm webpack tinymce