如何减少 NextJs 包的大小?

eth*_*boy 5 javascript rendering reactjs next.js

我刚刚创建了 NextJS 应用程序,第一个加载包大小约为 1.5Mb。这是我第一次使用 Nextjs,据我了解 1.2Mb 是非常大的。我附上了纱线构建的图像以及我的package.json.

我的应用程序中的所有页面都从数据库查询,现在页面呈现为静态 html。

我已经尝试了所有基本的东西,例如使用 ES6 导入(用于有条件渲染的组件),但这些都不起作用。我认为问题在于我的所有页面首先从数据库中获取数据(如果我错了,请纠正我),但是我不太确定如何解决这个问题。

我知道我可以使用 useEffect 直接从前端获取数据,但是我不知道这是否会减少构建大小。

如果有人有使用 NextJs 的经验,如果他们能够查看我的项目并让我知道哪里出了问题,我将非常感激。

谢谢!

包.JSON

  "dependencies": {
    "@chakra-ui/react": "^2.3.6",
    "@emotion/react": "^11.10.4",
    "@emotion/styled": "^11.10.4",
    "@next/bundle-analyzer": "^13.0.2",
    "dotenv": "^16.0.3",
    "framer-motion": "^7.6.5",
    "moralis-v1": "^1.11.0",
    "next": "latest",
    "react": "18.1.0",
    "react-dom": "18.1.0",
    "react-moralis": "^1.4.2",
    "react-redux": "^8.0.4",
    "web3uikit": "^0.1.159"
  },
  "devDependencies": {
    "@types/node": "17.0.35",
    "@types/react": "18.0.9",
    "@types/react-dom": "18.0.5",
    "autoprefixer": "^10.4.7",
    "file-loader": "^6.2.0",
    "postcss": "^8.4.14",
    "tailwindcss": "^3.1.2",
    "typescript": "4.7.2",
    "url-loader": "^4.1.1"
  }
}
Run Code Online (Sandbox Code Playgroud)

捆: 在此输入图像描述

小智 2

问题似乎出在 _app.js 中。该文件由所有其他文件共享,大小为 1.03MB。所以里面出了问题。您必须发布该文件的内容才能找到问题