webpack

webpack

简介

前端项目构建工具(整合工具)

npm补充

npm install xx -D 即写入devDependencies对象(里面的插件只用于开发环境,不用于生产环境)

save开头——开发和生产环境,记住这个就行 npm install xx -S 即写入dependencies对象(生产环境)

为什么使用webpack

因为有一些浏览器不识别es6,webpack会帮助我们解析

使用步骤

安装

  • npm install webpack webpack-cli -D

  • 新建webpack.config.js 并将其配置如下:

    module.exports = {
      mode: "development"
      //可以是development开发模式或者production生产上线模式
    };
    
    
  • 修改package.json文件 如下:

    "scripts": {
        "test": "echo \"Error: no test specified\" && exit 1",//这个是本来就有的
        "dev": "webpack"//这个为添加内容
      },
    

运行

  • npm run dev
  • 会默认帮我们生成一个dist文件夹,里面的main.js就是打包好文件在页面重新引入打包好的文件就可以

配置打包的入口和出口

默认打包的入口文件是src/index.js,打包后的出口文件是dist/main.js文件。 如果我们想修改打包后的入口和出口文件,需要如下配置

const path = require("path"); //引入处理路径的path模块

module.exports = {
  //可以是development开发模式或者production生产上线模式
  mode: "development", 
  entry: path.join(__dirname, "./src/index.js"),
  output: {
    path: path.join(__dirname, "./dist"), //指定输出文件路径
    filename: "bundle.js" //输出文件的名称
  }
};

重新运行npm run dev命令

配置webpack自动打包

下载依赖 npm install webpack-dev-server -D

修改package.json文件

 "scripts": {
 	//这是原来就有的
    "test": "echo \"Error: no test specified\" && exit 1",
    //把webpack修改如右侧的内容
    "dev": "webpack-dev-server"
  },

修改引入路径

<script src="/bundle.js"></script>

运行npm run dev命令,这里会报错所以我们需要配置下面这个环境

配置html-webpack-plugin

安装插件 npm install html-webpack-plugin -D

修改webpack.config.js

//引入处理路径的path模块
const path = require("path"); 
//导入模板处理插件
const HtmlWebpackPlugin = require("html-webpack-plugin"); 
const HtmlPlugin = new HtmlWebpackPlugin({
  template: "./src/index.html",
  filename: "index.html"
});//指定复制的源文件地址
module.exports = {
 //可以是development开发模式或者production生产上线模式
  mode: "development",
  entry: path.join(__dirname, "./src/index.js"),
  output: {
  //指定输出文件路径
    path: path.join(__dirname, "./dist"), 
     //输出文件的名称
    filename: "bundle.js"
  },
  //指明使用的插件
  plugins: [HtmlPlugin]
};

重新运行npm run dev命令

webpack加载器

webpack默认只能处理.js后缀的文件,其他文件默认无法直接打包,所以需要loader

  • less-loader辅助打包.less相关的文件
  • sass-loader 辅助打包.sass相关文件
  • url-loader辅助打包路径相关的文件

打包css文件

  • 安装插件 npm install style-loader css-loader -D

  • 修改webpack.config.js文件 ,添加moudle->rules规则

    module.exports = {
      //可以是development开发模式或者production生产上线模式
      mode: "development", 
      entry: path.join(__dirname, "./src/index.js"),
      output: {
        //指定输出文件路径
        path: path.join(__dirname, "./dist"), 
         //输出文件的名称
        filename: "bundle.js"
      },
      plugins: [HtmlPlugin],
      module: {
        rules: [{ test: /\.css$/, use: ["style-loader", "css-loader"] }]
      }
    };
    
  • 重新运行npm run dev命令

打包less文件

  • 安装插件 npm install less-loader less -D

  • 修改webpack.config.js

     module: {
        rules: [
          { test: /\.css$/, use: ["style-loader", "css-loader"] },
          { test: /\.less$/, use: ["style-loader", "css-loader", "less-loader"] }
        ]
      }
    
  • 重新运行npm run dev命令

配置postcss

  • 针对浏览器兼容性效果使用

  • 安装插件 npm install postcss-loader autoprefixer -D

  • 项目根目录新建postcss.config.js文件,配置如下:

    const autoprefixer = require("autoprefixer");
    module.exports = {
      plugins: [autoprefixer]
    };
    
  • 改webpack.config.js,添加postcss-loader

     module: {
        rules: [
          { test: /\.css$/, use: ["style-loader", "css-loader", "postcss-loader"] },
          { test: /\.less$/, use: ["style-loader", "css-loader", "less-loader"] }
        ]
      }
    
  • 重新运行npm run dev命令

配置图片和字体

  • 安装插件npm install url-loader file-loader -D

  • 改webpack.config.js

     module: {
        rules: [
          { test: /\.css$/, use: ["style-loader", "css-loader", "postcss-loader"] },
          { test: /\.less$/, use: ["style-loader", "css-loader", "less-loader"] },
          {
            test: /\.jpg|png|gif|ttf|eot|woff|woff2/,
            use: "url-loader?limit=16940"
          }
        ]
      }
    
  • 重新运行npm run dev命令

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值