Linaria + Next.js + Псевдонимы путей
Я хотел попробовать Linaria (использующий next-linaria), но в настоящее время застрял, чтобы заставить его работать в любом из моих проектов Next.js (которые, кстати, также используют Typescript).
Похоже, что корнем зла являются псевдонимы путей, которые по умолчанию поддерживает Next.js.
tsconfig.json
...
"compilerOptions": {
...
"paths": {
"~/*": [
"src/*"
]
}
},
При установке только Linaria и next-linaria я получаю такую ошибку:
Error: Can't resolve '~/layout/main/MainWrapper' in '[...]\src\layout\main'
Я уже знаю, что Linaria заявила, что не поддерживает никаких других псевдонимов модулей, кроме @babel-plugin-module-resolver или webpack. Однако я не могу заставить их работать.
Я попробовал @babel-plugin-module-resolver и безуспешно поместил ту же конфигурацию пути (и некоторые другие попытки) в .babelrc .
"plugins": [
["module-resolver", {
"alias": {
"~/*": [
"src/*"
]
}
}]
]
Я также пробовал делать то же самое с псевдонимами webpack.
next.config.js
module.exports = withLinaria({
webpack: (config, { dev }) => {
config.resolve.alias = {
...config.resolve.alias,
"~/": path.resolve(__dirname, "./src/"),
};
return config;
},
});
Стандартная структура проекта Next.js выглядит так:
/
/pages (contains entry points for each route)
/src (contains regular react components)
Итак, я любезно спрашиваю, может ли кто-нибудь рассказать нам, как использовать псевдонимы пути с Next + Linaria.