vue 移动端 build 打包低版本浏览器兼容性和默认会开启主机检查外网访问不了

1,251 阅读3分钟

小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。

本文同时参与 「掘力星计划」  ,赢取创作大礼包,挑战创作激励金

低版本浏览器兼容性

现代模式

有了 Babel 我们可以兼顾所有最新的 ES2015+ 语言特性,但也意味着我们需要交付转译和 polyfill 后的包以支持旧浏览器。这些转译后的包通常都比原生的 ES2015+ 代码会更冗长,运行更慢。现如今绝大多数现代浏览器都已经支持了原生的 ES2015,所以因为要支持更老的浏览器而为它们交付笨重的代码是一种浪费。

Vue CLI 提供了一个“现代模式”帮你解决这个问题。以如下命令为生产环境构建:

vue-cli-service build --modern

Vue CLI 会产生两个应用的版本:一个现代版的包,面向支持ES modules的现代浏览器,另一个旧版的包,面向不支持的旧浏览器。

最酷的是这里没有特殊的部署要求。其生成的 HTML 文件会自动使用 Phillip Walton 精彩的博文中讨论到的技术:

  • 现代版的包会通过<script type="module">在被支持的浏览器中加载;它们还会使用<link rel="modulepreload"> 进行预加载。
  • 旧版的包会通过 <script nomodule> 加载,并会被支持 ES modules 的浏览器忽略。
  • 一个针对 Safari 10 中<script nomodule> 的修复会被自动注入。

详情请见vue官网浏览器兼容性

默认会开启主机检查 外网访问不了

外网穿透 ngrok win

1.安装使用

下载链接

windows 版本选择32位就可以

win版本选择32位就可以

2.下载完 后解压

3.cmd 下 cd 到 解压 目录

4.执行命令 ngrok http 端口号 以配置口为准

例如: ngrok http 8050

最后执行成功后下图箭头就是你得内网代理域名:其中一个就可以

输入其中一个就可以

最后问题:vue-cli 新版本中 会默认会开启主机检查 外网访问不了

解决方法

vue.config.js 中配置 disableHostCheck(禁用主机检查) 设置为 true(没有vue.config.js自己手动创建)

module.exports = {
  devServer: {
    port: 8050, // 端口
    disableHostCheck: true // 禁用主机检查(默认开启的,但外网ip访问不了)
  },
}

点赞支持、手留余香、与有荣焉,动动你发财的小手哟,感谢各位大佬能留下您的足迹。

11.png

往期精彩推荐

移动端常见问题汇总

移动端横竖屏适配与刘海适配

使用 Canvas 获取照片上的红色印章

前端常用的几种加密方法

canvas 爬坑路【方法篇】

不懂 seo 优化?一篇文章帮你了解如何去做 seo 优化

canvas 爬坑路【属性篇】

【实战篇】微信小程序开发指南和优化实践

聊一聊移动端适配

前端性能优化实战

聊聊让人头疼的正则表达式

获取文件blob流地址实现下载功能

Vue 虚拟 DOM 搞不懂?这篇文章帮你彻底搞定虚拟 DOM

Git 相关推荐

通俗易懂的 Git 入门

git 实现自动推送

面试相关推荐

前端万字面经——基础篇

前端万字面积——进阶篇

更多精彩详见:个人主页