npm 包 spash 使用教程

简介

spash 是一个用于生成预渲染网页的 npm 包,它基于 Headless Chrome 技术实现,在不需要浏览器情况下,生成与浏览器渲染结果一致的预渲染网页。它的应用场景很广泛,比如前端 SEO、动态页面正常抓取等等。

安装

我们可以使用 npm 安装 spash :

--- ------- -----

安装后,我们就可以在项目中引用它了。

基本用法

spash 可以通过 API 来调用,最基本的用法是:

----- ----- - -----------------

-------
  ---- ----------------------------
  ----- -----                              
-------------- -- -
  ------------------
-------------- -- -
  -------------------
---

这里我们向 spash 传递了两个参数,第一个参数是 url,代表需要渲染的网页链接;第二个参数是 wait,代表等待时间,也就是 spash 等待页面加载完全的时间。

这样,我们就可以得到页面的 html 原始代码,包括 AJAX 和 JavaScript 添加的内容。

更多配置

除了上述基本用法,我们还可以通过 spash 完成更多预渲染网页的功能。

1. 代理

在使用 spash 过程中,我们可以在请求的地址后添加代理,在代码中添加以下代码实现代理:

----- ----- - -----------------

-------
  ---- ----------------------------
  ------ -------------------------------------------------
-------------- -- -
  ------------------
-------------- -- -
  -------------------
---

2. 渲染模式

我们可以使用不同的渲染模式来获取不同的页面大小,以及各种 js 库定义的路由,这里列举了三种模式:

渲染 HTML

----- ----- - -----------------

-------
  ---- ----------------------------
  ----------- -------
-------------- -- -
  ------------------
-------------- -- -
  -------------------
---

这种模式渲染出的 HTML 将没有 DOM 对象的 JavaScript 附加。

渲染 JPEG

----- ----- - -----------------

-------
  ---- ----------------------------
  ----------- -------
  ------------ ---
  ------ ----
  ------- ----
-------------------- -- -
  -------------------------------
-------------- -- -
  -------------------
---

使用这种模式可以通过生成 JPEG 图片拿到页面的渲染结果。其中,width 和 height 是图片的宽和高,jpegQuality 可以控制图片的质量。

渲染 PNG

----- ----- - -----------------

-------
  ---- ----------------------------
  ----------- ------
  ------ ----
  ------- ----
------------------- -- -
  ------------------------------
-------------- -- -
  -------------------
---

使用这种模式可以通过生成 PNG 图片拿到页面渲染结果。

3. 启用 JavaScript

默认情况下,spash 不会执行页面中 JavaScript 代码。如果需要执行,我们可以通过以下设置启用:

----- ----- - -----------------

-------
  ---- ----------------------------
  ----------- -----
-------------- -- -
  ------------------
-------------- -- -
  -------------------
---

这时候,spash 将会执行页面中的 JavaScript 代码并获取最终结果。

实际应用

以上就是 spash 的常规使用方法,我们可以根据实际情况进行配置。同时,为了更好的实际应用效果,我们需要对一些细节进行考虑:

1. 页面优化

spash 预渲染网页的结果,通常是要放在实际网站前面,所以我们需要进行页面优化,提高性能。我们可以从以下几个方面进行优化:

  • 减少图片数量和大小
  • 压缩 CSS 和 JavaScript
  • 减少 HTTP 请求

这些方法不仅可以提高页面性能,还有助于提高 SEO 搜索排名。

2. 开启缓存

预渲染网页的场景中,通常网页中的内容是基本稳定的,所以我们可以开启缓存功能,减少重复渲染带来的负载。你可以使用像 Memcashed 或者 Redis 等缓存组件,将渲染结果存储在缓存中,并在下次请求时读取缓存,提高页面响应能力。

总结

本文介绍了 spash 的基本使用方法以及更多实际应用场景中的细节优化。使用 spash 可以帮助我们更好的进行前端 SEO、动态页面正常抓取等等,同时可以从以上场景中学到更多细节优化的方法,提高网页性能。

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/6006707e8ccae46eb111ef11


