文章目录
- 通过Cli方式创建uni-app常见错误整理
- 错误一 :exports is not not defined
- 错误二:this.getResolve is not a function
- 错误三:全局配置Vue.config.ignoreElements 后报 uni-* 组件未定义
错误一 :exports is not not defined
-
错误描述
exports is not defined
-
错误截图
-
错误原因
更新uni-app 的时候一并更新了@babel/runtime ,@babel/runtime 更新到了 7.13.x,有较大改动,引起兼容问题。
-
解决办法
1.回退 @babel/runtime 版本到7.12.0
删除 node_modules 目录和 package-lock.json 文件,在 package.json 文件中增加开发依赖
“@babel/runtime”: “~7.12.0”,执行 npm install 重新安装依赖即可2.注释或者删除babel.config.js文件
3.注释掉babel.config.js 文件中modules: ‘commonjs’, 语句,代码如下module.exports = { presets: [ [ '@vue/app', { // modules: 'commonjs', 注释掉该条语句,错误消失。 useBuiltIns: process.env.UNI_PLATFORM === 'h5' ? 'usage' : 'entry' } ] ], plugins }
-
参考链接
【报Bug】使用cli方式创建的项目本地 运行 报exports is not defined
错误二:this.getResolve is not a function
-
错误描述
this.getResolve is not a function
-
错误截图
-
问题原因
node-sass 和sass-loader 版本过高导致编译报错 -
解决办法
回退node-sass 和 sass-loader 到低版本,目前"node-sass": “^4.14.1”,和"sass-loader": "^8.0.2"版本正常。回退方法同上,亦可通过npm uninstall卸载后安装指定版本。
错误三:全局配置Vue.config.ignoreElements 后报 uni-* 组件未定义
-
错误描述
因在业务中需要使用微信的开发标签,结果在页面中插入开放标签后Vue控制台报错,Unknown custom element: 通过配置 Vue.config.ignoredElements = [“wx-open-launch-weapp”]; 结果报错Unknown custom element: uni-* -
错误截图
-
问题原因
1.通过配置Vue.config.ignoredElements 覆盖了uni-app 的原有配置,因此导致Vue控制台报错找不到自定义组件
2.组件没有注册,需要在pages.json中注册,如果是使用Uniapp开发,新建组件的时候会自动添加到pages.json中。 -
解决办法
配置微信开放标签的同时,将uni自定义组件也配置在内
Vue.config.ignoredElements = [“wx-open-launch-weapp”, /^uni-/];
// 或: Vue.config.ignoredElements.push(“wx-open-launch-weapp”);