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

缙云政府网站建设方案兰州seo快速优化报价

缙云政府网站建设方案,兰州seo快速优化报价,最好科技广州网站建设,政府网站建设方案打包优化 webpack 优化1、依赖转化,兼容低版本浏览器2、生产环境关闭sourceMap3、打包输出目录名称修改和静态资源的存放4、修改图标5、修改webpack配置5-1、写在此处的配置可以覆盖掉脚手架本来就预设上有的配置5-2、写在此处的都是预设没有配置的,脚手…

打包优化

    • webpack 优化
      • 1、依赖转化,兼容低版本浏览器
      • 2、生产环境关闭sourceMap
      • 3、打包输出目录名称修改和静态资源的存放
      • 4、修改图标
      • 5、修改webpack配置
        • 5-1、写在此处的配置可以覆盖掉脚手架本来就预设上有的配置
        • 5-2、写在此处的都是预设没有配置的,脚手架本来就有的配置是不会覆盖的
      • 6、完整配置
    • vite 优化

webpack 优化

1、依赖转化,兼容低版本浏览器

// 对依赖进行转换
transpileDependencies: true,

2、生产环境关闭sourceMap

// 生产关闭sourceMap
productionSourceMap: false,

3、打包输出目录名称修改和静态资源的存放

outputDir: 'bundle', // 打包后文件的目录 (默认为dist)
assetsDir: 'static', //  outputDir的静态资源(js、css、img、fonts)目录  默认为‘’没有单独目录js/css/img在根目录中。

4、修改图标

// 修改浏览器的icon图标,不加下面的,修改浏览器图标不生效
pwa: {iconPaths: {favicon32: 'favicon.ico',favicon16: 'favicon.ico',appleTouchIcon: 'favicon.ico',maskIcon: 'favicon.ico',msTileImage: 'favicon.ico',}
}

5、修改webpack配置

