Я создаю угловое приложение с использованием TypScript 2 и Webpack 2. В качестве загрузчика я использую awesome-typcript-loader. Я установил noImplicitAny = true в tsconfig.json. Но некоторые из пакетов npm, которые я использовал неявно, имеют тип «any». (например, угловой2-платформенный узел). Поэтому я хочу пропустить это правило только для пакетов npm, но не для моего источника приложения. Как я могу настроить для этого?как пропустить noImplicitAny = текстовое правило для пакетов модулей узлов?
ответ
Вы можете исключить node_modules
, но я установил для меня значение false и исключить node_modules
. Я не уверен, почему вам нужно, чтобы он установил значение true.
Я использую
awesome-typescript-loader
Это, как настроить мой tsconfig.json
файл.
{
"compilerOptions": {
"module": "commonjs",
"target": "es6",
"noImplicitAny": false,
"sourceMap": false,
"emitDecoratorMetadata": true,
"experimentalDecorators": true
},
"exclude": [
"node_modules",
"public/js"
]
}
Вы можете пропустить проверку всех деклараций файлов с skipLibCheck
опцией компилятора типа (добавлено в машинописи 2,0)
{
"compilerOptions": {
"noImplicitAny": true,
"skipLibCheck": true,
...
}
Включает ли это пакеты node_module или просто файлы определения типа? – Rodney
@Rodney, _ *. D.ts_ файлы (местоположение не имеет значения). Подробнее [здесь] (https://github.com/Microsoft/TypeScript/wiki/What's-new-in-TypeScript#new---skiplibcheck) –
Почему вы настройки noimplicity = True? Зачем вам это нужно? – wuno
Я считаю, что установка нескольких параметров компилятора Typcript помогает создать более качественный код, включая другие флаги, такие как noImplicitReturns и noUnusedParameters. Игнорирование 'node_modules' кажется правильным исправлением. –