You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ASP.NET MVC引入tinymce.min.js后发布模式富文本编辑器失效

解决TinyMCE在ASP.NET Bundle发布模式下无法显示的问题

你遇到的这个问题其实是ASP.NET Bundle机制的典型坑——它对带.min后缀的预压缩文件有默认优化策略,发布模式下很可能会跳过这类文件,导致TinyMCE无法加载。我给你几个针对性的解决方案:

方案1:改用未压缩版TinyMCE脚本(优先推荐)

ASP.NET Bundle会自动在发布模式下对未压缩的JS文件做压缩合并,所以如果能找到tinymce.js(非min后缀的版本),直接替换Bundle里的tinymce.min.js就行:

bundles.Add(new ScriptBundle("~/bundles/manager/phasesettings/details").Include( 
    "~/Scripts/App/Manager/home.js", 
    "~/Scripts/tinymce/tinymce.js", // 替换为未压缩版
    "~/Scripts/tinymce/init-tinymce.js" 
));

让Bundle负责发布时的压缩工作,就能避开预压缩文件被跳过的问题。

方案2:调整Bundle的忽略规则(仅当只有min版时用)

如果手头只有tinymce.min.js,可以修改Bundle配置,清除默认的.min.js忽略规则,确保它被纳入发布包:

// 创建单独的Bundle实例
var tinyMCEBundle = new ScriptBundle("~/bundles/manager/phasesettings/details");

// 添加需要的脚本文件
tinyMCEBundle.Include(
    "~/Scripts/App/Manager/home.js",
    "~/Scripts/tinymce/tinymce.min.js",
    "~/Scripts/tinymce/init-tinymce.js"
);

// 清除默认忽略列表,只保留必要的排除项
tinyMCEBundle.IgnoreList.Clear();
tinyMCEBundle.IgnoreList.Ignore("*.intellisense.js");
tinyMCEBundle.IgnoreList.Ignore("*-vsdoc.js");

// 将配置好的Bundle加入集合
bundles.Add(tinyMCEBundle);

同时确保发布模式下Bundle优化是开启的(一般Web.config中compilation节点debug="false"会自动触发,但也可以手动设置):

BundleTable.EnableOptimizations = true;

额外排查小技巧

  • 打开浏览器开发者工具的网络面板,查看发布模式下Bundle的请求是否返回200,以及返回内容里是否包含TinyMCE的代码,排除404或资源缺失问题。
  • 确认init-tinymce.js的执行时机——必须等TinyMCE脚本完全加载后再初始化,调试模式下单独加载顺序没问题,但发布合并后可以检查下是否有潜在的加载顺序冲突(不过你当前的Include顺序是对的,这个概率很低)。

内容的提问来源于stack exchange,提问作者lonelydev101

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 07:10:22