1
我使用node.js和socket.io和做了實驗,它在本地很好地工作。 我可以讀取一個html文件併爲多個用戶管理一個交互式按鈕。Cloud9 - Node.js fs無法打開html文件
所以我上傳它CLOUD9,但我有一個錯誤ENOENT試圖找到html文件。 這是根(如在本地)和線路fs.readFile(「ex.html」等等......
這裏是一個測試的打開HTML文件中的代碼和我有ENOENT在控制檯上的錯誤:
var http = require('http');
var fs = require('fs');
http.createServer(function(request, response) {
response.writeHead(200, {
'Content-Type': 'text/html'
});
fs.readFile('ex.html', function(err, data){
if(err) throw err;
response.end(data);
});
}).listen(process.env.PORT, process.env.IP);
這裏是另一個程序(滿)一個顯示空白頁 ...
服務器:
var http = require('http');
var fs = require('fs');
// Creation du serveur
var app = http.createServer(function (req, res) {
// On lit notre fichier app.html
fs.readFile('app.html', 'utf-8', function(error, content) {
res.writeHead(200, {'Content-Type' : 'text/html'});
res.end(content);
});
});
var io = require("socket.io");
io = io.listen(app);
io.sockets.on('connection', function (socket) {
socket.on('joue', function() {
socket.broadcast.emit('joue2');
}); // joue
}); // connection
app.listen(process.env.PORT, process.env.IP);
客戶端(app.html):
<html><head> <title>Hello</title></head><body>
<button id="button">clic</button>
<div id="render">a</div>
<script type="text/javascript" src="/socket.io/socket.io.js"></script>
<script type="text/javascript">
var socket = io.connect();
var button = document.getElementById('button');
var render = document.getElementById('render');
button.addEventListener("click", clique, false);
function clique() {
socket.emit('joue');
}
socket.on('joue2', function() {
if (render.innerHTML == 'a') {
render.innerHTML = 'clic multi';
} else {
render.innerHTML = 'a';
}
});
</script></body></html>
我已經安裝socket.io在服務器上的所有文件都在文件夾node.js的根目錄 我已經問過Cloud9,但他們說它適用於他們... 對不起,我的英語,如果我是初學者。
謝謝您的幫助:)
是的,它的工作,thanx很多! – Getzel
完成了,對不起,我是新的。 – Getzel