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.

0 ответов

Другие вопросы по тегам