Моя файловая структура выглядит следующим образом:
frame/
--| static/
--| src/
--| v4/
--| views/
--| components/
--| ExampleComponent/
--| ExampleComponent.tsx
--| shared/
--| tsconfig.json
--| webpack.config.js
Это папка v4, в частности, где мы заботимся о псевдонимах импорта, а конфигурационные файлы typcript + webpack находятся в самом внешнем слое.Я добавил эти изменения в свой файл tsconfig:
{
"compilerOptions": {
"baseUrl": "./static/src/v4",
"paths": {
"/views/*": [
"/static/src/v4/views/*"
],
"/components/*" : [
"/static/src/v4/components/*"
],
"/shared/*" : [
"/static/src/v4/shared/*"
]
}
}
}
В любом файле в папке v4 я хочу иметь возможность импортировать модули, написав что-то вроде import {ExampleComponent} from 'v4/components/ExampleComponent'
.Кажется, он работает для определенных экспортируемых модулей, но для некоторых модулей, которые были экспортированы по умолчанию, я получаю сообщение об ошибке в своем операторе импорта Cannot find module 'v4/components/ExampleComponent
.
Для моего файла конфигурации веб-пакета я добавил следующее свойство:
resolve: {
alias: {
views: path.resolve(__dirname, './static/src/v4/views'),
components: path.resolve(__dirname, './static/src/v4/components/'),
shared: path.resolve(__dirname, './static/src/v4/shared/')
}
}
Я запустил скрипт для проверки конфигурации веб-пакета, и у меня появляется одна и та же ошибка «Модуль не найден» для всехмои операторы импорта, чьи соответствующие модули были экспортированы по умолчанию.Есть ли что-то действительно очевидное, чего мне не хватает в том, как я написал свои конфигурации?