首页 > 其他分享 >前端工程化解决方案webpack使用小结

前端工程化解决方案webpack使用小结

时间:2024-01-25 14:35:49浏览次数:26  
标签:文件 config loader webpack 工程化 js 小结 打包

  前端工程化解决方案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文件不跳转到页面信息

 

  

标签:文件,config,loader,webpack,工程化,js,小结,打包
From: https://www.cnblogs.com/bigant9527/p/17987068

相关文章

  • 浅析vue cli的webpack配置属性 devServer 详解 和 devServer.proxy 工作原理解析
    浅析vuecli的webpack配置属性devServer详解和devServer.proxy工作原理解析:https://blog.csdn.net/qq_47443027/article/details/125985081?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-0-125985081-blog-127746519.235^v......
  • 为大模型工程提效,基于阿里云 ACK 的云原生 AI 工程化实践
    作者:张凯背景以GPT(GenerativePre-trainedTransformer)和Diffusionmodel为代表的大语言模型(Largelanguagemodel,LLM)和生成式人工智能(Generativeartificialintelligence,GAI)在过往两年,将人们对AI的梦想与期待推向了一个新高峰。这一次,AI带来的“智能”效果和“涌现”能力,吸......
  • 线性代数小结
    主要是线性方程组和特征值这两章明白齐次和非齐次解的情况(齐2非3)知道n-r的含义和来历会化行阶梯型矩阵(不要有分数,箪食壶浆以迎王师)明白解的结构,同常微分一样。给你两个非齐次特解,你要立马能写出齐次的解,特征值这一章矩阵a的行列式和迹跟特征值的关系,不是对角线元素之积特......
  • 关于使用SSM+JSP开发时setter、getter隐式调用问题的小结
    【版权声明】未经博主同意,谢绝转载!(请尊重原创,博主保留追究权)https://www.cnblogs.com/cnb-yuchen/p/17977495出自【进步*于辰的博客】之前使用SSM+JSP做网站开发,由于没有注意setter、getter的隐式调用问题,出现了多次bug,对开发进度影响挺大。因此,特来作这篇文章跟大家分享,帮......
  • 一、nextjs如何使项目工程化(c-shopping电商开源)
    欢迎来到本系列文章,这些内容都是从我的开源项目C-Shopping衍生而来的。在这个系列中,我们将深入探讨Next.js和其他技术的各个方面,分享我在开发C-Shopping时积累的见解和最佳实践。如果你发现这些文章有帮助,请考虑在GitHub上为项目点亮一颗星星。你的支持对我来说意义重大,也......
  • webpack部分
    1.安装jquerynpminstalljquery-S2.引入到index.jsimport$from'jquery$(function(){})2.webpack的使用[email protected]@4.7.2-D2.1webpack.config.js配置在根目录下创建webpack.config.jsconstpath=requirt('path')module......
  • Webpack构建基础配置
    通过webpack.config.js文件进行配置项编写与Vite不同,webpack配置文件只需要暴露一个对象即可,包含entry,output,module,plugin,devServer等基本配置项entry打包后的入口文件entry:path.join(__dirname,'./scr/main.js')output配置打包后文件输出的文件夹地址和出口文件名outp......
  • [Java]关于基本数据类型与引用类型赋值时的底层分析的小结(简述)
    【版权声明】未经博主同意,谢绝转载!(请尊重原创,博主保留追究权)https://www.cnblogs.com/cnb-yuchen/p/17969159出自【进步*于辰的博客】目录1、关于赋值1.1基本数据类型赋值1.2String类型赋值2、关于String赋值2.1情形一2.2情形二3、关于String与char[]的比较4、不同类型引......
  • 编译openwrt分支immortalwrt小结
    编译环境:ubuntu20.04LTS,确保能连接github获取必须依赖:sudoaptupdate-ysudoaptfull-upgrade-ysudoaptinstall-yackantlr3asciidocautoconfautomakeautopointbinutilsbisonbuild-essential\bzip2ccacheclangcmakecpiocurldevice-tree-compilere......
  • 《webpack篇》webpack
    webpackwebpack的产生随着前端的发展,javascript引入了很多思想和技术,例如:模块化、TypeScript、Scss、Less等,这让我们开发更快,但是,这些新的文件格式只有转换成javascript、css等,游览器才能识别,人工转换太过繁琐,所以webpack应运而生。webpack是什么参考链接:https://www.cnblogs.......