Closed3

Viteで作成した環境で本番ビルドするとzodライブラリ内でエラーが発生する事象について調べる

rutamu30rutamu30

バージョン

ライブラリ バージョン
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というエラーメッセージが表示される。

rutamu30rutamu30

AmplifyがNodeモジュールに依存しているのでwebpack4でないとビルドできない(webpack4はnode-lib-browserというライブラリでshimをしている)。rollupで同じようなshimをすることができないので、現状vite + amplifyという環境はできない。

https://github.com/vitejs/vite/issues/1374

このスクラップは2021/02/16にクローズされました