iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >vue项目打包以及优化的实现步骤
  • 775
分享到

vue项目打包以及优化的实现步骤

2024-04-02 19:04:59 775人浏览 独家记忆
摘要

目录Vue项目的打包上线及优化vue项目的打包项目托管项目的常见优化vue项目的打包上线及优化 项目完成,我们会将项目进行上线,为了提升性能,我们往往会进行一些优化处理 vue项

vue项目的打包上线及优化

项目完成,我们会将项目进行上线,为了提升性能,我们往往会进行一些优化处理

vue项目的打包

脚手架项目中有一个默认的打包命令,我们可以输入npm run bulid来对项目进行打包

打开终端,切换到项目根目录

输入命令:npm run build

会在当前项目的根目录下生成一个dist文件夹,里面就是打包后的文件

在这里插入图片描述 

项目托管

我们可以创建一个简易的node服务器来托管打包后的项目,这样就可以模拟访问服务器的项目

1.创建一个新的目录做为服务器根目录,小黑窗执行node init -y执行初始化,再执行npm i express下载express包,然后创建app.js文件将下面代码拷贝进来(利用express包开一个服务器)

2.将刚刚打包生成的dist目录整体拷贝到node服务器目录下

3.资源在dist目录下,所以可以使用静态资源托管的方式提供资源,将dist目录做为资源托管目录

express创建服务器


var express = require('express')
const path = require('path')

// 2. 创建服务器
var app = express();

// 托管静态资源
// 也可以将所有静态资源放置到指定的目录下,如public,然后添加以下的配置
app.use(express.static('dist'))
app.use('/', express.static(path.join(__dirname, 'dist')))

// 3. 开启服务器并监听端口
app.listen(3001, () => {
  console.log('Http://127.0.0.1:3001')
})

启动服务器

在服务器目录下打开终端,输入node app.js

在浏览器中输入服务器地址

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-woOTHmF2-1627475455630)(img\02-访问服务器资源.jpg)]

项目的常见优化

项目打包之后,会将之前所使用到的部署依赖包和项目中使用到的外部资源都打包

如果之前引入的包很多,或者引入的不必需的包,那么会增大项目的体积,从而造成用户访问的时候需要请求更多的数据才能正常的访问,不利于用户体验,所以需要对打包过程进行优化

一般情况下我们可以从优化代码的方面对项目进行优化,也可以使用类似cdn的方式对项目进行优化

脚手架中提供了一个命令,可以让我们看到项目的资源的分布(占用)情况:npm run build – --report

生成项目报告文件


npm run build – --report

在这里插入图片描述

打开报告页面

在这里插入图片描述

1.报告页面中,越大的块说明这个模板占用的体积越大
2.占用体积越越大的模块,我们要考虑不将其打包到产品中

cdn加速优化

cdn: CDN的本质上是将媒体资源,动静态图片(Flash),htmlCSS,JS等等内容缓存到距离你更近的IDC,从而让用户进行共享资源,实现缩减站点间的响应时间等等需求,而网游加速器的本质则是通过建立高带宽机房,架设多节点服务器来为用户进行加速。

我们可以将一些大体积的模块,让cdn帮我们提供相应的资源,这样就可以缓解我们自己的服务器的压力,同时提供更快更好的资源响应

vue.config.js

在脚手架项目中,如果想增加自己的项目配置,可以在根目录下添加vue.config.js文件,在这个文件中实现自定义的配置

在打包的时候,这个配置会和脚手架的配置组合到一起

添加包的排除


module.exports = {
    configurewebpack: {
        externals:{
            'vue': 'Vue',
            'element-ui': 'ELEMENT',
            'quill': 'Quill'
        }
    },
}

在这里插入图片描述

可以看到,打包后的项目体积显著的减少,但是,问题并没有解决,由于没有这些包,打包后的项目并不能运行

在这里插入图片描述

这是因为,现在打包的项目中,已经没有Vue这个包了,所以才会出现错误,我们现在需要使用cdn的方式来提供这些资源

添加cdn的用户自定义

vue.config.js中加入下面代码


