【发布时间】:2021-11-03 05:50:08
【问题描述】:
我正在使用 nextjs 和 Typescript。我实现了我的 Web 应用程序,但在生产模式下,我看到太多 .js 和 .css 文件已加载,并且此过程按顺序而不是并行发生。我认为 nextjs 应该在一个 webpack 文件中生成所有这些过程,但它不会发生。我该怎么办?对字体、图像、js 文件和 .css 文件有任何想法吗?还有一点我应该说。我正在使用与 Nextjs 文档中提到的指令相反的 SCSS 文件,它们被放置在 components 文件夹及其子文件夹中,而不是 styles 文件夹中。
const withPlugins = require("next-compose-plugins");
const nextTranslate = require("next-translate");
const withPWA = require("next-pwa");
const withBundleAnalyzer = require("@next/bundle-analyzer")({
enabled: process.env.ANALYZE === "true",
});
// next.js configuration
const nextConfig = {
images: {
domains: ['ibexcdn.com'],
},
};
module.exports = withPlugins(
[
[
nextTranslate,
{
webpack: (config, { isServer, webpack }) => {
return config;
},
},
],
withBundleAnalyzer,
[
withPWA,
{
pwa: {
disable: process.env.NODE_ENV === "development",
dest: 'public',
runtimeCaching: [
{
urlPattern: /.(?:eot|otf|ttc|ttf|woff|woff2|font.css)$/i,
handler: 'NetworkFirst',
options: {
cacheName: 'static-font-assets',
expiration: {
maxEntries: 4,
maxAgeSeconds: 7 * 24 * 60 * 60 // 7 days
}
}
}
]
},
},
],
],
nextConfig,
);
【问题讨论】:
-
不应该只有一个文件使它成为巨大的有效载荷。检查您的代码或文档中的代码拆分配置
-
@Sagar 但正如您在附加图像中看到的那样,加载了太多与主页无关的 CSS 文件,并且一些相关的 CSS 文件的加载大小非常小一种顺序的方式。还有一点我应该说。我正在使用与 Nextjs 文档中提到的指令相反的 SCSS 文件,它们放置在 components 文件夹及其子文件夹中,而不是 styles 文件夹中。
-
检查你的 webpack 设置以及你如何导入 comps 可能会有所帮助
标签: reactjs typescript webpack next.js frontend