Visual studio 2015 Visual Studio 2015社区中的ES6/ES7支持

Visual studio 2015 Visual Studio 2015社区中的ES6/ES7支持,visual-studio-2015,ecmascript-6,aurelia,ecmascript-2016,Visual Studio 2015,Ecmascript 6,Aurelia,Ecmascript 2016,我听说VS 2015支持新的js语法,但当我在这个IDE中打开一个使用aurelia.js编写的项目时,intellisense抱怨了很多事情,例如 export class UpperValueConverter { toView(value){ return value && value.toUpperCase(); } } 我已经安装了WebEssentials 2015。还是什么都不管用。。。可能一个重要的信息是,我当前的VS安装是新的,所以我没有弄乱任

我听说VS 2015支持新的js语法,但当我在这个IDE中打开一个使用aurelia.js编写的项目时,intellisense抱怨了很多事情,例如

export class UpperValueConverter {
  toView(value){
    return value && value.toUpperCase();
  }
}
我已经安装了WebEssentials 2015。还是什么都不管用。。。可能一个重要的信息是,我当前的VS安装是新的,所以我没有弄乱任何设置。


我认为问题在于nodeJS项目模板。我创建了一个空的web项目,并使用git bash运行我的jspm命令。当我添加一个js文件时,仍然会遇到一些语法问题,但它可以识别大多数新语法。

要使用新的ES6/ES7语法,必须使用transpiler。您有三个选项Traceur、Babel或TypeScript。这些将把新语法转换为当前浏览器支持的当前ES5语法。Aurelia对Babel或TypeScript有很好的支持

Visual Studio 2015包括TypeScript 1.5。因此,您必须创建一个TypeScript文件(.ts),而不是Javascript文件(.js)。TypeScript将把它传输到一个ES5.js文件。js文件是在浏览器中运行的文件


当您在Visual Studio中打开一个Javascript文件时,它会将其作为ES5Javascript文件处理,而不是作为ES6/ES7 Javascript文件处理,因此如果您想使用Babel,那么编辑器中会出现语法错误。

我能建议的最好方法是

。这是写ES6或ES6以下或打字脚本等最简单、最漂亮的方法


直接在Visual Studio内或通过MSBuild编译LESS、Scss、JSX和CoffeeScript文件的最简单、最强大的方法。

我在.JSX文件中遇到了这个问题,Visual Studio 2015使用插件解析并突出显示语法错误

我找不到从现在起得到的问题,但有人说要更改以下文件中的一行:

C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Microsoft\Web Tools\External\react-server\server.js
更改以下行:

var transformed = reactTools.transformWithDetails(code, { elementMap: true });
致:

我添加了选项
nonStrictEs6module
,现在除了直接分配的arrows函数外,它不会在大多数情况下警告我:


如果我们能以某种方式将
react工具
转换为
babel-stage-1
转换器,那就太好了,请查看我的答案:-)

Javascript是一种语言。ES6是Javascript的一个版本。Microsoft尚未为其提供intellisense映射文件。这篇文章中的建议建议建议使用javascript框架/API,这些框架/API确实提供intellisense映射文件。这些建议并没有回答关于如何停止获取新Javascript版本的intellisense错误的问题。除非有人创建了映射文件并提供了一个URL供我们从Visual Studio/tools/Javascript/Intellisence/references中引用,否则直接编写ES6 Javascript时会出现语法错误。

这是一个语法错误。你是想把它放在一个对象文字或类定义中吗?它不是我正在使用的ES6中的一个语法错误,
它是一个作为顶级条目的语法错误,它不是一个作为对象或类中的键/值的语法错误,但你还没有显示出来。实际上,项目本身并不重要。我也创建了一个asp.NETMVC项目,添加了一个只有这段代码的文件,它仍然抱怨。你能给我提供关于如何配置TypeScript构建的信息吗(还有-为什么TypeScript与此有关?:))。有一件事我想我应该提一提——它是visual studio和web essentials的新安装,所以我没有弄乱任何设置:)。我尤其对导出类的方法的开头括号中的“Expected;”(分号)有问题。更改VS项目的typescript模块设置似乎没有任何效果。是的,但“大部分”还不够:)。在所附的屏幕截图上,我可以看到VS给您的错误与我的安装相同。奇怪的是,我看过一些视频教程,其中作者使用VS和新的js语法,但他/她没有收到任何错误。不记得他们是否安装了任何其他插件(webessentials除外)。我看过一段视频,其中包含相同的内容,他们没有任何错误,但我相信他们使用的是visual studio代码:。它是一个轻量级的IDE,就像sublime或括号一样。尽管IDE显示错误,但在运行项目时它仍然可以工作。我同意,如果除了那些实际错误之外没有其他错误就更好了,但是图像中显示的那些比节点模板中不喜欢导入、导出、类等的那些要少得多。注意:如果您只为一个引擎开发代码,则不必使用transpiler,这是JavaScript Windows应用程序的情况,因此,即使是由于Visual Studio本身对ES6的支持较差而被错误地突出显示的ES6代码,在实际设备上仍能正常工作。只要我们开始手动调整程序文件,未来的更新很可能会发现我们再次这样做,如果我们还记得怎么做的话。VisualStudio社区工作人员需要直接解决这个问题。现在,我使用“在升华文本中打开”插件,在那里编辑我的JS文件。用谷歌搜索答案并再次这样做很容易,我还没有因为更新而丢失它
var transformed = reactTools.transformWithDetails(code, 
    { elementMap: true, 
      es6module: "--es6module", 
      harmony: "--harmony", 
      nonStrictEs6module: "--non-strict-es6module"  });