为 Web 站点优雅的生成 Manifest 文件

2024-04-23 00:20

本文主要是介绍为 Web 站点优雅的生成 Manifest 文件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

为 Web 站点优雅的生成 Manifest 文件

mainfest.json

manifest.json 文件通常包含有关 Web 应用程序的元数据信息,这些信息会影响到浏览器如何展示和处理这个应用程序。常见的信息包括:

  • name:应用程序的名称。
  • short_name:应用程序的简短名称,通常用于手机屏幕上的应用程序图标。
  • start_url:应用程序启动时加载的 URL。
  • display:定义应用程序的显示模式,如 “fullscreen”、“standalone”、“minimal-ui” 等。
  • background_color:应用程序启动时的背景颜色。
  • theme_color:应用程序的主题颜色,影响浏览器工具栏、状态栏等。
  • icons:包含各种尺寸的图标,用于不同的设备和分辨率。
  • scope:应用程序的范围,指定了应用程序可以控制的 URL 范围。
  • description:应用程序的描述信息。
  • categories:应用程序所属的分类,用于 App Stores 等。
  • lang:应用程序使用的语言。
  • orientation:应用程序的方向,如 “landscape” 或 “portrait”。
  • prefer_related_applications:指示是否更喜欢用户使用相关的本机应用程序,而不是 Web 应用程序。
  • related_applications:如果应用程序有相关的本机应用程序,则提供相关应用程序的信息。

利用 Webpack 的特性生成文件

Webpack 编译完成阶段,生成一个 manifest.json 文件

class MakeManifestPlugin {constructor(options) {this.opts = options}apply (compiler) {const _this = this// webpack4if (compiler.plugin) {// 完成输出事件compiler.plugin('after-emit', function (compilation, done) {_this.generateVersion()done()})return}// webpack5compiler.hooks.compile.tap('MakeManifestPlugin', (compilation) => {_this.generateVersion()})}generateVersion () {fs.writeFile('public/manifest.json', JSON.stringify(this.opts), function (err) {if (err) {return err}})}
}

使用插件

{configureWebpack: (config) => {if (process.env.NODE_ENV === 'production') {config.plugins.push(new GenerateVersionPlugin({version,isOpenVersion}))}}
}

使用 manifest.json 做什么

提醒用户刷新浏览器

现在有了版本号信息,就可以主动判断是否需要最新的资源了。当版本号发生变换时,页面提醒用户有新版本发布,请刷新浏览器。

优化缓存文件

通常针对为了获取最新鲜的静态资源,会有如下写法:

const now = new Date().getTime()const url = `https://www.unpkg.com/browse/react@16.7.0/index.js?t=${now}`

不是所有的静态都需要时刻最新,合理运用缓存。当版本发生变化时,再拿最新的资源。

const url = `https://www.unpkg.com/browse/react@16.7.0/index.js?v=${version}`

这篇关于为 Web 站点优雅的生成 Manifest 文件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/927271

相关文章

android 带与不带logo的二维码生成

该代码基于ZXing项目,这个网上能下载得到。 定义的控件以及属性: public static final int SCAN_CODE = 1;private ImageView iv;private EditText et;private Button qr_btn,add_logo;private Bitmap logo,bitmap,bmp; //logo图标private st

JavaWeb系列二十: jQuery的DOM操作 下

jQuery的DOM操作 CSS-DOM操作多选框案例页面加载完毕触发方法作业布置jQuery获取选中复选框的值jQuery控制checkbox被选中jQuery控制(全选/全不选/反选)jQuery动态添加删除用户 CSS-DOM操作 获取和设置元素的样式属性: css()获取和设置元素透明度: opacity属性获取和设置元素高度, 宽度: height(), widt

FastAdmin/bootstrapTable 表格中生成的按钮设置成文字

公司有个系统后台框架用的是FastAdmin,后台表格的操作栏按钮只有图标,想要设置成文字。 查资料后发现其实很简单,主需要新增“text”属性即可,如下 buttons: [{name: 'acceptcompany',title: '复核企业',text:'复核企业',classname: 'btn btn-xs btn-primary btn-dialog',icon: 'fa fa-pe

JavaWeb系列六: 动态WEB开发核心(Servlet) 上

韩老师学生 官网文档为什么会出现Servlet什么是ServletServlet在JavaWeb项目位置Servlet基本使用Servlet开发方式说明快速入门- 手动开发 servlet浏览器请求Servlet UML分析Servlet生命周期GET和POST请求分发处理通过继承HttpServlet开发ServletIDEA配置ServletServlet注意事项和细节 Servlet注

JavaWeb 学习笔记 spring+jdbc整合开发初步

JdbcTemplate类是Spring的核心类之一,可以在org.springframework.jdbc.core中找到它。JdbcTemplate类在内部已经处理数据库的建立和释放,可以避免一些常见的错误。JdbcTemplate类可直接通过数据源的应用实例化,然后在服务中使用,也可在xml配置中作为JavaBean应用给服务使用直接上一个实例步骤1.xml配置 <?xml version

PHP生成csv格式Excel,秒级别实现excel导出功能

防止报超内存,兼容中文,兼容科学技术法。 爽。。。。很爽。。。。 /*** 告诉浏览器下载csv文件* @param string $filename*/public static function downloadCsv($data, $filename, $encoding = 'utf-8'){header("Content-type: text/csv");header("Conten

PHP 读取或生成大的Excel

场景,在很多情况下,需要读取Excel文件。 常用的有PHPExcel包或者使用 maatwebsite/excel 包 但是使用这个包读取或生成excel,如果excel文件过大,很容易出现超内存情况。 解决方法: 上传:要求上传者使用.csv 文件上传。然后使用php自带的 fgetcsv()函数来读取文件。http://php.net/manual/zh/function.fgetc

3D模型相关生成

3D模型相关生成 1. DreamFusion Model DreamFusion Model 是一种将文本描述转化为三维模型的技术。你可以想象它是一个“魔法翻译器”,你告诉它一个场景或物体的描述,比如“一个飞翔的龙”,它就能生成一个相应的 3D 模型。 原理: 文本到图像生成:DreamFusion 首先将文本描述转化为一系列可能的 2D 图像。这部分利用了预训练的扩散模型(如 DALL

Web容器启动时加载Spring分析

在应用程序web.xml中做了以下配置信息时,当启动Web容器时就会自动加载Spring容器。 [java]  view plain copy print ? <listener>          <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>

物联网系统运维——移动电商应用发布,Tomcat应用服务器,实验CentOS 7安装JDK与Tomcat,配置Tomcat Web管理界面

一.Tomcat应用服务器 1.Tomcat介绍 Tomcat是- -个免费的开源的Ser Ivet容器,它是Apache基金会的Jakarta 项目中的一个核心项目,由Apache, Sun和其他一 些公司及个人共同开发而成。Tomcat是一一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。 在Tomcat中,应用程序的成部署很简