webpack概念
创始人
2024-05-06 10:03:07
0

webpack概念

    • webpack
    • webpack-概念
    • webpack-使用准备
    • webpack-基础使用
    • webpack-更新打包
    • webpack-配置修改
    • webpack-打包流程图

webpack

  • 使用ES6模块化
  • 默认导出和导入
// 默认导出
export default {a: 10,b: 20
}// 默认导入
import Obj from 'js文件路径'
  • 按需导出和导入
// 按需导出
export {a: 10,b: 20
}
// 按需导入
import {a, b} from 'js文件路径'
import * as Obj from 'js文件路径' // 搜集*所有按需导出, 合并到变量obj中
  • 无导出和导入(只为让js代码执行)
// 无导出
Array.prototype.MyForEach = function(){// ...内部实现略
}// 无导入
import "js文件路径"// 后面用数组就可以调用MyForEach方法了

箭头函数

// 1. 基础定义
const fn = () => {}   
fn()// 2. 有参, 有返回值
const fn2 = (a, b) => {return a + b} 
fn(10, 20); // 结果是30// 3. 参数"只有一个", 省略()
const fn3 = a => {return a * 2}
fn(50); // 结果是100// 4. 函数体"只有一句"可以省略大括号和return, "默认返回这句话结果"给函数调用地方
const fn4 = a => a * 2;
fn(50); // 结果是100

什么是服务器, 本地如何搭建服务器, 服务器和浏览器关系, 什么是请求和响应

// 1. 什么是服务器
// 服务器是一台性能高, 24小时可以开机的电脑
// 服务器可以提供服务(例如: 文件存储, 网页浏览, 资源返回)// 2. 本地如何搭建服务器
// 安装node软件环境, 下载express模块包, 编写相关代码, 即可得到一个web服务器, 给前端返回资源// 3. 服务器和浏览器的关系
// 浏览器不负责保存网页, 都要靠着url地址去服务器后端, 请求网页相关代码, 回来在浏览器上解析显示
// 浏览器也不负责保存数据, 如果是前后端分离项目, 也要用ajax调用后端接口, 拿到数据回到浏览器上铺设显示// 4. 请求和响应区别
// 浏览器 -> 请求资源 -> 服务器// 浏览器 <-  响应数据 <- 服务器

webpack-概念

  • 现代 javascript 应用程序的 静态模块打包器 (module bundler)

    • 静态: 文件资源
    • 模块: node环境, 引入文件, 遵守模块化语法
  • 除了合并代码, 还可以翻译压缩代码

    • less/sass -> css
    • ES6/7/8 -> ES5
    • html/css/js -> 压缩合并

webpack-使用准备

  1. 创建01_webpack基础使用文件夹
  2. 初始化包环境
yarn init
  1. 安装依赖包
yarn add webpack webpack-cli -D
  1. 在package.json中, 配置scripts(自定义命令)
scripts: {"build": "webpack"
}

webpack-基础使用

  1. 新建src/add/add.js - 定义求和函数导出
export const addFn = (a, b) => a + b
  1. 新建src/index.js导入使用
// webpack打包的入口
import { addFn } from './add/add'
console.log(addFn(5, 2));
  1. 运行打包命令
yarn build
# 或者 npm run build
  1. src并列处, 生成dist目录和main.js文件

  2. 查看main.js文件, 是打包压缩后的代码

(()=>{"use strict";console.log(7)})();

webpack-更新打包

  1. 新建src/tool/tool.js - 导出数组求和方法
export const getArraySum = arr => arr.reduce((sum, val) => {return sum = sum + val;
}, 0)
  1. src/index.js - 导入使用
import { addFn } from './add/add'
import { getArraySum } from './tool/tool'console.log(addFn(5, 2));
console.log(getArraySum([5, 6, 9, 10]));
  1. 重新打包
yarn build
  1. 自动覆盖原dist, 结果压缩极致
(()=>{"use strict";console.log(7),console.log([5,6,9,10].reduce(((o,e)=>o+e),0))})();

webpack-配置修改

修改默认入口和出口

默认入口: src/index.js

默认出口: dist/main.js

  1. 项目根目录 - 新建webpack.config.js文件 (默认配置文件名)
  2. 填入配置项
const path = require("path")module.exports = {entry: "./src/main.js", // enter: 默认入口output: { path: path.join(__dirname, "dist"), // 出口"文件夹"名filename: "bundle.js"               // 出口"文件"名}
}
  1. 修改代码里src/index.js 为 src/main.js
  2. 重新打包观察输出文件名

webpack-打包流程图

图解流程

  1. 敲击命令, 代码执行过程

在这里插入图片描述

  1. 代码源文件和webpack之间关系图

    源码一定要和入口产生直接/间接引入关系, 才会被一起打包

    比如: request.js 就是间接引入
    在这里插入图片描述

相关内容

热门资讯

喜欢穿一身黑的男生性格(喜欢穿... 今天百科达人给各位分享喜欢穿一身黑的男生性格的知识,其中也会对喜欢穿一身黑衣服的男人人好相处吗进行解...
发春是什么意思(思春和发春是什... 本篇文章极速百科给大家谈谈发春是什么意思,以及思春和发春是什么意思对应的知识点,希望对各位有所帮助,...
网络用语zl是什么意思(zl是... 今天给各位分享网络用语zl是什么意思的知识,其中也会对zl是啥意思是什么网络用语进行解释,如果能碰巧...
为什么酷狗音乐自己唱的歌不能下... 本篇文章极速百科小编给大家谈谈为什么酷狗音乐自己唱的歌不能下载到本地?,以及为什么酷狗下载的歌曲不是...
家里可以做假山养金鱼吗(假山能... 今天百科达人给各位分享家里可以做假山养金鱼吗的知识,其中也会对假山能放鱼缸里吗进行解释,如果能碰巧解...
华为下载未安装的文件去哪找(华... 今天百科达人给各位分享华为下载未安装的文件去哪找的知识,其中也会对华为下载未安装的文件去哪找到进行解...
四分五裂是什么生肖什么动物(四... 本篇文章极速百科小编给大家谈谈四分五裂是什么生肖什么动物,以及四分五裂打一生肖是什么对应的知识点,希...
怎么往应用助手里添加应用(应用... 今天百科达人给各位分享怎么往应用助手里添加应用的知识,其中也会对应用助手怎么添加微信进行解释,如果能...
客厅放八骏马摆件可以吗(家里摆... 今天给各位分享客厅放八骏马摆件可以吗的知识,其中也会对家里摆八骏马摆件好吗进行解释,如果能碰巧解决你...
苏州离哪个飞机场近(苏州离哪个... 本篇文章极速百科小编给大家谈谈苏州离哪个飞机场近,以及苏州离哪个飞机场近点对应的知识点,希望对各位有...