Довольно новичок в веб-разработке, привык к бэкенду.
Моя проблема в том, что я не могу заставить Ace Editor работать, когда HTML-страница, которой он принадлежит, отправляется через nodeJS. Когда я открываю 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, я вырезал их настолько голыми, насколько мог, чтобы увидеть, смогу ли я заставить их работать, но даже если они настолько прямолинейны, никаких костей!
Я ненавижу признавать, что у меня была эта проблема почти неделю, и каждый раз, когда я возвращаюсь к ней, я не добиваюсь прогресса.
Буду признателен за любую помощь, даже за направление полезной документации.