首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

PWA 入门: 写个非常简单的 PWA 页面

准备一个 HTML 文件, 以及相应的 CSS 等: 添加 manifest.json 文件 为了让 PWA 应用被添加到主屏幕, 使用 manifest.json 定义应用的名称, 图标等等信息。...sw.js 文件需要在 HTML 当中引入: 后面我们会往 sw.js 文件当中添加逻辑代码。...在 Service Worker 当中会用到一些全局变量: self: 表示 Service Worker 作用域, 也是全局变量 caches: 表示缓存 skipWaiting: 表示强制当前处在...添加到首屏之后, 即便在离线状态下, 页面也可以打开。...比如在 HTML 当中更新版本到 2: 同时 sw.js 文件当中也要进行一次修改, 保证文件发生改变, 同时缓存的名称也变改变了: 然后重新打开一次页面, 这个时候渲染的页面依然是旧的, 不过可以从

2.8K50
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    外网爆火的“量子纠缠”前端代码已开源,抢鲜体验!

    作者的推文: 从视频中可以看出,当我们打开两个窗口时,两个量子之间竟然还存在相互纠缠,简直把前端代码发挥到了极致,如此奇妙的效果到底是如何实现的呢?...下载项目 GitHub仓库地址:https://github.com/bgstaal/multipleWindow3dScene 从项目简介中得知作者是使用three.js和localStorage实现在同一源上跨窗口设置...: index.html main.js WindowManager.js 启动项目 打开index.html入口文件,可以发现这里直接在根目录下给项目开个端口就能启用。...源码解析 index.html 首先在index.html文件中引入了一个压缩版的three.js,这个库就是用来生成网页3D模型的,也就是项目中生成旋转立方体需要用到的库。...main.js 定义变量 打开main.js文件,首先是定义了一些变量,比如:把THREE库赋值给t变量;一些存放3D场景的变量;当前时间的变量,后续每个立方体旋转相同的角度也是通过这个时间来同步的:

    2.9K70

    【译】开始学习React - 概览和演示教程

    使用JSX,我们可以编写类似HTML的内容,也可以创建和使用自己的类似XML的标签。下面是JSX赋值给变量的样子。...在下一节中,我们将学习如何使用state来进一步控制React中的数据处理。 state状态 现在,我们将字符数据存在变量的数组中,并将其作为props传递。...现在,你应该了解如何初始化状态以及如何修改状态了。 提交表单数据 现在,我们已经将数据存储在状态中,并且可以从状态中删除任何项目。但是,如果我们希望能够添加新数据来到状态呢?...如果你不熟悉什么是API或者如何连接API,我建议你阅读下如何使用JavaScript连接API这篇文章,它将引导你了解什么是API以及如何将它们与原始的JavaScript一起使用。...在以下代码段中,你将看到我们如何从Wikipedia API引入数据,并将其显示在页面上。

    11.2K20

    通过示例了解Vue过渡和动画

    最后,我们将了解如何将第三方CSS库与Vue动画一起使用。...否则,将元素添加到DOM中或从DOM中删除时,这些元素可能只是在各处跳跃。 2.如果元素是一样的,则必须向该组件添加一个key属性 如果元素是一样的,Vue 会尝试优化内容,仅替换元素的内容。...在第一个示例中,我们只使用了元素生成的默认类名,但是我们可以做的就是将这些值覆盖到我们想要的任何类中,在这种情况下,它将是CSS库中的类名。...对于我们的示例,我们使用的[Animate.css](https://daneden.github.io/animate.css/) 这个动画库,我们只需将CDN链接添加到我们的index.html文件即可...已收录,有一线大厂面试完整考点、资料以及我的系列文章。

    1.8K40

    在 vue 项目中使用各种 javascript 类库

    _注意:这篇文章原载于the Vue.js Developers blog 2017/04/22_ 如何引入一个类库到你的 Vue.js 项目中 全局变量 最直接添加一个类库到你的项目中的方法,是让这个类库作为一个全局变量挂载在...: 'Uh oh..'); } } 关于反对使用 window 全局变量是一个十分悠久的话题,但是,在具体到这篇文章中,是因为这样不支持服务器渲染,当这个应用跑在服务端,window 对象将不复存在...一个插件可以把复杂的操作抽象出来,从而允许你通过如下面所展示,十分简单的方式去把你所选的类库添加到一个项目中。...在这个例子中我将会写一个把 Axios 添加到你所有的 Vue 示例和组件的插件,因此我将文件命名为 axios.js。...axios.js export default { install: function(Vue) { // Do stuff } } 现在我们可以使用我们私有的方法去把类库添加到原型对象

    2.1K10

    vuex使用记录

    附上官方文档的链接,想更进一步了解vuex的朋友可以看看:https://vuex.vuejs.org/ 有些文章里面会把 vuex称作 store,这是因为 vuex里最常用的就是 Store类,绑定到...state相当于只读变量,组件可以访问 state变量的值,但是不能直接对其进行修改。注意我这里说的是不能直接进行修改,不是不能修改。想要修改 state里变量的值必须要通过 mutations。...modules有点像命名空间,将逻辑关系相近的变量和操作放到一个 module中,个人感觉一般情况用不上这个功能,感兴趣的可以看一下官方文档:https://vuex.vuejs.org/guide/modules.html...二、如何在 vue中使用 vuex 了解了相关概念之后,我们进入实战,如何在 vue项目中使用 vuex。...我们现在 store.js文件中定义一些 state变量 import Vue from 'vue' import Vuex from 'vuex' Vue.use(Vuex) export default

    1.2K30

    从零开始使用 Astro 的实用指南

    在这个实用的Astro指南中,我将指导你完成设置过程,并告诉你如何构造你的文件。你将学习如何添加页面、交互式组件,甚至是markdown文章。...我还会告诉你如何从服务器上获取数据,创建布局,并使用vanilla JavaScript和其他框架添加互动性。准备好享受一些动手的乐趣,因为我们将一起创建一个小型的网站实例。...,你可以在代码栅栏内定义本地JavaScript变量,然后使用类似JSX的表达式将变量注入HTML模板中。...-- your content is injected here --> html> 注意我们是如何使用结构化语法从全局的Astro.props对象中取出props的。...那么问题来了,如何将React组件添加到你的项目中。 首先,你需要将React添加到你的项目中。

    1K40

    webpack原理(2):ES6 module在Webpack中如何Tree-shaking构建

    Webpack 从 2 开始也支持 Tree-shaking,对于一个模块,没有被使用过的引入代码并不会被打包 DCE AST 对 JS 代码进行语法分析后得出的语法树 (Abstract Syntax...据我所知,现在还没有针对 JS 的,能在生产环境能用的,基于数据流分析的优化器。这也是为啥现在这些打包器还不能去除没有用到的类成员方法(class method)。...webpack tree shaking 只处理顶层内容,例如类和对象内部都不会再被分别处理。所谓作用域分析,就是可以分析出代码里面变量所属的作用域以及他们之间的引用关系。...就如同上文的例子 :我的插件可以从 webpack 得知 file1.js 的导出变量 one 被使用了。...《webpack原理(2):ES6 module在Webpack中如何Tree-shaking构建》,请注明出处:https://www.zhoulujun.cn/html/tools/Bundler/

    78910

    从vue-router源码中看前端路由的两种实现

    最后分析了如何实现可以直接从文件系统加载而不借助后端服务器的Vue单页应用。 随着前端应用的业务功能越来越复杂、用户对于使用体验的要求越来越高,单页应用(SPA)成为前端应用的主流形式。...vue-router是Vue.js框架的路由插件,下面我们从它的源码入手,边看代码边看原理,由浅入深观摩vue-router是如何通过这两种方式实现前端路由的。...带着问题阅读源码,我们就可以从VueRouter类的定义入手。...他们都定义在src/history文件夹下,继承自同目录下base.js文件中定义的History类。...用到了HTML5的新特特性,是需要特定浏览器版本的支持的,前文已经知道,浏览器是否支持是通过变量supportsPushState来检查的: // src/util/push-state.js export

    1.7K30

    跟我学 Solidity :合约的创建和继承

    在上一篇文章[4],我们看到了如何使用函数,并运用了到目前为止所学到的一切来构建一个多签名钱包。 在本文中,我们将看到如何从一个合约中创建另一个合约,以及如何定义抽象合约和接口。...我将name变量设为public,以便我们可以读取到它的值,并且还会和createToken函数的返回值一起创建一个事件(关于事件,也会有其他的文章介绍): // SPDX-License-Identifier...如果使用的是 Ganache,你会看到两个代表合约调用的交易被添加到交易列表中,其中数据字段设置为四个字节的函数选择器和传递的参数。...它们可以用作定义特定行为的基础合约(就像面向对象里面的基类)用来给其他合约继承。实现函数应用override关键字修饰。...还有其他限制: 它们不能从其他合约继承,但是可以从其他接口继承 所有声明的函数必须是外部的 他们不能声明构造函数 他们不能声明状态变量 使用关键字interface声明接口。

    1.4K10

    52. 精读《图解 ES 模块》

    与函数作用域不同的是,模块内部的变量实现了在其他模块内共享。而且可以指定哪些变量、类或者函数可以共享。 在其他模块中共享,被称为 export。...加载器在不同的平台下有不同的规范,浏览器端就是 HTML 规范。 1. 构建 确认从哪里加载文件所包含的模块,查找加载文件 加载器比较关心的是查找并且下载到文件。首先需要找到入口文件。...在 HTML 中通过一个 script 标签。 但是接下来要如何找到模块直接依赖的文件树呢? 这就是 import 语句出场的时候了,它可以通知加载器去哪里找到其他的模块。...状态在内存中,所以安装这一步基本是关于如何在写入到内存。 首先,JS 引擎创建一个模块环境记录。这会为模块记录维护变量。然后在内存中开辟空间,让这些变量可以被导出。...具体就是将这些函数和变量放到一个模块作用域内,实现在模块间共享变量。与函数作用域不同的是,模块内部的变量实现了在其他模块内共享。而且可以指定哪些变量、类或者函数可以共享。

    65030

    本周群问题分享

    收集时间:2016.4.18~2016.4.22 温馨提示:小编从大家的问题当中提取了几个比较经典的问题与大家一起分享。 JavaScript 如何获取上传图片的路径?...> 对上面的实例还不是很理解的,堡堡推荐你去HTML5学堂官网搜索“事件”,进一步深入了解JS事件。...---- HTML5 HTML5与HTML4.01相比,它增加了什么? 2016.4.18~2016.4.22 核心概念 什么是HTML5 参考答案 如何来理解HTML5技术是什么呢?...我们从几个角度进行阐述,分别是狭义上的HTML5(就技术来讨论技术)、广义上的HTML5(平时技术会议、聊天时的含义)、技术层面。希望大家通过文章的查看对HTML5有个更深入的理解。...3 当前新技术的代名词 HTML5技术概括: 从HTML5技术的角度来说,我们将HTML5技术分为五大类,分别是: 1 新增标签以及属性; 2 CSS3的新特性; 3 Canvas绘图; 4 JavaScript

    1.3K140

    【数据结构基础】栈简介(使用ES6)

    本篇文章笔者将从数据结构最基础的结构开始介绍——stack(栈),笔者将从以下几个方面进行介绍: 什么是栈? 如何用JS简单的实现栈?...创建更高效的基于对象Stack类 实际应用举例 练习题 本篇文章阅读时间预计10分钟。 什么是栈?...我们如何使用JS模拟一个简单的栈呢,首先我们创建一个stack-array.js文件,声明一个StackArray类,代码如下: class StackArray { constructor()...的文件,引入我们的stack-array.js文件,我们一起来实践下如何使用我们创建好的StackArray类,代码如下: import StackArray from 'stack-array.js'...小节 本篇文章,我们了解了什么是数据结构,并深入学习了堆栈这个数据结构,以及如何用JS代码实现堆栈,并讲解了不同的实现方式,同时了解栈在计算机领域的应用,并一起实践了一个十进制数转二进制的练习,接下来本系列文章

    71450

    【数据结构基础】栈简介(使用ES6)

    本篇文章笔者将从数据结构最基础的结构开始介绍——stack(栈),笔者将从以下几个方面进行介绍: 什么是栈? 如何用JS简单的实现栈?...创建更高效的基于对象Stack类 实际应用举例 练习题 本篇文章阅读时间预计10分钟。...我们如何使用JS模拟一个简单的栈呢,首先我们创建一个stack-array.js文件,声明一个StackArray类,代码如下: class StackArray { constructor()...的文件,引入我们的stack-array.js文件,我们一起来实践下如何使用我们创建好的StackArray类,代码如下: import StackArray from 'stack-array.js'...本篇文章,我们了解了什么是数据结构,并深入学习了堆栈这个数据结构,以及如何用JS代码实现堆栈,并讲解了不同的实现方式,同时了解栈在计算机领域的应用,并一起实践了一个十进制数转二进制的练习,接下来本系列文章

    75110
    领券