webpack打包学习笔记

常见打包工具:webpack , vite

webpack是静态资源打包工具 用于转换编译es6+的语法 还可以压缩代码 提升性能等

webpack本身功能比较少 只能处理js 遇到css等需要插件处理

构建过程:由一个或多个入口文件开始编译转换 转换完的文件组合成一个或多个文件输出 在浏览器上就可以运行了

demo:

初始化生成package.json ,name不能是webpack会报错

npm init -y

下载webpack 

npm i webpack webpack-cli -D 

文件中创建src/main.js作为入口文件

可以创建src/js/a.js


const func=()=> {
    console.log('我是打包js')
}
export default func

 写一个方法导出,在入口文件main.js中引入

import func from './js/a'
func()
console.log('我是main.js')

创建public/index.html ,src引入dist/main.js

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script src="../dist/main.js"></script>
    <p>hellowebpack</p>
</body>
</html>

 webpack打包

npx webpack ./src/main.js --mode=development

会生成dist文件,dist/main.js

运行index.html,可运行并且可运行方法

--mode=development , --mode=production

开发模式仅会转换编译代码 ,生产模式不仅转换编译代码,还能压缩代码等功能

创建webpack.config.js文件做配置

const path = require('path')
module.exports = {
    entry:'./src/main.js',
    output:{
        path:path.resolve(__dirname,'dist'),
        filename:'main.js'
    },
    module:{
        rules:[]
    },
    plugins:[],
    mode:'development'

}

output要两个参数 ,一个path绝对路径,所以用path模块

一个是filename 打包的文件名

如果没有配置文件 npx webpack ./src/main.js --mode=development

如果有配置文件 npx webpack即可

开发模式做的事情:1.编译代码 2.检查语法

处理css资源 css-loader style-loader

可在webpack官网上找到loader模块 找到相应资源进行下载

在webpack.config.js中 module.rules中添加对象,两个值,1.test 2.use

只要是遇到test中后缀名的 就用use中的loader处理

图片资源,webpack4中用的是url-loader , file-loader

webpack5中内置了这两个loader 做简单配置即可

// {

//     test:/\.{png|jpe?g|gif|webp}$/,

//     type:"asset"

//   }

在文档中搜asset即可搜到

修改输出文件目录 在output上的path修改 修改path或者filename

自动清空上次打包的内容 不用打包后再次打包需要手动删除上次的打包内容

在output中设置clean:true

原理是 在打包前 先把dist文件清空再重新打包

iconfont打包 直接引入iconfont font-class 会报错 找不到ali.cdn...的资源 前面加http:即可

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值