quasar ssg generate
App • Looking for Quasar App Extension "ssg" command "generate"
App • Running "ssg" Quasar App Extension...
App • Running "ssg" > "generate" command
Build mode............. ssg
Pkg quasar............. v2.17.7
Pkg @quasar/app-vite... v1.11.0
Pkg vite............... v2.9.18
Pkg ssg................ v5.2.0
Debugging.............. no
Error [ERR_REQUIRE_ESM]: require() of ES Module /Users/baoge/WebstormProjects/windowshost.top/quasar.config.js from /Users/baoge/WebstormProjects/windowshost.top/node_modules/@quasar/app-vite/lib/quasar-config-file.js not supported.
Instead change the require of quasar.config.js in /Users/baoge/WebstormProjects/windowshost.top/node_modules/@quasar/app-vite/lib/quasar-config-file.js to a dynamic import() which is available in all CommonJS modules.
at ExtendedQuasarConfFile.read (/Users/baoge/WebstormProjects/windowshost.top/node_modules/@quasar/app-vite/lib/quasar-config-file.js:217:30)
at ExtendedQuasarConfFile.read (/Users/baoge/WebstormProjects/windowshost.top/node_modules/quasar-app-extension-ssg/src/vite/quasar-config-file.js:124:19)
at run (/Users/baoge/WebstormProjects/windowshost.top/node_modules/quasar-app-extension-ssg/src/vite/cmd/generate.js:69:43) {
code: 'ERR_REQUIRE_ESM'
}
/Users/baoge/WebstormProjects/windowshost.top/node_modules/quasar-app-extension-ssg/src/vite/quasar-config-file.js:134
Object.assign(cfg.build.env, {
^
TypeError: Cannot read properties of undefined (reading 'env')
at ExtendedQuasarConfFile.read (/Users/baoge/WebstormProjects/windowshost.top/node_modules/quasar-app-extension-ssg/src/vite/quasar-config-file.js:134:29)
at async run (/Users/baoge/WebstormProjects/windowshost.top/node_modules/quasar-app-extension-ssg/src/vite/cmd/generate.js:69:22)
Node.js v18.20.5
您在运行 quasar ssg generate
时遇到了 ERR_REQUIRE_ESM
错误,提示不支持对 ES 模块的 require()
调用。
问题分析:
该错误通常发生在尝试使用 CommonJS 的 require()
导入 ES 模块时。
在您的项目中,quasar.config.js
文件可能被视为 ES 模块,而 Quasar 的构建工具尝试使用 require()
导入它,导致此错误。
解决方案:
-
修改
quasar.config.js
文件:
将quasar.config.js
文件的扩展名更改为.cjs
,以明确指示这是一个 CommonJS 模块。mv quasar.config.js quasar.config.cjs
-
更新
package.json
文件:
如果您的package.json
文件中包含"type": "module"
,请将其删除或注释掉,以避免将整个项目视为 ES 模块。// package.json // "type": "module",
-
清理缓存并重新构建:
删除node_modules
目录和package-lock.json
文件,然后重新安装依赖项。rm -rf node_modules package-lock.json npm install
-
重新运行生成命令:
在项目根目录下,运行以下命令以生成静态站点:quasar ssg generate
注意事项:
-
在进行上述更改之前,建议备份您的项目文件,以防止意外情况发生。
-
确保您的项目依赖项与所选版本兼容,以避免引入新的问题。