lazzzis / only-my-blog

source code of my only blog (Deprecated)
MIT License
2 stars 0 forks source link

妈呀... 好看! #1

Open Aneureka opened 6 years ago

Aneureka commented 6 years ago

可以的话能做个hexo主题么... 教练我也想学前端!

lazzzis commented 6 years ago

@Aneureka 可以的,不过做 hexo 主题我就不能保证做成单页应用了(✖╭╮✖),这也是我为什么写这个项目的原因之一。

学前端入门一般不难,虽然我也才学了一两年而已(一。一;;)

wcs980803 commented 6 years ago

真的好看,能做成hexo主题就好了,请问要怎么样才能做成你这个博客

lazzzis commented 6 years ago

@wangchsh 我这几天有空会做一个 hexo 主题试一下,大概参照 hexo-theme-one的样子,因为这个 hexo 主题也是单页应用的

不知道你说的"怎么样"指哪方面,如果是指怎么做 hexo 主题的话,可以参照 Create an Hexo Theme

wcs980803 commented 6 years ago

我把你的代码clone到本地安装依赖运行后只能出现主页面,我还需要做些什么吗?

lazzzis commented 6 years ago

如果你是指 npm run dev 后只能看到首页,那是正常的,因为这里有一条指令我还没更新,即你需要在 dist 目录下启动一个服务器,接受请求。比如, http-server --cors -p 5000


如果你是按照正常的顺序,即 npm run build(生成前端静态文件),npm run gen(生成 api 文件夹),之后,那你确实在 dist 文件里只能看到一个 index.html

如果你再执行 npm run deploy(部署,当然你最好先别执行这个指令,后面会说原因),那么 dist 文件里还会多一个 404.html ,整个 dist 文件夹应该会和 lazzzis/lazzzis.github.io 一样(除了那个 hexo-theme-mls 文件夹)。

这里比较 tricky 的一点是,当你访问 GitHub Pages 上的博客时,如果没有找到你请求的资源,那么 GitHub Pages 就会返回项目目录中的 404.html (参考这里)。这也就是 vue-router 文档说的必要的后台配置,GitHub Pages 帮你实现了。

举个例子,比如你访问 https://lazzzis.github.io/blogs,其实我这 GitHub Pages 项目目录中是没有 blogs 文件夹的,理应是 404,但实际会返回项目的 404.html,而我这里 404.htmlindex.html 文件内容是完全一样的,然后 index.html 中的 js 文件会根据 url 做对应的逻辑,发起对应的请求。


之所以不建议你 npm run deploy,是因为这个项目中有一些魔术字符串 / 魔术数字,你部署后发现有一些细节显示的是我的 id 。。。o(╥﹏╥)o

wcs980803 commented 6 years ago

非常谢谢你的回答,可我还是有些不太懂,我在执行 npm run gen 后报了一个错误 SyntaxError: Unexpected token function at createScript (vm.js:56:10) at Object.runInThisContext (vm.js:97:10) at Module._compile (module.js:542:28) at Object.Module._extensions..js (module.js:579:10) at Module.load (module.js:487:32) at tryModuleLoad (module.js:446:12) at Function.Module._load (module.js:438:3) at Module.runMain (module.js:604:10) at run (bootstrap_node.js:393:7) at startup (bootstrap_node.js:150:9) 没有生成api文件夹,还想请问你怎么在 dist 目录下启动一个服务器,接受请求

lazzzis commented 6 years ago

这个问题解决了,起因貌似是我这边环境配置上的偏差,因为我本机测试是没问题,但换到另一架机器上却报错了。

启动服务器现在可以用 npm run server,即可看到一个服务启动了。然后新开个终端,跑 npm run gen 生成 api 文件夹。接着执行 npm run dev,那么应该没有问题,可以看到效果了。

我已经把这个项目改写成 hexo 主题了 -- hexo-theme-only。你可以考虑使用这个主题。

Aneureka commented 6 years ago

这么快的吗!

wcs980803 commented 6 years ago

非常感谢你^_^,这个主题非常漂亮,抱走啦