qrac / minista

Static site generator with 100% static export from React and Vite.
https://minista.qranoko.jp
165 stars 13 forks source link

アセットを文字列としてインポートする機能を追加 #34

Closed qrac closed 2 years ago

qrac commented 2 years ago

テンプレート内に外部で書いた長いHTMLなどをそのまま埋め込みたい場合がある。

例えば、inputをReact準拠にせずにレンダリングする shitajicss のサイトで必要だった。.mdx にHTMLを書いてimportすることもできるが、classやvalueがHTML形式のままだと警告が出るのでHTMLを文字列として読み込みたい。

import demo from "../../assets/others/demo.html?raw"

この記述はViteで動作するので、ministaのdevモードでも動作する。ただし、ministaの本番ビルドは高速化のためにesbuildで処理しているためエラーとなる。そこでesbuild側にもViteと同様のimport機能を実装しておく。

Viteと同じくTypeScriptのmodule宣言を拡張する。

{
  "compilerOptions": {
    "types": ["minista/client"]
  }
}
qrac commented 2 years ago

v2.1.0にて実装。