javascript - 基本的node.js "function"与 "=>"表示法

标签 javascript node.js

我必须修改基本 Node.js 文件上的代码才能使其正常工作,我想知道为什么?

失败:

const server = http.createServer((req, res) => {

这有效:

var server = http.createServer(function(req, res){

错误:

/my-app/tmp/hello2.js:6 var server = http.createServer((req, res) => { ^ SyntaxError: Unexpected token > at Module._compile (module.js:439:25) at Object.Module._extensions..js (module.js:474:10) at Module.load (module.js:356:32) at Function.Module._load (module.js:312:12) at Function.Module.runMain (module.js:497:10) at startup (node.js:119:16) at node.js:945:3

完整代码

const http = require('http');

const hostname = '127.0.0.1';
const port = 3000;

//const server = http.createServer((req, res) => {
// above *wont work*?? below works
var server = http.createServer(function(req, res){
  res.statusCode = 200;
  res.setHeader('Content-Type', 'text/plain');
  res.end('Hello World\n');
});

// server.listen(port, hostname, () => {
// above *wont work*?? below works
server.listen(port, hostname, function() {
  console.log(`Server running at http://${hostname}:${port}/`);
});

最佳答案

这是因为您的 Node.js 不支持 ES6 的某些标准功能

两种解决方案

  1. 您必须编辑 package.json

    {
      "dependencies": {
      "babel-cli": "^6.0.0",
      "babel-preset-es2015": "^6.0.0"
     },
     "scripts": {
       "start": "babel-node --presets es2015 app.js"
     }
    }
    

    并运行npm start

    更多信息:How to run Node.js app with ES6 features enabled?

  2. 更新您的 Node.js

    $ sudo npm cache clean -f
    $ sudo npm install -g n
    $ sudo n stable
    

关于javascript - 基本的node.js "function"与 "=>"表示法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43048956/

相关文章:

node.js - npm 错误! enoent ENOENT : no such file or directory, 打开 'C:\Users\...\package.json'

javascript - 这种固定的图片滚动怎么做?

javascript - AngularJS Controller 和方法

javascript - 使用 React 删除表中的项目后重新加载表

javascript - 在 javascript 中使用 () 作为函数

node.js - 如何调试请求 promise MaxListenersExceededWarning

javascript - headless 浏览器图像质量 - Headless chrome、phantom js、slimmer js

javascript - 缓存过期 header CSS 和 JS 不工作

Node.js如何通过背压处理快速生产者和慢速消费者

javascript - joinmonster 不是一个函数 - GraphQL