let cdn = {
  css: [
    // element-ui css
    'https://unpkg.com/element-ui/lib/theme-chalk/index.css',// 样式表
    // 富文本框插件样式
    'https://cdn.bootcdn.net/ajax/libs/quill/2.0.0-dev.4/quill.bubble.css'
  ],
  js: [
    // vue must at first!
    'https://unpkg.com/vue/dist/vue.js', // vuejs
    // element-ui js
    'https://unpkg.com/element-ui/lib/index.js', // elementUI
    // 富文本框插件
    'https://cdn.bootcdn.net/ajax/libs/quill/2.0.0-dev.4/quill.js'
  ]
}

通过插件将资源自动的添加到页面中

挂载资源到插件


module.exports = {
  // 添加打包排除,说明以下配置中的包将来不会打包到项目中
  configureWEBpack: {
    externals:{
            'vue': 'Vue',
            'element-ui': 'ELEMENT',
            'quill': 'Quill'
        }
  },
  // 将cdn的资源挂载到插件上
  chainWebpack (config) {
    config.plugin('html').tap(args => {
      args[0].cdn = cdn
      return args
    })
  }
}

在页面中使用插件添加指定的cdn资源,在项目中的public中index中加入下面代码(项目打包前的index文件)

添加css引入(head结构中)


<% for(var css of htmlWebpackPlugin.options.cdn.css) { %>
  <link rel="stylesheet" href="<%=css%>" />
<% } %>

添加js引入(body结构中)


<% for(var js of htmlWebpackPlugin.options.cdn.js) { %>
  <script src="<%=js%>"></script>
<% } %>

重新打包,OK

设置只有产品阶段才使用cdn

在项目开发的时候,其实没有必要使用cdn,这样反而会让我们的页面加载效率下降,同时也不适合本地开发(需要连网)

我们可以根据环境变量进行相应的处理,只有在产品的时候,才让插件去自动注入相应的资源文件到html页面


const isProd = process.env.NODE_ENV === 'production' // 是否生产环境

let externals = {
  'vue': 'Vue',
  'element-ui': 'ELEMENT',
  'quill': 'Quill'
}


let cdn = {
  css: [
    // element-ui css
    'https://unpkg.com/element-ui/lib/theme-chalk/index.css',// 样式表
    // 富文本框插件样式
    'https://cdn.bootcdn.net/ajax/libs/quill/2.0.0-dev.4/quill.bubble.css'
  ],
  js: [
    // vue must at first!
    'https://unpkg.com/vue/dist/vue.js', // vuejs
    // element-ui js
    'https://unpkg.com/element-ui/lib/index.js', // elementUI
    // 富文本框插件
    'https://cdn.bootcdn.net/ajax/libs/quill/2.0.0-dev.4/quill.js'
  ]
}

cdn = isProd ? cdn : { css: [], js: [] }
externals = isProd ? externals : {}


module.exports = {
  // 添加打包排除,说明以下配置中的包将来不会打包到项目中
  configureWebpack: {
    externals
  },
  // 
  chainWebpack (config) {
    config.plugin('html').tap(args => {
      args[0].cdn = cdn
      return args
    })
  }
}

到此这篇关于vue项目打包以及优化的实现步骤的文章就介绍到这了,更多相关vue项目打包以及优化内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: vue项目打包以及优化的实现步骤

