前言
喜欢做笔记的,大家可能都尝试过非常多款应用。比如印象笔记,小米便笺,坚果云,有道云笔记,等等不一而足。
今天我想要分享给大家的,是一款本地也能用的App——memos。是开源免费的。
文末有编译打包好的App文件,本地点击打开即可使用。
仓库
要说的这款应用,名字叫 memos,github的仓库地址是这里:
官网体验地址:
这个仓库开放源代码是全量的,也就是说前后端的代码,都是完全开源的。
不像有些项目,打着开源的幌子,其实核心功能闭源;离开核心功能,项目基本就没办法用。这里就不公开点名了哈。
手动搭建
项目本地开发搭建,官方推荐是有4个依赖。
1,环境依赖,细分了讲,就两个:
golang:go语言环境,项目使用的是1.19及以上。后端逻辑,和数据库操作,资源上传。使用最新版就好了。nodejs:前端页面技术栈。项目使用的是18.0.3及以上。安装最新版省去麻烦。
2,拉取代码
使用 git 客户端拉取仓库代码,或直接手动在github页面下载 master 分支的zip文件。
git clone https://github.com/usememos/memos.git
3,前端:安装依赖
进入 memos/web 目录,使用 yarn 安装依赖。我本地使用仓库推荐的 pnpm 安装javascript依赖,没有安装成功。使用 yarn 一次就过了。
yarn
4,前端:编译项目
查看 package.json 文件,scripts 部分提供了编译指令。
执行以下命令:
npm run build
稍等片刻,没有异常 error 或 exception,编译好的项目就在 memos/web/dist 目录下了。
5,重要!!!dist 目录拷贝
我们不打算前后端项目分开部署,memos提供了 embeded 方式,将前端代码嵌入到golang的项目内。所以,为了最后打包为单一的 exe 可执行文件。这一步是必须的。
Move-Item "./server/dist" "./server/dist.bak"
Move-Item "./web/dist" "./server/" -Force
这里有两行命令,
- 第一条是把原有的
server/dist目录修改名字,进行备份。 - 第二条是把编译好的前端
web/dist目录,复制到server/dist目录。
6,后端:安装依赖
下面编译后端代码。首先是安装 golang 的依赖项。命令行执行:
go mod tidy
保证没有异常,依赖安装成功,才能进入下一步。
7,后端:编译
仓库给出的开发文档,我们可无需指定更多的编译参数,直接运行:
go build
就会在当前根目录下获取到编译之后的,当前操作系统平台和架构的二进制文件。以windows 10 为例,编译后文件名,就是项目 go.mod 指定的名字——memos.exe。
到这里,就大功告成了。
上手使用
上一节编译好的 memos.exe 文件,双击打开。
默认监听在 8081 端口,也可以手动指定:
memos --port 8083
那么就会监听在指定的 8083 端口。
1,打开浏览器,输入网址:
2,登录页面
3,选择简体中文
根据使用习惯,选择简体中文。
4,默认管理员
本应用所使用的默认管理员账号密码分别是
用户: admin
密码: 123456
5,内容界面
左侧导航栏,选择设置。
语言选择简体中文。
6,界面一览
这里是主界面的信息流。
还有我比较喜欢的“每日回顾”功能。
资源下载
为了便于使用,对仓库代码我做了以下改进:
- 根据OS,服务启动后,
自动打开浏览器地址; - viper配置项
命令行默认值; - 支持
双击打开应用,默认命令行启动。
关注公众号,后台回复【memos240】,领取本地直接运行的资源文件。
最后
本文所介绍的仓库,基本上解决了我们个人知识库的问题。
支持看板,按话题、关键字搜索,时间线排序,还有权限管理。
最重要的是,无需联网,即可使用。