webpack 大套餐和配置,babel版本和压缩的小问题

最好是html文件在最外层,js和css写在src里面,这样就免得配置输入输出

①之前一直因为babel-loader版本不对一直报错,Module build failed (from ./node_modules/babel-loader/lib/index.js):
TypeError: Cannot read property 'bindings' of null,看了各种博客,还是报错,干脆就直接到babel-loader的github上按官方的来,反而解决了。

②安装html压缩工具时候要安file-loader和url-loader

webpack 4.x | babel-loader 8.x | babel 7.x 

npm init -y //(这一步弄出package.json)

npm install -D babel-loader @babel/core @babel/preset-env webpack

npm i html-webpack-plugin html-loader --save-dev

npm i file-loader url-loader -D   //(这是解析图片,转为base64位)

npm i mini-css-extract-plugin css-loader --save-dev

npm i webpack-dev-server --save-dev //(本地服务器,自动刷新)
//webpack.config.js的配置文件

const HtmlWebPackPlugin = require("html-webpack-plugin");

const MiniCssExtractPlugin = require("mini-css-extract-plugin");

module.exports = {
    module: {
        rules: [
          {
            test: /\.m?js$/,
            exclude: /(node_modules|bower_components)/,
            use: {
              loader: 'babel-loader',
              options: {
                presets: ['@babel/preset-env'] //这里配置了babel就不需要。babelrc文件配置了
              }
            }
          },
          {
            test: /\.html$/,
            use: [
              {
                loader: "html-loader",
                options: { minimize: true }
              }
            ]
          },
          {
              test: /\.(png|jpg|gif)$/i,
              use:[
                  {loader: "url-loader"}
              ]
          },
          {
            test: /\.css$/,
            use: [MiniCssExtractPlugin.loader, "css-loader"]
          }
        ]
      },
      plugins: [
        new HtmlWebPackPlugin({
          template: "./moments.html",
          filename: "./index.html"
        }),
        new MiniCssExtractPlugin({
            filename: "[name].css",
            chunkFilename: "[id].css"
          })
      ]

}
//package.json的scripts配置
"scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "start": "webpack-dev-server --mode development --open", //自动刷新
    "dev": "webpack --mode development ", 
    "build": "webpack --mode production " 
  },

 

//index.js头部需要引入
import style from './style.css'
//不然不会打包css

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值