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

快速搭建网站页面重庆娱乐场所最新通知

快速搭建网站页面,重庆娱乐场所最新通知,内蒙古网站制作,咋样着做自己的网站01 构建配置抽离成npm包#xff1b; 意义#xff1a;通用性#xff1a; 业务开发者无需关注构建配置 统一团队构建脚本可维护性#xff1a;构建配置合理的拆分 质量#xff1a;冒烟测试 单元测试 持续集成构建配置管理的可选方案#xff1a;1 通过多个配置文件管理不同…01 构建配置抽离成npm包 意义通用性 业务开发者无需关注构建配置 统一团队构建脚本可维护性构建配置合理的拆分 质量冒烟测试 单元测试 持续集成构建配置管理的可选方案1 通过多个配置文件管理不同环境的构建在package.json文件中进行配置。 项目中默认配置文件webpack.config.js, 可以设置开发环境的文件 webpack.dev.js 生产环境 webpack.pro.jswebpack --config webpack.dev.js 开发环境webpack --config webpack.pro.js 生成环境2 将构建配置设计成一个库 比如 hjs-webpack Neutrino webpack-blocks等3 抽成一个工具进行管理 比如 create-react-app 02 构建配置包设计 通过多个配置文件管理不同环境的webpakc配置基础配置 webpack.base.js开发环境 webpack.dev.js生产环境 webpack.pro.jsSSR环境 webpack.ssr.js抽离成一个npm包统一管理规范Git commit日志 README ESLint Semver质量 冒烟测试 单元测试 测试覆盖率和CI 03 通过webpack-merge合并配置 const merge require(webpack-merge)module.exports merge(baseConfig,devConfig)合并规则如下merge({a:[1],b:5,c:23},{a:[2],b:6,c:40,d:60}){a:[1,2],b:6,c:40,d:60} 04 目录结构的设计 05 各文件之间的功能 06 构建统计信息可以查看各个文件打包后的大小 package.json中使用statsscripts:{build:stats:webpack --env production --json stats.json} 07 webpack打包的速度分析分析每个loader和插件打包的速度。 第一步 进行插件的安装npm install --save-dev speed-measure-webpack-plugin 第二步 插件的导入 const SpeedMeasureWebpackPlugin require(speed-measure-webpack-plugin )第三步 创建插件的对象const smp new SpeedMeasureWebpackPlugin()第四步 将要导出的配置进行包裹module.exports smp.wrap({entry:,output:,mode:,...}) 08 webpack打包后分析体积需要借助webpack-bundle-analyzer; const BundleAnalyzerPlugin require(webpack-bundle-analyzer).BundleAnalyzerPluginmodule.exports {Plugins:[new BundleAnalyzerPlugin()]}项目在8888端口可以使用可视化的图标查看打包后的体积 09 多进程/多实例使用thread-loader解析资源加快打包的速度。 原理每次webpack解析一个模块thread-loader会将它及它的依赖分配给worker线程中module.exports {module:{rules:[{test:/.js$/,use:[{loader:thread-loader,options:{workers:3}},babel-loader]}] }} 10 多进程/多实例 并行压缩代码使用terser-webpack-plugin开启parallel参数 const TerserPlugin require(terser-webpack-plugin)module.exports {optimization:{minimizer:[new TerserPlugin({parallel:true})]}} 11 webpack设置分包预编译资源模块 思路将react react-dom redux react-redux 基础包和业务基础包打包成一个文件方法使用DLLPlugin 进行分包 DllReferencePlugin对manifest.json引用第一步 项目根目录下创建一个webpack.dll.js文件const path require(path)const webpack require(webpack)module.exports {entry:{library:[react,redux,react-redux,react-dom] },output:{filename:[name]_[chunkhash].dll.js,path:path.join(__dirname,build/library),library:[name] },plugins:[new webpack.DllPlugin({name:[name]_[hash],path: path.join(__dirname,build/library/[name].json)}) ]}第二步 package.json文件中scripts:{dll:webpack --config webpack.dll.js}第三步 执行 npm run dll :将会在build / library目录下打包出一个library_xxxx.js的文件第四步 在webpack.config.js文件中引入打包后的文件module.exports {plugins:[new webpack.DllReferencePlugin({manifest:require(./build/library/library_xxx.json)})]} 12 利用缓存提升二次构建的速度 缓存思路1 babel-laoder 开启缓存2 terser-webpack-plugin 开启缓存module.exports {optimization:{minimizer:[new TerserPlugin({parallel:true,cache:true})]}}3 使用cache-loader 或者 hard-source-webpack-pluginconst HardSoirceWebpackPlugin require(hard-source-webpack-plugin)module.exports {plugins:[new HardSoirceWebpackPlugin()]} 13 缩小构建目标减少文件搜索范围 优化 resolve.modules配置 减少模块搜索层级优化 resolve.mainFields 配置优化 resolve.extensions 配置 合理使用 aliasmodule.exports {resolve:{alias:{// 遇到react直接查找 这个目录下的就可以了react:path.resolve(__dirname,./node_module/react/dist/react.main.js),},modules:[path.resolve(__dirname,node_modules)], 查找依赖的路径extensions[.js],mainFields:[main]}} 14 打包排除没有使用到的css样式 需要purgecss-webpack-plugin结合mini-css-extract-plugin使用webpack.config.js文件中const PurgecssWebpackPlugin require(purgecss-webpack-plugin)const MiniCssExtractPlugin require(mini-css-extract-plugin)const PATHS {src:path.join(__dirname.src)}module.exports {plugins:[new PurgecssWebpackPlugin({paths:glob.sync(${PATHS.src}/**/*,{nodir:true})})]} 15 webpack对图片进行压缩 rules: [{test:/.(giflpngljpe?glsvg)$/i,use:[file-loader,loader: image-webpack-loader,options:{mozjpeg:{progressive: true,quality: 65}// optipng.enabled: false will disable optipngoptipng:{enabled: false,}pngquant: {quality:65-90,speed: 4}gifsicle: {interlaced: false,}// the webp option will enable WEBPwebp:{quality:75}}} }
http://www.hkea.cn/news/14564716/

