43 lines
1.1 KiB
JavaScript
43 lines
1.1 KiB
JavaScript
|
|
||
|
|
||
|
/* eslint-disable */
|
||
|
const withLess = require("@zeit/next-less");
|
||
|
const lessToJS = require("less-vars-to-js");
|
||
|
const fs = require("fs");
|
||
|
const path = require("path");
|
||
|
|
||
|
const themeVariables = lessToJS(
|
||
|
fs.readFileSync(path.resolve(__dirname, "./styles/theme.less"), "utf8")
|
||
|
);
|
||
|
|
||
|
module.exports = withLess({
|
||
|
lessLoaderOptions: {
|
||
|
javascriptEnabled: true,
|
||
|
modifyVars: themeVariables,
|
||
|
},
|
||
|
webpack: (config, { isServer }) => {
|
||
|
if (isServer) {
|
||
|
const antStyles = /antd\/.*?\/style.*?/;
|
||
|
const origExternals = [...config.externals];
|
||
|
config.externals = [
|
||
|
(context, request, callback) => {
|
||
|
if (request.match(antStyles)) return callback();
|
||
|
if (typeof origExternals[0] === "function") {
|
||
|
origExternals[0](context, request, callback);
|
||
|
} else {
|
||
|
callback();
|
||
|
}
|
||
|
},
|
||
|
...(typeof origExternals[0] === "function" ? [] : origExternals)
|
||
|
];
|
||
|
|
||
|
config.module.rules.unshift({
|
||
|
test: antStyles,
|
||
|
use: "null-loader"
|
||
|
});
|
||
|
}
|
||
|
return config;
|
||
|
}
|
||
|
});
|
||
|
|