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

Laravel/Vue Mix项目引入jsPDF时webpack报process/browser模块缺失错误求助

解决方案

报错原因

该报错由Webpack 5的ESM规范校验触发:jsPDF依赖的canvg包内部导入process/browser时未携带.js后缀,Webpack 5对严格ES模块的导入要求必须完整指定文件后缀,因此识别失败。

修复步骤

第一步:安装缺失的process依赖

项目缺少浏览器端兼容的process polyfill,先执行安装命令:

npm install process --save-dev

第二步:修改Laravel Mix配置

打开项目根目录下的webpack.mix.js文件,按如下规则修改:

  1. 顶部引入path模块
  2. 调用mix.webpackConfig添加自定义解析规则,原有其他mix配置(比如vue编译、css处理等)保持不变

完整配置参考:

const mix = require('laravel-mix');
const path = require('path');

// 你原有的业务配置保持不变,示例如下
mix.js('resources/js/app.js', 'public/js')
    .vue()
    .postCss('resources/css/app.css', 'public/css', [
        require('tailwindcss'),
    ]);

// 新增webpack配置解决process/browser解析问题
mix.webpackConfig({
    resolve: {
        // 直接将process/browser的导入指向带完整后缀的文件
        alias: {
            'process/browser': path.resolve(__dirname, 'node_modules/process/browser.js')
        },
        // 配置process polyfill的兜底规则
        fallback: {
            process: require.resolve('process/browser')
        }
    },
    module: {
        rules: [
            {
                test: /\.m?js$/,
                include: /node_modules\/canvg/,
                resolve: {
                    // 针对canvg包关闭严格的后缀全匹配校验
                    fullySpecified: false
                }
            }
        ]
    }
});

第三步:清除缓存重新编译

执行命令清除旧编译缓存后重新启动服务即可:

rm -rf node_modules/.cache public/hot
npm run dev
# 开发环境可直接用 npm run watch

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 07:24:05