Я пытаюсь использовать веб-шторм с веб-пакетом и машинописью, и я застрял с проверкой ошибок. Я хочу скомпилировать ts файлы с помощью веб-пакета, поэтому мне нужно избегать компиляции исходных файлов через Webstorm, но кажется, что Webstorm выполняет проверку ошибок только во время процесса компиляции.
Соответствие документам веб-шторма «Разрешить объекты с помощью tsconfig.json» должно активировать проверку ошибок без компиляции, но это не так.
Пример кода, который Webstorm не выделяет
{ let z = 4;}
console.log(z);
Мой файл tsconfig:
{
"compilerOptions": {
"module": "commonjs",
"out": "build/tsc.js",
"target": "es5",
"sourceMap": true,
"jsx": "react"
},
"exclude": [
"node_modules"
]
}
В то же время ошибки визуального отображения кода Visual Studio прекрасно. У меня есть ошибки в моих конфигах? Можно ли выделить ошибки, исправленные с помощью Webstorm или другой JetBrains IDE?
Машинопись версии 1.7, Webstorm 11.
3 ответа
Исходный ответ (устаревший - см. ОБНОВЛЕНИЕ ниже):
Как правильно заметил Валерий, вы можете установить для свойства noEmit значение true, чтобы компилятор не создавал выходные файлы.
Однако, если ваша установка Webpack использует тот же файл tsconfig.json, это также не даст Webpack создавать выходные файлы. Вы заметите это только при следующем перезапуске веб-пакета.
В моей настройке веб-пакета я использую загрузчик Typescript "ts-loader". Как упоминалось на странице gsub ts-загрузчика, вы можете переопределить параметры компилятора.
Итак, это моя установка:
tsconfig.json (используется IDE и Webpack)
"compilerOptions": {
"noEmit": true, // do not emit js and map files
...
webpack.config.json (используется Webpack)
{
test: /\.ts$/,
loader: 'ts-loader',
query: {
'compilerOptions': {
"noEmit": false // make sure js files do get emitted
}
},
...
}
Et voila: IDE-компилятор проверяет файлы js и js.map без загрязнения вашей папки с исходным кодом!
ОБНОВЛЕНИЕ: Мой ответ был верным обходным путем в январе, но сегодня лучшим решением является использование службы Typescript внутри Webstorm / IDEA, как предложено anstarovoyt.
Также не забудьте снять флажок «Включить компилятор TypeScript», как показано здесь:
Я нашел способ предотвратить вывод компилятора с параметром tsconfig - noEmit.
{
"compilerOptions": {
"module": "commonjs",
"noEmit": true,
"target": "es5",
"sourceMap": true,
"jsx": "react"
},
"exclude": [
"node_modules"
]
}
С этим конфигом у меня нет лишних файлов и исправление ошибок в веб-шторме.
WebStorm 2016.1 (и другие среды разработки IJ 2016.1) поддерживает параметр "compileOnSave"
. Пример:
{
"compileOnSave": false,
"compilerOptions": {
"module": "commonjs"
}
}
Обновление . WebStorm 2016.2 имеет новую интеграцию «службы TypeScript». Вам вообще не нужна интеграция TypeScript Complier. Просто отметьте опцию «Использовать службу TypeScript». Более того, новая интеграция работает намного быстрее.
Обновление 2 . Интеграция по умолчанию включена в WebStorm 2016.3.
Похожие вопросы
Новые вопросы
javascript
По вопросам программирования на ECMAScript (JavaScript / JS) и его различных диалектах / реализациях (кроме ActionScript). Включите все соответствующие теги в свой вопрос; например, [node.js], [jquery], [json] и т. д.