当前位置: 首页 > news >正文

webpack的理解和使用

一,webpack是什么

webpack 是前端项目工程化的具体解决方案,企业中的 Vue 项目和 React 项目,都是基于工程化的方式进行开发的。

好处:解决代码压缩混淆、处理浏览器端 JavaScript 的兼容性、性能优化等强大的功能。

意思就是说:

1.能够兼容一些高级的语法,然后webpack能自动转为低级语法,这样程序运行也不会报错,让程序员把工作的重心放到具体功能的实现上,下面我会用例子来验证

2.把前端项目升级,更系统,成为工程化项目。工程化大家都懂。。。就是标准而且大

二,webpack 的基本使用

新建一个隔行变色项目来验证webpack的好处

① 新建项目空白目录webpack1,打开终端(就是cmd运行)也可以Shift+鼠标右键打开Powershell窗口,然后 npm init –y 命令,初始化包管理配置文件 package.json

 

② 在根目录下新建 src 源代码目录

③ 新建 src -> index.html 首页和 src -> index.js 脚本文件

④ 初始化首页基本的结构

⑤ 运行 npm install jquery –S 命令,安装 jQuery

 

⑥ 在index.js文件,通过 ES6 模块化的方式导入 jQuery,实现列表隔行变色效果
你会发现,我们写的代码太高级了,程序运行不出来!!!

这时候我们应该想到webpack,将高级语法转化为低级语法运行

在项目中安装 webpack

npm install webpack@5.42.1 webpack-cli@4.7.2 -D

①在项目根目录中,创建名为 webpack.config.js 的 webpack 配置文件,并初始化如下的基本配置:

 

② 在 package.json 的 scripts 节点下,新增 dev 脚本如下

③ 在终端中运行 npm run dev 命令,启动 webpack 进行项目的打包构建

这 时候大家可以看到多了一个dist文件夹,这是webpack把index.js处理后形成的

dist里面的main.js兼容性就强,所以src引入文件修改成dist文件位置

就实现了隔行变色效果,这就是webpack的强大,把ES6高级语法转换为低级运行

相关文章:

  • Building a RESTful Web Service(转)
  • Uncaught SyntaxError: Unexpected token ‘<‘完美解决
  • oVirt (Open Virtual) 之 VDSM 学习笔记 (二) 流程追踪
  • 完美解决[webpack-cli] Unable to load ‘@webpack-cli/serve‘ command
  • HTTP相关概念
  • 原型与原型链的底层理解
  • 浅谈promise
  • 变更管理、信息系统安全管理及项目风险管理作业
  • promise 的基本概念
  • Android 学习之drawerlayout写侧滑菜单
  • 使用Promise按顺序读取文件内容
  • Promise 封装读文件的方法
  • Linux链接脚本学习--lds
  • 项目文件引用的清晰讲解
  • MySQL中SQL以逗号分隔的字符串的判断
  • (ckeditor+ckfinder用法)Jquery,js获取ckeditor值
  • Angular js 常用指令ng-if、ng-class、ng-option、ng-value、ng-click是如何使用的?
  • Git 使用集
  • JavaScript异步流程控制的前世今生
  • Java超时控制的实现
  • Lsb图片隐写
  • Work@Alibaba 阿里巴巴的企业应用构建之路
  • 从0搭建SpringBoot的HelloWorld -- Java版本
  • 回顾 Swift 多平台移植进度 #2
  • 回顾2016
  • 回流、重绘及其优化
  • 想晋级高级工程师只知道表面是不够的!Git内部原理介绍
  • 06-01 点餐小程序前台界面搭建
  • HanLP分词命名实体提取详解
  • Semaphore
  • #QT(一种朴素的计算器实现方法)
  • #常见电池型号介绍 常见电池尺寸是多少【详解】
  • $.ajax,axios,fetch三种ajax请求的区别
  • (C#)Windows Shell 外壳编程系列4 - 上下文菜单(iContextMenu)(二)嵌入菜单和执行命令...
  • (ctrl.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MDd_DynamicDebug”不匹配值“
  • (day 2)JavaScript学习笔记(基础之变量、常量和注释)
  • (Redis使用系列) SpringBoot 中对应2.0.x版本的Redis配置 一
  • (八)c52学习之旅-中断实验
  • (八)Flask之app.route装饰器函数的参数
  • (分布式缓存)Redis持久化
  • (企业 / 公司项目)前端使用pingyin-pro将汉字转成拼音
  • (亲测)设​置​m​y​e​c​l​i​p​s​e​打​开​默​认​工​作​空​间...
  • (转)利用PHP的debug_backtrace函数,实现PHP文件权限管理、动态加载 【反射】...
  • (状压dp)uva 10817 Headmaster's Headache
  • ****Linux下Mysql的安装和配置
  • ***测试-HTTP方法
  • .NET4.0并行计算技术基础(1)
  • .net程序集学习心得
  • .Net组件程序设计之线程、并发管理(一)
  • :O)修改linux硬件时间
  • @javax.ws.rs Webservice注解
  • @RequestBody详解:用于获取请求体中的Json格式参数
  • @RunWith注解作用
  • [ SNOI 2013 ] Quare
  • [ 环境搭建篇 ] 安装 java 环境并配置环境变量(附 JDK1.8 安装包)