1

ExpressJs アプリで小さなテスト コードを書いています。コードは次のとおりです。

var express = require('express');
var app = express();
var dataFile = require('./data/data.json');


app.set('port', process.env.PORT || 3000);

app.get('/', function(req, res) {
  var info = '';
  dataFile.speakers.forEach(function(item) {
    info += `<li>
      <h2>${item.name}</h2>
      <p>${item.summary}</p>
    </li>
    `;
  });
  res.send(`
    <h1>My Meetups</h1>
    ${info}
    `);
});

var server = app.listen(app.get('port'), function() {
  console.log('Listening on port ' + app.get('port'));
});

コマンドを実行しようとすると

ノード app/app.js

Git bash ターミナルで、次のエラーが発生します。

> E:\expressjs\app\app.js:11
>     info += `<li>
>             ^ SyntaxError: Unexpected token ILLEGAL
>     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:935:3

私が試したこと:

  1. 確認したノードのバージョン: ノード 0.10.37 を使用
  2. 提案されているように --harmony オプションを指定してノード コマンドを実行しようとしました: 同じエラー
  3. ECMA 互換表の Web サイトにアクセスしてみました: 正しい情報を検索できませんでした

Atom エディターを使用しています

私が疑うもの:NodeとECMAの互換性のないバージョン

誰かがこれを手伝ってくれますか?

ありがとう

4

1 に答える 1

4

このサイトを試してみてください。nodeJS に実装されているすべての es6 機能を示しています

http://node.green/

非常に古いバージョンのノードを使用していると思われます (ほとんどすべての機能でノード 0.10 でエラーが発生します)。

node6 にアップグレードしてみてください。すべて問題ありません。

お役に立てれば。

于 2016-09-03T08:14:11.003 に答える