Поддержка ES6 / ES7 в сообществе Visual Studio 2015
Я слышал, что VS 2015 поддерживает новый синтаксис js, но когда я открываю проект, написанный с помощью aurelia.js в этой IDE intellisense жалуется на многие, многие вещи, например.
export class UpperValueConverter {
toView(value){
return value && value.toUpperCase();
}
}
У меня установлен WebEssentials 2015. По-прежнему ничего не работает... Вероятно, важная информация заключается в том, что моя текущая установка VS является свежей, поэтому я не испортил никаких настроек.
5 ответов
у меня была эта проблема .файлы jsx, visual studio 2015 использовали react-tools
плагин для анализа и выделения синтаксических ошибок.
Я не могу найти вопрос, который я получил с этого момента, но кто-то сказал изменить строку в следующем файле:
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 });
в:
var transformed = reactTools.transformWithDetails(code,
{ elementMap: true,
es6module: "--es6module",
harmony: "--harmony",
nonStrictEs6module: "--non-strict-es6module" });
я добавил параметр nonStrictEs6module
, и теперь он не предупреждает меня о большинстве вещей, кроме непосредственно назначенных функции стрелок:
было бы хорошо, если бы мы могли как-нибудь мне удалось поменять react-tools
преобразование для babel stage-1
трансформатор, проверьте мой ответ здесь : -)
Javascript-это язык. ES6-это версия Javascript. Корпорация Майкрософт не предоставила файл сопоставления intellisense для него. Предложения по этому сообщению предлагают использовать JavaScript-фреймворки / API, которые предоставляют файлы сопоставления intellisense. Эти предложения не отвечают на вопрос о том, как остановить получение ошибок intellisense для новых версий Javascript. Если кто-то не создает этот файл сопоставления и не предоставляет URL-адрес для ссылки из Visual Studio/tools/Javascript/Intellisence / references вы получите синтаксические ошибки, написав прямой ES6 Javascript.
для использования нового синтаксиса ES6/ES7 вы должны использовать transpiler. У вас есть три варианта Traceur, Babel или TypeScript. Они будут транспилировать новый синтаксис в текущий синтаксис ES5, который поддерживают текущие браузеры. Aurelia имеет хорошую поддержку Babel или TypeScript.
Visual Studio 2015 включает в себя TypeScript 1.5. Таким образом, вы должны создать TypeScript (.ts) вместо на JavaScript (.в JS). TypeScript будет transpile это в ES5 .файл js. Этот.JS-файл-это тот, который работает в браузере.
при открытии файла Javascript в Visual Studio он будет обрабатывать это как в ES5 файл Javascript, а не как файл Javascript ES6/ES7, поэтому, если вы хотите использовать Babel, вы получите синтаксические ошибки в Редакторе.
Я думаю, что проблема в шаблоне проекта nodeJS. Я создал пустой веб-проект и использовал Git bash для запуска моих команд jspm. Когда я добавляю файл js, я все еще получаю пару синтаксических проблем, но он распознает большую часть нового синтаксиса.
лучшее, что я могу предложить-это
WebCompiler. Его самый простой и красивый способ написать ES6 или меньше или TypeScript и т. д.
самый простой и мощный способ компиляции файлов LESS, Scss, JSX и CoffeeScript непосредственно в Visual Studio или через MSBuild.