Typcript 1.8 теперь поддерживает нетипированные файлы JS. Чтобы включить эту функцию, просто добавить --allowJs флаг компилятора или добавить «allowJs»: верно compilerOptions в tsconfig.jsonКак включить нетипизированные узловые модули с TypScript 1.8?
через https://blogs.msdn.microsoft.com/typescript/2016/01/28/announcing-typescript-1-8-beta/
Я пытаюсь импортировать react-tap-event-plugin, который не делает есть файл типизации.
import * as injectTapEventPlugin from 'injectTapEventPlugin';
говорит, что модуль не найден. Поэтому я попробовал:
import * as injectTapEventPlugin from '../node_modules/react-tap-event-plugin/src/injectTapEventPlugin.js';
Это говорит о том, что модуль разрешает немодульный объект и не может быть импортирован с использованием этой конструкции. А потом я попробовал:
import injectTapEventPlugin = require('../node_modules/react-tap-event-plugin/src/injectTapEventPlugin.js');
Это сбой с ERROR in ./scripts/index.tsx Module build failed: TypeError: Cannot read property 'kind' of undefined
на node_modules/typescript/lib/typescript.js:39567
Мой TSconfig:
{
"compilerOptions": {
"target": "ES5",
"removeComments": true,
"jsx": "react",
"module": "commonjs",
"sourceMap": true,
"allowJs": true
},
"exclude": [
"node_modules"
]
}
Я использую Webpack с TS-погрузчик:
{
test: /\.tsx?$/,
exclude: ['node_modules', 'tests'],
loader: 'ts-loader'
}
Я добавил запрос на pull для 'response-tap-event-plugin', и он уже слит. https://github.com/DefinitelyTyped/DefinitelyTyped/pull/8260 – mixel
@mixel wow спасибо! –