VUE3 CLI项目 uni-app打包成安卓时报错

VUE3 CLI项目 uni-app打包成安卓时报错

操作步骤:

  • 直接打包就报错

预期结果:

  • 正常打包

实际结果:

[HBuilder] 09:10:48.229 [plugin:vite:resolve] Module "fs" has been externalized for browser compatibility, imported by "D:/WWW/bpg-app-mall-mobile-VUE3/node_modules/tinyglobby/dist/index.cjs". See https://vitejs.dev/guide/troubleshooting.html#module-externalized-for-browser-compatibility for more details.
[HBuilder] 09:10:48.244 [plugin:vite:resolve] Module "path" has been externalized for browser compatibility, imported by "D:/WWW/bpg-app-mall-mobile-VUE3/node_modules/tinyglobby/dist/index.cjs". See https://vitejs.dev/guide/troubleshooting.html#module-externalized-for-browser-compatibility for more details.
[HBuilder] 09:10:48.259 [plugin:vite:resolve] Module "url" has been externalized for browser compatibility, imported by "D:/WWW/bpg-app-mall-mobile-VUE3/node_modules/tinyglobby/dist/index.cjs". See https://vitejs.dev/guide/troubleshooting.html#module-externalized-for-browser-compatibility for more details.
[HBuilder] 09:10:48.357 [plugin:vite:resolve] Module "constants" has been externalized for browser compatibility, imported by "D:/WWW/bpg-app-mall-mobile-VUE3/node_modules/webpack-virtual-modules/lib/virtual-stats.js". See https://vitejs.dev/guide/troubleshooting.html#module-externalized-for-browser-compatibility for more details.
[HBuilder] 09:10:48.687 [plugin:vite:resolve] Module "path" has been externalized for browser compatibility, imported by "D:/WWW/bpg-app-mall-mobile-VUE3/node_modules/fdir/dist/index.cjs". See https://vitejs.dev/guide/troubleshooting.html#module-externalized-for-browser-compatibility for more details.
[HBuilder] 09:10:48.698 [plugin:vite:resolve] Module "fs" has been externalized for browser compatibility, imported by "D:/WWW/bpg-app-mall-mobile-VUE3/node_modules/fdir/dist/index.cjs". See https://vitejs.dev/guide/troubleshooting.html#module-externalized-for-browser-compatibility for more details.
[HBuilder] 09:10:48.736 [plugin:vite:resolve] Module "node:path" has been externalized for browser compatibility, imported by "D:/WWW/bpg-app-mall-mobile-VUE3/node_modules/unplugin-auto-import/node_modules/unimport/dist/chunks/detect-acorn.cjs". See https://vitejs.dev/guide/troubleshooting.html#module-externalized-for-browser-compatibility for more details.
[HBuilder] 09:10:48.755 [plugin:vite:resolve] Module "node:process" has been externalized for browser compatibility, imported by "D:/WWW/bpg-app-mall-mobile-VUE3/node_modules/unplugin-auto-import/node_modules/unimport/dist/chunks/detect-acorn.cjs". See https://vitejs.dev/guide/troubleshooting.html#module-externalized-for-browser-compatibility for more details.
[HBuilder] 09:10:48.850 [plugin:vite:resolve] Module "node:path" has been externalized for browser compatibility, imported by "D:/WWW/bpg-app-mall-mobile-VUE3/node_modules/unimport/dist/chunks/detect-acorn.cjs". See https://vitejs.dev/guide/troubleshooting.html#module-externalized-for-browser-compatibility for more details.
[HBuilder] 09:10:48.865 [plugin:vite:resolve] Module "node:process" has been externalized for browser compatibility, imported by "D:/WWW/bpg-app-mall-mobile-VUE3/node_modules/unimport/dist/chunks/detect-acorn.cjs". See https://vitejs.dev/guide/troubleshooting.html#module-externalized-for-browser-compatibility for more details.
[HBuilder] 09:10:50.048 [plugin:vite:resolve] Module "perf_hooks" has been externalized for browser compatibility, imported by "D:/WWW/bpg-app-mall-mobile-VUE3/node_modules/@dcloudio/uni-uts-v1/lib/typescript/lib/typescript.js". See https://vitejs.dev/guide/troubleshooting.html#module-externalized-for-browser-compatibility for more details.
[HBuilder] 09:10:53.669 x Build failed in 19.49s
[HBuilder] 09:10:53.689 [commonjs--resolver] Failed to resolve entry for package "estree-walker". The package may have incorrect main/module/exports specified in its package.json: No known conditions for "." specifier in "estree-walker" package
[HBuilder] 09:10:53.710 file: D:/WWW/bpg-app-mall-mobile-VUE3/node_modules/unimport/dist/chunks/detect-acorn.cjs
[HBuilder] 09:10:53.731 Build failed with errors.

bug描述:

