babel 工具
babel => JS转译,高版本代码优雅降级,浏览器兼容
自动化构建工具 gulp || webpack
webpack工具
webpack是一个模块打包器,将有依赖关系的模块,打包构建生成独立静态资源
概念
entry(入口)
入口起点(entry point) 指示 webpack 应该使用哪个模块,来作为构建其内部 依赖图(dependency graph) 的开始。进入入口起点后,webpack 会找出有哪些模块和库是入口起点(直接和间接)依赖的。
默认值是 ./src/index.js
但你可以通过在 webpack configuration 中配置 entry
属性,来指定一个(或多个)不同的入口起点。
output (输出)
output 属性告诉 webpack 在哪里输出它所创建的 bundle,以及如何命名这些文件。
主要输出文件的默认值是 ./dist/main.js
,其他生成文件默认放置在 ./dist
文件夹中。
loader (装载器) 【面试知道那些loader?】
webpack 只能理解 JavaScript 和 JSON 文件,这是 webpack 开箱可用的自带能力。loader 让 webpack 能够去处理其他类型的文件,并将它们转换为有效 模块,以供应用程序使用,以及被添加到依赖图中。
plugin (插件) 【面试:用过哪些?】
loader 用于转换某些类型的模块,而插件则可以用于执行范围更广的任务。包括:打包优化,资源管理,注入环境变量。
mode (模式)
其默认值为 production
你可以启用 webpack 内置在相应环境下的优化
- development - 开发模式
- production - 生产模式
默认为 production
使用
- 创建目录webpack-demo
$ npm init -y #初始化a
npm install webpack webpack-cli --save-dev #(此工具用于在命令行中运行 webpack)
- 创建目录结构/文件/内容
- 打包构建
- 创建配置文件
- loader使用
- style-loader / css-loader 生成style,识别css
- sass-loader / less-loader 生成css
- file-loader / url-loader 文件图像=>base64进制
- vue-loader
- babel-loader
- Vue loader
? 图片转成base64 => 用编码实现图片
6.plugin 使用
用hash值来判断文件是否修改,每次修改后引入文件十分困难,使用插件
- html-webpack-plugin
7.webpack-dev-server
echarts图表库
安装
npm install echarts --save
引入Echarts
import * as echarts from 'echarts';
// 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('main'));
// 绘制图表
myChart.setOption({
title: {
text: 'ECharts 入门示例'
},
tooltip: {},
xAxis: {
data: ['衬衫', '羊毛衫', '雪纺衫', '裤子', '高跟鞋', '袜子']
},
yAxis: {},
series: [
{
name: '销量',
type: 'bar',
data: [5, 20, 36, 10, 10, 20]
}
]
});
Echarts配置项
tooltip:{ // 配置会有提示框
/*触发类型 默认值item:图形触发 axis:坐标轴触发*/
trigger:'axis' ,
/* 坐标轴指示器 默认值line:显示一个实线 shadow:阴影效果 cross 十字准星*/
axisPoniter:{
type:'cross'
},
/* 悬浮弹框 默认true:显示 false:不显示*/
showContent:false,
/* 悬浮层样式 */
backgroundColor:"",
borderColor:"",
borderWidth:5,
textStyle:{
color:'yellow'
}
/* 悬浮层内容自定义formatter函数 */
formatter(params){
consolr.log(params) // params数组对象
for (let i = 0; i < params.length; i++) {
return '日期:' + params[i].data.data + '\n' + '阅读量:' + params[i].data.value
}// 遍历数组对象,return 的值就是提示框内容
}
----所以series中的data 我们也可以改成数组对象 ----------------------
series:[
{ value: '560', data: '2022-05-20' },
{ value: '250', data: '2022-05-24' },
]
}
formatter :
formatter:'{a}:{b}{c}件'
a:系列名称 series:name
series :[]
data:[对应销量多少]