Open u007 opened 2 years ago
hi, after digging into the built script, realise its because my component was not imported. i think there should be a check on the component that is build to ensure it exists, or otherwise throw an error to indicate which page.vue/file.vue using which component causing the error
sorry didnt see the component name
@u007 can you provide a repro?
EDIT: it is related also with #167?
hmm i think its not related, that one shows es error
okay here is the repo https://github.com/u007/vite-ssg-ant
, can see that ive commented out all the modules/ant.ts and also did not import the component, npm run build will throw error on vite-ssg build
@u007 what version of node are you using?
I'm using node 16.3 LTS: there is no way, I think ant
as wrong esm
support: I just patch its package.json file, but once fixed I get this another error, adding this import on src/modules/ant.ts
:
import { Col, Row, Carousel, DatePicker, Layout, Button, Drawer, Form, Alert, Spin } from 'ant-design-vue/es';
and the original:
import { Col, Row, Carousel, DatePicker, Layout, Button, Drawer, Form, Alert, Spin } from 'ant-design-vue';
Error [ERR_MODULE_NOT_FOUND]: Cannot find module 'F:\work\projects\quini\GitHub\issue-repro\vite-ssg-168-ant\node_modules\ant-design-vue\es\alert\style\css' imported from F:\work\projects\quini\GitHub\issue-repr
o\vite-ssg-168-ant\.vite-ssg-temp\main.mjs
at new NodeError (node:internal/errors:371:5)
at finalizeResolution (node:internal/modules/esm/resolve:416:11)
at moduleResolve (node:internal/modules/esm/resolve:932:10)
at defaultResolve (node:internal/modules/esm/resolve:1044:11)
at ESMLoader.resolve (node:internal/modules/esm/loader:422:30)
at ESMLoader.getModuleJob (node:internal/modules/esm/loader:222:40)
at ModuleWrap.<anonymous> (node:internal/modules/esm/module_job:76:40)
at link (node:internal/modules/esm/module_job:75:36) {
code: 'ERR_MODULE_NOT_FOUND'
patched ant package.json (added exports entry):
"exports": {
"./*": "./*",
".": {
"require": "./lib/index.js",
"import": "./lib/index.js",
"types": "./lib/index.d.ts"
},
"./es": {
"import": "./es/index.js",
"types": "./es/index.d.ts"
}
},
"main": "lib/index.js",
"module": "es/index.js",
"unpkg": "dist/antd.min.js",
"typings": "lib/index.d.ts",
I also tried removing ant.ts
module and importing Alert
component on index.vue
(using import { Alert } from 'ant-design-vue'
and import { Alert } from 'ant-design-vue/es'
), getting the same error:
Error [ERR_MODULE_NOT_FOUND]: Cannot find module 'F:\work\projects\quini\GitHub\issue-repro\vite-ssg-168-ant\node_modules\ant-design-vue\es\layout\style\css' imported from F:\work\projects\quini\GitHub\issue-rep
ro\vite-ssg-168-ant\.vite-ssg-temp\main.mjs
at new NodeError (node:internal/errors:371:5)
at finalizeResolution (node:internal/modules/esm/resolve:416:11)
at moduleResolve (node:internal/modules/esm/resolve:932:10)
at defaultResolve (node:internal/modules/esm/resolve:1044:11)
at ESMLoader.resolve (node:internal/modules/esm/loader:422:30)
at ESMLoader.getModuleJob (node:internal/modules/esm/loader:222:40)
at ModuleWrap.<anonymous> (node:internal/modules/esm/module_job:76:40)
at link (node:internal/modules/esm/module_job:75:36) {
code: 'ERR_MODULE_NOT_FOUND'
}
iam using node 14, hmm so there is problem on node 16 also
okay i switched to node 16, its using pnpm (reminder). then i realise, it will still throw weak key arror unless we use alias
import { Alert as AAlert } from 'ant-design-vue';
but having modules/ant.ts
import { Alert } from 'ant-design-vue';
app.use(Alert);
does not have that problem
Having the same issue. How did you fix?
u have to check which component is missing, if u r using ant design, u have to either import it or manually use like what i code to make it run. the error basically related to missing component
@u007 there is no way man, I also test your repo with #239 (you can check it using a previous variant here https://github.com/antfu/vite-ssg/issues/150#issuecomment-1113997316, for context read this entry https://github.com/antfu/vite-ssg/issues/150#issuecomment-1113992002 but use the tgz
from former comment) removing styleImport
plugin and adding AntDesignVueResolver({ cjs: true })
but now I get this error when building SSR (it is too slow to run dev and build):
[vite-ssg] An internal error occurred.
[vite-ssg] Please report an issue, if none already exists: https://github.com/antfu/vite-ssg/issues
F:\work\projects\quini\GitHub\issue-repro\vite-ssg-issues\vite-ssg-ant-master\node_modules\.pnpm\ant-design-vue@3.0.0-beta.4_ae87cbba5ec93a01f3fe1197df446ca3\node_modules\ant-design-vue\lib\style\index.css:5
[class^=ant-]::-ms-clear,
^^
SyntaxError: Unexpected token '^='
that error seems new, i think u need to go one by one to remove all pages, and then slowly add back 1 by 1 pages and component to see when it happen again
Too much work, I start patching the ant design icons but I stoppped since we need to add each es/icons entry to the package.json file to the exports entry.
Edit: using esm instead cjs to avoid previous error
Come across similar issue, but in my case is happened after I upgrade to vite v3
, once I revert back to vite v2
everything's works just fine.
Here's my error output, just in case
Error: [vite-ssg] Error on page: /about
TypeError: Invalid value used as weak map key
at WeakMap.set (<anonymous>)
at normalizePropsOptions (/Path/To/Project/node_modules/.pnpm/@vue+runtime-core@3.2.37/node_modules/@vue/runtime-core/dist/runtime-core.cjs.prod.js:3179:15)
at createComponentInstance (/Path/To/Project/node_modules/.pnpm/@vue+runtime-core@3.2.37/node_modules/@vue/runtime-core/dist/runtime-core.cjs.prod.js:5695:23)
at renderComponentVNode (/Path/To/Project/node_modules/.pnpm/@vue+server-renderer@3.2.37_vue@3.2.37/node_modules/@vue/server-renderer/dist/server-renderer.cjs.prod.js:168:22)
at ssrRenderComponent (/Path/To/Project/node_modules/.pnpm/@vue+server-renderer@3.2.37_vue@3.2.37/node_modules/@vue/server-renderer/dist/server-renderer.cjs.prod.js:605:12)
at file:///Path/To/Project/.vite-ssg-temp/main.mjs:4312:13
at renderComponentSubTree (/Path/To/Project/node_modules/.pnpm/@vue+server-renderer@3.2.37_vue@3.2.37/node_modules/@vue/server-renderer/dist/server-renderer.cjs.prod.js:250:13)
at renderComponentVNode (/Path/To/Project/node_modules/.pnpm/@vue+server-renderer@3.2.37_vue@3.2.37/node_modules/@vue/server-renderer/dist/server-renderer.cjs.prod.js:185:16)
at renderVNode (/Path/To/Project/node_modules/.pnpm/@vue+server-renderer@3.2.37_vue@3.2.37/node_modules/@vue/server-renderer/dist/server-renderer.cjs.prod.js:292:22)
at renderComponentSubTree (/Path/To/Project/node_modules/.pnpm/@vue+server-renderer@3.2.37_vue@3.2.37/node_modules/@vue/server-renderer/dist/server-renderer.cjs.prod.js:256:13)
at file:///Path/To/Project/node_modules/.pnpm/vite-ssg@0.20.2_rhu6widazyensit7g7iqgdpozy/node_modules/vite-ssg/dist/chunks/build.mjs:218:15
at async run (/Path/To/Project/node_modules/.pnpm/p-queue@6.6.2/node_modules/p-queue/dist/index.js:163:29)
遇到类似的问题,但在我升级到之后发生
vite v3
,一旦我恢复到vite v2
一切正常。这是我的错误输出,以防万一
Error: [vite-ssg] Error on page: /about TypeError: Invalid value used as weak map key at WeakMap.set (<anonymous>) at normalizePropsOptions (/Path/To/Project/node_modules/.pnpm/@vue+runtime-core@3.2.37/node_modules/@vue/runtime-core/dist/runtime-core.cjs.prod.js:3179:15) at createComponentInstance (/Path/To/Project/node_modules/.pnpm/@vue+runtime-core@3.2.37/node_modules/@vue/runtime-core/dist/runtime-core.cjs.prod.js:5695:23) at renderComponentVNode (/Path/To/Project/node_modules/.pnpm/@vue+server-renderer@3.2.37_vue@3.2.37/node_modules/@vue/server-renderer/dist/server-renderer.cjs.prod.js:168:22) at ssrRenderComponent (/Path/To/Project/node_modules/.pnpm/@vue+server-renderer@3.2.37_vue@3.2.37/node_modules/@vue/server-renderer/dist/server-renderer.cjs.prod.js:605:12) at file:///Path/To/Project/.vite-ssg-temp/main.mjs:4312:13 at renderComponentSubTree (/Path/To/Project/node_modules/.pnpm/@vue+server-renderer@3.2.37_vue@3.2.37/node_modules/@vue/server-renderer/dist/server-renderer.cjs.prod.js:250:13) at renderComponentVNode (/Path/To/Project/node_modules/.pnpm/@vue+server-renderer@3.2.37_vue@3.2.37/node_modules/@vue/server-renderer/dist/server-renderer.cjs.prod.js:185:16) at renderVNode (/Path/To/Project/node_modules/.pnpm/@vue+server-renderer@3.2.37_vue@3.2.37/node_modules/@vue/server-renderer/dist/server-renderer.cjs.prod.js:292:22) at renderComponentSubTree (/Path/To/Project/node_modules/.pnpm/@vue+server-renderer@3.2.37_vue@3.2.37/node_modules/@vue/server-renderer/dist/server-renderer.cjs.prod.js:256:13) at file:///Path/To/Project/node_modules/.pnpm/vite-ssg@0.20.2_rhu6widazyensit7g7iqgdpozy/node_modules/vite-ssg/dist/chunks/build.mjs:218:15 at async run (/Path/To/Project/node_modules/.pnpm/p-queue@6.6.2/node_modules/p-queue/dist/index.js:163:29)
Me too.
Normally every time I facing this problem is most related to a invalid DOM element in vue template, try to comment out code page by page then go smaller scale, finally you will find it.
I got the same issue because I've a wrong element name <class i-carbon-copy />
, it was just a typo
@hannoeru that is sad case, same here
when i run vite build, it completed successfully. but when i run npx vite-ssg build (building for server...)
my package.json