资讯专栏INFORMATION COLUMN

一个 PWA 的诞生

苏丹 / 472人阅读

摘要:不是一个新名词,早在年已经提出这个思想,但是直到的发布,终于可以在中添加到主屏,只有安卓和都能使用的基本功能,它才算是真的开始走近大众。

原文链接:https://ssshooter.com/2018-09...

PWA(Progressive Web Apps)虽然是网页应用,但是可以带来媲美原生的用户体验,其中包含离线可用,后台推送等功能。PWA 不是一个新名词,早在 2015 年已经提出这个思想,但是直到 iOS12 的发布,PWA 终于可以在 iOS 中添加到主屏,只有安卓和 iOS 都能使用 PWA 的基本功能,它才算是真的开始走近大众。想了解 PWA,可以看看百度的 LAVAS 官网,在国内网站中 LAVAS 官网会有比较完整的 PWA 资料。

本文可以提前让大家熟悉 PWA 搭建,文中提到的配置来自一个 Redesign 的 nipponcolors,最近才做好的,使用的各种库都是现在(2018.09.14)最新的,可用的,另外本文不讨论应用功能,单纯讲讲 PWA 的搭建。

仓库地址:https://github.com/ssshooter/...
网页地址:https://ssshooter.github.io/n...

搭建 使用 Vue-cli3

Vue-cli3 与 2 的区别挺大的,3 默认搭建工程并非像 2 一样拉取模板,而是自己选择需要的 feature 生成项目。

要生成 PWA 项目请勾上 PWA Support

Vue-cli3 的一个关于 HMR 的已知问题

Issue 地址
假设大家都知道 HMR(热模块更新)是什么了,vue-cli3 的某些版本可能会有这么一个问题,HMR 无法使用,控制台就一直显示 waiting 连接,文件一改直接显示连接断开。解决方案有二:

如果你的依赖使用 cnpm 安装,尝试删掉 node_modules 后使用 npm 下载。

vue.config.js 作以下配置

chainWebpack: config => {
    config.resolve.symlinks(true)
    return config
},

值得注意的配置 eslint 配置

在这里首先推荐一下尾逗号,加上尾逗号的好处只有一个,但真的十分重要,那就是 diff 会非常好看。然后 eslint-plugin-vue 插件是一些预设规则组合,分 base,essential,strongly-recommended,recommended 四级,请自由选择,没有最好的搭配,只要用得舒服就好,团队合作还是非常推荐定好 eslint 规则,使用尽量详细的同一套规则,在代码合并时感觉会非常爽快。

设置 eslint 后建议配置开发服务器的 overlay 选项,在 eslint 报错时会覆盖在页面上,时刻提醒你写代码得有信条。

  devServer: {
    overlay: {
      warnings: true,
      errors: true,
    },
  },
资源优化 图片

vue-cli3 搭建的工程没有自带图片优化插件,所以请自行安装。有更好的图片压缩插件求推荐啦,这里使用的是 imagemin-webpack-plugin,基本配置如下:

var ImageminPlugin = require("imagemin-webpack-plugin").default
// Or if using ES2015:
// import ImageminPlugin from "imagemin-webpack-plugin"

module.exports = {
  plugins: [
    // Make sure that the plugin is after any plugins that add images
    new ImageminPlugin({
      disable: process.env.NODE_ENV !== "production", // Disable during development
      pngquant: {
        quality: "95-100"
      }
    })
  ]
}
字体

对于中文站点,字体问题可是个大问题,因为中文字体实在太太太太大了,随随便便一个都 10m 了,等待这东西下载真的給用户体验带来致命打击,但是!但是!有这么一个程序!

font-spider-plus

之前一直知道 font-spider,它的功能是获取使用到的字体,然后分析出使用了改字体的字符,最后把字符抽离出来。这大大减少了中文字体的体积,但是缺不能用于 js 渲染的网页,后来才找到 font-spider-plus,虽然要手动操作一下(最简单的方法:发布网页之后用 fsp 把用到的字爬出来),但是得到的优化真的很大哦!

响应式设计

PWA 给了我们一个很简单的跨平台方法,不只有移动端可以添加到首屏,PC 端也同样可以,所以响应式设计对 PWA 可以说是必须的。
PC 端的添加方法在 F12 里,至于更加方便的方法...好像是要改 flag 才能用,那么也谈不上多方便了,所以不介绍了,等到此项技术更加成熟,想必这个按钮就会出现在显眼的位置

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/97829.html

相关文章

  • 7 个让您需要渐进式 Web 应用程序做项目开发理由

    摘要:葡萄城通过深厚的技术积累和丰富的项目开发经验,为您的企业为什么需要渐进式应用程序做项目开发总结了个理由,希望对您有所帮助。渐进式应用程序可缩短项目开发周期更多时间更多机会。谷歌正在为渐进式应用程序的信息和使用场景开创先河。 转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具、解决方案和服务,赋能开发者。 自从渐进式Web应用程序(PWA)诞生以来,许多公司已开始利用这个新平...

    alexnevsky 评论0 收藏0
  • 决胜未来,2019年前端开发十大战略性技术布局

    摘要:为什么以前个人团队的工作,现在你一个人操作就做了,你觉得工资给你翻三倍过分吗年,第九个需要布局的技术物联网将推进了服务器端,而不是桎梏与浏览器。 2010年的你,如果能学会Android开发,现在的你,薪资不会低于年薪50万…… 2015年的你,如果能熟练使用react,现在的你,薪资不会低于月薪30K…… 看到这两个数据,也许有人会反驳:技术刚出来,没人敢用,而且随便一门技术,用上三...

    LeanCloud 评论0 收藏0
  • 【译】2016 年 JavaScript 回顾

    摘要:是在谷歌的年开发者峰会上宣布,但稳定的技术和工具终于在月到达。固然也不能保证苹果将实施这项技术,但这并不重要,你的应用程序仍然可以在中工作,它只是不会从离线执行中受益。我有一种感觉一旦上体验有明显提升苹果将鼓励支持。 2016年是值得纪念、奇怪的、有点欢腾/可怕的一年,取决于你的观点。跟其他事件相比仅仅专注于JavaScript可能看起来无关紧要,但它是每个Web开发人员的工作生活中巨...

    gecko23 评论0 收藏0
  • 【译】2016 年 JavaScript 回顾

    摘要:是在谷歌的年开发者峰会上宣布,但稳定的技术和工具终于在月到达。固然也不能保证苹果将实施这项技术,但这并不重要,你的应用程序仍然可以在中工作,它只是不会从离线执行中受益。我有一种感觉一旦上体验有明显提升苹果将鼓励支持。 2016年是值得纪念、奇怪的、有点欢腾/可怕的一年,取决于你的观点。跟其他事件相比仅仅专注于JavaScript可能看起来无关紧要,但它是每个Web开发人员的工作生活中巨...

    makeFoxPlay 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<