webpack 打包react组件

文章讲述了开发者在使用jsx文件导入less文件时遇到undefined错误,经过排查发现是css-loader和style-loader版本不匹配。解决方法是手动调整style-loader的版本。
摘要由CSDN通过智能技术生成

jsx文件中导入less文件报错undefined

import styles from './index.less'

styles值为undefined

解决了两天,终于找到原因:css-loader,style-loader版本不匹配,需要手动调整style-loader的版本

const path = require('path')

const HtmlWebpackPlugin = require('html-webpack-plugin')

module.exports = {

    mode: "development",

    devtool: "source-map",

    entry: './src/app.jsx',

    output: {

      path: __dirname + '/dist',

      filename: 'bundle.js'

    },

    module: {

      rules: [

        {

          test: /\.jsx?$/,

          exclude: /node_modules/,

        //   loader: 'babel-loader',

          use: ['babel-loader', 'react-hot-loader/webpack'],

        //   query: {

        //     presets: ['@babel/env', '@babel/react']

        //   }

        },

        {

          test: /.css$/,

          use: ['style-loader', {

            loader: 'css-loader',

          }, 'postcss-loader']

        },

        {

          test: /\.less$/i,

          use: [

            {

              loader: 'style-loader',

            }, // 将 JS 字符串生成为 style 节点

            {

              loader: 'css-loader',

              options: {

                modules: true

              }

            },

            {

              loader: 'less-loader',

              options: {

                lessOptions: {

                  javascriptEnabled: true // less javascriptEnabled参数

                },

              },

            },  // 将 less 转化成 CSS,需要安装 less 和 less-loader

          ]

        },

      ]

    },

    plugins: [

        new HtmlWebpackPlugin({

            template: path.resolve(__dirname, "./public/index.html")

        })

    ],

    devServer: {

        host: "localhost",

        port: 3000,

        open: true,

        hot: true,

        historyApiFallback: true

    }

  };

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值