欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

前端工程化(webpack)

程序员文章站 2022-06-25 12:09:27
第一部分:组件、模块、工程化的区别前端工程化既是模块化:对所有的资源进行统一管理,对开发者的开发习惯进行统一的梳理,达到自动化,工程化模块化出现的原因(传统开发的主要问题):1-命名的冲突 2-文件的依赖问题模块化:模块化就是把单独的一个功能封装到一个模块(文件)中,模块之间相互的隔离,但是可以通过特别的接口公开内部成员,也可以依赖别的模块,大模块由小模块组成,代码重用,耦合性低,方便后期的维护。模块化的好处:1方便代码的重用,提高开发效率 2方便后期的维护2 组件化: 组件化按照系...

第一部分:组件、模块、工程化的区别

前端工程化既是模块化:对所有的资源进行统一管理,对开发者的开发习惯进行统一的梳理,达到自动化,工程化

模块化出现的原因(传统开发的主要问题):
1-命名的冲突 2-文件的依赖问题

模块化:
模块化就是把单独的一个功能封装到一个模块(文件)中,模块之间相互的隔离,但是可以通过特别的接口公开内部成员,也可以依赖别的模块,大模块由小模块组成,代码重用,耦合性低,方便后期的维护。

模块化的好处:
1方便代码的重用,提高开发效率 2方便后期的维护

2 组件化: 组件化按照系统的关注点进行拆分 比如系统使用下拉框 modal模态窗口 警告提醒 表格等
把这些常用的功能集合(含有HTML结构 CSS呈现 JS逻辑操作)进行封装,最用使用的时候。


第二部分:ES JS NODE.JS之间的区别

前端工程化(webpack)


第三部分:⭐ES6模块化规范(重点)⭐

第三部分(1):Babel第三方包,可以将高级的JS语法转换为低级的JS语法

前端工程化(webpack)
安装步骤:
第一步: 打开终端,输入命令:npm install --save-dev @babel/core @babel/cli @babel/preset-env @babel/node
第二步: 安装完毕之后,再次输入命令安装:npm install --save @babel/polyfill

注意:如果npm安装上诉包不成功,就使用cnpm
但是需要安装cnpm:
npm install -g cnpm --registry=https://registry.npm.taobao.org

配置文件:

在项目目录中创建babel.config.js文件。
编辑js文件中的代码如下:
const presets = [
    ["@babel/env",{
        targets:{
            edge:"17",
            firefox:"60",
            chrome:"67",
            safari:"11.1"
        }
    }]
]
//暴露
module.exports = { presets }

第三步:创建index

在项目目录中创建index.js文件作为入口文件
在index.js中输入需要执行的js代码,例如:
    console.log("ok");

第四步:在终端中执行

打开终端,输入命令:npx babel-node ./index.js

第五步:效果展示
前端工程化(webpack)


1 每一个JS文件都是一个独立的模块

2 导入模块成员 使用 import 关键字

3 暴露模块成员 使用 export 关键字


第三部分(2):ES6 默认导出和默认导入

注意:
1 - Export default 默认导出的成员(每个模块只可以使用唯一一次的,否则会报错)
2- 如果一个文件中没有导出,则会返回一个空对象 { }

默认导出语法:
export default { 需要导出的成员}

默认导入语法:
Import 接收名称 from ‘模块标识符’
前端工程化(webpack)

第三部分(3):ES6 按需导出和按需导入

	按需导出:一个模块中可以使用多次,默认导出不可以

按需导出语法 export var s1 = 10

按需导入语法 import { s1} from ‘模块标识符’ (按需导入的名称必须和按需导出的名称一致,不能乱写。但是可以用as 起别名)
前端工程化(webpack)

第三部分(4):直接导入并执行模块代码

只是单纯的执行某个模块中的代码。并不需要得到模块向外暴漏的成员,此时可以直接导入并执行模块代码
前端工程化(webpack)


第四部分:webpack(重点)⭐⭐

可以进行很友好的 模块化支持 代码压缩混淆 处理JS兼容问题 性能优化等
webpack的好处: 提高开发效率和项目的可维护性

npm init -y 初始化包管理

打包前后对比:

前端工程化(webpack)

第四部分(1):如何在项目中设置webpack

配置准备:
前端工程化(webpack)

第三步:mode有两种:
**- development:**开发模式,打包的代码不会压缩和混淆
**- production:**生产模式(正式上线模式),打包的代码会压缩和混淆

前端工程化(webpack)

第四部分(2):配置打包的入口和出口

默认的打包出口和入口:

相关标签: webpack