我的应用程序使用的是Nuxt3 + Vite +传单+引导带。该应用程序在开发过程中运行良好,但是当我试图使用npm run generate生成静态站点时,我会得到以下错误:
TypeError:无法读取null (读取'isCE')和未透亮(承诺)的属性TypeError:无法读取null的属性(读取'namespaceURI')
我想这和我的插件文件有关。
下面是我的Nuxt3配置文件:
plugins/nuxt.config.js
// https://v3.nuxtjs.org/api/configuration/nuxt.config
export default defineNuxtConfig({
target: 'static',
css: [
'~/assets/global.scss'
],
router: {
base: '/'
}
})leaflet.client.js
import L from 'leaflet'
import 'leaflet.markercluster';
import 'leaflet-fullscreen';
import 'leaflet-sidebar';
import 'leaflet.vectorgrid';
export default defineNuxtPlugin(nuxtApp => {
return {
provide: {
L
}
}
})plugins/useBootStrap.client.ts
import bootstrap from 'bootstrap/dist/js/bootstrap.bundle'
export default defineNuxtPlugin(nuxtApp => {
nuxtApp.provide('bootstrap', bootstrap)
nuxtApp.provide('Tooltip', bootstrap)
nuxtApp.provide('Carousel', bootstrap)
})我的package.json:
{
"private": true,
"scripts": {
"build": "nuxt build",
"dev": "nuxt dev",
"generate": "nuxt generate",
"preview": "nuxt preview",
"postinstall": "nuxt prepare"
},
"dependencies": {
"@geoman-io/leaflet-geoman-free": "^2.13.0",
"@popperjs/core": "^2.11.6",
"@vue-leaflet/vue-leaflet": "^0.6.1",
"axios": "^0.27.2",
"bootstrap": "^5.2.0",
"https": "^1.0.0",
"leaflet": "^1.9.1",
"leaflet-fullscreen": "^1.0.2",
"leaflet-sidebar": "^0.2.4",
"leaflet.markercluster": "^1.5.3",
"leaflet.vectorgrid": "^1.3.0",
"topojson-client": "^3.1.0",
"vue-google-charts": "^1.1.0",
"vue-gtag": "^2.0.1"
},
"devDependencies": {
"@vitejs/plugin-vue": "^3.0.1",
"nuxt": "3.0.0-rc.11",
"sass": "^1.55.0",
"sass-loader": "^13.0.2",
"vite": "^3.0.9",
"vite-plugin-mkcert": "^1.9.0"
}
}发布于 2022-09-29 07:34:07
我终于把这个问题孤立了。即使是最简单的Nuxt应用程序模板也存在这个问题,所以我寻找一个服务器问题。事实上,我的apache服务器仍然激活了一个旧的mod_pagespeed扩展,它干扰了Nuxt的水合逻辑(通过更改一些文件名)。
关闭扩展程序解决了我的问题。我花了3天才意识到!
https://stackoverflow.com/questions/73885140
复制相似问题