5-1、写在此处的配置可以覆盖掉脚手架本来就预设上有的配置
chainWebpack: config => {config.optimization.minimizer('terser').tap(args => {// 删除代码中的注释和打印,减少一点代码体积args.forEach(item => {if (item.hasOwnProperty('terserOptions')) {Object.assign(item['terserOptions'].compress, {drop_debugger: true,drop_console: true,pure_funcs: ['console.log']})}item['terserOptions']['format'] = {comments: false}})return args})// 开启 gzip 压缩if (process.env.NODE_ENV === "production") {config.plugin('CompressionPlugin').use(new CompressionWebpackPlugin({test: /\.(js|css|less|scss|html)$/,   // 将 css、scss、less、html 进行压缩threshold: 10240, // 超过10kb的文件就压缩deleteOriginalAssets: false, // 不删除源文件minRatio: 0.8,   // 最小压缩率 0.8algorithm: 'gzip'}))}
}
5-2、写在此处的都是预设没有配置的,脚手架本来就有的配置是不会覆盖的
configureWebpack: {// 代码分割optimization: {splitChunks: {chunks: "all",// 定义一个cache组,将第三方的包抽离出来cacheGroups: {elementUI: {// 抽离出来的名字name: "element-chunk-vendors",// 在node_modules包里面找test: /[\\/]node_modules[\\/]_?element-ui(.*)/,// 权重,越大优先打包priority: 30,},vue: {name: "vue-chunk-vendors",test: /[\\/]node_modules[\\/]vue(.*)[\\/]/,chunks: "initial",priority: 20,reuseExistingChunk: true,},vueRouter: {name: "vueRouter-chunk-vendors",test: /[\\/]node_modules[\\/]vue-router(.*)[\\/]/,chunks: "initial",priority: 19,},vuex: {name: "vuex-chunk-vendors",test: /[\\/]node_modules[\\/]vuex(.*)[\\/]/,chunks: "initial",priority: 18,},echarts: {name: "echarts-chunk-vendors",test: /[\\/]node_modules[\\/]echarts(.*)[\\/]/,chunks: "initial",priority: 17,},// 剩下的别忘记单独抽离libs: {name: "chunk-libs-vendors",test: /[\\/]node_modules[\\/]/,priority: 1, // 权重最低,优先考虑前面内容chunks: "initial",},// 针对自己写的代码,重复使用的满足下面的配置就会抽离出来单独打包,比如 utils 下面的包default: {// 其他没有写的配置会使用上面的默认值test: /[\\/]src(.*)[\\/]/,name: "common-chunk",minSize: 20000, // 超过 20kb,就会拆包minChunks: 2,  // 引用两次就会拆包priority: -10,reuseExistingChunk: true}}}},// 配置别名resolve: {alias: {"#": path.resolve(__dirname, "src")}},// 分析插件plugins: [new BundleAnalyzer({analyzerMode: 'server',analyzerHost: '127.0.0.1',analyzerPort: 8088,reportFilename: 'report.html',defaultSizes: 'parsed',openAnalyzer: true,generateStatsFile: false,statsFilename: 'state.json',statsOptions: null,logLevel: 'info'})]
}

6、完整配置

const path = require("path")
const { defineConfig } = require('@vue/cli-service')
const CompressionWebpackPlugin = require('compression-webpack-plugin')
const BundleAnalyzer = require('webpack-bundle-analyzer').BundleAnalyzerPluginmodule.exports = defineConfig({// 对依赖进行转换transpileDependencies: true,// 生产关闭sourceMapproductionSourceMap: false,outputDir: 'bundle', // 打包后文件的目录 (默认为dist)assetsDir: 'static', //  outputDir的静态资源(js、css、img、fonts)目录  默认为‘’没有单独目录js/css/img在根目录中。// 修改浏览器的icon图标pwa: {iconPaths: {favicon32: 'favicon.ico',favicon16: 'favicon.ico',appleTouchIcon: 'favicon.ico',maskIcon: 'favicon.ico',msTileImage: 'favicon.ico',}},// webpack 配置(写在此处的配置可以覆盖掉脚手架本来就预设上有的配置)chainWebpack: config => {config.optimization.minimizer('terser').tap(args => {// 删除代码中的注释和打印,减少一点代码体积args.forEach(item => {if (item.hasOwnProperty('terserOptions')) {Object.assign(item['terserOptions'].compress, {drop_debugger: true,drop_console: true,pure_funcs: ['console.log']})}item['terserOptions']['format'] = {comments: false}})return args})// 开启 gzip 压缩,对应的 nginx 也需要配置if (process.env.NODE_ENV === "production") {config.plugin('CompressionPlugin').use(new CompressionWebpackPlugin({test: /\.(js|css|less|scss|html)$/,   // 将 css、scss、less、html 进行压缩threshold: 10240, // 超过10kb的文件就压缩deleteOriginalAssets: false, // 不删除源文件minRatio: 0.8,   // 最小压缩率 0.8algorithm: 'gzip'}))}},// webpack 配置(写在此处的都是预设没有配置的,脚手架本来就有的配置是不会覆盖的)configureWebpack: {// 代码分割optimization: {splitChunks: {chunks: "all",// 定义一个cache组,将第三方的包抽离出来cacheGroups: {elementUI: {// 抽离出来的名字name: "element-chunk-vendors",// 在node_modules包里面找test: /[\\/]node_modules[\\/]_?element-ui(.*)/,// 权重,越大优先打包priority: 30,},vue: {name: "vue-chunk-vendors",test: /[\\/]node_modules[\\/]vue(.*)[\\/]/,chunks: "initial",priority: 20,reuseExistingChunk: true,},vueRouter: {name: "vueRouter-chunk-vendors",test: /[\\/]node_modules[\\/]vue-router(.*)[\\/]/,chunks: "initial",priority: 19,},vuex: {name: "vuex-chunk-vendors",test: /[\\/]node_modules[\\/]vuex(.*)[\\/]/,chunks: "initial",priority: 18,},echarts: {name: "echarts-chunk-vendors",test: /[\\/]node_modules[\\/]echarts(.*)[\\/]/,chunks: "initial",priority: 17,},// 剩下的别忘记单独抽离libs: {name: "chunk-libs-vendors",test: /[\\/]node_modules[\\/]/,priority: 1, // 权重最低,优先考虑前面内容chunks: "initial",},// 针对自己写的代码,重复使用的满足下面的配置就会抽离出来单独打包,比如 utils 下面的包default: {// 其他没有写的配置会使用上面的默认值test: /[\\/]src(.*)[\\/]/,name: "common-chunk",minSize: 20000, // 超过 20kb,就会拆包minChunks: 2,  // 引用两次就会拆包priority: -10,reuseExistingChunk: true}}}},// 配置别名resolve: {alias: {"#": path.resolve(__dirname, "src")}},plugins: [new BundleAnalyzer({analyzerMode: 'server',analyzerHost: '127.0.0.1',analyzerPort: 8088,reportFilename: 'report.html',defaultSizes: 'parsed',openAnalyzer: true,generateStatsFile: false,statsFilename: 'state.json',statsOptions: null,logLevel: 'info'})]}
})// 打包分析工具加了之后 启动需要加上:"build": "vue-cli-service build","build:analyze": "cross-env NODE_ENV=production npm_config_report=true vue-cli-service build"

vite 优化

http://www.hkea.cn/news/667337/

相关文章:

  • 最专业的佛山网站建设价格3小时百度收录新站方法
  • wordpress门户建站html网页完整代码作业
  • 子域名 做单独的网站广州seo外包公司
  • 凡科建设网站的步骤永久免费无代码开发平台网站
  • 建设一个百度百科类网站网站排名优化的技巧
  • 自己做网站可以吗淄博做网站的公司
  • 个人做健康网站好吗宁波网站制作与推广价格
  • 长沙有哪些做网站的连云港seo优化公司
  • 青羊区定制网站建设报价搜索引擎营销方案
  • 淘宝优惠券查询网站怎么做域名备案官网
  • wordpress自定义url优化教程网下载
  • 模板网站和定制网站百度搜索引擎的网址
  • 企业建设网站公司哪家好app拉新推广接单平台
  • 老虎淘客系统可以做网站吗江西省水文监测中心
  • 高港区企业网站建设快速建站教程
  • 怎样写企业网站建设方案北京网站seo招聘
  • 做蛋糕视频的网站软文广告范文
  • h5自适应网站模板下载网站换友链平台
  • 政府网站建设及管理规范各大搜索引擎入口
  • poedit pro wordpress免费网站推广优化
  • 市场营销产品推广策划方案seo合作代理
  • 东莞专业网站建设推广搜索引擎网络排名
  • 服务器做网站用什么环境好销售营销方案100例
  • 如何做DJ网站英文seo外链
  • 网站统计源码下载百度推广的步骤
  • 本地网站建设seo推广的方法
  • 东莞好的网站建设效果seo和sem分别是什么
  • 最新版wordpress背景手机网络优化软件
  • 丛台企业做网站推广免费建一级域名网站
  • 集宁网站建设免费网站推广网站破解版