2016-12-07 6 views
3

У меня есть проект на основе angular2 (машинописный), основанный на webpack, и после обновления IDEA с 2016.2 по 2016.3. У меня возникают некоторые проблемы с путями импорта в машинописных модулях. Для того, чтобы избежать такого длинного импорта:IntelliJ Idea: пользовательский путь импорта

import * from "src/app/some-component"; 

Я добавил "SRC/приложение" в папку resolve.root WebPack, поэтому он может найти

import * from "some-component" 

в папке "SRC/приложение" , Тем не менее, IDEA выделяет мои операторы импорта и говорит: «TS2307: Невозможно найти модуль« какой-то компонент ». Я предполагаю, что это связано с тем, что IDEA не знает о таких «пользовательских» корнях импорта.

Итак, есть ли способ сказать IDEA для поиска модулей в папке «src/app»? Я пробовал «Mark Directory As Source Root» и «Язык & Frameworks -> JavaScript -> Библиотеки», ничего не изменилось.

+2

«TS2307: Невозможно найти модуль« некоторый компонент »означает, что компилятор TS не может разрешить ваши корни, а не сам IDEA ... Таким образом, вы должны настроить свой tsconfig.json соответственно (используйте« пути » ', например - см. https://www.typescriptlang.org/docs/handbook/module-resolution.html) – lena

+0

Не уверен, что это правда. Поскольку, как я уже упоминал ранее, webpack успешно создает проект с использованием ts-компилятора. – DavyJohnes

+3

это правда :) неудивительно, что webpack способен работать с собственной конфигурацией. Но встроенный компилятор установлен в 'Настройки | Языки и рамки | TypeScript' не использует файлы конфигурации webpack, он просто полагается на ваш проект tsconfig.json. Вы можете отключить компилятор, отключив «Использовать службу TypeScript» и «Включить компилятор», чтобы избавиться от встроенных ошибок компилятора. Но все же у вас будут проблемы с решением путей, специфичных для webpack, поскольку Idea не поддерживает их – lena

ответ

3

Благодаря lena. Проблема решается путем отключения «Машинопись сервиса» в

Settings | Languages & Frameworks | TypeScript 

Но я уверен, что это можно настроить машинопись (через tsconfig.json) сказать машинопись службе IDEA, чтобы посмотреть в другие папки. Я думаю, что «rootDirs» может помочь здесь. module resolution

Смежные вопросы