{
  "name": "bpg-app-mall-mobile",
  "version": "0.0.0",
  "scripts": {
    "dev:custom": "uni -p",
    "dev:h5": "uni",
    "dev:h5:ssr": "uni --ssr",
    "dev:mp-alipay": "uni -p mp-alipay",
    "dev:mp-baidu": "uni -p mp-baidu",
    "dev:mp-jd": "uni -p mp-jd",
    "dev:mp-kuaishou": "uni -p mp-kuaishou",
    "dev:mp-lark": "uni -p mp-lark",
    "dev:mp-qq": "uni -p mp-qq",
    "dev:mp-toutiao": "uni -p mp-toutiao",
    "dev:mp-harmony": "uni -p mp-harmony",
    "dev:mp-weixin": "uni -p mp-weixin",
    "dev:mp-xhs": "uni -p mp-xhs",
    "dev:quickapp-webview": "uni -p quickapp-webview",
    "dev:quickapp-webview-huawei": "uni -p quickapp-webview-huawei",
    "dev:quickapp-webview-union": "uni -p quickapp-webview-union",
    "build:custom": "uni build -p",
    "build:h5": "uni build",
    "build:h5:ssr": "uni build --ssr",
    "build:mp-alipay": "uni build -p mp-alipay",
    "build:mp-baidu": "uni build -p mp-baidu",
    "build:mp-jd": "uni build -p mp-jd",
    "build:mp-kuaishou": "uni build -p mp-kuaishou",
    "build:mp-lark": "uni build -p mp-lark",
    "build:mp-qq": "uni build -p mp-qq",
    "build:mp-toutiao": "uni build -p mp-toutiao",
    "build:mp-harmony": "uni build -p mp-harmony",
    "build:mp-weixin": "uni build -p mp-weixin",
    "build:mp-xhs": "uni build -p mp-xhs",
    "build:quickapp-webview": "uni build -p quickapp-webview",
    "build:quickapp-webview-huawei": "uni build -p quickapp-webview-huawei",
    "build:quickapp-webview-union": "uni build -p quickapp-webview-union"
  },
  "dependencies": {
    "@dcloudio/uni-app": "3.0.0-4070620250821001",
    "@dcloudio/uni-app-harmony": "3.0.0-4070620250821001",
    "@dcloudio/uni-app-plus": "3.0.0-4070620250821001",
    "@dcloudio/uni-components": "3.0.0-4070620250821001",
    "@dcloudio/uni-h5": "3.0.0-4070620250821001",
    "@dcloudio/uni-mp-alipay": "3.0.0-4070620250821001",
    "@dcloudio/uni-mp-baidu": "3.0.0-4070620250821001",
    "@dcloudio/uni-mp-harmony": "3.0.0-4070620250821001",
    "@dcloudio/uni-mp-jd": "3.0.0-4070620250821001",
    "@dcloudio/uni-mp-kuaishou": "3.0.0-4070620250821001",
    "@dcloudio/uni-mp-lark": "3.0.0-4070620250821001",
    "@dcloudio/uni-mp-qq": "3.0.0-4070620250821001",
    "@dcloudio/uni-mp-toutiao": "3.0.0-4070620250821001",
    "@dcloudio/uni-mp-weixin": "3.0.0-4070620250821001",
    "@dcloudio/uni-mp-xhs": "3.0.0-4070620250821001",
    "@dcloudio/uni-quickapp-webview": "3.0.0-4070620250821001",
    "@dcloudio/uni-uts-v1": "3.0.0-4070620250821001",
    "@dcloudio/vue-cli-plugin-uni": "^2.0.2-4070620250821001",
    "@fingerprintjs/fingerprintjs": "^4.6.2",
    "@qiun/ucharts": "^2.5.0-20230101",
    "@rollup/rollup-win32-x64-msvc": "^4.52.4",
    "big.js": "^7.0.1",
    "crypto-js": "^4.2.0",
    "dart-sass": "^1.25.0",
    "dplayer": "^1.27.1",
    "estree-walker": "3.0.3",
    "hls.js": "^1.6.13",
    "js-md5": "^0.8.3",
    "mitt": "^3.0.1",
    "pinia": "^3.0.3",
    "sass": "^1.93.2",
    "sass-embedded": "^1.93.2",
    "sass-loader": "^16.0.5",
    "sass-migrator": "^2.4.2",
    "vite": "5.2.8",
    "vue": "^3.4.21",
    "vue-i18n": "^9.1.9"
  },
  "devDependencies": {
    "@dcloudio/types": "^3.4.8",
    "@dcloudio/uni-automator": "3.0.0-4070620250821001",
    "@dcloudio/uni-cli-shared": "3.0.0-4070620250821001",
    "@dcloudio/uni-stacktracey": "3.0.0-4070620250821001",
    "@dcloudio/vite-plugin-uni": "3.0.0-4070620250821001",
    "@vue/runtime-core": "^3.4.21"
  }
}

更多关于VUE3 CLI项目 uni-app打包成安卓时报错的实战教程也可以访问 https://www.itying.com/category-93-b0.html

1 回复

更多关于VUE3 CLI项目 uni-app打包成安卓时报错的实战教程也可以访问 https://www.itying.com/category-93-b0.html


这个错误主要是由于Vite在浏览器环境中无法处理Node.js模块导致的。从错误信息看,问题出现在多个依赖包(tinyglobby、fdir、unimport等)试图导入Node.js内置模块(fs、path、url等),但Vite将这些模块外部化了。

主要解决方案:

  1. 检查并更新uni-app相关依赖版本,确保所有@dcloudio/*包版本一致且兼容Vue 3。

  2. 检查第三方依赖兼容性

    • tinyglobbyfdir等包主要用于文件系统操作,在浏览器环境中不适用
    • 考虑替换为浏览器兼容的替代方案
  3. 配置Vite优化:在vite.config.js中添加配置:

export default defineConfig({
  resolve: {
    alias: {
      'path': 'path-browserify',
      'fs': 'browserify-fs'
    }
  },
  define: {
    'process.env': {}
  }
})
  1. 检查estree-walker包:错误显示该包入口解析失败,尝试重新安装或更新版本:
npm update estree-walker
# 或
npm install estree-walker@latest
  1. 清理缓存并重新安装
rm -rf node_modules package-lock.json
npm cache clean --force
npm install
回到顶部