Closed3
Viteで作成した環境で本番ビルドするとzodライブラリ内でエラーが発生する事象について調べる
バージョン
ライブラリ | バージョン |
---|---|
vite | 2.0.0-beta.64 |
zod | 1.11.11 |
再現
- VitejsでVue+TypeScriptプロジェクトを初期化する
npm init @vitejs/app vite-zod-demo -- --template vue-ts
- zodをインストール
cd vite-zod-demo
npm install zod
-
src/main.ts
に以下のように追記
import App from "@/App.vue";
import { createApp } from "vue";
+import * as z from "zod";
+console.log(z.string().safeParse(""));
createApp(App).use(router).mount("#app");
ビルドしてサーバを立ち上げる
npm run build
npm run serve
ブラウザでアクセスするとコンソールでUncaught TypeError: can't access property "string", l.ZodTypes is undefined
というエラーメッセージが表示される。
zod内でparser.ts
とtypes/base.ts
が循環参照しているところをviteが使っているバンドラのrollupが解決できていないのが問題?
AmplifyがNodeモジュールに依存しているのでwebpack4でないとビルドできない(webpack4はnode-lib-browser
というライブラリでshimをしている)。rollupで同じようなshimをすることができないので、現状vite + amplifyという環境はできない。
このスクラップは2021/02/16にクローズされました