antd 按需加载less报错

发布于 2022-09-12 01:56:23 字数 1845 浏览 15 评论 0

image.png!

2image.png
上面报错信息,配置如下:

{
  "presets": ["next/babel"],
  "plugins": [
    "@babel/plugin-proposal-object-rest-spread",
    ["styled-components", { "ssr": true, "displayName": false }],
    ["import", { "libraryName": "antd", "libraryDirectory": "es", "style": true }] 
  ]
}
module.exports = withPlugins([[less, {
  lessLoaderOptions : {
    javascriptEnabled : true
  }
}], css, bundleAnalyzer], {
  webpack(config) {

    config.resolve.alias = {
      ...(config.resolve.alias || {}),
      components: path.resolve('components'),
    }

   

    config.module.rules.push({
      test: /\.less$/,
      // exclude: [/node_modules/],
      use: [
        {
          loader: 'less-loader',
          options: {
            javascriptEnabled: true,
            modifyVars: themeVariables,
          },
        },
      ],
    })

    return config
  },

下面代码可以解决!!!

module.exports = withPlugins([[less, {
  lessLoaderOptions : {
    javascriptEnabled : true
  }
}], css, bundleAnalyzer], {
  webpack(config) {

    config.resolve.alias = {
      ...(config.resolve.alias || {}),
      components: path.resolve('components'),
    }
   

  if(config.externals){
      const includes = [/antd/];
      config.externals = config.externals.map(external => {
        if (typeof external !== 'function') return external;
        return (ctx, req, cb) => {
          return includes.find(include =>
            req.startsWith('.')
              ? include.test(path.resolve(ctx, req))
              : include.test(req)
          )
            ? cb()
            : external(ctx, req, cb);
        };
      });
    }

    return config
  },

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

悸初 2022-09-19 01:56:23

exclude: [/node_modules/], 去掉试试。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文