小编Exo*_*uid的帖子

确保敏感代码仅在 NextJS 的服务器端运行,这样的代码可以从哪里运行?

我正在学习 NextJS,并试图确定如何使用干净且安全的架构来布局我的项目。但是,我不确定在哪里存储包含潜在敏感数据的代码(即与数据库的连接、访问文件系统等)。我已阅读文档,但我仍然不确定这一问题。

在我的项目布局中,我有 2 个与此问题相关的目录:我添加的顶级目录/lib/pages/api每个 NextJS 项目中包含的目录。

据我了解,/pages/api永远不会看到客户端,因此对于敏感代码来说是安全的。它只能用作进行发布、修补、删除等操作的地方。使用的示例/pages/api是当您从表单向服务器发出发布请求时。您可以从任何地方从此路由调用 api,例如:表单组件、文件/lib夹、中的页面/pages、外部第 3 方 api - 无论何处。

另一方面,顶级/lib目录是样板代码的地方,执行繁琐的操作,例如按字母顺序对博客文章进行排序、进行数学计算等,这不一定是“秘密”或敏感的 - 只是长而烦人的代码。该/lib目录始终会被客户端看到 -即使它的代码仅由服务器端方法(例如getStaticProps().

简而言之,任何远程敏感的内容都应该始终作为对目录的发布、补丁、放置等请求/pages/api,并且任何不敏感的长/乏味代码都应该重构到/lib目录中。

我有这个好吗?

javascript reactjs next.js

16
推荐指数
1
解决办法
6436
查看次数

Flutter Web - 未创建 Firebase 应用程序“[DEFAULT]” - 调用 Firebase App.initializeApp() (app/no-app)

我知道有很多与此非常相似的问题;但他们的解决方案都不适合我。我都试过了。PS:我希望问题与我的index.html有关

问题:我正在使用 Firebase(在 Flutter Web 上),并且尝试通过它对用户进行身份验证。但是,在我尝试添加 Firebase 以使其正常工作后,我的网站甚至无法启动(黑屏)。我希望得到一些帮助来解决这个问题!

错误:未创建 Firebase 应用程序“[DEFAULT]” - 调用 Firebase App.initializeApp() (app/no-app)

注意:该问题出现在 Flutter web 上,但在我的 Android 手机上正常。另外,我花了几个小时查找所有类似问题的每个答案,但他们的解决方案都不起作用。另外,这是我第一次提问,如果我做错了什么,请告诉我。谢谢!

错误输出:

To hot restart changes while running, press "r" or "R".
For a more detailed help message, press "h". To quit, press "q".
FirebaseError: Firebase: No Firebase App '[DEFAULT]' has been created - call Firebase App.initializeApp()
(app/no-app).
    at Object.u [as app] (https://www.gstatic.com/firebasejs/8.4.3/firebase-app.js:1:18229)
    at Object.app$ [as app]
    (http://localhost:60058/packages/firebase_core_web/src/interop/core.dart.lib.js:42:101)
    at new cloud_firestore_web.FirebaseFirestoreWeb.new
    (http://localhost:60058/packages/cloud_firestore_web/src/write_batch_web.dart.lib.js:865:64)
    at Function.registerWith
    (http://localhost:60058/packages/cloud_firestore_web/src/write_batch_web.dart.lib.js:788:73)
    at …
Run Code Online (Sandbox Code Playgroud)

dart firebase flutter flutter-web

14
推荐指数
2
解决办法
9742
查看次数

是否可以监听更改,并在更改时从单独的类获取这些新值并更新当前类中的变量?

因此,我在 home_screen dart 文件中,其中有一个文本,我希望它显示另一个类的属性值的实时值。当我从另一个脚本更新类的属性值时,我希望我的 home_screen 文本更新为该新值。我在单独文件中的类如下(简化):

class MyClass {

  static int myNumber = 10;

}
Run Code Online (Sandbox Code Playgroud)

我希望使用另一个文件中 myNumber 的值更新以下文本:

Text('iWantThisToDisplayLiveMyNumber'),
Run Code Online (Sandbox Code Playgroud)

当我从另一个随机脚本更改 myNumber 的值时,如何使Text实时更新始终为 myNumber?

dart flutter

5
推荐指数
1
解决办法
1万
查看次数

无法将 ScrollBar 添加到 ScrollablePositionedList (它没有 ScrollController)

我正在使用scrollable_positioned_list包,并让它渲染一个大的动态列表。它运作得很好。但是,我需要我的列表有一个滚动条(类似这样)。到目前为止,这是不可能的。

\n

有谁知道该怎么做?

\n

我的代码如下所示:

\n
Scrollbar(\n          child: ScrollablePositionedList.builder(\n            physics: const ClampingScrollPhysics(\n              parent: AlwaysScrollableScrollPhysics(),\n            ),\n            itemCount: posts.length + 1,\n            itemBuilder: (context, index) {\n              if (index == 0) {\n                return Container(\n                  height: 200,\n                  color: Colors.green,\n                  child: const Center(\n                    child: Text(\'post content\'),\n                  ),\n                );\n              } else if (posts[index - 1].isRoot) {\n                return Container(\n                  padding: const EdgeInsets.symmetric(vertical: 15),\n                  margin: const EdgeInsets.symmetric(vertical: 5),\n                  color: Colors.redAccent,\n                  child: Text(\'ROOT COMMENT, index: ${index - 1}\'),\n                );\n              } else {\n                return Container(\n                  padding: const …
Run Code Online (Sandbox Code Playgroud)

dart flutter flutter-layout flutter-listview flutter-scrollbar

5
推荐指数
2
解决办法
1732
查看次数