猜你喜欢

  • npm 包 which-exclude-npm 使用教程

    在前端开发中,我们会经常使用到 npm 包来实现功能,但在使用这些包时,有时候会遇到一些困惑。例如,当我们在项目中同时引入多个同名的包时,我们想要知道哪个包被使用了,而不是被覆盖了。

    4 年前
  • npm 包 websquare-jshint 使用教程

    在现代的前端开发中,很多开发者都使用 npm 包管理工具,在实现功能的同时也需要有一定的代码规范和规范化管理。在此,我想向大家介绍一个非常优秀的 JavaScript 静态分析工具 —— websqu...

    4 年前
  • npm 包 weex-vue-migration 使用教程

    简介 weex-vue-migration 是一个用于帮助开发人员在使用 Vue.js 重构 Weex 项目时进行迁移的工具类 npm 包。我们知道,Weex 是一种使用 Vue.js 开发跨平台移动...

    4 年前
  • npm 包 wepy-relogin 使用教程

    前言 随着移动互联网的迅速发展,小程序市场逐渐兴起,在这个市场中,小程序的开发成为了一项重要的任务。其中,wepy-relogin 是一个非常实用的 npm 包,可用于小程序中 Token 的更新和登...

    4 年前
  • npm 包 wepy-slide 使用教程

    wepy-slide 是一款基于 Wepy 框架的移动端轮播组件,轻量且易于使用。在本篇文章中,我们将深入讲解 wepy-slide 的使用方法和其内部实现原理。 安装 wepy-slide wepy...

    4 年前
  • npm包wepy-slide-card使用教程

    前言 随着移动互联网的发展,人们对于交互体验有了更高的期望值,滑动卡片成为了常见的UI效果。现在,我们已经有许多框架支持滑动卡片效果,其中wepy-slide-card就是一款非常方便易用的npm包。

    4 年前
  • npm包wepy-sticker使用教程

    随着社交媒体的普及,表情包也越来越受到人们的欢迎。作为前端开发人员,我们可以利用npm包wepy-sticker来创建自己的表情包。 什么是wepy-sticker? wepy-sticker是一款基...

    4 年前
  • npm 包 websql-promisified 使用教程

    在前端开发中,使用数据库是一种很常见的需求。而 WebSQL 是一个轻量级的前端数据库技术,可以很容易地存储和读取数据,并且在各种浏览器中都被广泛支持。在实际应用中,我们需要使用一些库来帮助我们更方便...

    4 年前
  • npm 包 websql-sugar 使用教程

    前言 在前端开发中,我们常常需要数据存储和操作,因此我们需要选择一种合适的数据库及操作方式。其中,WebSQL 是一种在浏览器上使用的 SQL 数据库,功能类似于 SQLite。

    4 年前
  • npm 包 weex-vue-render 使用教程

    简介 weex-vue-render 是针对前端开发者的一个 npm 包,它可以帮助我们在使用 Vue.js 开发 Weex 应用时,更加便捷地管理和渲染我们的代码。

    4 年前
  • NPM 包 whilst 使用教程

    前言 在前端开发中,我们经常需要进行异步编程。而异步编程有个非常重要的概念,那就是回调函数。而有些时候,我们需要在回调函数执行完毕后再次执行该函数,这就会导致代码的复杂度增大,可读性降低。

    4 年前
  • npm 包 whim 使用教程

    前言 npm,即 Node.js 的包管理工具,是目前最流行的 JavaScript 包管理器之一。它允许您轻松管理依赖项,从而加快了项目的开发速度。本文将介绍一个npm 包 - whim,它是一个简...

    4 年前
  • npm 包 weex-x 使用教程

    简介 weex-x 是一款专为 Weex 前端开发量身定制的 NPM 包,它提供了一系列的组件、工具和函数,能够帮助开发者更快速、更方便的开发出高质量、高性能的 Weex 应用程序。

    4 年前
  • npm 包 weex-vuex-loader 使用教程

    前言 weex-vuex-loader 是一个专门为 Weex 开发提供的 webpack loader,可以在 Weex 应用中使用 Vuex 进行状态管理。本文将详细介绍 weex-vuex-lo...

    4 年前
  • npm 包 weexpack 使用教程

    如果你是一位前端开发人员,那么你一定会接触到 Weex,这是一个用于开发跨平台移动应用的框架。其中一个重要的开发工具就是 weexpack,它是一个 Node.js 包管理工具,帮助我们快速开发和构建...

    4 年前
  • NPM包WeexPack-Android使用教程

    WeexPack-Android是一个基于Weex的Android打包工具,通过使用WeexPack-Android,我们可以快速地将Weex项目打包成Android APK。

    4 年前
  • npm 包 weexify 使用教程

    在前端开发中,我们经常会遇到需要在多个平台上进行开发的问题。通常情况下,我们需要使用不同的技术栈来进行开发,这给开发带来了很大的麻烦。不过现在有了 weexify 这个 npm 包,我们就可以方便地在...

    4 年前
  • npm 包 weexpack-ios 使用教程

    在前端开发中,使用 weex 进行混合开发已经成为了一个主流趋势。weex 提供了很多便利的功能和工具,其中 weexpack-ios 作为一个可以让我们更方便地集成和调试代码的 npm 包,这里详细...

    4 年前
  • npm 包 weezer 使用教程

    显然,现代网页的前端开发离不开众多优秀的 npm 包。其中,weezer 是一个非常值得学习和使用的工具。在本篇文章中,我们将详细介绍如何使用 weezer 这个包,以及它所带来的深刻教训和指导意义。

    4 年前
  • npm 包 whiffer 使用教程

    在前端开发中,我们经常需要对网页进行性能分析,以确保网页能够快速加载和响应用户操作。而 whiffer 就是一个能够对浏览器请求进行拦截和分析的工具,方便我们进行性能优化和调试的 npm 包。

    4 年前

相关推荐

    暂无文章