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

做网站用的是什么语言线上渠道推广怎么做

做网站用的是什么语言,线上渠道推广怎么做,韶关建设网站,我在相亲网站做红娘的模块化 Webpack Webpack 入口entry 分离app和第三方库入口 这是什么? 这是告诉 webpack 我们想要配置 2 个单独的入口点(例如上面的示例)。 为什么? 这样你就可以在 vendor.js 中存入未做修改的必要 library 或文件&#xff0…

模块化

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
Webpack

Webpack

在这里插入图片描述

入口entry
分离app和第三方库入口

这是什么? 这是告诉 webpack 我们想要配置 2 个单独的入口点(例如上面的示例)。

为什么? 这样你就可以在 vendor.js 中存入未做修改的必要 library 或文件(例如 Bootstrap, jQuery, 图片等),然后将它们打包在一起成为单独的 chunk。内容哈希保持不变,这使浏览器可以独立地缓存它们,从而减少了加载时间。
在这里插入图片描述

多页面

在这里插入图片描述
这是什么? 我们告诉 webpack 需要三个独立分离的依赖图(如上面的示例)。

为什么? 在多页面应用程序中,server 会拉取一个新的 HTML 文档给你的客户端。页面重新加载此新文档,并且资源被重新下载。然而,这给了我们特殊的机会去做很多事,例如使用 optimization.splitChunks 为页面间共享的应用程序代码创建 bundle。由于入口起点数量的增多,多页应用能够复用多个入口起点之间的大量代码/模块,从而可以极大地从这些技术中受益。

输出 output

在这里插入图片描述

loader

loader:webpack 只能理解 JavaScript 和 JSON 文件,这是 webpack 开箱可用的自带能力。loader 让 webpack 能够去处理其他类型的文件,并将它们转换为有效 模块,以供应用程序使用,以及被添加到依赖图中。
在这里插入图片描述
loader 用于转换某些类型的模块,而插件plugin则可以用于执行范围更广的任务。包括:打包优化,资源管理,注入环境变量
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

常用的js处理babel-loader、样式处理css-loader、style-loader、文件file-loader、url-loader(小base64,大前)
在这里插入图片描述

自定义

在这里插入图片描述
在这里插入图片描述

plugin

打包优化资源管理环境注入

常见plugin:
老版本webpack插件:
在这里插入图片描述
在这里插入图片描述
代码优化plugin:
在这里插入图片描述

mini-css-estract-plugin(提取)、compression-webpack-plugin(压缩文件)、terser-webpack-plugin(压缩js代码)、cssMinizer(压缩css)、split-chunk-plugin(分割)

性能优化手段

代码分割

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Webpack代码分割原则与最佳实践
一、文件分割阈值

建议对以下类型文件进行分割:

  1. 第三方依赖库:体积超过 50 K B 50KB 50KB(如React全家桶、Ant Design)
  2. 业务代码模块:超过 100 K B 100KB 100KB的独立功能模块
  3. 公共资源:复用率>3次的公共组件/工具类
二、核心分割原则
1. 按业务维度拆分
// 路由级动态导入(React示例)
const Dashboard = React.lazy(() => import('./views/Dashboard'));
2. 第三方库独立打包
// webpack.config.js
optimization: {splitChunks: {chunks: 'all',cacheGroups: {vendors: {test: /[\\/]node_modules[\\/]/,name: 'vendors',chunks: 'all',priority: 10}}}
}
3. 动态加载优化
// 带加载状态的动态导入
const Editor = lazy(() => import(/* webpackPrefetch: true */ './Editor').then(module => ({default: module.Editor
})));
三、性能平衡策略
  1. 首屏关键资源:$ \text{总大小} \leq 200KB $
  2. 非关键资源延迟加载:使用webpackPreloadwebpackPrefetch
  3. 缓存优化:配置contenthash
output: {filename: '[name].[contenthash:8].js',chunkFilename: '[name].[contenthash:8].chunk.js'
}
四、监控与调优
  1. 使用webpack-bundle-analyzer分析模块分布
  2. 通过Chrome DevTools的Coverage工具检测利用率
  3. 设置报警阈值
    • 单个chunk超过 500 K B 500KB 500KB时告警
    • 未使用的代码超过 30 % 30\% 30%时优化

最佳实践示例配置:

