Nuxt.jsへの移行
Opened this issue · 9 comments
Metalsmithを導入したばかりでの提案になってしまうが、Nuxt.jsを使うのはどうだろう?
利点
.vue
ファイルにテンプレートもスタイルシートもメタデータも記述できる<link rel=preload>
を自動生成してくれる- ディレクトリ構造が確立されていて、ファイルの配置に悩むことがない
- npm-scriptsも完結
欠点
<div id="__nuxt">
や<div class="container">
のような要素が生成されてしまう
<div id="__nuxt">
や<div class="container">
のような要素が生成されてしまう
<div class="container">
はテンプレートファイルに含まれているものらしい。
VirtualDOM系ライブラリにありがちだけど、「ルートの要素が一つでなければいけない」みたいな制約があると厄介だな…
外部URLをダウンロードしてunzipしてファイルを読み込む…みたいなwebpack-loaderはないな…
ここは自作かな…?
CLIの表示もカッコいいんだよな〜。あ〜、ぜひとも導入したい…
<div id="__nuxt">
や<div class="container">
のような要素が生成されてしまう
<div class="container">
はテンプレートファイルに含まれているものらしい。
VirtualDOM系ライブラリにありがちだけど、「ルートの要素が一つでなければいけない」みたいな制約があると厄介だな…
あるぞ、その制約。RractのFragmentみたいな機能も存在しないようだ。
ただ、y-nk/vue-fragmentみたいなパッケージを使えばどうにかなるかもしれない。
Can A Vue Template Have Multiple Root Nodes (Fragments)? - Vue.js Developers
RractのFragmentみたいな機能も存在しないようだ。
ただ、y-nk/vue-fragmentみたいなパッケージを使えばどうにかなるかもしれない。
だめだなぁ。yarn build
だと期待通りだけれど、yarn generate
の場合にdiv要素を生成してしまう。
それから、非標準のfragment
属性を追加してしまうのもいけ好かない。
自作するか。
RractのFragmentみたいな機能も存在しないようだ。
ただ、y-nk/vue-fragmentみたいなパッケージを使えばどうにかなるかもしれない。だめだなぁ。
yarn build
だと期待通りだけれど、yarn generate
の場合にdiv要素を生成してしまう。
それから、非標準のfragment
属性を追加してしまうのもいけ好かない。
自作するか。
ちょっと無理があるっぽいぞ。
コンポーネントのVNodeを生成するrender
メソッドはVNodeを返さなくてはいけない。
これを変形するにはmounted
メソッドで操作することになるけど、これはサーバーサイドレンダリングで呼ばれないようだ。
RractのFragmentみたいな機能も存在しないようだ。
ただ、y-nk/vue-fragmentみたいなパッケージを使えばどうにかなるかもしれない。だめだなぁ。
yarn build
だと期待通りだけれど、yarn generate
の場合にdiv要素を生成してしまう。
それから、非標準のfragment
属性を追加してしまうのもいけ好かない。
自作するか。
Vue 3.0からFragmentに対応するらしい。Nuxt.jsが対応するまで待つか、Nuxt.jsが対応するまでこの点を妥協するのが良いと思う。
現状のNuxt.jsだと、どうやってもこういう構造になるようだ。
<body>
<div id="__nuxt">
<div id="__layout">
<*>
…
…
<*/>
</div>
</div>
</body>
これはしばらくは様子見ということで、Openにしておくことにしよう。