- 打开 mac 终端
- 在菜单栏中找到 Shell->新建远程链接
- Shell 中新增服务器配置
1 | ssh root@localhost -p 29180 |
1 | ssh root@localhost -p 29180 |
Algolia 登陆页面,可以使用 GitHub 或者 Google 账户直接登录,也可以注册一个新账户。我直接用谷歌账户登陆了,注册后的 14 天内拥有所有功能(包括收费类别的)。之后若未续费会自动降级为免费账户,免费账户 总共有 10,000 条记录,每月有 100,000 的可以操作数。
注册完成后,创建一个新的 Index,这个 index name 之后会用到
Index 创建完成后,此时这个 Index 里未包含任何数据。 接下来需要安装 Hexo Algolia 扩展, 这个扩展的功能是搜集站点的内容并通过 API 发送给 Algolia。前往站点根目录,执行命令安装:
npm install hexo-algolia –save # 目前最新版本是1.2.4,下面的操作都是基于这个版本的文档
复制代码获取 Key,更新站点根目录配置
前往站点根目录打开_config.yml添加以下代码
1 | algolia: |
复制代码修改Algolia搜索ACL(访问控制列表)
选中后保存。
操作完成后执行命令
1 | export(windows 为 set) (Powershell 用 $env:) HEXO_ALGOLIA_INDEXING_KEY=你的Search-Only API key |
查看环境变量HEXO_ALGOLIA_INDEXING_KEY是否已经存在
1 | export | grep ALGOLIA |
如果出现下面的0 posts indexed,先执行命令:hexo clean
1 | INFO 93 files generated in 197 ms |
1 | this.data.arr[i] = xxx; |
减少http请求次数:CSS Sprites, JS、CSS源码压缩、图片大小控制合适;网页Gzip,CDN托管,data缓存 ,图片服务器。
前端模板 JS+数据,减少由于HTML标签导致的带宽浪费,前端用变量保存AJAX请求结果,每次操作本地变量,不用请求,减少请求次数
用innerHTML代替DOM操作,减少DOM操作次数,优化javascript性能。
当需要设置的样式很多时设置className而不是直接操作style。
少用全局变量、缓存DOM节点查找的结果。减少IO读取操作。
避免使用CSS Expression(css表达式)又称Dynamic properties(动态属性)。
图片预加载,将样式表放在顶部,将脚本放在底部 加上时间戳。
避免在页面的主体布局中使用table,table要等其中的内容完全下载之后才会显示出来,显示比div+css布局慢。
对普通的网站有一个统一的思路,就是尽量向前端优化、减少数据库操作、减少磁盘IO。向前端优化指的是,在不影响功能和体验的情况下,能在浏览器执行的不要在服务端执行,能在缓存服务器上直接返回的不要到应用服务器,程序能直接取得的结果不要到外部取得,本机内能取得的数据不要到远程取,内存能取到的不要到磁盘取,缓存中有的不要去数据库查询。减少数据库操作指减少更新次数、缓存结果减少查询次数、将数据库执行的操作尽可能的让你的程序完成(例如join查询),减少磁盘IO指尽量不使用文件系统作为缓存、减少读写文件次数等。程序优化永远要优化慢的部分,换语言是无法“优化”的。
使用 node.js 或 python。
1 | import Vue from "vue"; |
1 | <template> |
某些情况下,我们需要子组件改变某个值的时候,父组件的值也更改,常规的实现方法如下:
1 | // 父组件中有个 title 的值传递到子组件中 |
通过 .sync 修饰符,可以简写父组件,子组件中增加的方法不变:
1 | // 父组件写法 |
先升级 npm 可能会导致 nodejs 和 npm 版本不一致,无法安装其他包
npm 安装包失败可尝试以下命令:
1 | sudo chown -R $USER:$GROUP ~/.npm |
或
1 | sudo npm install -g --unsafe-perm=true --allow-root |
安装 node-sass 失败
1 | sudo npm install node-sass@4.11.0 --unsafe-perm=true --allow-root |