前端工程化解决方案webpack使用小结
前端工程化解决方案webpack,模块化、组件化、规范化、自动化,使得前端开发更加高效。
功能:代码压缩混淆、处理浏览器端js的兼容性、以模块化的方式处理项目中的资源
webpack插件:clean-webpack-plugin 清除dist文件夹之前打包生成的文件
使用步骤:先安装 再在webpack.config.js文件配置 导入构造函数 创建构造函数的实例对象 挂载 plugins 运行打包
注意点:entry:源js文件path 生成文件 output:[ path: filename:'js/bundle.js'] js/目录打包时自动将js文件放在dist文件下js目录中,插件默认安装到devDependencies开发环境中
webpack插件:webpack-dev-server 使webpack监测源代码变化,自动进行打包构建
使用步骤:先安装 再在package.json文件配置 scripts{ dev :'webpack serve'} 运行打包
注意点:1、会启动一个http类型的实时打包的服务器
2、打包生成的文件默认放在内存中,不会进行代码压缩和性能优化
webpack插件:html-webpack-plugin 复制需要的文件到内存中,自动添加需要的样式
使用步骤:先安装 再在webpack.config.js文件配置 导入构造函数 创建构造函数的实例对象 挂载 plugins 运行打包
注意点:构造函数实例对象{template:复制地址,filename:'文件名'},插件默认安装到devDependencies开发环境中
插件devServer{host:主机名/域名,port:端口号,open:true 打包运行后是否自动打开浏览器}
加载器loader,webpack默认只能处理js文件,帮助webpack处理特定的文件模块
css-loader 处理加载css文件
使用:先安装,然后在webpack.config.js中配置module->rules[test:/\.css$/,user:['style-loader','css-loader']]
注意点:写法固定,执行顺序从后向前递进
less-loader 处理加载less文件
使用:先安装,然后在webpack.config.js中配置module->rules[test:/\.less$/,user:['style-loader','css-loader','less-loader']]
注意点:写法固定,执行顺序从后向前递进
url-loader 处理图片类型的文件
使用:先安装,然后在webpack.config.js中配置module->rules[test:/\.jpg|png|gif$/,user:'url-loader?limit=100&outputpath=images']
注意点:1、<=limit转换成base64类型的文件,大于不会转换,转换后体积变大,会缓存到内存中
2、outputpath dist打包文件中会将图片类型的文件默认放到images文件夹下
babel-loader 处理高级js语法的文件
使用:先安装,然后在webpack.config.js中配置module->rules[test:/\.js$/,user:'babel-loader' exclude:/node-modules],然后需要单独配置babel.config.js文件,module.exports{ plugins:[]}
注意点:需要添加exclude排除项,只对自己写的js代码转换,不对三方的js代码转换
webpack打包:开发环境下,打包默认存放在内存中,体积较大,未进行代码压缩和性能优化
webpack mode:develop package->scripts->{dev:'webpack serve',build:'webpack --mode production'}
SourceMap 是一个信息文件,里面存储位置信息
使用配置:webpack.config.js->devtool:eval-source-map 开发环境 devtool:nosources-source-map生产环境
注意点:生产环境下查看位置信息js文件不跳转到页面信息
前端工程化解决方案webpack使用小结的更多相关文章
- 前端工程化与webpack的介绍
前端工程化 概念:在企业级的前端项目开发中,把前端开发所需的工具.技术.流程.经验等进行规范化.标准化. 模块化 js的模块化,css的模块化,资源的模块化 组件化 复用现有的UI结构,样式,行为 规 ...
- 前端工程化与webpack
(1) 前端工程化 近几年来,前端领域飞速发展,前端的工作早已不再是切几张图,写几个页面那么简单,项目比较大时,很可能会多人协同开发,模块化,组件化,CSS预编译等技术也被广泛的使用.前端自动化( ...
- 前端工程化之webpack中配置babel-loader(四)
安装 安装:npm i -D babel-core babel-loader babel-plugin-transform-runtime 安装:npm i -D babel-preset-es201 ...
- Vue.js到前端工程化
b站视频地址:黑马程序员Vue.js到前端工程化(webpack打包,以及Vue-cli3和Element-UI的使用) vue学习系列 1.vue概述 2.vue基本使用 3.vue模板语法 4.指 ...
- 基于webpack的前端工程化开发解决方案探索(一):动态生成HTML(转)
1.什么是工程化开发 软件工程的工程化开发概念由来已久,但对于前端开发来说,我们没有像VS或者eclipse这样量身打造的IDE,因为在大多数人眼中,前端代码无需编译,因此只要一个浏览器来运行调试就行 ...
- 基于webpack的前端工程化开发解决方案探索(二):代码分割与图片加载
今天我们继续来进行webpack工程化开发的探索! 首先来验证上一篇文章 基于webpack的前端工程化开发解决方案探索(一):动态生成HTML 中的遗留问题:webpack将如何处理按需加载的 ...
- 前端工程化 Webpack基础
前端工程化 模块化 (js模块化,css模块化,其他资源模块化) 组件化 (复用现有的UI结构.样式.行为) 规范化 (目录结构的划分.编码规范化.接口规范化.文档规范化.Git分支管理) 自动化 ( ...
- [转]基于gulp和webpack的前端工程化
本文样例代码 :https://github.com/demohi/learning-gulp 本文主要简单介绍一下基于gulp和webpack的前端工程化. 技术栈 React.js reFlux ...
- 前端工程化(二)---webpack配置
导航 前端工程化(一)---工程基础目录搭建 前端工程化(二)---webpack配置 前端工程化(三)---Vue的开发模式 前端工程化(四)---helloWord 继续上一遍的配置,本节主要记录 ...
- 使用webpack+vue.js构建前端工程化
参考文章:https://blog.csdn.net/qq_40208605/article/details/80661572 使用webpack+vue.js构建前端工程化本篇主要介绍三块知识点: ...
随机推荐
- 【MySQL】LEFT JOIN 踩坑
一.问题发现: 主查询功能发现两条一样的记录,但是审批状态不一样,一个已通过,一个待审核 主表付款表: CREATE TABLE `pur_or_payment` ( `id` int(11) NOT ...
- 【Scala】08 模式匹配 Match Case
由Scala封装的一套match case处理,功能比原Java的更为强大 package cn import scala.collection.immutable.IndexedSeqDefault ...
- 【Layui】07 徽章 Badge
文档地址: https://www.layui.com/demo/badge.html 圆点徽章: <span class="layui-badge-dot">< ...
- Win11、Win10局域网共享文件报错:共享文件夹出现,您的账号已锁定,无法访问
解决方法,见: https://blog.csdn.net/dengww_/article/details/133887598 解决方法: https://blog.csdn.net/dengww_/ ...
- LeetCode279:完全平方数——动态规划算法——python语言
无意间看到了这么一个题: LeetCode279:完全平方数,动态规划解法超过46%,作弊解法却超过97% ============================================= ...
- vscode 单步调试时设置——是否进入非本项目的代码
如题,在vscode中默认设置在调试时不能进入非本项目的代码(类.函数.模块),这个设置基本是OK的,因为确实没有必要进入到非本项目的代码中,但是如果有特殊需要想改变设置使其能够进入到本项目外的代码时 ...
- 推荐一款界面优雅、功能强大的 .NET + Vue 权限管理系统
前言 今天推荐一款用 .NET 和 Vue3 实现的开源权限管理系统.它的界面清爽干净,功能强大,还具备灵活的角色权限分配功能,能够满足不同规模企业的管理需求.无论你是开发新手还是大神,都能轻松上手, ...
- DolphinScheduler日志乱码、worker日志太多磁盘报警、版本更新导致不兼容怎么办?
作者 | 刘宇星 本文作者总结了在使用Apache DolphinScheduler过程中遇见过的常见问题及其解决方案,包括日志出现乱码.worker日志太多磁盘报警.版本更新导致不兼容问题等,快来看 ...
- iOS开发基础149-由UUIDString引发的思考
问题1:[[UIDevice currentDevice] identifierForVendor].UUIDString什么情况下值会变化? [[UIDevice currentDevice] id ...
- typeof、offsetof、container_of
typeof 用于获取一个对象的类型,比如: unsigned int a = 1; // typeof (a) is unsigned int short b = 2; // typeof (b ...