我们有一个React组件,它使用一些长时间计算提供的数据。提供的数据(长时间计算的结果)总是相同的(对于所有用户)。
我想要做的是确保这个计算只执行一次(在小型化期间),而不是每次用户加载页面时。
Webpack在生产模式下默认使用TerserPlugin进行小型化。
console.log
肯定会阻止优化。简化webpack配置:
...
module.exports = {
mode: 'production',
entry: {
app: ['...'],
},
output: {
path: '...',
filename: "[name].bundle.js",
publicPath: "/"
},
module: {
rules: [
{
test: /\.html$/,
loader: "file-loader?name=[name].[ext]"
},
{
test: /\.(jsx?|tsx?)$/,
exclude: /node_modules/,
use: {
loader: "babel-loader",
}
},
...
]
},
resolve: {
extensions: [.ts", ".tsx", ".js", ".jsx"],
modules: [
path.join(__dirname, "./src"),
]
},
};
我能想象的唯一方法是创建一个脚本,用所需的数据创建一个json文件。
下面是一个带有示例用例的演示。
发布于 2020-01-09 04:36:45
如果所有用户中的数据是相同的,则如果存在后端,则应将数据缓存在后端。
如果每个客户端的数据都是唯一的,但您希望客户机进行更少的计算,那么请查看react.memo。
https://stackoverflow.com/questions/59657181
复制相似问题