Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

string templates are not supported by current javascript version

I am trying to use ES6 String Templates in a Node.js (v 5.7.0) app, but they are not working. Webstorm is correctly warning me that

String templates are not supported by current Javascript version

I am sure I have used string templates in a node app in the past. How can I get string templates to work? I am running the server with this command

npm start

When that is fixed, how can I help Webstorm know it is fixed and stop showing the warning?

Edit: I changed the app source to use template strings in this manner:

`````

var app = express();
var server = app.listen(process.env.PORT || 8080, function () {
    var host = server.address().address;
    var port = server.address().port;
    console.log(`App listening at http://${host}:${port}`);

`````

the app prints:

App listening at http://:::8080

like image 568
cyrf Avatar asked Mar 13 '16 17:03

cyrf


2 Answers

String templates are supported in JavaScript version ECMAScript 6 and above.

To fix this in Web Storm:

Webstorm IDE

-> File

-> Settings

-> Languages & Frameworks

-> JavaScript

-> Javascript Language Version:

Choose ECMAScript 6 instead of ECMAScript 5.1 or any older version.

like image 136
Shadi Namrouti Avatar answered Nov 15 '22 04:11

Shadi Namrouti


Have you try in the REPL? It works for me.

enter image description here

If the code doesn't throw an error it means that the template strings works. But if the result is not what you expected, just console.log your variables to see what's inside.

Edit: Concerning the WebStorm warning, it seems pretty easy to fix.

like image 33
Cohars Avatar answered Nov 15 '22 02:11

Cohars