本文链接: https://www.lsjlt.com/news/131449.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • vue项目打包以及优化的实现步骤
    目录vue项目的打包上线及优化vue项目的打包项目托管项目的常见优化vue项目的打包上线及优化 项目完成,我们会将项目进行上线,为了提升性能,我们往往会进行一些优化处理 vue项...
    99+
    2024-04-02
  • Qt项目打包的实现步骤
    目录准备项目文件用InstallShield解决打包后自动启动cmd窗口的问题准备项目文件 本质上就是把依赖的动态库放到你指定的文件夹里面去;这样在其他电脑上运行时,就不需要再安装q...
    99+
    2024-04-02
  • vue项目打包部署跨域的实现步骤
    目录1.前端工程解决办法1.1开发时候解决办法1.2打包部署后解决办法2.后端工程解决办法跨源资源共享(CORS,或通俗地译为跨域资源共享)是一种基于 HTTP 头的机制,该机制通过...
    99+
    2023-05-20
    vue 打包部署跨域 vue 打包跨域
  • Vue项目打包部署到GitHubPages的实现步骤
    目录前言前期准备重要说明步骤1步骤2步骤3步骤4步骤5步骤6前言 关于什么是github pages?怎样创建github 仓库上传本地项目到GitHub远程仓库?等基本操作本文不再...
    99+
    2024-04-02
  • pyinstaller打包django项目的实现步骤
    安装pyinstaller pip install pyinstaller 制作项目的.spec文件   进入django项目所在路径,运行 pyi-makes...
    99+
    2024-04-02
  • electron打包vue项目的方法步骤
    目录创建项目添加electron-builderelectron下载失败窗体运行打包exe白屏创建项目 点击这里 添加electron-builder 1、在项目目录下运行命令:vu...
    99+
    2024-04-02
  • Vue项目如何优化打包
    这篇文章主要为大家展示了“Vue项目如何优化打包”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Vue项目如何优化打包”这篇文章吧。一、路由懒加载1.为什么需要路由懒加载当刚运行项目的时候,发现刚...
    99+
    2023-06-25
  • Vue项目优化打包详解
    目录前言 一、路由懒加载1.为什么需要路由懒加载 2.如何实现路由懒加载 3.路由懒加载中的魔法注释 二、分析包大小1.需求 2.如何生成打包分析文件 三、webpack配置排除打包...
    99+
    2024-04-02
  • 使用eclipse打包Maven项目的实现步骤
    Maven中最重要的是POM文件,其打包也是基于该文件的,在POM文件中配置插件,可以实现将Maven项目打包成可执行jar包 依赖如下: <build> <p...
    99+
    2024-04-02
  • vue项目打包优化的方法实战记录
    目录1.按需加载第三方库2.移除console.log3. Close SourceMap4. Externals && CDN5.路由懒加载的方式总结1.按需加载第...
    99+
    2024-04-02
  • Vue项目打包优化实践指南(推荐!)
    目录业务背景项目打包时间分析方法优化配置的基本思路前置操作,先通过 webpack-bundle-analyzer 查看资源树1.vue.config.js 文件中修改:produc...
    99+
    2024-04-02
  • vue项目打包优化的示例分析
    小编给大家分享一下vue项目打包优化的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!使用vue-cli部署生产包时,发现...
    99+
    2024-04-02
  • vue项目打包发布上线的方法步骤
    目录一、开发环境到生产环境的转变二、设置统一的请求路径 三、运行打包命令vue项目开发完成后,我们需要将项目打包上线,同时我们希望可以在本地预览生产环境项目 (以vue-c...
    99+
    2024-04-02
  • vue-cli5搭建vue项目的实现步骤
    vue-cli 的最新版本是5.0.4 首先需要全局安装 vue-cli yarn global add @vue/cli 已经安装的可以升级到最新版 yarn global up...
    99+
    2024-04-02
  • Vue项目打包并发布的完整步骤记录
    目录1、安装部署Nginx服务器。(类似Tomcat服务器)2、Vue项目打包。总结如何将Vue项目打包并发布?我这边是测试发布到本地,不过步骤是一样的,步骤如下: 1、安装部署Ng...
    99+
    2024-04-02
  • vue打包项目版本号自加的操作步骤
    目录原因方案步骤原因 项目每次打包后都需要改动项目版本号,这个改动每次都需要在package.json中修改version,比较麻烦,到底有没有一种打包后版本号自加的办法。 方案 版...
    99+
    2024-04-02
  • VSCode搭建vue项目的实现步骤
    目录一、安装环境:二、建项目:一、安装环境: 1.默认Vscode、nodejs已经安装好了 2.全局安装vue-cli,vue-cli帮助我们快速构建Vue项目。 npm inst...
    99+
    2024-04-02
  • docker部署vue项目的实现步骤
    目录前戏部署获取nginx镜像创建 nginx config配置文件创建Dockerfile文件生成生成环境包构建docker镜像查看本地镜像启动docker容器访问跨域前戏 当我们...
    99+
    2024-04-02
  • vue项目打包优化方式(让打包的js文件变小)
    目录我使用的命令是 vue ui 可视化打包操作进入可视化面板需要通过vue.config.js来配置.js文件中,导致该js文件过大通常在一个vue项目中会用到很多插件什么,swi...
    99+
    2024-04-02
  • Vue项目优化打包之前端必备加分项
    目录前言 一、路由懒加载 1. 为什么需要路由懒加载 2. 如何实现路由懒加载 3. 路由懒加载中的魔法注释 二、分析包大小 1. 需求 2. 如何生成打包分析文件 三、webpac...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作