博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
crm-vue项目上线前对加载速度以及兼容IE的一些方法
阅读量:5290 次
发布时间:2019-06-14

本文共 3615 字,大约阅读时间需要 12 分钟。

一、关于IE浏览器适配

打包前我们可以在package.json文件做如下配置

"browserslist": [    "> 1%",    "last 2 versions",    "not ie <= 8"  ],

如果你想指定兼容IE某个版本可以这么写:"ie 11"

配置说明:

> 5% // 全球使用情况统计选择的浏览器版本。 >=,
<也>
<=工作。> 5% in US // 使用美国使用情况统计。它接受两个字母的国家/地区代码。> 5% in alt-AS // 使用亚洲地区使用情况统计。可在以下位置找到所有地区代码的列表caniuse-lite/data/regions。> 5% in my stats // 使用自定义使用数据。cover 99.5% // 提供覆盖的最流行的浏览器。cover 99.5% in US // 与上述相同,使用双字母国家代码。cover 99.5% in my stats // 使用自定义使用数据。maintained node versions // 所有Node.js版本,仍由 Node.js Foundation 维护。node 10和node 10.4 // 选择最新的Node.js 10.x.x 或10.4.x发布。current node // Browserslist目前使用的Node.js版本。extends browserslist-config-mycompany // 从browserslist-config-mycompanynpm包中获取查询 。ie 6-8 // 选择包含范围的版本。Firefox > 20 // Firefox的版本比20更新 >=,
<并且也可以>
<=工作。iOS 7 // iOS浏览器版本7直接。Firefox ESR // 最新的[Firefox ESR]版本。unreleased versions或unreleased Chrome versions // alpha和beta版本。last 2 major versions或last 2 iOS major versions // 最近2个主要版本的所有次要/补丁版本。since 2015或last 2 years // 自2015年以来发布的所有版本(也since 2015-03和since 2015-03-10)。dead // 来自last 2 version查询的浏览器,但全球使用统计数据少于0.5%,且24个月内没有官方支持或更新。现在是IE 10,IE_Mob 10,BlackBerry 10, BlackBerry 7,和OperaMobile 12.1。last 2 versions // 每个浏览器的最后两个版本。last 2 Chrome versions // Chrome浏览器的最后两个版本。defaults // Browserslist的默认浏览器(> 0.5%, last 2 versions, Firefox ESR, not dead)。not ie <= 8 // 排除先前查询选择的浏览器。

npx browserslist 在项目目录中运行以查看选择了哪些浏览器。

npx browserslist

 也可以通过  网站查看选择了哪些浏览器。

https://browserl.ist/

 

 

二、提升加载速度的方法

对路由的处理:

// 把通常的引入方法,换成异步引入    import wechat from '../pages/login/wechat.vue'    import pdfView from '../pages/pdf-view.vue'    // 1.懒加载通常写法(打包后)    let pdfView = (resolve) => {        return require.ensure([], () => {            console.log('pdfView')            resolve(require('../pages/pdf-view.vue'))        }, 'pdfView')    }    // require中,'pdfView'参数是打包后组件的名字    // require.ensure()语法参见:https://www.html.cn/doc/webpack2/guides/code-splitting-require/    // 2.懒加载新写法    let wechat = () => import(/* webpackChunkName: "wechat" */'../pages/login/wechat.vue')    // 多行注释可忽略,主要是为了给打包后组件自定义命名    // 是通过注释语法来提供chunk name,但是webpack的版本要高于2.4的版本。    routes: [{            path: '/pdf',            component: pdfView,            meta: {                navWebTitle: '电子合同',                parentTitle: '产品详情',                toParentTitle: 'goBack',                noWebNav: true,                navTitle: '电子合同'            }        },        {            path: '/wechat',            component: wechat        },    ]

 

对vue组件,动态加载

// vue组件按需加载    // 组件里面:    export default {        components: {            aview: function (resolve) {                require(["./a.vue"], resolve);            },            bview: function (resolve) {                require(["./b.vue"], resolve);            }        },        data: function () {            return {                current: "",                myData: "",                show: false            }        },        methods: {            changeComponents: function (view) {                if (view == 'aview') {                    this.myData = 'a1000';                } else {                    this.myData = 'b1000';                }                this.current = view;            }        }    }    //  模板里面:    `
`

 

对head内prefectch标签处理:

工程预渲染时生成的prefetch标签,在新版本浏览器里中自动加载网站所需所有资源;

我们删除懒加载模块的prefetch,降低带宽压力,按需加载:
我的工程是vue2,在vue.config.js里添加配置:

if (process.env.NODE_ENV === 'production') { // 生产环境    config.plugins.delete('prefetch');}

这里是官方指南:

https://cli.vuejs.org/zh/guide/html-and-static-assets.html#preload

 

--------------------- 更新于20190422 @ziChin --

 

转载于:https://www.cnblogs.com/ziChin/p/10737679.html

你可能感兴趣的文章
laravel command调用方法命令
查看>>
20162302 - 20162319 结对编程项目-四则运算(第一周)
查看>>
用python2和python3伪装浏览器爬取网页
查看>>
MySQL开启远程连接权限
查看>>
tomcat7.0.27的bio,nio.apr高级运行模式
查看>>
SAP HANA 三大特点
查看>>
C#预处理器命令
查看>>
苹果手表:大方向和谷歌一样,硬件分道扬镳
查看>>
ccf 出现次数最多的数
查看>>
单例模式
查看>>
Competing Consumers Pattern (竞争消费者模式)
查看>>
HDUOJ ------1398
查看>>
cf--------(div1)1A. Theatre Square
查看>>
Android面试收集录15 Android Bitmap压缩策略
查看>>
Tomcat 报错的解决方法:The APR based Apache Tomcat Native library which allows optimal
查看>>
最长公共子串问题(LCS)
查看>>
TortoiseSVN is locked in another working copy
查看>>
PHP魔术方法之__call与__callStatic方法
查看>>
ubuntu 安装后的配置
查看>>
Html学习_简易个人网页制作
查看>>