Вот как я это сделал.
const withCSS = require('@zeit/next-css');
const atImport = require('postcss-import');
const postCssPresetEnv = require('postcss-preset-env');
const postCssCustomProperties = require('postcss-custom-properties');
const postcssCustomMedia = require('postcss-custom-media');
const postCssColorMod = require('postcss-color-mod-function');
Добавьте это поле в next.config.js:
postcssLoaderOptions: {
ident: 'postcss',
sourceMap: true,
plugins: () => [
atImport,
postCssCustomProperties({
preserve: false,
importFrom: 'src/styles/variables.js',
}),
postcssCustomMedia({
preserve: false,
importFrom: 'src/styles/breakpoints.js',
}),
postCssPresetEnv({
stage: 0,
browserslist: 'last 2 versions',
}),
postCssColorMod,
],
},
и оберните все в next.config.js с помощью:
module.exports = withCSS({
...
}):
и в любом случае у вас должен быть postcss.config.js (не postcss.js.config
, насколько я знаю), чтобы позволить nextjs загрузить загрузчик postcss, у меня пусто (не уверен, верно ли это)
module.exports = {}