Context:。最近安装并开始使用Firebase实时数据库。我使用的是Nuxt/Firebase模块,而不是Vuexfire模块。
Problem:服务器突然无法启动。npm run dev抛出错误:
node:internal/modules/cjs/loader:361
throw err;
^
Error: Cannot find module '/Users/macbookpro2021/Documents/dev/BLVU/node_modules/@nuxt/utils/node_modules/fs-extra/lib/index.js'. Please verify that the package.json has a valid "main" entry
at tryPackage (node:internal/modules/cjs/loader:353:19)
at Function.Module._findPath (node:internal/modules/cjs/loader:566:18)
at Function.Module._resolveFilename (node:internal/modules/cjs/loader:919:27)
at Function.Module._load (node:internal/modules/cjs/loader:778:27)
at Module.require (node:internal/modules/cjs/loader:1005:19)
at require (node:internal/modules/cjs/helpers:102:18)
at Object.<anonymous> (/Users/macbookpro2021/Documents/dev/BLVU/node_modules/@nuxt/utils/dist/utils.js:15:12)
at Module._compile (node:internal/modules/cjs/loader:1101:14)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10)
at Module.load (node:internal/modules/cjs/loader:981:32) {
code: 'MODULE_NOT_FOUND',
path: '/Users/macbookpro2021/Documents/dev/BLVU/node_modules/@nuxt/utils/node_modules/fs-extra/package.json',
requestPath: 'fs-extra'
}在错误出现之前,我没有对nuxt.config.js做任何更改。不过,我最近开始从Vuex商店访问实时Firebase数据库。效果很好。直到我试图重新启动服务器。
附加信息:Vuex商店
export const state = () => ({
testProjects: 'Test Projects',
testProgram: 'Test Program',
testColumns: 'Test Columns',
testMembers: 'Test Members'
})
export const getters = {}
// Actions are async
export const actions = {
async getProjects( context ) {
this.$fire.database.ref('projects').on('value', snapshot => context.commit('setProjects', snapshot.val() ))
},
async getProgram( context ) {
this.$fire.database.ref('program').on('value', snapshot => context.commit('setProgram', snapshot.val() ))
},
async getColumns( context ) {
this.$fire.database.ref('columns').on('value', snapshot => context.commit('setColumns', snapshot.val() ))
},
async getMembers( context ) {
this.$fire.database.ref('members').on('value', snapshot => context.commit('setMembers', snapshot.val() ))
}
}
// Mutations change states
export const mutations = {
setProjects ( state, projects ) {
state.test = projects
},
setProgram ( state, program ) {
state.test = program
},
setColumns ( state, columns ) {
state.test = columns
},
setMembers ( state, members ) {
state.test = members
}
}nuxt.config.js
export default {
ssr: false,
head: {
title: 'MY_TITLE',
htmlAttrs: {
lang: 'en'
},
meta: [
{ charset: 'utf-8' },
{ name: 'viewport', content: 'width=device-width, initial-scale=1' },
{ hid: 'description', name: 'description', content: '' },
{ name: 'format-detection', content: 'telephone=no' }
],
link: [
{ rel: 'icon', type: 'image/x-icon', href: '/favicon.ico' }
]
},
css: [
'@/assets/css/global.css'
],
plugins: [
],
components: true,
buildModules: [
'@nuxt/typescript-build'
],
modules: [
'@nuxtjs/axios',
'@nuxtjs/firebase'
],
axios: {},
firebase: {
config: {
apiKey: '<MY_INFO>',
authDomain: '<MY_INFO>',
databaseURL: '<MY_INFO>',
projectId: '<MY_INFO>',
storageBucket: '<MY_INFO>',
messagingSenderId: '<MY_INFO>',
appId: '<MY_INFO>',
measurementId: '<MY_INFO>'
},
services: {
auth: false,
database: true
}
},
build: {
}
}发布于 2022-01-01 18:55:28
我解决了这个错误。
解决方案:在packages.json中,我通过运行npm install @nuxtjs/firebase@^8.1.1 --force将"@nuxtjs/firebase": "~8.1.1"更改为"@nuxtjs/firebase": "^8.1.1"。
我不得不使用--force标志,因为我的firebase和@nuxtjs/firebase模块之间有一个upstream dependency conflict。
运行npm install @nuxtjs/firebase@~8.1.1 --force一段时间前为我解决了upstream dependency conflict问题,但现在显然引起了问题。
https://stackoverflow.com/questions/70550503
复制相似问题