c# - 如何防止 Ace 在当前目录中寻找主题和模式?

标签 c# javascript asp.net-mvc bundle ace-editor

我一直在开发一个 MVC 网络应用程序,该应用程序使用 Cloud9 提供的 Ace 浏览器内代码编辑器。 ace.js 脚本和设置 ace 编辑器的脚本都在我的 BundleConfig 上的一个 ScriptBundle 中。 bundle 正在完美加载。在我的本地服务器上,将 web.config 中的 debug 设置为 true,脚本运行得非常好。但是,在将 web.config 中的调试设置为 false 启动到实时服务器后,出现了几个错误。

修复了一些小故障后,仍然存在两个我无法理解其原因的错误。这两个错误看起来非常相似,因为它们都是 Ace 的 chrome 主题和 Ace 的 HTML 模式脚本的 404 not found 错误。在设置编辑器的脚本中,它们被调用如下:

editor.setTheme("ace/theme/chrome");
editor.getSession().setMode("ace/mode/html");

在我的本地计算机上,将调试设置为 true,主题和模式设置得非常好,一切都按计划进行。然而,正如我所说,在调试设置为 false 的实时服务器上,因此缩小了我的 ScriptBundle 中的所有脚本,我在主题和模式上都收到了 404 错误。

当我在 Google Chrome 中打开 JavaScript 控制台时,我被告知有两个 404 错误。 404 错误的有趣之处在于它们链接到我正在查看的页面的当前目录,然后分别是“theme-chrome.js”和“mode-html.js”。它们从未在该目录中,现在仍然不在。

所以我的问题是为什么脚本在缩小后开始在当前目录中查找它们的文件?我能做些什么来解决这个问题,以便我可以将它们缩小、打包并让它们工作?或者有什么办法吗?

提前感谢您的帮助。

最佳答案

我发现使用 Ace 和 MVC bundle 和缩小,我需要使用绝对引用在 ace 配置中设置 basePath。

ace.config.set("basePath", "/Scripts/FullPathToMy/AceEditorDirectory");

这可能不是最好的解决方案,但它应该能让您走上正轨。

关于c# - 如何防止 Ace 在当前目录中寻找主题和模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18346875/

相关文章:

c# - 如何延长 SolrConnection 中的超时? (SolrConnection异常: The operation has timed out)

c# - 在 ActionLink 中使用 ASP.NET MVC、Razor 页面的图标

javascript - 如何将两个位置添加到网站的同一个谷歌地图中

javascript - Highstock 上的线路差异很大

asp.net-mvc - 返回 IQueryable 时何时/如何处置 DbContext?

c# - 如何使登录页面成为 ASP.NET MVC Web 应用程序中的启动页面?

c# - 如何在C#程序中执行存储过程

c# - FxCop:异步方法的抑制消息

c# - 如何使用 ConfigurePrimaryHttpMessageHandler 泛型

javascript - “nodemon”不被识别为内部或外部命令、可操作程序或批处理文件