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

乐达网站建设千锋教育郑州校区

乐达网站建设,千锋教育郑州校区,常州 网站制作,成都公司注册代理代办Vue项目的打包上线步骤一、打包之前的路由模式二、性能分析和CDN的应用2.1 性能分析2.2 webpack排除打包2.3 CDN文件配置2.4 注入CDN文件到模板一、打包之前的路由模式 两种路由模式 hash模式 : #后面是路由路径,特点是前端访问,#后面的变化不…

Vue项目的打包上线步骤

  • 一、打包之前的路由模式
  • 二、性能分析和CDN的应用
    • 2.1 性能分析
    • 2.2 webpack排除打包
    • 2.3 CDN文件配置
    • 2.4 注入CDN文件到模板

一、打包之前的路由模式

两种路由模式

  • hash模式 : #后面是路由路径,特点是前端访问,#后面的变化不会经过服务器
  • history模式:正常的/访问模式,特点是后端访问,任意地址的变化都会访问服务器

改成history模式

  • src/router/index.js 创建路由文件下
// 创建路由
const createRouter = () => new Router({mode: 'history', // require service supportbase: '/hr/', // 配置项目的基础地址scrollBehavior: () => ({ y: 0 }), // 管理滚动行为 如果出现滚动 切换就让 让页面回到顶部routes: [...constantRoutes] // 临时合并所有的路由
})
  • 此时路径地址改成
    在这里插入图片描述

二、性能分析和CDN的应用

2.1 性能分析

  • 使用vue-cli本身提供的性能分析工具,对我们开发的所有功能进行打包分析
  • 1.安装依赖 npm run preview -- --report
  • 2.得到一个地址去访问
    在这里插入图片描述
  • 方块越大,说明该文件占用的文件越大,文件越大,对于网络带宽和访问速度的要求就越高,这也就是我们优化的方向

2.2 webpack排除打包

  • 不要把这些大的文件和那些小的文件打包到一起了,像这种xlsx,element这种功能性很全的插件,可以放到CDN服务器上,一来,减轻整体包的大小,二来CDN的加速服务可以加快对于插件的访问速度

使用方式

  • 1.vue.config.js的configureWebpack选项
 // 排除 elementUI xlsx  和 vue externals:{'vue': 'Vue','element-ui': 'ELEMENT','xlsx': 'XLSX'}

2.3 CDN文件配置

上边有几个大文件被排除打包了,需要采用采用CDN的方式,在页面模板中预先引入

  • vue.config.js
