在doczrc.js
指定base: /mybase/
,然后运行yarn run docz build
,创建的.docz/dist
文件夹如下所示:
```$ ls .docz / dist /
404组件---docs-resources-papers-md-fe63ff69f05fbc4ade87.js.map
404.html组件--- docs-resources-urls-md-18ff15bc97f33d5c99ec.js
app-166636596e5034530b76.js组件---docs-resources-urls-md-18ff15bc97f33d5c99ec.js.map
app-166636596e5034530b76.js.map组件--- src-pages-404-js-d2f6e42ec0b240a466f0.js
chunk-map.json组件---src-pages-404-js-d2f6e42ec0b240a466f0.js.map
commons-7abd6c6896e587d23041.js mybase
commons-7abd6c6896e587d23041.js.map页面数据
组件--- docs-index-mdx-eb57cbfd78a8e941cf11.js静态
组件---docs-index-mdx-eb57cbfd78a8e941cf11.js.map styles.2543ff947a193d7f33b1.css
组件--- docs-lecture-1-lecture-1-mdx-e41e47345bd392371e15.js styles-488c87c5398088946843.js
组件---docs-lecture-1-lecture-1-mdx-e41e47345bd392371e15.js.map styles-488c87c5398088946843.js.map
组件--- docs-lecture-2-lecture-2-mdx-0c06a42ea379446ff851.js webpack-runtime-3b441f85f0b567d235ec.js
组件---docs-lecture-2-lecture-2-mdx-0c06a42ea379446ff851.js.map webpack-runtime-3b441f85f0b567d235ec.js.map
组件--- docs-resources-papers-md-fe63ff69f05fbc4ade87.js webpack.stats.json
The file `.docz/dist/mybase/index.html` contains references such as:
``
that do not contain
mybase .
There is no
index.html`文件。
我期望将.docz / dist文件夹复制(或链接)到我的Apache服务器的服务器根目录中,然后可以通过https://host/mybase
访问它。 这些不适用于这些生成的文件。
我希望能得到指导,我是否尝试使用docz可以实现:构建然后复制到挂在服务器根目录下的子文件夹,该子文件夹中包含所有必需的文件。
嘿@godmar应该用2.0.0-rc.40
。
docz
现在使用--prefixPaths
从当盖茨比base
中提供doczrc.js
嗨,我也面临着同样的问题。 直到版本2.0.0-rc.40
被发布?。 我必须部署我的文档Asap。
嘿@ronaklalwaniii
2.0.0-rc.40已经发布。
您可以执行yarn add docz@next
进行更新。
@rakannimer感谢您的快速回复。 更新后,我遇到了一些控制台错误。 能否请您检查图像并告诉我这是否应该添加基本路径,以及dist文件夹应该如何。
。
您设置base
似乎正确。
您是否尝试删除.docz和node_modules并重新安装docz?
即使完全擦除了node_modules
和.docz
,这对我也不起作用。
尽管出现了首页,但很多参考文献都没有前缀,链接也没有前缀。
您可以自己查看: https :
好的,谢谢你的链接!
@Dangoo您是否认为我们最近对Entry
的route字段所做的更改有误?
如果将slug附加到基本参数,则文件在那里,因此prefixPaths可以按预期工作。
例如, https://theta.cs.vt.edu/cpp2019/docs-lecture1-lecture-1/
存在,但已被链接为https://theta.cs.vt.edu/docs-lecture1-lecture-1/
@rakannimer
实际上,我已经在github页面上进行了我自己的测试(可惜现在还不能共享),并且路径的前缀正确。
@godmar是否可以通过运行以下命令在本地重现托管行为?
$ docz build
# $ gatsby build --prefixPaths
# ...
# ✨ Done in 30.35s.
$ docz serve
# $ gatsby serve --prefixPaths
# info gatsby serve running at: http://localhost:9000/cpp2019/
我没有全局安装的docz
。 如果我跑
$ yarn docz build
yarn run v1.17.3
warning package.json: No license field
$ /home/gback/cppclass2019/node_modules/.bin/docz build
warning package.json: No license field
error Command "build" not found.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
✖ error Error: ENOENT: no such file or directory, stat '/home/gback/cppclass2019/.docz/public'
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
我正在使用docz-@^2.0.0-rc.40
-它有build
命令吗?
@godmar
尝试将其用作package.json
预定义脚本,或将其前缀为npx
$ npx docz build
$ npx docz serve
它有一个build命令吗?
是的,它确实。 实际上,这就是将它与引擎盖下的盖茨比一起使用的方式。
docz build
通过gatsby,inkl创建样式指南的静态版本。 捆绑您的组件和运行时脚本📦docz serve
来模拟Web服务器或托管(静态)Web服务器的构建输出🚀在这里看看:
https://www.docz.site/docs/project-configuration#dest
编辑:请参阅下面的评论,以了解此处发生的情况。
与npx的结果相同。
$ npx docz serve
yarn run v1.17.3
warning package.json: No license field
error Command "serve" not found.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
该文档说运行docz dev
。 当我这样做时,它将尝试构建该站点,但是随后失败:
* ../components/Notice in ./src/gatsby-theme-docz/index.js
✖ 「wdm」:
ERROR in ./src/gatsby-theme-docz/index.js
Module not found: Error: Can't resolve '../components/Notice' in '/home/gback/cppclass2/.docz/src/gatsby-theme-docz'
@ ./src/gatsby-theme-docz/index.js 1:2364-2405 1:2540-2546
@ ../node_modules/gatsby-theme-docz/src/base/Layout.js
@ ../docs/index.mdx
@ ./.cache/sync-requires.js
@ ./.cache/app.js
在这里,路径被搞砸了。 我按此处所述覆盖gatsby-theme-docz / index.js-我要做的就是添加一个内置组件,因此我不必导入它,请参见此处
我已经成功地使用yarn run gatsby serve
进行开发,并使用yarn run gatsby build
进行了构建。
顺便说一句,当我使用yarn run gatsby develop
,不考虑路径前缀。
对于在Gatsby中使用docz
命令还是仅使用docz
主题,我有些困惑。 我觉得这样做比较安全,因此我遵循了这些说明,而不是这些说明。 就是说,IIRC,即使有了后者,基本内容也无法正常工作。
所以-为什么npx docz serve
打印yarn ...
?
我认为docz
正在运行,但是在这里您正在运行yarn
,大概在.docz
目录中。
这对我来说失败了,大概是因为.docz目录处于未定义状态。
如果我擦除该目录并重新开始,则会观察到以下内容:
(a)使用yarn run gatsby develop
我看到该网站在http://localhost:8000/cpp2019/
的位置正确投放
(b)使用yarn run gatsby build
我得到的结果显示在本期顶部。
(c)在尝试了(a)和(b)中的命令后运行yarn run docz build
,出现命令“ build” not found错误。 大概是因为.docz
目录仅包含文件夹app
而没有package.json
文件。
(d)现在,我擦除.docz
文件夹,然后再次运行yarn run docz build
。 我看到一条消息
✅ Docz is ready to go
💻 yarn docz dev
⛏ yarn docz build
👀 yarn docz serve
但是此构建最终因以下原因而失败:
TypeError: Cannot read property 'replace' of undefined
- render-page.js:19164 Code
/home/gback/cppclass2/.docz/public/render-page.js:19164:37
这是我之前已跟踪到您的代码组件的错误; 如果在三重反引号部分中未指定语言,则docz失败。 这就是为什么我必须像这样重写您的组件的原因:
--- node_modules/gatsby-theme-docz/src/components/Code/index.js 2019-09-04 11:26:27.155000000 -0400
+++ src/gatsby-theme-docz/components/Code/index.js 2019-09-05 09:15:05.869936223 -0400
@@ -5,8 +5,8 @@
import { usePrismTheme } from '~utils/theme'
-export const Code = ({ children, className: outerClassName }) => {
- const [language] = outerClassName.replace(/language-/, '').split(' ')
+export const Code = ({ children, className: outerClassName, ...rest }) => {
+ const [language] = outerClassName ? outerClassName.replace(/language-/, '').split(' ') : ['text']
const theme = usePrismTheme()
return (
但是在运行yarn run docz build
,不会覆盖我覆盖的组件。 (这大概是预料之中的,因为我正在使用gatsby-theme-docz
所以我的应用程序是主题为docz
的gatsby,对吗?)
ps:因此,通过docz
命令使用docz
与通过gatsby
+ gatsby-theme-docz
使用命令时,行为似乎有所不同。 我对这两种系统知之甚少,无法确定应该使用哪种系统。 凭直觉,我对后者感到更自在,希望那时我可以使用gatsby + docz,而不是将gatsby隐藏在其中的docz。 但是我可能是错的-通过澄清这两种方法中的哪一种是首选,或者总的来说,权衡是什么,我和社区中的其他人可能会从中受益。 谢谢你。
经过数小时的尝试, @ rakannimer消除了基础末尾的多余斜杠对我
如果您使用docz
或gatsby-theme-docz
设置,可以共享@ronaklalwaniii吗?
@godmar ,我正在使用gatsby-theme-docz
设置。
现在,我可以正常工作,除了设置基础时,它实际上添加了两次,导致我的侧边栏链接为/styleguide/styleguide/Component
。
如果失败,具体情况是什么?
npx create-docz-app my-docz-app
base
并在这两个不同的项目上尝试了/custombase/
和/custombase
dist
文件夹链接并且资源以我的自定义基本前缀为前缀时yarn serve
用我的自定义前缀提供了文件服务docz:2.0-rc.45
作业系统:Windows 10 1903
节点:10.14.1
纱:1.17.2
的PowerShell:6.2.3
我可以通过将docz降级为2.0.0-rc.39
来使其工作。
我的doczrc.js看起来像这样
export default {
base: '/guides/',
title: 'Guide',
src: './',
dest: '../public/guides/',
typescript: true,
debug: true,
}
有任何更新吗? 我真的很想将版本号更新为最新...
嘿@rubencustodio
您是否有机会向仓库提供该问题的一小部分副本?
编辑:我能够进行修复。
我认为应该使用最新的docz版本候选2.0.0-rc.66
。 你可以试试看吗?
您还可以在这里看到一个有效的示例: https :
如果您在gatsby网站中使用docz作为主题,则只需将--prefixPaths /my-path/
传递给gatsby build
和gatsby serve
,它应该可以正常工作。
2.0.0-rc.66
为我解决了这个问题。 谢谢👍
“ docz”:“ ^ 2.3.1”
npx docz serve
docz-app@ serve /Users/Documents/webApp/xxxxxx/packages/mobile-ui-doc/.docz
gatsby serve "--port" "3001" "--host" "localhost"
⠀
You can now view docz-app in the browser.
⠀
http://localhost:3001/
docz serve
缺少--prefix-paths
选项。
最有用的评论
即使完全擦除了
node_modules
和.docz
,这对我也不起作用。尽管出现了首页,但很多参考文献都没有前缀,链接也没有前缀。
您可以自己查看: https :