我正在尝试使用 next.js 转换我现有的反应应用程序。这是正确的做法吗?
Posted
技术标签:
【中文标题】我正在尝试使用 next.js 转换我现有的反应应用程序。这是正确的做法吗?【英文标题】:I am trying to convert my existing react app with next.js. Is it a right thing to do? 【发布时间】:2021-01-05 08:59:02 【问题描述】:我们已经使用 firebase auth 和 solr DB 在 react-redux 中创建了项目。
下面是我们应用的当前文件夹结构。
--src
--actions
--assets
--components
--controllers
--firebase
--reducers
--utils
--app.js
现在,为了将应用程序转换为下一个 js,我在依赖项中添加了下一个 js,并将脚本更改如下
"scripts":
"dev": "next dev",
"build": "next build",
"start": "next start"
,
现在,我在 "src" 文件夹中创建了目录 "pages" 并添加了 "index.js" hello world react 程序来测试下一个 js,它通过运行脚本 "npm run dev" 来工作
所以,我将所有文件夹从“controllers”复制到“pages”文件夹并尝试访问静态页面“about”
在这里,我遇到了错误,
有时会出现这个错误:
Firebase:名为“[DEFAULT]”的 Firebase 应用已存在 (app/duplicate-app)。
重新加载一段时间后在同一页面上出现此错误:
FirebaseError: projectId 必须是 FirebaseApp.options 中的字符串
What other things to do more to convert existing react app to next.js?
【问题讨论】:
使用 NextJs 示例模板。他们为每一种可能的技术提供了示例 【参考方案1】:我在 Next.js 和 React Native 中多次看到这个 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();
【讨论】:
以上是关于我正在尝试使用 next.js 转换我现有的反应应用程序。这是正确的做法吗?的主要内容,如果未能解决你的问题,请参考以下文章
简单的反应错误:不能在 Next.js 中使用 @material-ui/picker 库
在页面加载时将道具传递给子组件 - 与 next.js 做出反应