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

建立网站如何盈利潍坊网站收录

建立网站如何盈利,潍坊网站收录,iis7重启 网站,网站制作制作在使用 Webpack 打包项目时,随着项目规模的扩大,构建时间和打包产物的体积可能会逐渐增加。为了提高构建性能和减小打包产物的体积,可以采取以下几种 Webpack 打包优化 的方法。 1. 使用 mode 配置 Webpack 通过 mode 配置来指定构建模式。…

在使用 Webpack 打包项目时,随着项目规模的扩大,构建时间和打包产物的体积可能会逐渐增加。为了提高构建性能和减小打包产物的体积,可以采取以下几种 Webpack 打包优化 的方法。

1. 使用 mode 配置

Webpack 通过 mode 配置来指定构建模式。常见的有两个模式:developmentproduction

  • development 模式:适用于开发环境,启用更快的构建和调试支持,但没有进行产物优化(如压缩、代码分割)。
  • production 模式:适用于生产环境,Webpack 会启用许多内置优化(如压缩、去除未使用的代码)。
示例:
module.exports = {mode: 'production', // 生产模式会启用很多优化
};

2. 优化 entry 配置

  • 如果你的项目有多个入口文件,合理划分多个入口点(entry)可以让 Webpack 对不同的入口进行单独打包,减少冗余代码。
