Javascript 我正在尝试使用next.js转换我现有的react应用程序。这样做对吗?

Javascript 我正在尝试使用next.js转换我现有的react应用程序。这样做对吗?,javascript,reactjs,react-redux,next.js,Javascript,Reactjs,React Redux,Next.js,我们已经使用firebase auth和solr DB在react redux中创建了项目 下面是我们应用程序的当前文件夹结构 --src --actions --assets --components --controllers --firebase --reducers --utils --app.js 现在,为了将应用程序转换为下一个js,我在dependencies中添加了下一个js,并对脚本进行了如下更改 "

我们已经使用firebase auth和solr DB在react redux中创建了项目

下面是我们应用程序的当前文件夹结构

--src
    --actions
    --assets
    --components
    --controllers
    --firebase
    --reducers
    --utils
    --app.js
现在,为了将应用程序转换为下一个js,我在dependencies中添加了下一个js,并对脚本进行了如下更改

 "scripts": {
    "dev": "next dev",
    "build": "next build",
    "start": "next start"
  },
现在,我在“src”文件夹中创建了目录“pages”,并添加了“index.js”hello world react程序来测试下一个js,它通过运行脚本“npm run dev”工作

因此,我将所有文件夹从“控制器”复制到“页面”文件夹,并尝试访问静态页面“关于”

在这里,我得到下面的错误

有时会出现以下错误:

Firebase:Firebase应用程序名为“[默认]”已存在(应用程序/重复应用程序)

重新加载一段时间后,在同一页上出现以下错误:

FirebaseError:projectId必须是FirebaseApp.options中的字符串


我在Next.js中看到这个firebase错误,并多次作出本机反应。我认为这与渲染或其他有关,但解决方案如下:

firebase.js


import firebase from 'firebase/app';
import 'firebase/firestore';
import 'firebase/auth';

let config = {
  // your config
};

export default !firebase.apps.length
  ? firebase.initializeApp(config)
  : firebase.app();

使用NextJs示例模板。他们有各种可能技术的例子

import firebase from 'firebase/app';
import 'firebase/firestore';
import 'firebase/auth';

let config = {
  // your config
};

export default !firebase.apps.length
  ? firebase.initializeApp(config)
  : firebase.app();