antd 按需加载 自动引入的less报错

使用babel-plugin-import按需加载 引用less报错

webpack.config.js

{
    test: /\.css$/,
    include: path.join(__dirname, '/node_modules/antd'),
    use: ExtractTextPlugin.extract({
        fallback: 'style-loader',
        use: ['css-loader', 'postcss-loader']
    })
}, {
    test: /\.less$/,
    include: path.join(__dirname, '/node_modules/antd'),
    use: ExtractTextPlugin.extract({
        fallback: 'style-loader',
        use: ['css-loader', 'postcss-loader', 'less-loader']
    })
}, {
    test: /\.scss$/,
    include: path.join(__dirname, '/node_modules/antd'),
    use: ExtractTextPlugin.extract({
        fallback: 'style-loader',
        use: ['css-loader', 'postcss-loader', 'sass-loader']
    })
}

.babelrc

{
      "presets": [
          "react", 
          "es2015",
           "stage-0",
      ],
      "plugins": [
        "transform-decorators-legacy",
        "transform-class-properties",
        "jsx-control-statements",
        ["import", {
          "libraryName": "antd",
          "libraryDirectory": "lib",
          "style": true, 
        }],
    ]
}

报错

clipboard.png

阅读 8.3k
2 个回答

看一下less-loader版本,@>4.0时,less-loader需添加options

{
    loader: "less-loader",
    options: {
        javascriptEnabled: true
    }
}

不应该把antdless加进去。
include: path.join(__dirname, '/node_modules/antd'),

推荐问题