Docz: 「ベース」プロパティが期待どおりに機能しない

作成日 2019年08月29日  ·  24コメント  ·  ソース: doczjs/docz

指定するときはbase: /mybase/doczrc.js 、その後、実行中の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
チャンク-map.jsonコンポーネント---src-pages-404-js-d2f6e42ec0b240a466f0.js.map
commons-7abd6c6896e587d23041.js mybase
commons-7abd6c6896e587d23041.js.mapページ-データ
コンポーネント--- docs-index-mdx-eb57cbfd78a8e941cf11.js static
コンポーネント---docs-index-mdx-eb57cbfd78a8e941cf11.js.map styles.2543ff947a193d7f33b1.css
コンポーネント--- docs-lecture-1-lecture-1-mdx-e41e47345bd392371e15.jsスタイル-488c87c5398088946843.js
コンポーネント---docs-lecture-1-lecture-1-mdx-e41e47345bd392371e15.js.mapスタイル-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で可能かどうかのガイダンスをいただければ幸いです。ビルドしてから、サーバーのルートにぶら下がっているサブフォルダーにコピーし、必要なすべてのファイルをそのサブフォルダーに含めます。

bug pending-user-response v2

最も参考になるコメント

node_modules.docz完全に消去しても、私にとっても機能しません。
トップページが表示されますが、多くの参照には接頭辞が付いておらず、リンクにも接頭辞が付いていません。
あなたはそれを自分で見ることができます: https

全てのコメント24件

ねえ@godmarこれは2.0.0-rc.40で修正する必要があります。

docz今使用し--prefixPathsギャツビーからbaseで提供されるdoczrc.js

こんにちは、私も同じ問題に直面しています。 バージョン2.0.0-rc.40がリリースされるまで? ドキュメントをできるだけ早くデプロイする必要があります。

ねえ@ronaklalwaniii

2.0.0-rc.40はすでにリリースされています。

yarn add docz@nextを実行して更新できます。

@rakannimer迅速な返信をありがとう。 アップデート後にコンソールエラーが発生しました。 画像を確認して、これがベースパスを追加する方法であり、distフォルダーがどのようになっているのかを教えてください。

console

docs

folder

base設定方法は正しいようです。

.doczとnode_modulesを削除して、doczを再インストールしようとしましたか?

node_modules.docz完全に消去しても、私にとっても機能しません。
トップページが表示されますが、多くの参照には接頭辞が付いておらず、リンクにも接頭辞が付いていません。
あなたはそれを自分で見ることができます: https

リンクをありがとう!

@Dangoo Entryのルートフィールドへの最近の変更に問題があると思いますか?

スラッグをベース引数に追加して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

ビルドコマンドはありますか?

はい、そうです。 実際、それはボンネットの下でギャツビーと一緒に使用されるべき方法です。

  1. docz buildは、gatsby、inklを介してスタイルガイドの静的バージョンを作成します。 コンポーネントとランタイムスクリプトをバンドルする📦
  2. 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をオーバーライドしています-組み込みコンポーネントをもう1つ追加するだけなので、インポートする必要はありません。ここを参照して

私は正常に使用されていますyarn run gatsby serve発展のためとyarn run gatsby build構築するため。

ところで、 yarn run gatsby developを使用すると、パスプレフィックスは尊重されません。

ギャツビーでdoczコマンドを使用するのか、単にdoczテーマを使用するのかについて少し混乱しています。 後者の方が安全だと感じたので、これらの指示ではなくこれらの指示に従いました。 とは言うものの、IIRCは、後者を使用しても、基本的なものは機能しませんでした。

では、なぜnpx docz serve yarn ...ですか?
doczが実行されていると思いますが、.doczディレクトリ内でyarn実行してます。
おそらく.doczディレクトリが未定義の状態にあるため、これは私にとって失敗しました。

そのディレクトリをワイプして最初からやり直すと、次のことがわかります。

(a) yarn run gatsby developを使用すると、サイトがhttp://localhost:8000/cpp2019/正しく提供されていることがわかります

(b) yarn run gatsby buildを使用すると、この問題の冒頭に結果が表示されます。

(c)(a)および(b)のコマンドを試した後、 yarn run docz buildを実行すると、コマンド「build」が見つかりませんというエラーが発生します。 これはおそらく、 .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テーマのギャツビーですよね?)

ps:したがって、 doczコマンドを介してdoczを使用する場合と、 gatsby + gatsby-theme-docz介して使用する場合では、動作に違いがあるようです。 どちらのシステムを使用すべきかを判断するには、どちらのシステムについてもほとんど知りません。 直感的には、後者の方が快適で、ギャツビーが隠れているドッチではなく、ガッツビー+ドッチがあればいいのにと思いました。 しかし、私は間違っているかもしれません-私とおそらくコミュニティの他の人々は、これら2つのアプローチのどちらが好ましいか、または一般的にトレードオフが何であるかを明確にすることから利益を得ることができます。 ありがとうございました。

@rakannimerは何時間も試した後、ベースの最後にある余分なスラッシュを削除することで

@ronaklalwaniii doczまたはgatsby-theme-doczセットアップを使用している場合、共有できますか?

@godmar 、私はgatsby-theme-doczセットアップを使用しています。

ベースを設定した場合を除いて、すべてが正しく機能するようになりました。実際には2回追加され、サイドバーリンクが/styleguide/styleguide/Componentます。

これが失敗した場合の具体的なケースは何ですか?

  1. 私は2つの新しいプロジェクトを作成しました:
npx create-docz-app my-docz-app
  1. 次に、 baseを編集して、これら2つの異なるプロジェクトで/custombase//custombase両方を試しました。
  2. 次に、 distフォルダーのリンクとリソースを確認すると、カスタムベースプレフィックスがプレフィックスとして付けられていました
  3. yarn serveは、カスタムプレフィックスを付けてファイルを提供しました

docz:2.0-rc.45
OS: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 buildgatsby 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オプションを逃しました。

このページは役に立ちましたか?
0 / 5 - 0 評価