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 < 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代码,我尽可能地将它们剥离,看看我是否可以让它们工作,但即使像这些一样直接,也没有骰子!
我讨厌承认我已经有这个问题差不多一个星期了,每次我再次访问它都没有取得进展。
我感谢任何帮助,甚至是一些有用文档的指导。
答案 0 :(得分:0)
一个可能的问题是您的node.js服务器不提供src-noconflict/ace.js
文件。
您可以在https://github.com/ajaxorg/ace/blob/master/static.js#L29