Open mave99a opened 3 years ago
Found the reason, looks like because there was an old install of Zero-demo, the old data left there cause the problem.
I have to remove Zero-demo, choose "remove blocklet and delete data", the install again, it worked. This might be a problem either in ABT Node or the blocklet itself to ensure it need to clean up data.
It's a bit random.... strange.
Clean up not longer after another deployment.
Looks like it's cause by bundle logic.
I execute it manually.
After build, I can run it correctly under zero-demo
, however if I goto .blocklet/bundle
folder to run from there, I will hit the error I see in the ABT Node.
maos-MacBook-Pro:bundle mao$ NODE_ENV=production zero app
⚡️ Zero v1.1.22
⬇️ Updating packages
yarn install v1.22.5
warning package.json: No license field
info No lockfile found.
warning zero-demo@1.0.4: No license field
[1/4] 🔍 Resolving packages...
[2/4] 🚚 Fetching packages...
[3/4] 🔗 Linking dependencies...
[4/4] 🔨 Building fresh packages...
success Saved lockfile.
✨ Done in 4.70s.
✔ Server running on http://localhost:3000
Error: Minified React error #321; visit https://reactjs.org/docs/error-decoder.html?invariant=321 for the full message or use the non-minified dev environment for full errors and additional helpful warnings.
at Z (/Users/mao/work/blocklet-demos/zero-demo/node_modules/react/cjs/react.production.min.js:19:404)
at Object.exports.useContext (/Users/mao/work/blocklet-demos/zero-demo/node_modules/react/cjs/react.production.min.js:24:261)
at useMDXComponents (/Users/mao/work/blocklet-demos/zero-demo/node_modules/@mdx-js/react/dist/cjs.js:128:53)
at MDXProvider (/Users/mao/work/blocklet-demos/zero-demo/node_modules/@mdx-js/react/dist/cjs.js:138:23)
at d (/Users/mao/work/blocklet-demos/zero-demo/.blocklet/bundle/node_modules/react-dom/cjs/react-dom-server.node.production.min.js:36:498)
at $a (/Users/mao/work/blocklet-demos/zero-demo/.blocklet/bundle/node_modules/react-dom/cjs/react-dom-server.node.production.min.js:39:16)
at a.b.render (/Users/mao/work/blocklet-demos/zero-demo/.blocklet/bundle/node_modules/react-dom/cjs/react-dom-server.node.production.min.js:44:476)
at a.b.read (/Users/mao/work/blocklet-demos/zero-demo/.blocklet/bundle/node_modules/react-dom/cjs/react-dom-server.node.production.min.js:44:18)
at renderToString (/Users/mao/work/blocklet-demos/zero-demo/.blocklet/bundle/node_modules/react-dom/cjs/react-dom-server.node.production.min.js:54:364)
at generateComponent (/Users/mao/.nvm/versions/node/v12.18.3/lib/node_modules/zero/node_modules/zero-handler-react/renderer.js:115:18)
This means something went wrong.
I checked and found the only possibility is Zerosever's build cache .zero directory might be the issue, which means simply copy the .zero folder to bundle may not cause the problem.
Experimented by deleted bundle/app/.zero, and run NODE_ENV=production zero app
inside bundle
, now everything worked and the error is gone.
We can see the folder files names and size are different (esp. the one cause problem MDX one)
confirmed that if I just copy it to new directory, it will have this error.
Hit this error: