我一直在开发一个 MVC Web 应用程序,该应用程序使用 Cloud9 提供的 Ace 浏览器内代码编辑器。 ace.js 脚本和设置 ace 编辑器的脚本都位于我的 BundleConfig 上的 ScriptBundle 中。捆绑包加载得非常好。在我的本地服务器上,当 web.config 中的 debug 设置为 true 时,脚本运行得非常好。然而,在启动到实时服务器并将 web.config 中的 debug 设置为 false 后,出现了几个错误。
修复了一些小故障后,仍然存在两个我似乎无法理解其原因的错误。这两个错误看起来非常相似,因为它们都是 Ace 的 chrome 主题和 Ace 的 HTML 模式脚本的 404 未找到错误。在设置编辑器的脚本中,它们的调用方式如下:
editor.setTheme("ace/theme/chrome");
editor.getSession().setMode("ace/mode/html");
在我的本地计算机上,将调试设置为 true,主题和模式设置得非常好,一切都按计划进行。然而,正如我所说,在调试设置为 false 的实时服务器上,因此缩小了 ScriptBundles 中的所有脚本,主题和模式均出现 404 错误。
当我在 Google Chrome 中打开 JavaScript 控制台时,我被告知有两个 404 错误。 404 错误的有趣之处在于,它们链接到我正在查看的页面的当前目录,然后分别链接到“theme-chrome.js”和“mode-html.js”。它们从未在该目录中,现在仍然不在。
所以我的问题是为什么脚本在缩小后开始在当前目录中查找文件?我可以做些什么来解决这个问题,以便我可以将它们缩小,捆绑在一起,并让它们工作?或者有什么办法吗?
感谢您提前提供的帮助。
我发现使用 Ace 和 MVC 捆绑和缩小,我需要使用绝对引用在 ace 配置中设置 basePath。
ace.config.set("basePath", "/Scripts/FullPathToMy/AceEditorDirectory");
这可能不是最好的解决方案,但它应该可以帮助您上路。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)