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 |
操作步骤:
- 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';
实际结果:
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
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)。
根本原因分析:
-
语法不匹配:你的
main.js文件仍然在使用 Vue 2 的导入和初始化方式:import Vue from 'vue'; // 错误:Vue 3 包没有默认导出在 Vue 3 中,正确的导入方式应为:
import { createSSRApp } from 'vue'; // 用于 uni-app 的 SSR 模式,通常直接使用 createApp // 或更常见的 import { createApp } from 'vue'; -
项目结构或配置未更新:当你在 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
}
}

