文档仓库
创建日期:2024-03-01 | 最近更新:2024-03-01
维护方式
start
yarn install
dev
yarn docs:dev
build
yarn docs:build
README 中原本还有 deploy 命令,但是在 package.json 中并没有找到对应的命令,猜想是被 makefile 中的 publish 命令替代了,这里我推测发生过一次 CICD 流程的重构,用 docker 及 makefile 取代了原先的发布流程,让后续的研究慢慢证明。
查看 package.json
这里遇到一个比较少见的字段 directories
https://docs.npmjs.com/cli/v10/configuring-npm/package-json
CommonJS Packages 规范详细介绍了几种使用 directories 对象指示包结构的方法。如果你查看 npm 的 package.json,你会发现它有 doc、lib 和 man 目录。
在 package.json 文件中,directories 字段用于指定项目中的各种目录。在这个例子中,"doc": "docs" 表示文档目录位于 docs 文件夹。
这是一个常见的做法,特别是在大型项目中,为了更好地组织和导航项目文件,通常会创建专门的目录来存储不同的类型的文件。例如,src 目录可能用于存储源码,tests 目录用于存储测试文件,而 docs 目录则用于存储项目文档。
然而,值得注意的是,虽然 directories 字段在 package.json 规范中是合法的,但它并不是一个常用的字段。大多数情况下,人们会直接使用相对路径来引用项目文件,而不是通过 directories 字段。
例如,如果你在 scripts 字段中指定了一个脚本来运行测试,你可能会直接写 "test": "jest",而不是 "test": "jest tests/"。这是因为 jest 命令会自动在当前目录及其子目录中寻找匹配的文件。
总的来说,directories 字段是一个有用的工具,可以帮助你更好地组织项目文件,但在实践中,你可能很少需要用到它。
"scripts": {
"docs:dev": "vuepress dev docs",
"docs:build": "vuepress build docs",
"docs:pack": "cd docs/.vuepress/ && tar -zcvf doc.tar.gz dist/* && mv doc.tar.gz ../.."
}
这些命令都很寻常,就不多说了。
查看 makefile
publish:
git pull && yarn install && yarn docs:build && cd docs/.vuepress/ && docker cp dist/. godspen_godspen_1:/app/static-html/doc/
这里有一个 docker cp 命令,这个命令是用来将本地文件拷贝到容器中的,这里的容器名是 godspen_godspen_1,这个容器是在哪里启动的呢?这个容器是用来做什么的呢?
请看下回分解。