这里我们首先要捋一下思路,我们需要哪些内容:
- 因为
page.goto(url)
方法要求 url 必须带有 http 协议。所以,我们需要一个Server
模块,启动一个静态资源服务器。使用 http 协议的链接来访问我们需要预渲染的页面。 - 我们需要一个调用
Puppeteer
的模块,用来做预渲染的工作。这个模块需要接受一个routes
参数,标识需要渲染的路由列表。 - 我们需要一个
Index
模块,来调度Service
和Puppeteer
模块。并且,对外提供 API。
我们先来实现最简单的 Service 模块。
Server
模块仅仅是启动一个静态资源服务器,很容易实现。所以,我们需要想明白我们需要哪些必须要的参数。
- 静态文件的地址。这是必须参数,要不然还起什么静态资源服务器。
好像其他也不需要了。我们只要通过这个静态文件的地址,把服务跑起来就行。端口号可以先直接写死。
那让我们来实现这个极其简单的 Server
模块吧!