【问题标题】:How to get Webstorm 11 to recognize ES2015 javascript in HTML script tags如何让 Webstorm 11 识别 HTML 脚本标签中的 ES2015 javascript
【发布时间】:2016-02-16 19:23:01
【问题描述】:

当 WebStorm 11 位于常规 HTML 的脚本标签内时,我一直无法识别/突出显示/解析 ES6/ES2015 javascript。找不到似乎适用于此的设置。提前感谢您的宝贵时间。

比如下面这个js在一个script标签里面。您会注意到 WebStorm 认为它破坏了很多东西,但它执行得很好。

【问题讨论】:

  • 通过在设置 -> 语言和框架 -> Javascript 下将 Javascript 语言版本更改为 ES6 来修复类似情况

标签: javascript ecmascript-6 syntax-highlighting webstorm jetbrains-ide


【解决方案1】:

使用 <script type="text/ecmascript-6"> 而不是 <script type="text/javascript"> 应该可以帮助你。

Issue on JetBrans YouTrack on the topic.

更新:

它看起来像一个 WebStorm 错误(在最新版本上测试):

  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
    }
  }

我想你可以联系 JetBrains 支持,他们可能会修复它。

但无论如何,我不认为it's a good practice to have JS in your HTML,而且,ES6 尚未得到普遍支持。

UPD 2:

正如 zigomir 在 cmets 中所发布的,您可能希望在 .vue 文件中使用 type="text/babel" 而不是 type="text/ecmascript-6",否则 linting 将不起作用。

【讨论】:

  • 这对我不起作用。我仍然在无错误代码上看到黄色背景和其他错误。
  • 谢谢@strrife。这实际上是 Google Polymer Elements 的标准做法。 Gulp 构建步骤稍后剥离、连接、转译和缩小 js。
  • 谢谢@strrife。我提交了错误报告。
  • 2016-02-21 更新谷歌浏览器不再执行带有type="text/ecmascript-6 的脚本块,小心! @CarlYoungblood 请将我们链接到错误报告,以便我们对其进行投票!
  • type="text/ecmascript-6" within .vue` 文件有问题(lint-ing 不起作用),我现在使用 type="text/babel" 工作正常。
猜你喜欢
  • 1970-01-01
  • 2017-10-18
  • 2019-10-14
  • 1970-01-01
  • 2020-12-17
  • 2020-09-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多