簡體   English   中英

ECMASCRIPT中的反引號:意外的令牌非法

[英]Backtick in ECMASCRIPT : Unexpected Token Illegal

我正在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選項運行node命令:相同錯誤
  3. 嘗試訪問ECMA兼容性表網站:無法搜索正確的信息

我正在使用Atom編輯器

我懷疑:Node和ECMA的版本不兼容

有人可以幫忙嗎?

謝謝

試試這個網站。 它顯示了在nodeJS中實現的所有es6功能

http://node.green/

我的懷疑是您使用的節點版本非常舊(幾乎所有功能都在節點0.10中給出了錯誤)。

嘗試升級到node6,一切都應該沒問題。

希望這可以幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM