如何让Next.js同时支持导入css和less

Posted zhaohd

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何让Next.js同时支持导入css和less相关的知识,希望对你有一定的参考价值。

最近在用Next.js (版本9.5.5)搭建项目时,发现css和less同时导入常常会报错,查阅一番资料后找到了一个靠谱的解决方案:
在目录下新建next.config.js文件,新增下列代码(先安装@zeit/next-less模块)

const path = require(‘path‘)
const withLess = require(‘@zeit/next-less‘)
module.exports = withLess({
    lessLoaderOptions: {
        javascriptEnabled: true,
        // modifyVars: themeVariables,
    },
    webpack: (config) => {
        const builtInLoader = config.module.rules.find((rule) => {
            if (rule.oneOf) {
                return (
                    rule.oneOf.find((deepRule) => {
                        if (deepRule.test && deepRule.test.toString().includes(‘/a^/‘)) {
                            return true;
                        }
                        return false;
                    }) !== undefined
                );
            }
            return false;
        });

        if (typeof builtInLoader !== ‘undefined‘) {
            config.module.rules.push({
                oneOf: [
                    ...builtInLoader.oneOf.filter((rule) => {
                        return (rule.test && rule.test.toString().includes(‘/a^/‘)) !== true;
                    }),
                ],
            });
        }

        return config;
    },
})

参考 https://github.com/vercel/next-plugins/issues/598#issuecomment-618461761


以上是关于如何让Next.js同时支持导入css和less的主要内容,如果未能解决你的问题,请参考以下文章

React ssr框架Next.js 的生产实践

如何忽略 Next.js 组件中导致单元测试中的解析错误的 CSS 模块导入

如何使用 Next.js、Ant Design、Less 和 TypeScript 配置 Storybook.js Webpack

Next.js - 导入 css 文件不起作用

P10:如何使用Ant Design UI

如何在 Next.js 中使用自定义主题配置 Ant Design 并支持 CSS 模块功能