// webpack.prod.js
optimization: {splitChunks: {chunks: 'async',minSize: 30000,maxSize: 200000,cacheGroups: {charts: {test: /[\\/]node_modules[\\/](echarts|d3)/,priority: 20},utils: {test: /[\\/]src[\\/]utils/,minChunks: 3}}}
}

注意事项

  1. HTTP/2环境下可适当放宽单文件大小限制
  2. 移动端优先项目建议更严格的体积控制
  3. 长期缓存策略需配合CDN版本管理### Webpack代码分割原则与最佳实践
压缩

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

TreeShaking
核心原理

Tree Shaking是基于ES Module静态语法分析的代码优化技术,通过识别模块导入/导出关系消除未被使用的代码(dead code)。其有效性依赖以下条件:

  1. 模块必须使用ES6的import/export语法
  2. 代码不应产生副作用(无全局变量修改等)
  3. 构建工具需进行依赖关系分析
Webpack配置步骤
  1. 基础配置
// webpack.config.js
module.exports = {mode: 'production', // 自动启用优化optimization: {usedExports: true, // 标记被使用导出minimize: true, // 启用代码压缩minimizer: [new TerserPlugin()] // 使用压缩工具}
}
  1. package.json配置
{"sideEffects": ["*.css",  // 标记有副作用的文件"*.global.js"]
}
  1. Babel配置注意项
// .babelrc
{"presets": [["@babel/preset-env", { "modules": false // 保留ES模块语法}]]
}
代码规范要求
  1. 模块导出使用具名导出:
// math.js
export const square = x => x * x
export const cube = x => x * x * x
  1. 按需导入:
// app.js
import { square } from './math.js'
console.log(square(5))
高级优化策略
  1. 作用域提升(Scope Hoisting)
optimization: {concatenateModules: true
}
  1. 第三方库优化配置:
// webpack.config.js
rules: [{test: /\.js$/,include: /node_modules\/lodash-es/,use: 'babel-loader'
}]
常见问题排查
  1. 无效摇树检查清单:

    • 检查@babel/plugin-transform-modules-commonjs是否被禁用
    • 确认sideEffects配置是否正确
    • 验证第三方库是否提供ES模块版本(如lodash-es)
  2. 副作用代码示例:

// 会阻止Tree Shaking的写法
window.someGlobal = 'value' // 修改全局对象
import './polyfill' // 无导出但影响运行环境
效果评估指标

通过webpack-bundle-analyzer分析构建结果:

const BundleAnalyzerPlugin = require('webpack-bundle-analyzer')
module.exports = {plugins: [new BundleAnalyzerPlugin()]
}

在这里插入图片描述

缓存

在这里插入图片描述

项目实战

在这里插入图片描述

http://www.dtcms.com/wzjs/12200.html

相关文章:

  • 推广网站文案seo哪里可以学
  • 东莞广告公司东莞网站建设搜索引擎优化网站
  • 做网站能赚钱吗 知乎搜索引擎网络推广方法
  • 重庆网站seo建设哪家好优帮云排名优化
  • 制作网站的专业公司上海搜索引擎关键词优化
  • 政府形象建设 网站更新seo指的是搜索引擎
  • 广州市城市建设网站怎么做自己的网站
  • 哪个做网站市场推广外包团队
  • 漳州那里有做网站各引擎收录查询
  • 做web网站需要做网络通信吗百度官网客服
  • 网站建设工程师 html5百度站内搜索
  • 谷歌做英文网站网页制作公司哪家好
  • 山西教育平台网站建设seo数据
  • 乐平网站建设咨询推介网
  • 怎么让网站被百度收录广州关键词搜索排名
  • 柳市最好的网站建设公司广州线下培训机构停课
  • 1核2g+做网站最新舆情信息网
  • 个人网站建设需求说明书信息流广告是什么意思
  • 做网站 花园路国贸专业的seo外包公司
  • 共享备案网站百度免费注册
  • iis搭建网站整合营销是什么
  • 在html中做网站 视频怎么做网站推广
  • 做网站 对方传销今日新闻10条简短
  • 商标如何自己注册搜索引擎优化的方式有哪些
  • 网站内部资源推广怎么做推广关键词优化
  • 海珠b2b网站建设公司seo教学网站
  • 做系统网站建设成都计算机培训机构排名前十
  • 遵义做网站直播:韩国vs加纳直播
  • 网站开发设计过程互联网电商平台有哪些
  • 集团网站网页模板重庆网站建设技术外包