浏览代码

fix: 修复 webpack 配置,确保 sax 模块正常加载并避免应用崩溃

xieyong 6 天之前
父节点
当前提交
7dbec37892
共有 1 个文件被更改,包括 7 次插入 和 4 次删除
  1. 7 4
      vue.config.js

+ 7 - 4
vue.config.js

@@ -20,10 +20,13 @@ module.exports = {
       maxEntrypointSize: 2000000
     },
     resolve: {
-      // xlsx 依赖的 sax 里有一行 require('stream')(仅流式解析用,浏览器走不到),
-      // webpack5 默认不打包 node 内置模块,显式置空消掉构建警告
-      fallback: {
-        stream: false
+      // webpack5 默认不打包 node 内置模块:sax 在模块加载阶段就会 require('stream'),
+      // 若把 stream 置空(fallback: { stream: false }),require 不会抛错但取到的
+      // .Stream 是 undefined,sax 执行 Stream.prototype 时会报
+      // “Cannot read properties of undefined (reading 'prototype')”,导致应用启动即崩。
+      // 这里改为指向一个最小实现的桩模块,既消掉构建告警,也保证运行期不报错。
+      alias: {
+        stream: path.resolve(__dirname, 'build/stream-stub.js')
       }
     },
     output: {