Ckeditor 5 和 ASP.NET MVC 捆绑错误出现 NullReferenceException?

问题描述 投票:0回答:4

为了隔离任何问题以便重现该问题,我在 VS 2017 中使用 ASP.NET MVC 模板 (.NET Framework 4.6.1) 开始了一个全新的项目。

我将最新的ckeditor5添加到/Scripts/ckeditor5/ckeditor.js

在 BundleConfig.cs 中,我添加了以下内容:

bundles.Add(new ScriptBundle("~/bundles/ckeditor").Include(
"~/Scripts/ckeditor5/ckeditor.js"));

在 _layout.cshtml 中,我有这个:

@Scripts.Render("~/bundles/ckeditor")

当我运行应用程序时,它给出“System.NullReferenceException”错误。看来微软的Ajax解析不喜欢ckeditor5??

在 Microsoft.Ajax.Utilities.JSParser.ParseObjectLiteralProperty(布尔值 isBindingPattern) 在 Microsoft.Ajax.Utilities.JSParser.ParseObjectLiteral(布尔值 isBindingPattern) 在 Microsoft.Ajax.Utilities.JSParser.ParseLeftHandSideExpression(布尔值 是减) 在 Microsoft.Ajax.Utilities.JSParser.ParseUnaryExpression(Boolean& isLeftHandSideExpr,布尔值 isMinus) 在 Microsoft.Ajax.Utilities.JSParser.ParseVarDecl(JSToken inToken)
在 Microsoft.Ajax.Utilities.JSParser.ParseVariableStatement() 在 Microsoft.Ajax.Utilities.JSParser.ParseFunctionBody(块体)
在 Microsoft.Ajax.Utilities.JSParser.ParseFunction(FunctionType 函数类型,上下文 fncCtx) 在 Microsoft.Ajax.Utilities.JSParser.ParseLeftHandSideExpression(布尔值 是减) 在 Microsoft.Ajax.Utilities.JSParser.ParseUnaryExpression(Boolean& isLeftHandSideExpr,布尔值 isMinus) 在 Microsoft.Ajax.Utilities.JSParser.ParseArrayLiteral(布尔值 isBindingPattern) 在

如果我忘记了 Bundle 并且我在 _Layout.cshtml 上硬编码了这样的路径,它会起作用:

<script src="~/Scripts/ckeditor5/ckeditor.js"></script>

知道如何使捆绑包适用于 ckeditor5?

c# asp.net-mvc ckeditor5
4个回答
2
投票

这个问题很可能与 ScriptBundle 尝试缩小已经缩小的文件有关。在 Ckeditor5 的情况下,这会中断。

修复方法是将 .min 添加到文件扩展名中的 .js 之前。

这解决了我的问题。


1
投票

您不必使用 ScriptBundle 名称中的扩展文件。

不是这样的:

bundles.Add(new ScriptBundle("~/bundles/bootstrap").Include(
                      "~/Scripts/bootstrap.js"));

这样做:

在 BundleConfig.cs 上:

bundles.Add(new ScriptBundle("~/bundles/bootstrap").Include(
                      "~/Scripts/bootstrap"));

在文件.cshtml上:

@Scripts.Render("~/bundles/bootstrap")

我在此页面上找到了这个:https://www.it-swarm-es.com/es/asp.net-mvc/mvc-bundling-no-se-pudo-cargar-el-recurso/1040501977/


0
投票
bundles.Add(new ScriptBundle("~/bundles/bootstrap").Include("~/Scripts/bootstrap"));

使用此顶栏后,像引导程序一样从主页消失,无法正常工作


0
投票

不知道这是否仍然有效,但我在这个问题上遇到了困难, 从 Bootstrap 4 tp 5 更新后。

那么什么对我有用:

从 new ScriptBundle() 更改为 new Bundle()

 bundles.Add(new ScriptBundle("~/bundles/bootstrap").Include(...);

 bundles.Add(new Bundle("~/bundles/bootstrap").Include(...);
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.