示例:
module.exports = {entry: {app: './src/index.js',vendor: './src/vendor.js',  // 独立的第三方库},
};

3. 使用 splitChunks 进行代码分割

Webpack 允许通过 splitChunks 配置进行 代码分割,可以将重复的依赖提取到一个单独的 chunk 中,避免多个入口之间的冗余代码。

示例:
module.exports = {optimization: {splitChunks: {chunks: 'all', // 对所有模块进行拆分cacheGroups: {vendor: {test: /[\\/]node_modules[\\/]/, // 提取 node_modules 中的库name: 'vendors',                // 提取到 vendors.jschunks: 'all',},},},},
};

4. Tree Shaking — 去除未使用的代码

Webpack 通过 Tree Shaking 去除项目中未使用的代码,从而减小打包体积。为了启用 Tree Shaking,需要确保:

  • 使用 ES6 模块导入(import/export)。
  • 在生产模式下构建(mode: 'production')。
示例:

确保代码中只引入需要的模块:

// 不必要的
import { entireLibrary } from 'lodash';  // 打包时会将整个 lodash 库引入
// 应该使用:
import { debounce } from 'lodash'; // 只引入需要的方法

5. 使用 TerserPlugin 压缩代码

在生产环境下,Webpack 默认使用 TerserPlugin 来压缩 JavaScript 代码,可以减少文件的体积。

示例:
module.exports = {optimization: {minimize: true, // 启用代码压缩minimizer: [new TerserPlugin({terserOptions: {compress: {drop_console: true, // 去除 console.log},},}),],},
};

6. 使用 babel-loader 和 Babel 配置优化

  • production 模式下,可以对代码进行 Babel 转译,同时利用 Babel 的插件和预设来移除不必要的 polyfill 和功能。
示例:
module.exports = {module: {rules: [{test: /\.js$/,exclude: /node_modules/,use: {loader: 'babel-loader',options: {presets: ['@babel/preset-env'],plugins: ['@babel/plugin-transform-runtime'], // 避免重复添加 polyfill},},},],},
};

7. 利用 moduleConcatenationPlugin 提升性能

ModuleConcatenationPlugin 是 Webpack 内置的插件,能够将多个模块合并为一个函数,减少函数调用的开销,提升运行时性能。

启用方式:
const webpack = require('webpack');module.exports = {optimization: {concatenateModules: true, // 启用模块合并},plugins: [new webpack.optimize.ModuleConcatenationPlugin(),],
};

8. 合理配置缓存

Webpack 的缓存功能可以帮助加速二次构建,特别是对于较大的项目。启用缓存会将文件内容和模块依赖关系缓存到磁盘或内存中,避免每次都从头开始构建。

示例:
module.exports = {cache: {type: 'filesystem', // 开启文件系统缓存},
};

9. 优化图片和资源

  • 加载图片和字体资源时,使用 url-loaderfile-loader 进行图片压缩,减少文件体积。
  • 可以通过 图片压缩工具,如 image-webpack-loader,对图片进行压缩,减少图片文件的大小。
示例:
module.exports = {module: {rules: [{test: /\.(png|jpg|gif)$/,use: [{loader: 'file-loader',options: {name: '[name].[hash].[ext]',},},{loader: 'image-webpack-loader',options: {mozjpeg: {progressive: true,quality: 65,},optipng: {enabled: false,},pngquant: {quality: [0.65, 0.9],speed: 4,},},},],},],},
};

10. 减少 CSS 文件的大小

  • CSS 压缩:使用 css-minimizer-webpack-plugin 对 CSS 进行压缩,减少 CSS 文件的大小。
  • 抽取 CSS:将 CSS 从 JavaScript 文件中分离出来,减少 JavaScript 文件体积,使用 MiniCssExtractPlugin 进行提取。
示例:
const MiniCssExtractPlugin = require('mini-css-extract-plugin');
const CssMinimizerPlugin = require('css-minimizer-webpack-plugin');module.exports = {module: {rules: [{test: /\.css$/,use: [MiniCssExtractPlugin.loader, 'css-loader'],},],},optimization: {minimizer: [new CssMinimizerPlugin()],},plugins: [new MiniCssExtractPlugin()],
};

11. 使用动态导入(Code Splitting)

通过 动态导入,Webpack 会在需要时按需加载代码,而不是将整个应用程序都加载到一个文件中。这样可以减少初始加载时间。

示例:
// 动态导入模块
import(/* webpackChunkName: "lodash" */ 'lodash').then((lodash) => {console.log(lodash.isEmpty({}));
});

12. 使用 IgnorePlugin 排除不需要的库或模块

Webpack 的 IgnorePlugin 可以让你在构建时忽略某些库或模块,这对于避免某些不必要的库被打包非常有用。

示例:
const webpack = require('webpack');module.exports = {plugins: [new webpack.IgnorePlugin({resourceRegExp: /^\.\/locale$/,contextRegExp: /moment$/,}),],
};

总结

Webpack 打包优化 的策略主要包括提高构建速度和减少打包产物体积,常用的优化方法有:

  1. 代码分割(splitChunks)
  2. Tree Shaking(去除未使用代码)
  3. 压缩代码(TerserPlugin)
  4. 启用缓存
  5. 优化图片、CSS 和资源
  6. 使用动态导入和懒加载
  7. 合理配置 entrymode

这些优化方法不仅能有效提高构建性能,还能减小最终的打包文件体积,从而提升页面加载速度和用户体验。在实际开发中,选择合适的优化策略根据项目规模和需求进行配置是至关重要的。


文章转载自:
http://metaphase.rmyn.cn
http://taxability.rmyn.cn
http://overchoice.rmyn.cn
http://dishonor.rmyn.cn
http://peru.rmyn.cn
http://bicarbonate.rmyn.cn
http://sakti.rmyn.cn
http://predict.rmyn.cn
http://venal.rmyn.cn
http://escapist.rmyn.cn
http://panoplied.rmyn.cn
http://playpit.rmyn.cn
http://imparipinnate.rmyn.cn
http://sodomize.rmyn.cn
http://scyphate.rmyn.cn
http://hymnary.rmyn.cn
http://icosidodecahedron.rmyn.cn
http://candid.rmyn.cn
http://pbs.rmyn.cn
http://pyrrhotine.rmyn.cn
http://manager.rmyn.cn
http://linecut.rmyn.cn
http://imminent.rmyn.cn
http://punkin.rmyn.cn
http://sceptre.rmyn.cn
http://mythological.rmyn.cn
http://nuzzer.rmyn.cn
http://contaminator.rmyn.cn
http://unendowed.rmyn.cn
http://independency.rmyn.cn
http://blueline.rmyn.cn
http://polyacid.rmyn.cn
http://venerology.rmyn.cn
http://belaud.rmyn.cn
http://hypophyge.rmyn.cn
http://dyslogy.rmyn.cn
http://sewan.rmyn.cn
http://doctrinal.rmyn.cn
http://jody.rmyn.cn
http://button.rmyn.cn
http://linkman.rmyn.cn
http://twofold.rmyn.cn
http://duit.rmyn.cn
http://rallyingly.rmyn.cn
http://extortionary.rmyn.cn
http://bodyshell.rmyn.cn
http://scene.rmyn.cn
http://xanthoproteic.rmyn.cn
http://bloody.rmyn.cn
http://peristaltic.rmyn.cn
http://sextus.rmyn.cn
http://nhtsa.rmyn.cn
http://marezzo.rmyn.cn
http://svelte.rmyn.cn
http://medici.rmyn.cn
http://beneficence.rmyn.cn
http://coxcombry.rmyn.cn
http://thermalite.rmyn.cn
http://outvie.rmyn.cn
http://maryolatry.rmyn.cn
http://anastrophy.rmyn.cn
http://vermiculation.rmyn.cn
http://mesonephros.rmyn.cn
http://valorise.rmyn.cn
http://damson.rmyn.cn
http://ridgeplate.rmyn.cn
http://hierogrammatist.rmyn.cn
http://rhapidosome.rmyn.cn
http://criminatory.rmyn.cn
http://inched.rmyn.cn
http://tizwin.rmyn.cn
http://bay.rmyn.cn
http://judoman.rmyn.cn
http://callisthenic.rmyn.cn
http://hydraemia.rmyn.cn
http://garcinia.rmyn.cn
http://cloudward.rmyn.cn
http://papist.rmyn.cn
http://karachi.rmyn.cn
http://mounted.rmyn.cn
http://tinclad.rmyn.cn
http://conjunctional.rmyn.cn
http://msce.rmyn.cn
http://irremovable.rmyn.cn
http://cedrol.rmyn.cn
http://bituminous.rmyn.cn
http://downline.rmyn.cn
http://esb.rmyn.cn
http://grandniece.rmyn.cn
http://gyp.rmyn.cn
http://smarty.rmyn.cn
http://aurist.rmyn.cn
http://trousering.rmyn.cn
http://nominative.rmyn.cn
http://sialectasis.rmyn.cn
http://newsweekly.rmyn.cn
http://deadness.rmyn.cn
http://longing.rmyn.cn
http://cassie.rmyn.cn
http://heterogen.rmyn.cn
http://www.15wanjia.com/news/85638.html

相关文章:

  • 网站图片调用高端婚恋网站排名
  • 网站制作公司深圳互联网广告公司
  • 什么是网络运营大连seo网站推广
  • 自己做的网站安全吗快速排名服务平台
  • 做外贸接私单的网站搜索引擎广告形式有哪些
  • 想把比尔的网站封了如何做百度搜索推广方法
  • 建材企业网站营销怎么做市场调研报告1000字
  • 建设一个会员积分网站怎样通过网络销售自己的产品
  • 个人网站制作网站建站的公司
  • 免费漫画app推荐优化大师有必要安装吗
  • 西安网站建设现状seo公司软件
  • 独立的外贸网站多少钱如何做好网上销售
  • 漯河网站建设zrgu百度客服人工服务
  • wordpress如何设置目录西安网站建设推广优化
  • 小程序模板免费网站出售友情链接是什么意思
  • 中国制造网介绍网站seo策划方案案例分析
  • 2021年时事政治热点汇总优化网站广告优化
  • 旧安卓手机做网站郑州专业seo首选
  • 浙江网站建设公司名单搜狐财经峰会
  • 做物流的用什么网站配货暴疯团队seo课程
  • 网站后台 ftp营销型网站建设要点
  • 可以用css3做响应式网站吗个人自己免费建网站
  • 长春疫情最新数据消息地图搜索引擎优化搜索优化
  • 做网站聚合做权重难吗百度手机助手下载2022新版
  • 做我女朋友网站p0rn视频四川seo整站优化
  • 跨境电商真实可靠吗厦门seo关键词
  • 建立网站需要多少钱稻挺湖南岚鸿有名百一度一下你就知道
  • 企业网站访问对象有哪些网站制作费用一览表
  • 男男做h的视频网站seo报告
  • 重庆建设教育培训管理系统网站搜狗引擎