diff --git a/packages/docs/docs/zh/guide/deploy.md b/packages/docs/docs/zh/guide/deploy.md index 0eff9e6b3d..d28f6e2d5e 100644 --- a/packages/docs/docs/zh/guide/deploy.md +++ b/packages/docs/docs/zh/guide/deploy.md @@ -65,12 +65,15 @@ cd - 如果你打算发布到 `https://.github.io//`(也就是说你的仓库在 `https://github.com//`),则将 `base` 设置为 `"//"`。 2. 在项目的根目录创建一个名为 `.travis.yml` 的文件; -3. 使用 GitHub Pages 部署提供程序模板并遵循 [Travis 文档](https://docs.travis-ci.com/user/deployment/pages/)。 +3. 在本地执行 `npm install` 并且在提交中包含 `package-lock.json` 因为 `npm ci` 需要它才能正确执行. +4. 使用 GitHub Pages 部署提供程序模板并遵循 [Travis 文档](https://docs.travis-ci.com/user/deployment/pages/)。 ``` yaml language: node_js node_js: - lts/* +install: + - npm ci script: - npm run docs:build deploy: diff --git a/packages/docs/docs/zh/miscellaneous/local-development.md b/packages/docs/docs/zh/miscellaneous/local-development.md index 9ea5ba86f6..dbd80e3c15 100644 --- a/packages/docs/docs/zh/miscellaneous/local-development.md +++ b/packages/docs/docs/zh/miscellaneous/local-development.md @@ -2,4 +2,100 @@ sidebar: auto --- -# need trad +# 本地开发 + +## 摘要 + +如果您看到此处,您可能会对改进 VuePress 核心感兴趣。 + +VuePress正在使用包含了 [Yarn 工作区](https://yarnpkg.com/zh-Hans/docs/workspaces/) 和 [Lerna](https://github.com/lerna/lerna) 的一个组合。 + +## 初始化程序包 + +```bash + yarn bootstrap // 它将运行并安装根目录所有的程序包的子文件夹 +``` + +`yarn bootstrap` 将使用 `hoist`。它对您意味着什么? + +它将重组工作空间根目录中的所有依赖项并链接所有程序包。 + +通过运行以下命令来检查链接: + +```bash + ls -la node_modules/@vuepress +``` + +您将全部链接完成。 + +::: warning +您必须注意应在子文件夹的 package.json 中声明所有依赖项。如果未声明来自软件包的依赖关系,则在发布到库中时将无法正常工作。 +::: + +::: warning +您应该留意一个特殊的软件包,@vuepress shared-util 是由 Typescript 编写的。 +::: + +安装完所有程序后,它将运行 `yarn tsc` 。该命令将告诉工作区的 @vuepress/shared-utils 来编译他的 js。 + +::: warning +从这里开始,如果您要在此程序包中进行更改,则必须 +始终运行 `yarn tsc` 或在单独的终端中运行 `yarn run tsc -w` 。当检测到 shared-utils 有任何更改时,它将重新运行 tsc +::: + +## 链接 + +从这里开始就很不错了,您已经准备就绪。您需要将 VuePress 链接到您的项目。 + +```bash +yarn register-vuepress +``` + +您将看到类似这样的内容:`success Registered "vuepress".` + +它将链接来自 `packages/vuepress` 的 VuePress 包。 您将可以访问 VuePress 脚手架和其软件包。 + +他们在 `packages/vuepress/package.json` 被声明。 + +```js +{ +"main": "index.js", +/// +"bin": { + "vuepress": "cli.js" + } + /// +} +``` + +现在转到您的项目并运行 `yarn link vuepress`。 + +您应该得到 `success Using linked package for "vuepress".` + +## 取消链接 + +您可能想要取消所有链接。在工作区根文件夹中,运行 + +```bash +yarn unregister-vuepress +``` + +现在您可以在您的项目文件夹中运行 `yarn unlink vuepress` 。 + +如果一切运行正常,如果您在您的项目文件夹中运行 `yarn link vuepress` ,您应该获得一个错误提示您找不到名为 vuepress 的软件包。 + +## BUGS / 问答 + +您可能会发现链接有些困难。如果您触发了一些类似 “已经注册了名为“vuepress”的软件包” 之类的内容。 +您已经注册了 VuePress : + +- 如果您已经从[链接](#链接)链接了 VuePress ,就已经很好了。如果您进行更改,由于它是符号链接,您不必重新运行任何指令。只有您更新 shared-utils 软件包,才必须重新运行 `yarn tsc` 。仅此而已。 +- 如果您什么也没做。您已经将 VuePress 链接到某处。您要做的就是删除您运行 `yarn link` 或 `yarn unlink` 的文件夹。 + +## 更多相关 + +您可以使用更多有趣的命令: + +- `yarn packages:list` 将向您列出所有存在的软件包及其版本 [更多](https://github.com/lerna/lerna/tree/master/commands/list#readme) +- `yarn packages:changed` 会告诉您哪个软件包将受到下一个 lerna 的 发布/版本 的影响 [更多](https://github.com/lerna/lerna/tree/master/commands/changed#readme) +- `yarn packages:diff` 将向您显示上一个版本依赖所有差异 [更多](https://github.com/lerna/lerna/tree/master/commands/diff#readme) diff --git a/packages/docs/docs/zh/plugin/official/plugin-google-analytics.md b/packages/docs/docs/zh/plugin/official/plugin-google-analytics.md index 6c80a0281e..f01ed15830 100644 --- a/packages/docs/docs/zh/plugin/official/plugin-google-analytics.md +++ b/packages/docs/docs/zh/plugin/official/plugin-google-analytics.md @@ -10,8 +10,8 @@ metaTitle: Google Analytics 插件 | VuePress ## 安装 ```bash -yarn add -D @vuepress/plugin-google-analytics@next -# OR npm install -D @vuepress/plugin-google-analytics@next +yarn add -D @vuepress/plugin-google-analytics +# OR npm install -D @vuepress/plugin-google-analytics ``` ## 使用 diff --git a/packages/docs/docs/zh/theme/option-api.md b/packages/docs/docs/zh/theme/option-api.md index 70d336c04e..2bfa638051 100755 --- a/packages/docs/docs/zh/theme/option-api.md +++ b/packages/docs/docs/zh/theme/option-api.md @@ -91,7 +91,7 @@ module.exports = { } ``` -全局布局组件是负责管理全局布局方案的一个组件,VuePress [默认的 globalLayout](https://github.com/vuejs/vuepress/blob/master/packages/%40vuepress/core/lib/app/components/GlobalLayout.vue)会帮你根据 [$frontmatter.layout](../guide/frontmatter.md#layout) 来渲染不同的布局,所以大部分情况下你不要配置此选项。 +全局布局组件是负责管理全局布局方案的一个组件,VuePress [默认的 globalLayout](https://github.com/vuejs/vuepress/blob/master/packages/%40vuepress/core/lib/client/components/GlobalLayout.vue)会帮你根据 [$frontmatter.layout](../guide/frontmatter.md#layout) 来渲染不同的布局,所以大部分情况下你不要配置此选项。 举例来说,当你想为当前主题设置全局的 header 和 footer 时,你可以这样做: