NodeJS 与 Ace 编辑器冲突

NodeJS conflicting with Ace Editor

webdev 相当新,用于后端。

我的问题是,当它所属的 HTML 页面通过 nodeJS 发送时,我无法让 Ace Editor 工作。当我通过网络浏览器打开 html 文件时,它运行良好。当我通过本地主机连接并让 nodejs 加载文件时,html 页面只是纯文本。

这是我的js代码,很简单:

var exec = require('child_process').exec;
var fs = require('fs');
var http = require('http');
var socketio = require('socket.io');

var server = http.createServer(function(req, res) {
   res.writeHead(200, { 'Content-type': 'text/html'});
   res.end(fs.readFileSync(__dirname + '/test_ACE.html'));
}).listen(8000, function() {
   console.log('Listening at: http://localhost:8000');
});

这是我的 html:

<!DOCTYPE html>
<html lang="en">
<head>
    <link rel="stylesheet" type="text/css" href="css/stylesheet.css">
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <title>Editor</title>
</head>
<body>
    <pre id="editor">function foo(items) {
        var i;
        for (i = 0; i &lt; items.length; i++) {
            alert("Ace Rocks " + items[i]);
        }
    }</pre>
    <script src="src-noconflict/ace.js" type="text/javascript" charset="utf-8"></script>
    <script>
    var editor = ace.edit("editor");
    editor.setTheme("ace/theme/twilight");
    editor.session.setMode("ace/mode/javascript");
    </script>
</body>
</html>

这不是我的最终 html 或 js 代码,我尽可能地剥离它们以查看是否可以让它们工作,但即使像这些一样直接,也没有骰子!

我不想承认我已经遇到这个问题将近一个星期了,每次我重新访问它都没有取得任何进展。

我将不胜感激任何帮助,即使是一些有用文档的指导。

一个可能的问题是您的 node.js 服务器不提供 src-noconflict/ace.js 文件。 您可以在 https://github.com/ajaxorg/ace/blob/master/static.js#L29

查看工作 nodejs 服务器的示例