美文网首页
优化nuxt打包后项目文件过大

优化nuxt打包后项目文件过大

作者: 累累的 | 来源:发表于2023-02-12 15:01 被阅读0次

在使用nuxt.js来做项目的时候,遇到了加载缓慢的问题。解决思路如下

  1. 图片压缩

  2. 大文件拆分

  3. 文件压缩

解决方案

1. 使用第三方软件来压缩图片,比如 tinypng,压缩后分辨率不变,肉眼看不失真。

2. 大文件拆分

开启可视化分析构建后的打包文件

使用文档

nuxt.config.js

module.export = {
build: {
 analyze: true
 // or
 analyze: {
 analyzerMode: 'static'
 }
 }
}

提示: 也可以通过nuxt build --analyze或者nuxt build -a命令来启用,打包后如下:

image-20230213143135528.png
配置optimization.splitChunks

注意:这里需要根据自身情况确定是否使用,如果项目没有什么大文件影响加载速度可以不适用

nuxt.config.js

module.exports = {
 build: {
 optimization: {
 splitChunks: {
 // 生成 chunk 的最小体积(以 bytes 为单位)
 minSize: 30000,
 // https://webpack.docschina.org/plugins/split-chunks-plugin/
 maxSize: 250000,
 },
 },
 }
}

这是我开启前的评分

image.png

这是开启后的评分

image.png

使用gzip压缩

  1. 安装compression-webpack-plugin

    npm i compression-webpack-plugin --save-dev

  2. 使用compression-webpack-plugin

nuxt.config.js

const CompressionPlugin = require('compression-webpack-plugin')
module.exports = {
 build: {
   plugins: [
     new CompressionPlugin({
       test: /\.js$|\.html$|\.css/, // 匹配文件名
       threshold: 10240, // 对超过10kb的数据进行压缩
       deleteOriginalAssets: false, // 是否删除原文件
     }),
   ],
 }
}
  1. 打包

    npm run build

    打包之后,多出来很多.gz文件

    image-20230213144610201.png

部署优化

  1. 部署环境需要node、pm2(Nodejs进程管理工具)、nginx(反向代理)

  2. 部署需要的文件(npm run build后)

    1. .nuxt

    2. package.json

    3. static

    4. nuxt.config.js

  3. 把上面的文件上传到服务器上,安装依赖

    npm install

  4. 改良pm2调用nuxt

    1. 在nuxt项目根目录下新建ecosystem.config.js
 module.exports = {
  apps: [
    {
      name: 'NuxtAppName',
      exec_mode: 'cluster',
      instances: '1', // 如果是官网,一般cpu是几核就启动几个 可以用instances: 'Max'
      script: './node_modules/nuxt/bin/nuxt.js',
      args: 'start'
    }
  ]
}
  1. 启动 pm2 start即可

  2. 使用nginx反向代理到localhost:3000即可访问 默认3000端口

相关文章

  • vue项目优化

    vue 项目优化 项目打包体积优化 通常vue项目通过webpack打包后,会出现vendor包的体积过大的情况,...

  • Nuxt项目部署至服务端流程

    一、确保本地项目可以正常运行(npm run dev)后打包:npm run build 打包后.nuxt文件夹会...

  • vue 打包后 vendor.js 文件过大解决方案

    vue 打包后 vendor.js 文件过大解决方案 vue 项目打包过后会生成. map 文件,而且. map ...

  • webpack打包优化之路

    最近使用vue-cli和vux做的项目,打包后文件体积过大,300k开始进行优化。 优化1:使用CDN资源,减小服...

  • NUXT项目打包优化策略

    用nuxt开发完项目之后,开开心心打包扔上服务器准备收工,却没多久,测试童鞋遗憾的告诉我,压测50并发未通过。wh...

  • Vue 网站首页加载优化

    Vue 网站首页加载优化 本篇主要讲解 Vue项目打包后 vendor.js 文件很大 如何对它进行优化 以及开启...

  • 博客网站首页加载优化

    Vue 网站首页加载优化 本篇主要讲解 Vue项目打包后 vendor.js 文件很大 如何对它进行优化 以及开启...

  • 前端打包部署优化之gzip

    使用webpack打包出来的文件过大,导致访问速度极其慢,搜索webpack打包优化,能够看到很多前辈的建议:gz...

  • 2019-12-16 总结几个webpack打包优化的方法

    总结几个webpack打包优化的方法 为什么要优化打包? 项目越做越大,依赖包越来越多,打包文件太大 单页面应用首...

  • webpack 优化打包速度

    打包速度优化 由于文件数量过多,代码量过大导致打包速度特别慢 从整体来看webapck解决打包速度有哪些方法? 办...

网友评论

      本文标题:优化nuxt打包后项目文件过大

      本文链接:https://www.haomeiwen.com/subject/wusdkdtx.html