我@googlemaps/js-api-loader在我的 Nuxt 3 網站中使用。在本地開發中一切正常,但是當我嘗試使用nuxt generate(無論是在本地還是在 Vercel 上)構建專案時,我收到以下錯誤:
[nuxt] [request error] Named export 'Loader' not found. The requested module 'file:///path/to/website/node_modules/@googlemaps/js-api-loader/dist/index.umd.js' is a CommonJS module, which may not support all module.exports as named exports. CommonJS modules can always be imported via the default export, for example using:
加載腳本的重要部分如下所示:
import { Loader } from '@googlemaps/js-api-loader';
const loader = new Loader({
apiKey: config.googleMapsApiKey,
version: 'weekly',
});
onMounted(async() => {
await loader
.load()
...
所以我嘗試以不同的方式匯入這個包,例如:
import * as gmaps from '@googlemaps/js-api-loader';
const { Loader } = gmaps;
以前的錯誤消失了,但現在我得到了
[Vue warn]: Unhandled error during execution of setup function
at <DynamicLocations class="contact__map" locations= [
{
id: 1,
...
[nuxt] [request error] gmaps.Loader is not a constructor
at setup (./.nuxt/prerender/chunks/app/server.mjs:5536:20)
at _sfc_main$t.setup (./.nuxt/prerender/chunks/app/server.mjs:5582:25)
at callWithErrorHandling (./.nuxt/prerender/chunks/renderer.mjs:2654:23)
at setupStatefulComponent (./.nuxt/prerender/chunks/renderer.mjs:9548:30)
at setupComponent (./.nuxt/prerender/chunks/renderer.mjs:9503:12)
at renderComponentVNode (./.nuxt/prerender/chunks/renderer.mjs:12068:17)
at Object.ssrRenderComponent (./.nuxt/prerender/chunks/renderer.mjs:12504:12)
at ./.nuxt/prerender/chunks/app/server.mjs:5628:36
at renderComponentSubTree (./.nuxt/prerender/chunks/renderer.mjs:12149:13)
at renderComponentVNode (./.nuxt/prerender/chunks/renderer.mjs:12084:16)
我也無法默認匯出匯入包。你有什么想法發生了什么,我該如何解決這個問題?
uj5u.com熱心網友回復:
我找到了與此問題相關的檔案頁面,并且有以下資訊:
如果您遇到這些錯誤,幾乎可以肯定是上游庫的問題。他們需要修復他們的庫以支持被 Node.js 匯入。
盡管他們通過將包添加到以下位置來提供消除錯誤的解決方案build.transpile:
build: {
transpile: ['@googlemaps/js-api-loader'],
},
它對我有用
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/490822.html
標籤:javascript Vue.js 谷歌地图 nuxt.js 韦尔塞尔
