手动迁移
此手动迁移过程应在自动化迁移过程之后运行,以完成缺失的部分,或调试迁移 CLI 输出中的问题。
项目设置
package.json
作用域包名称
在道格龙(Docusaurus)2 中,我们使用作用域包名称:
docusaurus→@docusaurus/core
这提供了道格龙(Docusaurus)官方包和社区维护包之间的清晰区别。换句话说,所有道格龙(Docusaurus)官方包都在 @docusaurus/ 下命名空间化。
同时,道格龙(Docusaurus)1 提供的默认文档站点功能现在由 @docusaurus/preset-classic 提供。因此,我们还需要添加此依赖项:
{
dependencies: {
- "docusaurus": "^1.x.x",
+ "@docusaurus/core": "^2.0.0-beta.0",
+ "@docusaurus/preset-classic": "^2.0.0-beta.0",
}
}
请使用最新的道格龙(Docusaurus)2 版本,您可以在这里查看(使用 latest 标签)。
CLI 命令
同时,CLI 命令重命名为 docusaurus <command>(而不是 docusaurus-command)。
您的 package.json 的 "scripts" 部分应更新如下:
{
"scripts": {
"start": "docusaurus start",
"build": "docusaurus build",
"swizzle": "docusaurus swizzle",
"deploy": "docusaurus deploy"
// ...
}
}
典型的道格龙(Docusaurus)2 package.json 可能如下所示:
{
"scripts": {
"docusaurus": "docusaurus",
"start": "docusaurus start",
"build": "docusaurus build",
"swizzle": "docusaurus swizzle",
"deploy": "docusaurus deploy",
"serve": "docusaurus serve",
"clear": "docusaurus clear"
},
"dependencies": {
"@docusaurus/core": "^2.0.0-beta.0",
"@docusaurus/preset-classic": "^2.0.0-beta.0",
"clsx": "^1.1.1",
"react": "^17.0.2",
"react-dom": "^17.0.2"
},
"browserslist": {
"production": [">0.5%", "not dead", "not op_mini all"],
"development": [
"last 1 chrome version",
"last 1 firefox version",
"last 1 safari version"
]
}
}
更新对 build 目录的引用
在道格龙(Docusaurus)1 中,所有构建产物都位于 website/build/<PROJECT_NAME> 内。
在道格龙(Docusaurus)2 中,它现在移动到 website/build。确保您更新部署配置以从正确的 build 目录读取生成的文件。
如果您部署到 GitHub Pages,请确保运行 yarn deploy 而不是 yarn publish-gh-pages 脚本。
.gitignore
您的 website 中的 .gitignore 应包含:
# dependencies
/node_modules
# production
/build
# generated files
.docusaurus
.cache-loader
# misc
.DS_Store
.env.local
.env.development.local
.env.test.local
.env.production.local
npm-debug.log*
yarn-debug.log*
yarn-error.log*
README
D1 网站可能有一个现有的 README 文件。您可以修改它以反映 D2 的更改,或复制默认的道格龙(Docusaurus)v2 README。
站点配置
docusaurus.config.js
将 siteConfig.js 重命名为 docusaurus.config.js。