Hexo 图片插入插件的使用
都说 Hexo 是 markdown 语法,插入图片不也用语法插入就OK了么,但是我在插入图片时,遇到了问题。 我使用过 github 路径,码云路径,都有问题;具体可自行尝试,本文主要简述插件的使用。哦,对了,我还使用过把图片转为 base64 编码的数据用于插入的,问题是解决了,新的麻烦又来了,文章要插入大量图片时,真的很烦QAQ。 hexo-asset-image使用 hexo-asset-image 插件为 hexo 博客添加插入图片,步骤: hexo 项目安装该依赖,yarn add hexo-asset-image; 修改配置文件 _config.yml123post_asset_folder: trueurl: https://xxxxxx.github.io # 自己项目的 git 仓库 将需要引用的图片存放在与文章名同名的文件夹中1234_posts -image-test -example.png -image-test.md 在 markdown 文档中直接使用模板语法插入图片1{% asset_img example.pn ...
搭建自己的 Vue-SSR
SSR(Server Side Render)什么是 SSRSSR 是 Server Side Render 简称,就是在服务端进行渲染生成 HTML 文件,浏览器显示生成的 HTML 文件, 补充:我们传统使用的属于 CSR 是 Client Side Render ,页面上的内容是我们加载的 JS 文件渲染出来的,文件运行在浏览器上面。 Vue 官方对 SSR 的解释Vue.js 是构建客户端应用程序的框架。默认情况下,可以在浏览器中输出 Vue 组件,进行生成 DOM 和操作 DOM。然而,也可以将同一个组件渲染为服务器端的 HTML 字符串,将它们直接发送到浏览器,最后将这些静态标记”激活”为客户端上完全可交互的应用程序。 服务器渲染的 Vue.js 应用程序也可以被认为是”同构”或”通用”,因为应用程序的大部分代码都可以在服务器和客户端上运行。 为什么使用服务器端渲染与传统 SPA (单页应用程序 (Single-Page Application)) 相比,服务器端渲染 (SSR) 的优势主要在于: 更好的 SEO,由于搜索引擎爬虫抓取工具可以直接查看完全渲染的页面。 ...
Github Actions 自动化构建服务
CI/CD 已经是现代互联网项目的主流,它能帮助我们处理繁琐的打包构建工作,本博客是基于 Travis CI 构建的,最近在学习中遇到了 Github Actions,感觉很强大,很好玩,就此记录一下学习过程中的使用。 Github ActionsGitHub Actions 是 GitHub 于2018年10月推出的持续集成服务。官方定义如下,在 GitHub Actions 的仓库中自动化、自定义和执行软件开发工作流程。 您可以发现、创建和共享操作以执行您喜欢的任何作业(包括 CI/CD),并将操作合并到完全自定义的工作流程中。 总之它的目的,和其他三方平台一样,帮助我们解决构建部署的工作;不一样的是,它无需我们自己编写复杂的打包构建脚本,如果我们需要某项操作时,可以直接下载别人写好的 Action 即可,所有的 Action 构成自己的工作集合,即 Actions。Github 还做了一个官方市场,方便我们找到相应的 Action 使用。 前置准备既然是 CI/CD 的操作,前提就是需要有项目和服务器,部署就交给 Github Actions。 项目准备此处我使用了一个基于 N ...
前端工程化之 Gulp
在前端项目日益复杂的今天,开发效率的提升显得尤为重要,大前端大势所趋,项目工程化也成为一个合格前端开发者必不可缺的技能之一。 前端项目工程化能解决一系列开发时遇到的问题,包括: 传统语言或语法带来的弊端;无法使用模块化或组件化的编程方式去组织代码;大量重复的机械工作;很难的代码风格统一、质量保证;开发过程中依赖后端服务接口支持;整体依赖后端,需要服务运行起整个项目;作为一个没接触过Gulp的小白,现在开始学习最流行的前端工程化工具Gulp,干巴得! Gulp基本使用特点:高效易用; 使用 Gulp 过程简单,先在项目中安装一个 Gulp 的开发依赖,然后在项目根目录 package.json 文件中添加一个 gulpfile.js 的文件,用于编写一些需要 Gulp 自动执行的任务,完成后可以使用 Gulp 提供的 cli 去运行这些任务。 初始化项目文件 package.json ,执行 yarn add gulp --dev,将 gulp 作为开发依赖安装,这个过程会同时安装一个叫 gulp-cli 的模块,此时在 node_modules 下会有一个 gulp 的命令,用于后 ...
JavaScript 性能优化
找工作的小伙伴是否有注意到,现在招聘要求中基本都会涉及性能优化的部分?前端涉及优化点很多,本文重点关注JavaScript语言层面能做的优化,今天我们就来让 JavaScript 搞快点,从以下几点展开介绍: 内存管理 垃圾回收与常见的GC算法 V8引擎的垃圾回收 Performance工具 代码优化实例 JavaScript内存管理(Memory Management)内存管理介绍 内存:由可读写单元组成,表示一片可操作空间 管理:人为地去操作一片空间的申请、使用和释放 内存管理:开发者主动申请空间、使用空间、释放空间 管理流程:申请 –> 使用 –> 释放 JavaScript中的内存管理JavaScript中没有提供API供开发者主动调用操作内存空间,但是js中的一个生命周期也经历了这几个阶段: 12345678// 申请 ===================let obj = {} // 变量声明时,分配内存 // 使用 ===================obj.name = 'SeaChan' ...
TypeScript 学习笔记
TypeScript(本文后续统一使用TS),是一门解决JavaScript自有类型系统问题的语音(提高代码可靠程度)。它是JavaScript类型的超集,可以编译出纯净、 简洁的JavaScript代码,并且可以运行在任何浏览器上、Node.js环境中和任何支持ECMAScript 3(或更高版本)的JavaScript引擎中。 前置知识 强类型与弱类型 静态类型与动态类型 JavaScript自有系统类型问题 强类型与弱类型(类型安全)强类型:在语言层面就限制了函数的实参类型必须与形参类型相同;弱类型:语言层面不会显示实参的类型; 强类型有更强的类型约束,而弱类型中几乎没有约束,强类型语言中不允许任意的隐式类型转换,而弱类型语言则允许任意的数据隐式类型转换。 JavaScript就是典型的弱类型语言。JavaScript中所有错误都是在代码执行层面,通过逻辑判断手动抛出的。 123'100' - 50 // 50Math.floor('foo') // NaNMath.flor(true) // 1 静态类型与动态类型(类 ...
ES新特性
ECMAScript(ES):也是脚本语言,通常被看成是JavaScript的标准化规范,实际上JavaScript是ES的扩展语言,ES提供了基本的语法,比如怎么去定义变量,怎么进行条件判断等。JavaScript则实现了这些语法,并做了相应的扩展,比如在浏览器环境中操作BOM/DOM,在node环境中操作文件等操作。 浏览器环境:JavaScript = ES + Web APIs(BOM+DOM)node环境:JavaScript = ES + Node APIs(fs + net + etc.) ECMAScript和JavaScript的关系:1996年11月,JavaScript的创造者–Netscape公司,决定将JavaScript提交给国际标准化组织ECMA,希望这门语言能够成为国际标准。次年,ECMA发布262号标准文件(ECMA-262)的第一版,规定了浏览器脚本语言的标准,并将这种语言称为ECMAScript,这个版本就是1.0版。该标准一开始就是针对JavaScript语言制定的,但是没有称其为JavaScript,有两个方面的原因。一是商标,JavaSc ...
JavaScript 中的 this 到底是什么
文章刚初始化,后续完善内容。。。