打包文档_如何免费从 0 构建快速文档网站

news/2024/5/14 11:52:20/文章来源:https://blog.csdn.net/weixin_39753791/article/details/112702768

背景图片使用了John Schnobrich 拍的照片

这一篇文章聊一聊如何做一个文档网站,免费并且加载速度较快,是我在做 http://usetable-ahooks.js.org/ 的一些经验,可以多多交流。

做文档网站,主要分成四部分来讲,分别是

  • 选择文档构建器,我们选择了 dumi
  • 选择静态文件托管服务器,我们选择了 surge
  • 选择域名,我们选择使用了 js.org
  • 选择 CDN,我们选择用了 http://unpkg.zhimg.com/

文档构建器

dumi 拥有完善的构建能力,从开发阶段到打包阶段。我们只需要按照它的规范写文档,基本上可以自动完成一个漂亮的本地文档网站。

dumi 的配置 publicPath 支持我们配置 CDN 路径,这个方便我们下面把一些静态文件换成 CDN 路径。

静态文件托管

surge 使用起来也是比较方便的,第一步你下载 surge 包

npm install surge -g

然后在你当前目录执行 surge

surge ./dist --domain <your-domain-name>.surge.sh

dist 是 dumi 默认打包生成的文件夹,并且可以自定义 domain 名称,比如我这边就叫做 usetable-ahooks.surge.sh ,推上去之后你就会发现你可以通过 usetable-ahooks.surge.sh 访问到你的文档了。

但是这个时候路由还是有问题,当你直接访问你的网站多级目录的时候就出现找不到对应页面,因为这个时候路由不是你的 js 来控制而是 surge.sh 来控制,而 dumi 默认打包之后是一个 SPA,路由只能用本地的 js 来控制。不过这个问题 surge 提出了一个解法,Adding a 200 page for client-side routing。

所以我在构建成功之后写了一个脚本,把 dumi 生成的 index.html copy 一份到 200.html,与 index.html 同一级。代码也是很简单,可以看这里。

const fse = require('fs-extra'); 
fse.copySync('./dist/index.html', './dist/200.html');

这个时候路由都是 umi 来控制了。不过你可能想要换个装逼点的域名,比如 http://xxx.js.org,好像是比 xxx.surge.sh 更有前端味道。

域名

你可以到 js.org Github 仓库上提 PR,他们处理效率很快,基本上如果符合他们的规范的话基本上一天就可以搞定。详情可以参考我之前配置的 usetable-ahooks.js.org PR。

CDN

其实上面已经完成了一个免费网站的建立了,但是你会发现访问你的网站还是很慢,基本上有时候想要 30 秒才能出来页面,首屏实在太久了。

分析的原因是打包出来的 umi.js 压缩之后有 700 K,加载速度太慢,影响了页面渲染速度。毕竟我们直接把静态文件放在 surge 上面了,国内访问速度还是比较慢。

所以转换了另外一个思路,就是 surge 只是托管 html,其它静态资源比如 js、css、svg 托管在一些 CDN 平台上。第一个想到的是 unpkg.com,直接同步 npm 包到 CDN 上,然后搜了一把居然有国内镜像,unpkg.zhimg.com,基本上 700 K 的 js 可以在 400 毫秒内返回,这个真的太棒了。

因为 http://unpkg.zhing.com 是直接去同步 npm 包的,所以我把 dist 文件夹里面的内容写了一个脚本同步到 npm,npm 包的版本都是时间戳,这样子每次推上去都是最新的包,然后结合刚才说的 dumi 配置 publicPath,把 html 内嵌的静态文件全部设置到 CDN 上,具体的代码可以查看 useTable/scripts 。

最后

最后把刚才要处理的事情写成一个命令,结合 package.json 的 script,可以做到一键更新文档。

