#reactjs #typescript #webpack
#reactjs #typescript #webpack
Вопрос:
В моем проекте React with Webpack я объявляю некоторые модули глобальными, поэтому мне не нужно импортировать их каждый раз, когда я хочу их использовать.
В моем файле Webpack:
plugins: [
new webpack.ProvidePlugin({
'_': 'lodash',
'React': 'react',
'moment': 'moment'
})
]
Теперь я могу использовать _,React ,moment везде, не импортируя его явно.
После добавления Typescript в проект я получаю следующие ошибки:
'moment' refers to a UMD global, but the current file is a module. Consider adding an import instead.
'_' refers to a UMD global, but the current file is a module. Consider adding an import instead.
Мой файл tsconfig:
{
"compilerOptions": {
"jsx": "react-jsx",
"allowSyntheticDefaultImports": true,
"module": "commonjs",
"noImplicitAny": true,
"outDir": "./build/",
"preserveConstEnums": true,
"removeComments": true,
"sourceMap": true,
"target": "es5"
},
"include": [
"src/index.tsx"
]
}
Как я могу сообщить typescript, что эти библиотеки уже являются глобальными и что они существуют?
Ответ №1:
Удалось решить эту проблему, добавив следующее в мой файл tsconfig
"allowUmdGlobalAccess": true,