最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

使用babel

IT培训 admin 9浏览 0评论

使用babel

我正在学习下页的Full-Stack Redux:.html#introducing-the-redux-store

在server.js中使用socket-io创建新服务器并使用babel-node运行app后,我收到以下错误:

/home/Ubuntu/workspace/双人床/server.就是:15

var io = new _socket2.default().attach(8090);
         ^

TypeError:_socket2.default不是函数

at startServer (server.js:4:16)
at Object.<anonymous> (index.js:5:1)
at Module._compile (module.js:409:26)
at loader (/home/ubuntu/workspace/node_modules/babel-cli/node_modules/babel-register/lib/node.js:126:5)
at Object.require.extensions.(anonymous function) [as .js] (/home/ubuntu/workspace/node_modules/babel-cli/node_modules/babel-register/lib/node.js:136:7)
at Module.load (module.js:343:32)
at Function.Module._load (module.js:300:12)
at Function.Module.runMain (module.js:441:10)
at /home/ubuntu/workspace/node_modules/babel-cli/lib/_babel-node.js:161:27
at Object.<anonymous> (/home/ubuntu/workspace/node_modules/babel-cli/lib/_babel-node.js:162:7)

这是server.js的代码

import Server from 'socket.io';

export default function startServer() {
    const io = new Server().attach(8090);
};

这是index.js的代码

import makeStore from './src/store';
import startServer from './src/server';

export const store = makeStore();
startServer();

这是package.json文件:

{
  "name": "chat-example",
  "version": "0.0.0",
  "description": "A chat example to showcase how to use `socket.io` with a static `express` server with `async` for control flow.",
  "main": "server.js",
  "repository": "",
  "author": "Mostafa Eweda <[email protected]>",
  "scripts": {
    "start": "babel-node index",
    "test": "mocha --compilers js:babel-core/register --require ./test/test_helper.js --recursive",
    "test:watch": "npm run test -- --watch"
  },
  "devDependencies": {
    "babel-cli": "^6.6.5",
    "babel-core": "^6.7.2",
    "babel-preset-es2015": "^6.6.0",
    "chai": "^3.5.0",
    "chai-immutable": "^1.5.3",
    "mocha": "^2.4.5"
  },
  "babel": {
    "presets": [
      "es2015"
    ]
  },
  "dependencies": {
    "async": "~0.2.8",
    "express": "~3.2.4",
    "immutable": "^3.7.6",
    "redux": "^3.3.1",
    "socket.io": "^0.9.17"
  }

我做的与页面上写的完全一样。请给我这个案子的建议。谢谢

回答如下:

我找到了这个问题的解决方案,我在这里回答以防有人需要它。我相信socket.io不再使用附加功能。相反,他们使用以下代码来创建套接字服务器:

const io = Server(8090);

使用babel

我正在学习下页的Full-Stack Redux:.html#introducing-the-redux-store

在server.js中使用socket-io创建新服务器并使用babel-node运行app后,我收到以下错误:

/home/Ubuntu/workspace/双人床/server.就是:15

var io = new _socket2.default().attach(8090);
         ^

TypeError:_socket2.default不是函数

at startServer (server.js:4:16)
at Object.<anonymous> (index.js:5:1)
at Module._compile (module.js:409:26)
at loader (/home/ubuntu/workspace/node_modules/babel-cli/node_modules/babel-register/lib/node.js:126:5)
at Object.require.extensions.(anonymous function) [as .js] (/home/ubuntu/workspace/node_modules/babel-cli/node_modules/babel-register/lib/node.js:136:7)
at Module.load (module.js:343:32)
at Function.Module._load (module.js:300:12)
at Function.Module.runMain (module.js:441:10)
at /home/ubuntu/workspace/node_modules/babel-cli/lib/_babel-node.js:161:27
at Object.<anonymous> (/home/ubuntu/workspace/node_modules/babel-cli/lib/_babel-node.js:162:7)

这是server.js的代码

import Server from 'socket.io';

export default function startServer() {
    const io = new Server().attach(8090);
};

这是index.js的代码

import makeStore from './src/store';
import startServer from './src/server';

export const store = makeStore();
startServer();

这是package.json文件:

{
  "name": "chat-example",
  "version": "0.0.0",
  "description": "A chat example to showcase how to use `socket.io` with a static `express` server with `async` for control flow.",
  "main": "server.js",
  "repository": "",
  "author": "Mostafa Eweda <[email protected]>",
  "scripts": {
    "start": "babel-node index",
    "test": "mocha --compilers js:babel-core/register --require ./test/test_helper.js --recursive",
    "test:watch": "npm run test -- --watch"
  },
  "devDependencies": {
    "babel-cli": "^6.6.5",
    "babel-core": "^6.7.2",
    "babel-preset-es2015": "^6.6.0",
    "chai": "^3.5.0",
    "chai-immutable": "^1.5.3",
    "mocha": "^2.4.5"
  },
  "babel": {
    "presets": [
      "es2015"
    ]
  },
  "dependencies": {
    "async": "~0.2.8",
    "express": "~3.2.4",
    "immutable": "^3.7.6",
    "redux": "^3.3.1",
    "socket.io": "^0.9.17"
  }

我做的与页面上写的完全一样。请给我这个案子的建议。谢谢

回答如下:

我找到了这个问题的解决方案,我在这里回答以防有人需要它。我相信socket.io不再使用附加功能。相反,他们使用以下代码来创建套接字服务器:

const io = Server(8090);

与本文相关的文章

发布评论

评论列表 (0)

  1. 暂无评论