在线编辑代码时,我从GitLab收到以下错误。
GET http://git.server.local/assets/ace/mode-markdown.js 404 (Not Found) application-c8cd2dd87cbf8a023b21baf4d6996ac9.js:26
t.loadScript application-c8cd2dd87cbf8a023b21baf4d6996ac9.js:26
t.loadModule application-c8cd2dd87cbf8a023b21baf4d6996ac9.js:26
setMode application-c8cd2dd87cbf8a023b21baf4d6996ac9.js:27
(anonymous function)
有没有人遇到过这样的错误?我想知道为什么应用程序要求没有哈希的资产。
这是一个Omnibus安装。
答案 0 :(得分:0)
在某个时间点正确解析之前,我已经通过将ace-rails-ap存储库中的“ace”文件夹复制到GitLab public / assets文件夹来解决了错误。
https://github.com/codykrieger/ace-rails-ap/tree/master/vendor/assets/javascripts
以下Javascript似乎要求资产与代码内联。
可能在此提交中引入https://github.com/gitlabhq/gitlabhq/commit/1794f606bd74ae775cd10a3f7da293fb67134c1c
# gitlab-ce.git/app/views/projects/edit_tree/show.html.haml
:javascript
ace.config.set("modePath", gon.relative_url_root + "#{Gitlab::Application.config.assets.prefix}/ace")
var ace_mode = "#{@blob.language.try(:ace_mode)}";
var editor = ace.edit("editor");
editor.setValue("#{escape_javascript(@blob.data)}");
if (ace_mode) {
editor.getSession().setMode('ace/mode/' + ace_mode);
}
由于内联Javascript对Rails资产管理一无所知,因此假设该文件位于assets文件夹中。
答案 1 :(得分:0)
我准备了修复here。这还会在存储库或新片段中创建新文件时添加语法突出显示。