You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用@payloadcms/bundler-webpack 1.0.5时遇Webpack缓存序列化错误

Webpack PackFileCacheStrategy 序列化错误解决方案

使用@payloadcms/bundler-webpack 1.0.5版本构建项目时,触发以下缓存序列化错误:

[webpack.cache.PackFileCacheStrategy] Caching failed for pack: Error: No serializer registered for ConcatSource

配置文件代码

payload.config.ts:

import { buildConfig } from 'payload/config'
import { webpackBundler } from '@payloadcms/bundler-webpack'
import { mongooseAdapter } from '@payloadcms/db-mongodb'
import { slateEditor } from '@payloadcms/richtext-slate'
import path from 'path'
import { Users } from './collections/Users'
import dotenv from 'dotenv'

dotenv.config({
  path: path.resolve(__dirname, '../.env'),
})

export default buildConfig({
  serverURL: process.env.NEXT_PUBLIC_SERVER_URL || '',
  collections: [Users], 
  routes: {
    admin: '/sell',
  },
  admin: {
    user: 'users',
    bundler: webpackBundler(),
    meta: {
      titleSuffix: '- DigitalHippo',
      favicon: '/favicon.ico',
      ogImage: '/thumbnail.jpg',
    },
  },
  rateLimit: {
    max: 2000,
  },
  editor: slateEditor({}),
  db: mongooseAdapter({
    url: process.env.MONGODB_URL!,
  }),
  typescript: {
    outputFile: path.resolve(__dirname, 'payload-types.ts'),
  },
})

关键信息

  • 需求:打包器正常运行,无序列化错误
  • 当前版本:@payloadcms/bundler-webpack 1.0.5
  • 错误触发点:Webpack的PackFileCacheStrategy缓存序列化过程
  • 触发场景:使用上述配置构建项目时
  • 前置操作:已按Payload文档完成集合、路由、打包器等基础配置

可行解决方案

1. 临时禁用Webpack缓存

修改webpackBundler配置,直接关闭缓存功能:

admin: {
  // ...其他配置
  bundler: webpackBundler({
    webpackConfig: (config) => {
      config.cache = false;
      return config;
    },
  }),
},

2. 升级打包器版本

该序列化问题在@payloadcms/bundler-webpack的后续版本中已被官方修复,直接升级到最新稳定版即可:

npm update @payloadcms/bundler-webpack
# 或者使用yarn
yarn upgrade @payloadcms/bundler-webpack

3. 自定义缓存序列化规则

若需要保留缓存功能,可手动为ConcatSource注册序列化器:

admin: {
  // ...其他配置
  bundler: webpackBundler({
    webpackConfig: (config) => {
      config.cache = {
        type: 'filesystem',
        buildDependencies: {
          config: [__filename],
        },
        serialize: {
          ConcatSource: (source) => source.source(),
        },
      };
      return config;
    },
  }),
},

内容的提问来源于stack exchange,提问作者K khan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 21:28:34