{"scripts": {// 以时间戳作为版本,发布 dist 目录内容到 npm 上"cdn": "node ./scripts/cdn",// copy index.html 到 200.html,解决路由问题"surge": "node ./scripts/surge",// 生成时间戳的版本号,这个版本号跟上面发布 npm 的版本号一致,并且构建文档"docs:build": "node ./scripts/version && dumi build && npm run cdn && npm run surge",// 发布到 surge"docs:pub": "surge ./dist --domain usetable-ahooks.js.org; surge ./dist --domain usetable-ahooks.surge.sh",// 入口"docs:deploy": "npm run docs:build && npm run docs:pub",}
}

使用的时候就直接 npm run docs:deploy 就行了。据不完全统计,之前 30 秒的速度,有了国内 CDN 能力加持之后,速度可以提升到 3 秒以内,如果第二次访问的话,加上 HTTP 一些强缓存之后基本可以在 1 秒内打开页面。

最后是网站长的样子

888bd00ac7a726e889d2a6026a19da45.png

更多信息可看

  • 官网 https://usetable-ahooks.js.org/
  • Github https://github.com/ahooksjs/useTable/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_765301.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

pythonのscrapy抓取网站数据

&#xff08;1&#xff09;安装Scrapy环境 步骤请参考&#xff1a;https://blog.csdn.net/c406495762/article/details/60156205 需要注意的是&#xff0c;安装的时候需要根据自己的python的版本进行安装。 &#xff08;2&#xff09;创建Scrapy项目 通过命令创建&#xff1a; …

搭建前后端分离网站

后台网站基于&#xff1a;VueCli 3.0 ElementUI Asp.Net Core WebApi MongoDB 实现 前端&#xff1a;VueCli 3.0 安装Node.JS&#xff0c;npm 是 JavaScript 世界的包管理工具,并且是 Node.js 平台的默认包管理工具。下载Node.JS 安装 Vue Cli 3.0 npm install -g vue/cli…

HTML吸引人眼球的网页,超吸引眼球的优秀网站设计欣赏

1. Catch Fish And ChipsCatch fish and chips 是一家专卖炸鱼块及薯片的连锁餐厅&#xff0c;网站已分段的影片衔接各页面之间的转换&#xff0c;清晰的画面不仅凸显食材的新鲜、美味的形象&#xff0c;也巧妙的抓住了消费者的注意力&#xff0c;会让人想认真转动滚轮到最下方…

java 网站加入git_使用git提交项目到码云

一、git安装2、找到Git-2.11.exe文件&#xff0c;双击安装3、点击next继续下一步4、更改安装路径&#xff0c;点击next下一步5、勾选Additonai icons&#xff0c;创建桌面图标&#xff0c;不想创建桌面图标可不勾选此项&#xff0c;点击next下一步6、在Adjusting your PATH env…

如何判断一个网站是不是php,怎样查看一个网站是否使用织梦程序做的及其版本...

原标题&#xff1a;怎样查看一个网站是否使用织梦程序做的及其版本对于一个自己看上的好网站&#xff0c;我们总是迫不及待的想知道它是用什么程序做的。然后自己也可以通过仿站、采集等做一个类似的站点。今天分享点如何判断一个网站是否是使用的织梦DedeCMS程序制作的知识&am…

Linux三大主流网站构建平台,第二十三期 Linux的LAMP网站平台构建

在CentOS7系统中开启Web/FTP等网络服务应用时&#xff0c;可能会收到默认配置的防火墙、SELinux等安全防护策略影响。为了避免干扰&#xff0c;学习过程中建议禁止这些保护机制。关闭防火墙策略&#xff1a;[rootsvr7 ~]# systemctl stop firewalld[rootsvr7 ~]# systemctl dis…

不错的anroid源码在线浏览网站【学习笔记】

不错的anroid源码在线浏览网站&#xff1a;http://androidxref.com/ 转载于:https://www.cnblogs.com/zzb-Dream-90Time/p/10643972.html

网站截流项目长期正规可落地操作3天日赚400+

在大多数人的印象里网站赚钱对于小白来说难度较高&#xff0c;而且周期比较长&#xff0c;需要每天更新文章和做SEO坚持几个月下来也未必能带来多大的收益&#xff0c;而很多人在坚持1个月不到就放弃了。 网站截流&#xff0c;顾名思义就是截取别人的流量来操作变现&#xff0…

蜘蛛池对网站收录和排名的促进作用究竟有多大?

很多人都认为使用蜘蛛池可以促进网站的收录和排名&#xff0c;但是&#xff0c;因为大部分人购买蜘蛛池不懂辨别&#xff0c;导致&#xff0c;买了蜘蛛池也没有效果&#xff0c;那么&#xff0c;蜘蛛池对网站收录和排名的促进作用究竟有多大呢&#xff1f; 一、什么是蜘蛛池&am…

为什么SEO越来越难做了?SEO怎么才能做出效果?

SEO越来越难做&#xff0c;这已经成为一种常态&#xff0c;不像以前做SEO可以坐享其成&#xff0c;现在做SEO的难度要比以前大很多&#xff0c;那么&#xff0c;为什么SEO越来越难做了&#xff1f;SEO怎么才能做出效果&#xff1f; 一、竞争激烈 以前SEO好做的时候&#xff0c…

网站关键词的SEO技巧,快速获得百度排名首页

网站SEO优化的核心任务&#xff0c;就是快速获得网站关键词在百度首页的排名&#xff0c;这也是每个网站运营人员的期望所在。然而&#xff0c;由于大多数新手的操作总是事与愿违&#xff0c;无论如何努力&#xff0c;都没有使用正确的SEO技巧把排名做好&#xff01; 其实&…

做SEO和SEM有什么区别?哪个推广效果会更好?

很多企业在选择营销方式上&#xff0c;存在错误的认知&#xff0c;不知道怎么选择&#xff0c;是免费的SEO还是付费的SEM&#xff1f;究其原因&#xff0c;是不知道SEO和SEM有什么区别&#xff0c;企业做推广用哪种方式&#xff0c;推广效果会更好一些呢&#xff1f; 一、SEO和…

网站文章关键词重复,对于SEO有哪些不良影响?

新手写文章&#xff0c;一般都习惯逮着一个关键词往死里写&#xff0c;各种长尾&#xff0c;但是&#xff0c;在搜索的时候会发现&#xff0c;关键词重复率太高&#xff0c;那么&#xff0c;网站文章关键词重复&#xff0c;对于SEO有哪些不良影响呢&#xff1f; 一、什么是关键…

反链是什么意思?网站反链对于SEO有哪些作用?

大家在做网站SEO的时候&#xff0c;会接触一个词汇&#xff0c;叫做反链&#xff0c;或者是反向链接&#xff0c;而且&#xff0c;在使用站长工具查询的时候&#xff0c;会看到反链数据&#xff0c;那么&#xff0c;反链是什么意思&#xff1f;网站反链对于SEO有哪些作用呢&…

内页收录慢怎么办?网站内页多久能被百度收录?

很多网站上线以后&#xff0c;首页收录在一周内就可以完成&#xff0c;在百度搜索品牌词就会在首页显示&#xff0c;排名比较稳&#xff0c;但是&#xff0c;文章页却很容易一直不被收录&#xff0c;那么&#xff0c;内页收录慢怎么办&#xff1f;网站内页多久能被百度收录呢&a…

SEO行业怎么了?

SEO行业最近很焦虑&#xff0c;打开交流群都是流量排名掉了、网站出问题、SEO还有前景吗诸如此类的话题。我也是焦虑大军的其中一员&#xff0c;以自己狭隘的角度思考的发际线都前移了&#xff0c;总结一些自己对于SEO行业的思考&#xff0c;仅代表个人观点。 一.原创还是不原…

知名在线音乐网站音悦Tai疑似倒闭

知名在线音乐网站音悦Tai疑似倒闭&#xff0c;官网无法正常访问&#xff0c;App数据异常被下架&#xff0c;官方微博账号也改行卖鞋&#xff0c;估计凉了! 音悦台上线于2009年&#xff0c;建站之初凭借&#xff1a;更新快&#xff0c;画质高&#xff0c;韩流正盛&#xff0c;迅…

实战分享:如何通过黑帽SEO快速获取庆余年这类电视剧流量

不少人都唱衰SEO这个行业&#xff0c;实际上大多数都是SEO工薪阶层在谈论这个话题&#xff0c;当然不可否认搜索引擎优化确实没有以前那么火热&#xff0c;但是不代表SEO就没有前途了。我最近做了一个SEO站&#xff0c;主要是用来攻克黑帽操作&#xff0c;目的就是快速做流量。…

正式发布!微信小程序seo搜索优化指南!

继上次发布小程序页面搜索指导之后&#xff0c;微信新发布小程序seo搜索优化指南&#xff0c;推出新的小程序搜索标准 微信发布小程序seo搜索优化指南 小程序 微信 微新闻 第1张 以下是微信官方发布的具体搜索标准&#xff1a; 小程序里跳转的页面 (url) 可被直接打开。 小程…

谷歌搜索突显网站的ICO图标和网址

在继谷歌搜索移动端实行优先展示网站图标和网址之后。PC端搜索结果也开始调整&#xff0c;突出显示网站图标和网址! 此前谷歌搜索结果突出显示图标和网址一直是在移动端实行&#xff0c;近日pc端终于跟上&#xff0c;在谷歌搜索网站品牌词时会将网站的图标和网址进行突出显示&a…