antd-mobile配置自定义主题出错,好像一直不能解析less文件

按照官方文档配置,报这个错:

Failed to compile
./node_modules/antd-mobile/lib/button/style/index.less
Module build failed: 

@import '../../style/mixins';
@import '../../style/themes/default';
^
Can't resolve '../../style/themes/default' in 'D:\project\daddy-choice-client\node_modules\antd-mobile\lib\button\style'
      in D:\project\daddy-choice-client\node_modules\antd-mobile\lib\button\style\index.less (line 2, column 0)

我的webpack.config.dev.js的loaders配置:

const theme = require('../package.json').theme;
      {
        test: /\.css$/,
        use: [
          require.resolve('style-loader'),
          {
            loader: require.resolve('css-loader'),
            options: {
              importLoaders: 1,
            },
          },
          {
            loader: require.resolve('postcss-loader'),
            options: {
              // Necessary for external CSS imports to work
              // https://github.com/facebookincubator/create-react-app/issues/2677
              ident: 'postcss',
              plugins: () => [
                require('postcss-flexbugs-fixes'),
                autoprefixer({
                  browsers: [
                    '>1%',
                    'last 4 versions',
                    'Firefox ESR',
                    'not ie < 9', // React doesn't support IE8 anyway
                  ],
                  flexbox: 'no-2009',
                }),
              ],
            },
          },
        ],
      },
        {
            test: /\.less$/,
            use: [
                require.resolve('style-loader'),
                require.resolve('css-loader'),

                {
                    loader: require.resolve('less-loader'),
                    options: {
                        modifyVars: theme
                    },
                },
            ],
        },

我的babel.rc配置:

{
  "presets": [
    ["es2015",{"loose":true}],
    "react"
  ],
  "plugins": [
    ["import", { "libraryName": "antd-mobile", "style": true }],
    "transform-decorators-legacy"
  ]
}

有大神知道吗。。项目时间紧,就是配置不好。。

阅读 4.9k
2 个回答

babel.rc中不需要再导入theme了。直接在package.json中配置了就可以了。

我感觉是你这个@import '../../style/themes/default';没有后缀,所以找不到文件,不能匹配loader去执行

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题