webpack和babel打包工具

2023-08-08  本文已影响0人  扶光_

抓包

移动端H5页面,查看网络请求,需要用工具抓包
windows一般有fiddler
Mac OS 一般用Charles

抓包过程
手机和电脑连同一个局域网
将手机代理到电脑上
手机浏览网页,即可抓包
查看网络请求
网址代理
https

webpack

压缩代码,整合代码,让网页加载更快

安装webpack
npm install webpack-cli -D
然后在目录下建一个名为webpack.config.js的配置文件

const path = require('path')
module.exports{
    mode:'development';//开发模式 production上线模式(这个会压缩的比较小)
    entry:path.join(__dirname,'src','index.js') //文件入口
    output:{
      filename:'bundle.js'//文件名
      path:path.join(__dirname,'dist'文件夹)//目录
    }
    }

然后去package.json文件中,在scripts中添加"build":"webpack"; "dev":'webpack-dev-server'

安装一个插件npm i html-webpack-plugin-D,用来解析html的插件
安装启动服务的插件npm i webpack-dev-server -D
然后去配置这两个插件

const path = require('path')
module.exports{
    mode:'development';//开发模式 production上线模式(这个会压缩的比较小)
    entry:path.join(__dirname,'src','index.js') //文件入口
    output:{
      filename:'bundle.js'//文件名
      path:path.join(__dirname,'dist'文件夹)//目录
    },
plugins:[
new HtmlWebpackPlugin({
    template: entry:path.join(__dirname,'src','index.html') //找到已有的html
    filename:'index.html'//产出的文件名
    }),
devServer:{
    port:3000,
    contentBase:path.join(__dirname,'dist')
    }
]
    }

### babel
需求:目前大多数的浏览器并不支持es6的语法和模块化
所以利用babel可以将es6转化成es5的代码 
* 1安装babel `npm i @babel/core @babel/preset-env babel-loader -D`
* 2 建立一个名为`.babelrc`的一个配置文件

{
"presets":["@babel/preset-env "]
}

* 3在webpack.config.js中写

module:{
rules:[
{
test:/.js$/,
loader:['babel-loader'],
include:path.join(__dirname,'src'),
exclude:/node_modules/
}
]
}

模块化就是导出和导入

比如下面两个文件
导出

 const name = "hx"
const obj = {
    age:18,
    sno;15662
      }
export{name,obj}

导入(解构)

import {hx,obj} from '目录'

如果只想导出一个
export default xxx 导入直接 import xxx from '目录'

上一篇下一篇

猜你喜欢

热点阅读