NodeJS与Ace Editor

时间:2015-12-15 06:19:16

标签: javascript html node.js socket.io 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代码,我尽可能地将它们剥离,看看我是否可以让它们工作,但即使像这些一样直接,也没有骰子!

我讨厌承认我已经有这个问题差不多一个星期了,每次我再次访问它都没有取得进展。

我感谢任何帮助,甚至是一些有用文档的指导。

1 个答案:

答案 0 :(得分:0)

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

查看工作nodejs服务器的示例