w3cmm

npm与npx的区别

如果您曾经使用过Node.js,那么一定要使用npm。 npm(node package manager)是在安装Node.js时即可使用的依赖项。它为开发人员提供了一种在全局和局部安装packages的方法。 有时,您可能希望查看特定的package并尝试一些命令。但是,如果不在局部node_modules文件夹中安装依赖项,就无法做到这一点。 npm npm本身不会运行任何程序包。如果要使用npm运行package,则必须在package.json文件中指定该package。 通过npm p … 继续阅读

发表在 Memo | |
w3cmm

使用GZIP压缩优化您的网站

压缩是节省带宽并加快站点速度的一种简单有效的方法。 当您请求http://www.yahoo.com/index.html之类的文件时,浏览器将与Web服务器对话。对话有点像这样: 如果我们可以向浏览器(index.html.zip)发送.zip文件(而不是普通的index.html),则可以节省带宽和下载时间。浏览器可以下载压缩文件,将其解压缩,页面加载速度很快。浏览器与服务器的对话可能如下所示: 这种交换的棘手部分是浏览器和服务器知道可以发送压缩文件了。协议分为两部分 浏览器发送一个标头,告 … 继续阅读

发表在 Memo | |
w3cmm

Serif 和 Sans Serif 字体区别

Sans-serif字体的笔画宽度变化往往比Serif字体小。它们通常用于传达简单性,现代性或简约性。 某些字体的笔画结尾处的小特征称为“Serifs”。 Sans-serif font Serif font Serifs (coloured in red) 一些常见的Serif字体是Times New Roman,Georgia,Palatino和Garamond。 相反,常见的Sans Serif字体包括Arial,Helvetica和Tahoma。 在不同的设计中同时使用Serif和San … 继续阅读

发表在 Memo |
w3cmm

通过font-display控制字体行为

web font的生命周期 在讨论什么是font-display之前,让我们先讨论一下web font的生命周期。 在期间,浏览器将以不可见的字体呈现文本。 这就是为什么在很多使用web font的网站上,在页面的第一次加载期间,您不会看到任何文字或更糟的幻影下划线的原因。 在swap期间,浏览器将以fallback字体呈现文本(在该图中的示例中,这将是默认的“serif”字体)。 failure期意味着未找到字体,在这种情况下,浏览器将使用fallback字体呈现文本,如上所述。 使用新的fo … 继续阅读

发表在 CSS |
w3cmm

不同DOCTYPE声明之间的区别

在HTML 4.01中,<!DOCTYPE>声明是指文档类型定义(DTD)。 这是因为HTML 4.01基于标准通用标记语言(SGML)。 DTD指定了标记语言的规则,以便浏览器正确呈现内容。 HTML5不是基于SGML,因此不需要引用DTD。 这就是HTML5仅具有一种doctype的原因。 <!DOCTYPE html> HTML4.0.1具有三种文档类型 Strict:此DTD包含所有HTML元素和属性,但不包括表达或不推荐使用的元素(如font)。 不允许使用fr … 继续阅读

发表在 HTML |
w3cmm

nginx gzip 配置

压缩每个对象可能会占用服务器硬件的大量CPU资源,这将导致NGINX变慢。不要压缩每个对象,将NGINX配置为仅压缩大型文件,并避免尝试压缩较小的文件(例如图像,可执行文件等)。 编辑/etc/nginx/nginx.conf文件,搜索gzip on;或gzip off;修改为: gzip on; gzip_vary on; gzip_min_length 1024; gzip_proxied any; gzip_types text/plain text/css application/jso … 继续阅读

发表在 Memo | |
w3cmm

prefers-reduced-motion 指南

prefers-reduced-motion媒体查询可检测用户是否已请求操作系统最小化其使用的animation或motion。 语法 no-preference:用户未修改系统animation相关特性。 reduce:如果用户修改了系统设置,将animation效果最小化,最好所有的不必要的motion都能被移除。 示例 reduce <div class=”animation”>animated box</div> .animation { animation: v … 继续阅读

发表在 CSS |
w3cmm

如何升级Node.js版本(Linux, Ubuntu, macOS)

常用的2种升级方法 1.官网 到官网下载最新版https://nodejs.org/en/,重新安装即最新版。 2.使用Package Manager 要更新Node,您需要npm的便捷n moudle。运行以下代码以清除npm的缓存,安装n并安装最新的稳定版本的Node: npm cache clean -f npm install -g n n stable 要安装最新版本,请使用n latest。或者,您可以运行n #.#.#以获取特定的Node版本。 如果在类Unix的计算机操作系统出现 … 继续阅读

发表在 Memo | |
w3cmm

删除、弃用已发布在npmjs上的packages

如何unpublish 作为package所有者或合作者,如果您的package没有dependents,则可以使用CLI从npm注册表中永久删除它。 您可以在初次发布后的72小时内unpublish。 超过72小时后,如果符合某些条件,您仍然可以unpublishpackage。 从packages中删除所有协作者或团队不会unpublish npm Unpublish 政策 注册表数据是不可变的,这意味着一旦发布,package就无法更改。 我们这样做是出于依赖那些packages的用户的安 … 继续阅读

发表在 Memo | |
w3cmm

在Swift中调用Objective-C的代码

1.在你的项目中新建一个.m的的文件,例如:fileName.m。或者拖放外部的.m文件至项目中,会出现下面的提示,选择Create Bridging Header。 2.项目中会添加一个YourProject-Bridging-Header.h的文件,在文件中添加你需要调用的Objective-C头文件。 此时就可以在你的Swift的代码中调用Objective-C方法了。 如果在第1步的操作中没有出现Create Bridging Header提示,你可以在手动创建一个YourProject … 继续阅读

发表在 Memo | |