使用Ubuntu操作系统、Node.js、Express和Socket.IO创建一个示例页面
备忘录
为了测试向Heroku上传,创建一个可通信的示例页面。
步骤:
1. 下载VirtualBox和Ubuntu的镜像文件。
2. 创建并启动虚拟机。
3. 右击虚拟机界面,选择启动终端。
4. 依次执行以下命令。
$sudo apt-get install nodejs npm
安装Node.js和npm,版本未知。
$npm install -g express
安装Express,版本未知。
$express hoge[任意のフォルダ名]
创建任意文件夹
$cd hoge
将位置移动到“hoge”内部。
$ls hoge
显示”hoge”文件夹的内容。如果包括以下文件:app.js、bin、package.json、public、views、routes,则可以。
$npm install --save socket.io
安装Socket.IO
只需要一种选择,给出以下的汉语翻译:
//修改的地方在views/index.jade和bin/www文件中。
将以下内容添加到bin/www的末尾(在服务器端进行处理)。
var io = require('socket.io').listen(server);
io.sockets.on('connection', function(socket) {
socket.emit('greeting', function (a) {
console.log('connection clear');
console.log(a)
});
socket.on('client_to_server', function(){
var tom ='hello';
console.log('button pushed');
socket.emit('server_to_client', tom);
})
});
当有连接成功时,io.sockets.on(‘connection’)会被触发并执行相关操作。所有的处理程序都可以写在此处并运行。
以下是用于测试的代码示例,请改写 index.jade 文件。
doctype html
html
head
title Socket.IO Test
script(src='//ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js')
script(src='/socket.io/socket.io.js')
script.
var socket = io.connect();
socket.on('greeting', function() {
console.log('hello world')
});
function button(){
console.log('pushed')
var a=1
socket.emit('client_to_server',a)
}
socket.on('server_to_client', function(tom){
console.log(tom)
})
body
h1 Socket.IO Test
input(type='button', onclick='button()', value='叩いてコンソールを出力')
在脚本的第二行中,加载了socket.io。对于具体细节我不清楚。
//调整
$ npm start
只需一个选项以中文为母语重新表达以下内容:
//启动自己的服务器
当您从浏览器打开
http://localhost:3000
时,页面会被显示出来。
要求一种中文的表达方式:
如果
Error: Cannot find module 'static-favicon'
如果出现了什么问题或情况,
$ npm install
所以,所有必要的模块都已安装完毕。
按下按钮后,各种控制台会输出。
我想把这个上传到Heroku上。