webpack开发环境的使用

webpack依赖关系图

webpack 是一种前端资源构建工具,一个静态模块打包器(module bundler)。 

在 webpack 看来, 前端的所有资源文件(js/json/css/img/less/…)都会作为模块处理。 它将根据模块的依赖关系进行静态分析,打包生成对应的静态资源(bundle)。

在这里插入图片描述在这里插入图片描述

在磁盘中新建目录webpack及其子目录:css、js…,并初始化npm(用于安装各种包、插件)

index.js
在这里插入图片描述index.html
在这里插入图片描述index.less
index.less

新建webpack.config.js文件,编写webpack配置

webpack.config.js配置如下:

/**
 * 开发环境的配置:能让代码运行即可
 * 运行项目指令:webpack会将打包结果输出出去
 *               npx webpack-dev-server只在内存中打包,没有输出
 */

const {resolve}  = require('path');
const HtmlWebpackPlugin = require('html-webpack-plugin')

module.exports={
  entry:"./src/js/index.js",
  output:{
    path:resolve(__dirname,'build'),
    filename:'./js/bundle.js'
  },
  module:{
    rules:[
      //处理less样式资源
     {
       test:/\.less$/,
       use:['style-loader','css-loader','less-loader'],//loader是按照从右往左、从下往上的执行顺序执行的。
       /**
        * less-loader讲less文件转化为css文件,然后css-loader将css文件加入到js文件中,style-loader将js文件添加得到style标签内并嵌入到head标签里
        */
     },
     //处理css资源
     {
       test:/\.css$/,
       use:['style-loader','css-loader']
     },
    //处理style样式图片资源
     {
      test:/\(jpg|png|gif)$/,
      loader:'url-loader',
      options:{
        limit:8 * 1024,//当图片大小低于limit的大小时采用base64编码,打包后图片内存大小会变大,一般在图片大小为8-15kb左右时采用limit
        name:'[hash:10].[ext]',//以打包的hash值的前10位作为名称,[ext]后缀和原来保持一致
        esModule:false,//关闭es6的解析模式,采用commonjs的解析模式
        outputPath:'imgs'//输出到img这个文件夹下
      }
     },
     //处理html中的image图片资源
     {
       test:/\.html$/,
       loaser:'html-loader',//解析模式为commonjs
     },
     //处理其他资源
     {
      exclude:/\.(css|less|text|js|png|jpg|gif|html)$/,
      loader:'file-loader',//url-loader是file-loader的扩展,多了limit对图片的压缩功能
      options:{
        name:'[hash:10].[ext]',
        outputPath:'media'
      }
     }
    ]
  },
  plugins:[new HtmlWebpackPlugin({template:'./src/index.html'})],
  //自动化实现自动编译打包、输出、打开浏览器
  devServer:{
    contenBase:resolve(__dirname,'build'),//指定chunk的目录
    compress:true,
    port:300,
    open:true
  },
  mode:'development'
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值