小编Yes*_*500的帖子

Expo build:web 构建巨大的捆绑包和缓慢的网站,性能不佳

expo build:web 生成的包大小非常大,平均为 3mb。

\n

我完成了https://docs.expo.io/guides/web-performance/上的步骤。我的应用程序没有图像,因此优化它们没有真正的问题。其他建议的改进变化很小。

\n

我使用了捆绑包分析器,并且没有安装任何大尺寸的模块来导致 3mb 捆绑包大小。

\n

当我运行构建时,我得到:

\n
entrypoint size limit: The following entrypoint(s) combined asset size exceeds the recommended limit (48.8 KiB). This can impact web performance.\nEntrypoints:\n  app (3.2 MiB)\n      static/js/runtime~app.aaee9ccd.js\n      static/js/2.a5f54fa3.chunk.js\n      static/js/app.98ae2f23.chunk.js\n
Run Code Online (Sandbox Code Playgroud)\n

其结果是网页的性能极差。

\n

如果我在浏览器中的构建结果上运行 google \xe2\x80\x9clightspeed\xe2\x80\x9d (pagespeed Insights),我会得到非常差的初始页面加载评级。

\n

我正在考虑一种可能的解决方法,即分支,然后 expo 弹出,然后删除所有不必要的 npm 模块以减少包大小。

\n

我\xe2\x80\x99ve还在一些组件上添加了延迟加载,但没有太大改进。

\n

您还有其他建议吗?

\n

还附上谷歌光速测试结果。

\n

光速\n光速2

\n

performance pagespeed react-native react-native-web expo

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

异步函数返回未定义

我真的需要重温我的异步等待和承诺。我希望得到一些建议。

我正在对 firebase firestore 进行异步函数调用。该函数应根据单个输入参数返回一个字符串。

该功能用于 1-1 用户聊天。该功能是创建聊天/查找现有聊天,并返回其ID。

现在,我得到undefined的返回值是openChat并且不知道为什么。除了返回之外,该函数还可以正常工作。

我有两个功能。一个是 React 类组件生命周期方法,另一个是我的 firebase 异步函数。

这是类组件生命周期方法:

async getChatId(userId) {
  let chatPromise = new Promise((resolve, reject) => {
    resolve(openChat(userId))
  })
  let chatId = await chatPromise
  console.log('chatId', chatId) //UNDEFINED
  return chatId
}

async requestChat(userId) {
  let getAChat = new Promise((resolve, reject) => {
    resolve(this.getChatId(userId))
  })
  let result = await getAChat
  console.log('result', result) //UNDEFINED
}

render() {
  return (<button onClick = {() => this.requestChat(userId)}>get id</button>)
}
Run Code Online (Sandbox Code Playgroud)

这是异步函数:

// both my …
Run Code Online (Sandbox Code Playgroud)

javascript promise async-await firebase reactjs

3
推荐指数
1
解决办法
7440
查看次数