Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to get Webstorm 11 to recognize ES2015 javascript in HTML script tags

I've been having trouble getting WebStorm 11 to recognize/highlight/parse ES6/ES2015 javascript when it's inside script tags in regular HTML. Can't find a setting that seems to apply to this. Thanks in advance for your time.

For example, the following js is inside a script tag. You'll notice that WebStorm thinks that a whole bunch of things are broken with it, but it executes just fine.

this code parses and executes fine in babel but is not recognized by WebStorm

like image 970
cayblood Avatar asked Nov 15 '15 17:11

cayblood


1 Answers

Using <script type="text/ecmascript-6"> rather than <script type="text/javascript"> should help you.

Issue on JetBrans YouTrack on the topic.

UPD:

It looks like a WebStorm bug (tested on the latest release):

  var a = (d) => {}; //OK
  a.v('c', (d) => {}); // OK
  class Test {
    doSmth(){
      a.sh('ff', (d) => {});
      //            ^^^^^^ , or ) expected when in <script>
      //            100% OK when in a js file
    }
  }

I think you could contact JetBrains support, probably they will fix it.

But anyways, I do not think it's a good practice to have JS in your HTML and, moreover, ES6 which is not yet commonly supported.

UPD 2:

As posted in comments by, zigomir, you might want to use type="text/babel" instead of type="text/ecmascript-6" in .vue files or otherwise linting wouldn't work.

like image 74
Alexander Mikhalchenko Avatar answered Sep 28 '22 02:09

Alexander Mikhalchenko