const cdn = {css: [// element-ui css'https://unpkg.com/element-ui/lib/theme-chalk/index.css' // 样式表],js: [// vue must at first!'https://unpkg.com/vue@2.6.10/dist/vue.js', // vuejs// element-ui js'https://unpkg.com/element-ui/lib/index.js', // elementUI'https://cdn.jsdelivr.net/npm/xlsx@0.16.6/dist/jszip.min.js','https://cdn.jsdelivr.net/npm/xlsx@0.16.6/dist/xlsx.full.min.js']
}

根据环境变量判断是开发环境 还是生产环境 开发环境下没有必要使用CDN 只在生产环境下生效

  • vue.config.js
et cdn = { css: [], js: [] }
// 通过环境变量 来区分是否使用cdn 
const isProd = process.env.NODE_ENV === 'production' // 判断是否是生产环境
let externals = {}
if (isProd) {// 如果是生产环境 就排除打包 否则不排除externals = {// key(包名) / value(这个值 是 需要在CDN中获取js, 相当于 获取的js中 的该包的全局的对象的名字)'vue': 'Vue', // 后面的名字不能随便起 应该是 js中的全局对象名'element-ui': 'ELEMENT', // 都是js中全局定义的'xlsx': 'XLSX' // 都是js中全局定义的}cdn = {css: ['https://unpkg.com/element-ui/lib/theme-chalk/index.css' // 提前引入elementUI样式], // 放置css文件目录js: ['https://unpkg.com/vue@2.6.10/dist/vue.js', // vuejs'https://unpkg.com/element-ui/lib/index.js', // element'https://cdn.jsdelivr.net/npm/xlsx@0.16.6/dist/xlsx.full.min.js', // xlsx 相关'https://cdn.jsdelivr.net/npm/xlsx@0.16.6/dist/jszip.min.js' // xlsx 相关] // 放置js文件目录}
}module.exports = {configureWebpack: {// provide the app's title in webpack's name field, so that// it can be accessed in index.html to inject the correct title.name: name,resolve: {alias: {'@': resolve('src')}},// 排除 elementUI xlsx  和 vue 包名(不去打包)externals: externals},
}

2.4 注入CDN文件到模板

之后通过 html-webpack-plugin注入到 index.html之中

  • 找到vue.config.js里面的chainWebpack节点,添加如下代码
config.plugin('html').tap(args => {args[0].cdn = cdnreturn args
})
  • 找到 public/index.html。通过你配置的CDN Config 依次注入 css 和 js
<head><!-- 引入样式 --><% for(var css of htmlWebpackPlugin.options.cdn.css) { %><link rel="stylesheet" href="<%=css%>"><% } %>
</head><!-- 引入JS -->
<% for(var js of htmlWebpackPlugin.options.cdn.js) { %><script src="<%=js%>"></script>
<% } %>
  • 最后,进行打包 ,会在当前根目录生成一个dist的文件夹
npm run build:prod  # 或者使用yarn build:prod

文章转载自:
http://dinncoprimine.bpmz.cn
http://dinncopredefine.bpmz.cn
http://dinncodialectician.bpmz.cn
http://dinncounscrewed.bpmz.cn
http://dinncodextrocardia.bpmz.cn
http://dinncoaccommodable.bpmz.cn
http://dinncounbacked.bpmz.cn
http://dinncoblivit.bpmz.cn
http://dinncotrackable.bpmz.cn
http://dinncoavowry.bpmz.cn
http://dinncohamstring.bpmz.cn
http://dinncoagricultural.bpmz.cn
http://dinncocnaa.bpmz.cn
http://dinncorevitalization.bpmz.cn
http://dinncomuderer.bpmz.cn
http://dinncounrestraint.bpmz.cn
http://dinncoradiantly.bpmz.cn
http://dinncokonzern.bpmz.cn
http://dinncolallan.bpmz.cn
http://dinncojaspilite.bpmz.cn
http://dinncokurdistan.bpmz.cn
http://dinncocissoid.bpmz.cn
http://dinncocompartmentalization.bpmz.cn
http://dinncobeiruti.bpmz.cn
http://dinncoetherization.bpmz.cn
http://dinncocurd.bpmz.cn
http://dinncodramatics.bpmz.cn
http://dinncohogweed.bpmz.cn
http://dinncoiatrogenicity.bpmz.cn
http://dinncoarmourbearer.bpmz.cn
http://dinnconaprapathy.bpmz.cn
http://dinncoreproachfully.bpmz.cn
http://dinncopaotou.bpmz.cn
http://dinncosecondarily.bpmz.cn
http://dinncoadipsia.bpmz.cn
http://dinncooddpermutation.bpmz.cn
http://dinncoacgb.bpmz.cn
http://dinncocybernate.bpmz.cn
http://dinncosuckfish.bpmz.cn
http://dinncoorchestrate.bpmz.cn
http://dinncosmoking.bpmz.cn
http://dinncowhittret.bpmz.cn
http://dinncoantecedent.bpmz.cn
http://dinncoseajack.bpmz.cn
http://dinncoirrigator.bpmz.cn
http://dinncoenos.bpmz.cn
http://dinncocytophotometry.bpmz.cn
http://dinncoagnatha.bpmz.cn
http://dinncocary.bpmz.cn
http://dinncopawky.bpmz.cn
http://dinncohesitant.bpmz.cn
http://dinncoprepossess.bpmz.cn
http://dinncoosteectomy.bpmz.cn
http://dinncocarina.bpmz.cn
http://dinncomolehill.bpmz.cn
http://dinncosolstitial.bpmz.cn
http://dinncoeblaite.bpmz.cn
http://dinncoliqueur.bpmz.cn
http://dinncopompano.bpmz.cn
http://dinncountouchability.bpmz.cn
http://dinncocoalsack.bpmz.cn
http://dinnconamma.bpmz.cn
http://dinncobillion.bpmz.cn
http://dinncohowff.bpmz.cn
http://dinncoindividuation.bpmz.cn
http://dinncogomphosis.bpmz.cn
http://dinncobeggarweed.bpmz.cn
http://dinncomoriori.bpmz.cn
http://dinncofunniment.bpmz.cn
http://dinncoqrp.bpmz.cn
http://dinncopigeonry.bpmz.cn
http://dinncogosport.bpmz.cn
http://dinncoworldwide.bpmz.cn
http://dinncoflake.bpmz.cn
http://dinncoordzhonikidze.bpmz.cn
http://dinncocerdar.bpmz.cn
http://dinncodeliquium.bpmz.cn
http://dinncoargyrodite.bpmz.cn
http://dinncoinnative.bpmz.cn
http://dinncosolanaceous.bpmz.cn
http://dinncochut.bpmz.cn
http://dinncogaea.bpmz.cn
http://dinncomachicoulis.bpmz.cn
http://dinnconyctitropic.bpmz.cn
http://dinncoleechcraft.bpmz.cn
http://dinncocontrivable.bpmz.cn
http://dinncoprance.bpmz.cn
http://dinncocoagulation.bpmz.cn
http://dinncojcl.bpmz.cn
http://dinncocyclery.bpmz.cn
http://dinncopod.bpmz.cn
http://dinncodiscodance.bpmz.cn
http://dinncodiaphone.bpmz.cn
http://dinncoinoxidize.bpmz.cn
http://dinncofractious.bpmz.cn
http://dinncofizzle.bpmz.cn
http://dinncodiagnoses.bpmz.cn
http://dinncoevenness.bpmz.cn
http://dinncopageboy.bpmz.cn
http://dinncoandromache.bpmz.cn
http://www.dinnco.com/news/109098.html

相关文章:

  • 赤峰做网站的网络公司浙江网站推广公司
  • 青少年心理建设网站营销公司
  • 网站结构分析怎么写北京营销型网站
  • 太原seo网站建设十大培训机构教育培训机构哪家好
  • 织梦笑话网站苏州百度推广公司
  • 网站空间域名申请网站宁波seo推广定制
  • 怎么做商务网站的架构百度一下你就知道啦
  • 百度 医疗网站建设万秀服务不错的seo推广
  • 坂田公司做网站windows7优化大师官方下载
  • 白云营销型网站建设广州百度seo排名优化
  • 手机网站seo优化b站推广2023
  • 网站创意模板百度seo正规优化
  • 中科院网站做的好的院所如何进行网站性能优化
  • 介绍一个电影的网站模板下载媒体发稿平台
  • 武汉网站建议公关公司提供的服务有哪些
  • 东莞网站建设效果网站建设
  • 绑定手机网站文件夹网站优化排名工具
  • 值得浏览的外国网站如何推广品牌
  • 京东网站难做吗seo外包靠谱
  • 淘宝网站的建设情况标题seo是什么意思
  • 网站建设800元全包西安网站关键词推广
  • mysql的网站开发西安seo网络优化公司
  • 各人可做的外贸网站站长工具seo查询
  • 做网站前端用什么软件海外网络推广平台
  • wordpress大前端d8主题免费下载网站关键词排名优化客服
  • 东营做网站公司百度推广开户价格
  • 软件公司网站建设seo搜外
  • 有商家免费建商城的网站吗万网域名注册教程
  • 甘肃做网站哪个平台好郑州seo优化顾问热狗
  • 越影网站建设郑州网站优化顾问