解决办法:1、把next.js项目中引入的hiynn-design的库所使用的.pcss全部换成.scss(hiynn-design库也是我自己的)2、然后设置next.config.js同时支持antd和hiynn-design const withSass = require("@zeit/next-sass"); const withPlugins = require("next-compose-plugins"); /* eslint-disable */ const withLess = require("@zeit/next-less"); const lessToJS = require("less-vars-to-js"); const fs = require("fs"); const path = require("path"); const withImages = require("next-images"); // Where your antd-custom.less file lives const themeVariables = lessToJS(fs.readFileSync(path.resolve(__dirname, "./src/assets/styles/antd-custom.less"), "utf8")); require.extensions[".less"] = () => {}; module.exports = withPlugins([withCss, withSass, withLess, withImages], { cssLoaderOptions: { importLoaders: 1 }, lessLoaderOptions: { javascriptEnabled: true, modifyVars: themeVariables // make your antd custom effective }, webpack: (config, { isServer }) => { if (isServer) { const antStyles = /antd\/.*?\/style.*?/; const hiynnStyles = /hiynn-design\/.*?\/style.*?/; const origExternals = [...config.externals]; config.externals = [ (context, request, callback) => { if (request.match(antStyles) || request.match(hiynnStyles)) { return callback(); } if (typeof origExternals[0] === "function") { origExternals[0](context, request, callback); } else { callback(); } }, ...(typeof origExternals[0] === "function" ? [] : origExternals) ]; config.module.rules.push( { test: antStyles, use: "null-loader" }, { test: hiynnStyles, use: "null-loader" } ); } return config; } });
解决办法:
1、把next.js项目中引入的hiynn-design的库所使用的.pcss全部换成.scss(hiynn-design库也是我自己的)
2、然后设置next.config.js同时支持antd和hiynn-design