Я решил эту проблему, выбрав другой маршрут; вероятно, лучшая практика в этой ситуации. Я опубликую свое решение на случай, если оно будет полезным.
Я только что использовал next- css ( см. Обновление внизу поста ) и импорт JavaScript, чтобы включить файлы. Я отправлю код ниже. Я нашел пару преимуществ для этого способа:
- Далее. js автоматически ловит изменения и перестраивает.
- Sourcemaps работают лучше. Раньше, когда я нажимал на источник стиля в инструментах разработчика, он просто указывал на мое утверждение
<style>@import...
. Не полезно. РЕДАКТИРОВАТЬ: На самом деле, карта-источник, кажется, сломан для меня. Думаю, что-то связанное с post css и next- css не очень хорошо играет вместе.
В конце концов, это, вероятно, лучший способ сделать это. Тем не менее, я все еще хотел бы знать, есть ли разрешение, которое работает с тем, что я опубликовал изначально.
_app. js
@import 'path/to/global.css'
export default const App = ({Component, pageProps}) => {
return (
<Component {...pageProps} />
)
};
Чтобы предупредить вопросы, есть больше к этому файлу, чем я показываю. На самом деле я просто включил его, чтобы показать разницу между моим исходным постом и решением.
global. css
@import '@css/variables.css';
@import '@css/mixins.css';
@import '@css/reset.css';
@import '@css/body.css';
@import '@css/grid.css';
@import '@css/form.css';
next.config. js
const withCSS = require('@zeit/next-css')
module.exports = withCSS({})
ОБНОВЛЕНИЕ (26.01.20): Далее. js 9.2 теперь имеет встроенную поддержку для импорта CSS файлов. Таким образом, вы можете избавиться от вещей next-css
. Плюс это исправляет исходные карты; так что это прекрасно работает.