Vue3 使用 uni-app 脚手架初始化的项目会自动添加广告插件 uni-ad 急急急
Vue3 使用 uni-app 脚手架初始化的项目会自动添加广告插件 uni-ad 急急急
操作步骤:
- 使用脚手架初始化 uniapp 项目
- 3.0.0-4080720251210001
预期结果:
- 只针对有开启
实际结果:
- 可以自行控制是否使用ad
bug描述:
Nodeje: 20.19.5
使用 vue-cli 创建 uni-app 的项目。
{
"[@dcloudio](/user/dcloudio)/uni-app": "3.0.0-4080720251210001",
"[@dcloudio](/user/dcloudio)/uni-app-harmony": "3.0.0-4080720251210001",
"[@dcloudio](/user/dcloudio)/uni-app-plus": "3.0.0-4080720251210001",
"[@dcloudio](/user/dcloudio)/uni-components": "3.0.0-4080720251210001",
"[@dcloudio](/user/dcloudio)/uni-h5": "3.0.0-4080720251210001",
"[@dcloudio](/user/dcloudio)/uni-mp-alipay": "3.0.0-4080720251210001",
"[@dcloudio](/user/dcloudio)/uni-mp-baidu": "3.0.0-4080720251210001",
"[@dcloudio](/user/dcloudio)/uni-mp-harmony": "3.0.0-4080720251210001",
"[@dcloudio](/user/dcloudio)/uni-mp-jd": "3.0.0-4080720251210001",
"[@dcloudio](/user/dcloudio)/uni-mp-kuaishou": "3.0.0-4080720251210001",
"[@dcloudio](/user/dcloudio)/uni-mp-lark": "3.0.0-4080720251210001",
"[@dcloudio](/user/dcloudio)/uni-mp-qq": "3.0.0-4080720251210001",
"[@dcloudio](/user/dcloudio)/uni-mp-toutiao": "3.0.0-4080720251210001",
"[@dcloudio](/user/dcloudio)/uni-mp-weixin": "3.0.0-4080720251210001",
"[@dcloudio](/user/dcloudio)/uni-mp-xhs": "3.0.0-4080720251210001",
"[@dcloudio](/user/dcloudio)/uni-quickapp-webview": "3.0.0-4080720251210001",
"@vue/devtools-api": "^6.6.4",
"pinia": "3.0.3",
"vue": "^3.5.25",
"vue-i18n": "9.1.9"
}
使用webstorm 运行 npm run dev:mp-weixin
控制台 提示如下,强制登录
本应用使用了uni-ad广告服务, 需登录DCloud账户。如果未设置过密码请先登录DCloud开发者中心设置密码。
请输入帐户:
(直接输入用户名后回车,支持退格)
之后在微信开发者工具 报错
app.js错误:
Error: This application has not registered any plugins yet.
at VM65 WASubContext.js:1
at R (VM65 WASubContext.js:1)
at vendor.js?t=wechat&s=1766407711821&v=ad45ec0c0f2329cb515da85af510235f:58
at VM65 WASubContext.js:1
at f.runWith (VM65 WASubContext.js:1)
at q (VM65 WASubContext.js:1)
at n (VM65 WASubContext.js:1)
at app.js?t=wechat&s=1766407711821&v=39b9256f0a8808f51a0000520ac1a8e1:2
at VM65 WASubContext.js:1
at f.runWith (VM65 WASubContext.js:1)(env: Windows,mp,2.01.2512172; lib: 3.11.3)
发现在 @dcloudio/uni-components/lib/ad/ad.mixin.mp-weixin.js 有定义引入ad 的代码。
希望解答下 如何不自动引入广告,怎么控制不生效


更多关于Vue3 使用 uni-app 脚手架初始化的项目会自动添加广告插件 uni-ad 急急急的实战教程也可以访问 https://www.itying.com/category-93-b0.html
破案了, 跟版本没关系。 是 引入了 uni-list 组件, 里面有 一个 uni-list-ad 广告组件。 删除 uni-list-ad组件就行
更多关于Vue3 使用 uni-app 脚手架初始化的项目会自动添加广告插件 uni-ad 急急急的实战教程也可以访问 https://www.itying.com/category-93-b0.html
该bug反馈内容基本完整,描述了Node版本、复现步骤、错误现象及期望行为。但存在不足:未提供HBuilderX具体版本号(仅说"正式版"),且未说明manifest.json中是否配置了uni-ad。代码示例仅展示依赖版本,缺少关键配置文件内容。
bug成立。依据知识库,在4.86版本(对应3.0.0-4080720251210001)更新日志中明确记载"新增 uni-ad 开屏广告"功能(uni-ad配置文档)。uni-app默认集成广告模块,但应提供开关控制。用户反馈的强制登录提示和插件注册错误符合uni-ad初始化逻辑,表明脚手架生成的项目未正确处理广告模块的按需加载。
非基础概念问题。属于框架设计层面:uni-app商业化策略导致默认包含广告模块,但缺乏显式启用机制。解决方案应为:
检查manifest.json的"modules"配置,移除"uni-ad"相关声明
若无需广告功能,可删除node_modules中@uni-ad相关依赖
参考uni-app插件使用规范实现按需引入
实际结果异常:正常情况未配置广告时不应触发DCloud账户验证。当前行为违背"用户可控"原则,需框架层优化默认配置策略。 内容为 AI 生成,仅供参考
根据你提供的信息,这确实是 uni-app 3.0.0-alpha 版本的一个已知问题。在该特定版本中,uni-ad 广告插件被默认集成到了 uni-components 包中,并在编译时自动注入,导致项目初始化后强制要求登录 DCloud 账户,且在没有正确配置的情况下可能引发运行时错误。
核心原因:@dcloudio/uni-components 包(版本 3.0.0-4080720251210001)内部包含了 ad 组件的混入(mixin)逻辑,并且在编译到小程序平台时,这部分代码会被默认包含进去,触发了广告服务的初始化检测。
解决方案如下:
- 临时解决方案(推荐立即使用):
在项目根目录的
vue.config.js文件中(如果没有则新建),添加以下配置,以在编译时排除广告插件的相关代码:// vue.config.js const path = require('path'); module.exports = { configureWebpack: { module: { rules: [ { test: path.resolve(__dirname, 'node_modules/@dcloudio/uni-components/lib/ad'), use: 'null-loader', // 使用 null-loader 忽略该模块 }, ], }, }, };

