nil*_*mzr 7 node.js reactjs webpack next.js
我正在使用 Next.js 版本 8.0.4。
我面临的问题是,当我第一次构建应用程序并启动它时,它在服务器上占用了近 150 Mb 的内存,但随着时间的推移它逐渐增长,并且在短短 3 或 4 天内变得非常大,具体取决于有多少用户访问我的网站。
我搜索了很多关于内存泄漏的信息,但我认为我的代码中没有做过任何可能导致内存泄漏的事情。
我还注意到,每当我刷新页面或第一次加载它时,就会发生这种使用内存的增长,实际上是当页面在服务器端呈现时。每次刷新我都看到内存增加了 1-2 Mb 并且不会被释放
但是当我在客户端并且我路由到客户端的其他页面时,一切都很好。
我不知道是什么原因造成的。如果有人能帮我解决这个问题,我将不胜感激。
https://i.stack.imgur.com/t4VDm.jpg
如果有帮助,这也是我的 next.config.js:
module.exports = withCss({
    cssModules: true,
    cssLoaderOptions: {
        importLoaders: 1,
        localIdentName: "[local]___[hash:base64:5]",
    },
    webpack(config, {dev, isServer}) {
        if (ANALYZE) {
            config.plugins.push(new BundleAnalyzerPlugin({
                analyzerMode: 'server',
                analyzerPort: isServer ? 8080 : 4000,
                openAnalyzer: true
            }))
        }
        config.plugins.push(new CompressionPlugin({
            filename: "[path].gz[query]",
            algorithm: "gzip",
            test: /\.js$|\.css$|\.html$/,
            threshold: 10240,
            minRatio: 0.8,
            cache: true,
            compressionOptions: {level: 1}
        }));
        config.optimization.minimizer = [new UglifyJsPlugin({
            test: /\.js(\?.*)?$/i,
            cache: true,
            parallel: true,
            sourceMap: true,
            extractComments: 'all',
            uglifyOptions: {
                warnings: false,
                parse: {},
                compress: {},
                mangle: true,
                output: null,
                toplevel: false,
                nameCache: null,
                ie8: false,
                keep_fnames: false,
            }
        })];
        config.module.rules.push({
            test: /\.(svg|eot|otf|ttf|woff|woff2)$/,
            use: {
                loader: 'url-loader',
                options: {
                    limit: 100000,
                    publicPath: './assets/fonts',
                    outputPath: 'static/fonts',
                    name: '[name].[ext]'
                }
            }
        });
        if (Array.isArray(config.optimization.minimizer)) {
            config.optimization.minimizer.push(new OptimizeCSSAssetsPlugin({}));
        }
        if (!isServer && !dev) {
            config.optimization.splitChunks.cacheGroups.commons.minChunks = 2
        }
        return config
    },
});
| 归档时间: | 
 | 
| 查看次数: | 3445 次 | 
| 最近记录: |