uni-app Vue版本选择为3时 运行到小程序模拟器出现“Can't resolve original location of error.”

uni-app Vue版本选择为3时 运行到小程序模拟器出现“Can’t resolve original location of error.”

开发环境 版本号 项目创建方式
Windows 10 专业版 HBuilderX

操作步骤:

  1. Vue版本选择为3
  2. 运行到小程序模拟器

预期结果:

09:09:29.886 Error when using sourcemap for reporting an error: Can't resolve original location of error.
09:09:29.886 'default' is not exported by node_modules@dcloudiouni-mp-vue/dist/vue.runtime.esm.js, imported by XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXmain.js
09:09:29.892 at main.js:1:90
09:09:29.892   1: import 'plugin-vue:export-helper';import 'uni-mp-runtime';import './pages.json.js';import Vue from 'vue';
09:09:29.899                                                                                                 ^ 
09:09:29.900   2: import App from './App';

实际结果:

09:09:29.886 Error when using sourcemap for reporting an error: Can't resolve original location of error.
09:09:29.886 'default' is not exported by node_modules@dcloudiouni-mp-vue/dist/vue.runtime.esm.js, imported by XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXmain.js
09:09:29.892 at main.js:1:90
09:09:29.892   1: import 'plugin-vue:export-helper';import 'uni-mp-runtime';import './pages.json.js';import Vue from 'vue';
09:09:29.899                                                                                                 ^ 
09:09:29.900   2: import App from './App';

bug描述:

Vue版本选择为3、运行到小程序模拟器出如下错误

09:09:29.886 Error when using sourcemap for reporting an error: Can't resolve original location of error.
09:09:29.886 'default' is not exported by node_modules@dcloudiouni-mp-vue/dist/vue.runtime.esm.js, imported by XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXmain.js
09:09:29.892 at main.js:1:90
09:09:29.892   1: import 'plugin-vue:export-helper';import 'uni-mp-runtime';import './pages.json.js';import Vue from 'vue';
09:09:29.899                                                                                                 ^ 
09:09:29.900   2: import App from './App';

更多关于uni-app Vue版本选择为3时 运行到小程序模拟器出现“Can't resolve original location of error.”的实战教程也可以访问 https://www.itying.com/category-93-b0.html

9 回复

Error when using sourcemap for reporting an error: Can’t resolve original location of error 我用vue3也遇到这个问题

更多关于uni-app Vue版本选择为3时 运行到小程序模拟器出现“Can't resolve original location of error.”的实战教程也可以访问 https://www.itying.com/category-93-b0.html


试下用示例代码hello uni-app能出现你的问题吗?

15:38:37.204 ‘default’ is not exported by node_modules@dcloudio\uni-mp-vue\dist\vue.runtime.esm.js, imported by XXXXXXXXXXXXX\hello-uniapp\store\index.js 15:38:37.204 at store/index.js:1:7

15:38:37.208 1: import Vue from ‘vue’ 15:38:37.208 ^ 15:38:37.211 2: import Vuex from ‘vuex’

我怀疑是Vue版本虽然选择了3,但是node_modules没有匹配到版本3

我试一下最新的demo

15:39:13.953 请注意运行模式下,因日志输出、sourcemap 以及未压缩源码等原因,性能和包体积,均不及发行模式。若要正式发布,请点击发行菜单或使用 cli 发布命令进行发布
15:39:13.956 正在编译中…
15:39:17.184 vite v2.9.14 building for development…
15:39:27.052 ‘default’ is not exported by node_modules@dcloudio\uni-mp-vue\dist\vue.runtime.esm.js, imported by …\WeChatProjects\uni-book\uni-book\node_modules\bootstrap-vue\esm\vue.js
15:39:27.054 at node_modules/bootstrap-vue/esm/vue.js:1:7
15:39:27.063 1: import Vue from ‘vue’;
15:39:27.064 ^
15:39:27.074 2: import { mergeData } from ‘vue-functional-data-merge’; // — Constants — 问题解决了吗?

这个问题解决了么?

这个错误的核心问题是:在 Vue 3 项目中,错误地使用了 Vue 2 的语法和依赖

从错误信息 'default' is not exported by node_modules@dcloudiouni-mp-vue/dist/vue.runtime.esm.js 可以看出,项目试图从 Vue 3 的包中以 default 的形式导入 Vue,但 Vue 3 的 ES 模块构建版本(vue.runtime.esm.js不再提供默认导出(export default)

根本原因分析:

  1. 语法不匹配:你的 main.js 文件仍然在使用 Vue 2 的导入和初始化方式:

    import Vue from 'vue'; // 错误:Vue 3 包没有默认导出
    

    在 Vue 3 中,正确的导入方式应为:

    import { createSSRApp } from 'vue'; // 用于 uni-app 的 SSR 模式,通常直接使用 createApp
    // 或更常见的
    import { createApp } from 'vue';
    
  2. 项目结构或配置未更新:当你在 HBuilderX 中将 Vue 版本选择为 3 时,项目的入口文件(main.js)和相关的构建设置应该自动更新以匹配 Vue 3 的 API。出现此错误表明这一更新过程可能没有正确完成,或者项目中存在残留的 Vue 2 配置/代码。

解决方案:

1. 修正 main.js 文件 这是必须且最直接的修复。将你的 main.js 内容替换为 Vue 3 的初始化模式。uni-app 官方为 Vue 3 项目提供的标准模板如下:

import App from './App.vue'
import { createSSRApp } from 'vue'

// 注意:在uni-app中,Vue 3 项目应使用 createSSRApp 而非 createApp
export function createApp() {
  const app = createSSRApp(App)
  return {
    app
  }
}
回到顶部