Ruby on rails 未激发工作路径错误显示404(未找到)
参考文件:- 根据上面的文档,我将createWorker方法添加到自定义模式中,并在同一个文件中包含worker-example.js,并在模式定义中调用requireace/config.setworkerPath,ace/mode 目前,workerPath没有被触发,我在控制台中看到一个Get404NotFound错误 这是我的自定义代码index.html.erb:Ruby on rails 未激发工作路径错误显示404(未找到),ruby-on-rails,ace-editor,worker,Ruby On Rails,Ace Editor,Worker,参考文件:- 根据上面的文档,我将createWorker方法添加到自定义模式中,并在同一个文件中包含worker-example.js,并在模式定义中调用requireace/config.setworkerPath,ace/mode 目前,workerPath没有被触发,我在控制台中看到一个Get404NotFound错误 这是我的自定义代码index.html.erb: define('ace/mode/example-custom', [], function(require, expo
define('ace/mode/example-custom', [], function(require, exports, module) {
var oop = require("ace/lib/oop");
var TextMode = require("ace/mode/text").Mode;
var Tokenizer = require("ace/tokenizer").Tokenizer;
var ExampleHighlightRules = require("ace/mode/example_highlight_rules").ExampleHighlightRules;
var WorkerClient = require("ace/worker/worker_client").WorkerClient;
require("ace/config").set("workerPath", "ace/mode");
var Mode = function() {
this.HighlightRules = ExampleHighlightRules;
};
oop.inherits(Mode, TextMode);
(function() {
this.lineCommentStart = "--";
this.blockComment = {start: "->", end: "<-"};
this.createWorker = function(session) {
var worker = new WorkerClient(["ace"], workerpath, "WorkerExample");
worker.attachToDocument(session.getDocument());
console.log("worker", worker);
worker.on("errors", function(e) {
session.setAnnotations(e.data);
});
worker.on("annotate", function(results) {
session.setAnnotations(results.data);
});
worker.on("terminate", function() {
session.clearAnnotations();
});
return worker;
};
define('ace/mode/worker-example', [], function(require, exports, module) {
var oop = require("ace/lib/oop");
var Mirror = require("ace/worker/mirror").Mirror;
var WorkerExample = exports.WorkerExample = function(sender) {
Mirror.call(this, sender);
this.setTimeout(200);
};
oop.inherits(WorkerExample, Mirror);
(function() {
this.onUpdate = function() {
var lines = editor.session.doc.getAllLines();
var errors = [];
for (var i = 0; i < lines.length; i++){
if (/[\w\d{(['"]/.test(lines[i])) {
alert("hello");
errors.push({
row: i,
column: lines[i].length,
text: "Missing Semicolon",
type: "error"
});
}
}
this.sender.emit("annotate", errors);
};
}).call(WorkerExample.prototype);
});
define'ace/mode/worker example'是否与mode在同一文件中?它应该在一个单独的文件中。@auser我在同一个文件中以及在单独的文件中尝试了worker示例。但这对我不起作用。我需要在同一个文件和单独的文件中给出的正确工作路径是什么。