相关文章:

  • 咖啡网站建设策划书a做爰网站
  • 毕设帮做网站如何建设个人网站和博客
  • 网页升级访问站作一个网站要多少钱
  • 如何看网站的关键词东莞做商城网站建设哪家好
  • 亚马逊品牌网站要怎么做织梦末班和dw建设网站哪个方便优化
  • 可以自己做装修效果图的网站旅游项目网站开发
  • 淘宝联盟建微网站导视设计书籍
  • 建设银行内部网站源码小程序链接如何转成网页链接
  • 网站设计的难点建网站内容
  • 做视频网站公司要怎么做微信精准推广
  • 江苏省交通建设局网站首页软文营销的缺点
  • 网站建设方案合同南山做网站多少钱
  • 怎样增加网站浏览量seo综合查询站长工具关键词
  • 免费的微网站博物馆网站建设目的
  • 营销网站的关键字wordpress免费教育主题
  • 淘客网站怎么做代理邯郸信息港官网登录
  • 上海 科技网站建设巴中移动网站建设
  • 网站后台登陆代码南京网站建设公司 w
  • 做平面vi网站wordpress 京东主题
  • 做pc端大型网站+前端用关于官方网站建设情况的汇报
  • 浙江省省建设厅网站2024年新冠会消失吗
  • 无锡网站制作优化排名视频 主题 wordpress
  • 商务网站建设公工商银行门户网站是什么意思
  • 郑州最牛的网站开发公司做网站与平台的区别
  • iis 建网站手机访问做网站运营话术
  • 搜索引擎提交网站网站描述 修改
  • windows2008 iis网站 指定域名南通城乡建设局网站首页
  • 旅游网站建设色彩搭配表wordpress 主题模板下载
  • 小说网站开发的实际意义wordpress添加音频
  • 上饶建站公司西安市城乡建设厅网站