-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[frontend] バンドルサイズ削減したい 優先度低 #24
Comments
だんだん減らしていく.
/** @type {import('next').NextConfig} */
const nextConfig = {
output: "export",
};
module.exports = nextConfig; まずは, 5e8e648 時点で
何もしてない状態
|
75d46ef (未 push) かなり減ったが,まだまだ Provider 変更 Toast 無効化
|
MSW を抜いてみた.もともと dynamic import しているため変化なし.
|
a5c6d50 (未コミット)
{
"env": {
"targets": "> 0.25%, not dead"
}
} browserslist を明示したがほぼ変化なし.このコミットだけではないが,ページ別に見ると gRPC 叩いてるページはどうしてもサイズが大きくなってしまうな.
|
Chakra に手を入れる.まず 参考
|
74c76a0 未コミット chakra-ui-optimization-loader 使ってみたけどあまり変化なし.その前に extendBaseTheme を extendTheme に置き換えてしまったので最初の何もしてない状態と比べるのがよいと思われる.それでもあまり減ってないな.
|
突然だが,pages/_app.tsx を下記のようにして -import customizedTheme from "@/src/config/theme";
+//import customizedTheme from "@/src/config/theme";
import { defaultErrorMap } from "@/src/config/zod";
//import { ChakraBaseProvider } from "@chakra-ui/react";
import { ChakraProvider as ChakraBaseProvider } from "@chakra-ui/provider"
@@ -12,7 +12,7 @@ z.setErrorMap(defaultErrorMap);
const MyApp = ({ Component, pageProps }: AppProps) => {
return (
//<ChakraBaseProvider toastOptions={{ defaultOptions: { isClosable: true } }} theme={customizedTheme}>
- <ChakraBaseProvider theme={customizedTheme}>
+ <ChakraBaseProvider>
<Component {...pageProps} />
</ChakraBaseProvider>
); 反則だが theme を一切渡さないと 20kB くらい減る.逆に言えば Chakra をこねくり回して到達できる理想値はここ.実際は一切テーマを当てないということはないのであり得ない値にはなってしまうが.
右端の縦長の長方形が pages/_app.tsx 由来のコード.もともと 20kB (Gzipped) くらいあったのが 3kB (Gzipped) くらいにまで減っている. |
zod が必要なのは form 周りだけなので pages/_app.tsx で読み込まなくてもいい説.ただ日本語表記とかを当てようとすると結局ルートで読み込んでおいたほうが面倒がないんだろうなとは思う.こういうときに React 的にはどう解決するのがスマートなんだろうか. 追記 ca969e6 で修正された |
next build
してできるファイルが大きすぎてかなわないので,サイズを減らしたいです.Chakra-UI がかなり悪さをしているようなのでそこをなんとかすればいい線行くと思います.Chakra UI のバンドルサイズを削る方法 2023/01版
@next/bundle-analyzer で分析した結果を添付します.
analyze.zip
The text was updated successfully, but these errors were encountered: