使用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上。

广告
将在 10 秒后关闭
bannerAds