鸿蒙项目模板的修改问题

举报
黄生 发表于 2026/01/06 11:19:21 2026/01/06
【摘要】 某个记账项目模板,以此为基础,构建自己的应用,要删除其中的资产模块,还是花费不少时间。删除资产模块后,因为耦合的原因,修改(删除)- build - 报错 ,循环很多次。比如utils/accoutingdb里面是不分模块的,全耦合的。当然这个项目来说,低耦合还是做的不错的,这里的耦合,我理解也是架构上、业务上没有更好的办法,不得已而为之。那么,是否可能一次尽可能的将所有错误都揭示出来呢?尝...

某个记账项目模板,以此为基础,构建自己的应用,要删除其中的资产模块,还是花费不少时间。

删除资产模块后,因为耦合的原因,修改(删除)- build - 报错 ,循环很多次。比如utils/accoutingdb里面是不分模块的,全耦合的。当然这个项目来说,低耦合还是做的不错的,这里的耦合,我理解也是架构上、业务上没有更好的办法,不得已而为之。

那么,是否可能一次尽可能的将所有错误都揭示出来呢?尝试过 Code> Inspect Code...>在弹出窗口中勾选检查范围(推荐选择 Whole project)。扫描完成后,底部的 Inspection Results 窗口列出所有文件的问题(含错误、警告、优化建议),双击条目可跳转到问题代码位置。但是,有很多build时的错误,这里根本就没检查出来!这里检查的有好多只是一些拼写错误而已,但是编码不是写文章,有很多拼写错误根本就不是事!

下面简要说一下过程。工程里删除了compoents和features中的资产相关子目录后,项目配置文件因为未同步,仍会要求从该路径安装本地包,从而报错。ohpm install 命令尝试获取已删除的本地模块 features/assets,导致报错 Fetch local folder package error。解决:寻找项目 oh-package.json5 文件,检查并删除与资产模块相关的依赖项:

products\entry\oh-package.json5

components\bill_data_processing\oh-package.json5

同时,再检查代码文件里的模块引用及使用部分,找到相关文件(这个工作量比较大,也繁琐),移除资产模块的导入和使用:

// 删除类似导入语句、以及导入后的使用语句 ↓
import { AssetModule } from '@feature/assets';

那么,IDE能帮助多做一点吗?我看到了code cleanup, 它主要用于代码层面的自动化优化和清理,比如格式化代码:自动调整缩进、空格、换行等格式问题 移除冗余内容:删除未使用的导入语句、无效变量或注释 语法优化:简化复杂表达式,修复基础语法问题 代码规范检查:根据预设规则(如命名规范)提示潜在问题。但并不能解决"删除资产模块后配置未同步清理"的问题,因为Code Cleanup 仅作用于代码文件(如 .ets, .ts),不处理项目配置(如 .idea 目录、oh-package.json5 等)。

配置修改工作量还少一些,代码文件里的模块导入、使用则比较多了,需要多个循环才能处理干净,比如:

hvigor Finished :entry:default@CacheNativeLibs... after 26 ms 
"assets" is imported by "products/entry/src/main/ets/pages/MainEntry.ets", but could not be resolved – treating it as an external dependency.  --注释掉相关UI部分代码
"asset_base" is imported by "components/bill_data_processing/src/main/ets/models/AssetProcessingModel.ets", but could not be resolved – treating it as an external dependency. 
"asset_base" is imported by "components/bill_data_processing/src/main/ets/components/AddAssetButton.ets", but could not be resolved – treating it as an external dependency. 
"asset_base" is imported by "components/bill_data_processing/src/main/ets/utils/AssetManageUtil.ets", but could not be resolved – treating it as an external dependency. 
"asset_manage" is imported by "components/bill_data_processing/src/main/ets/utils/AssetManageUtil.ets", but could not be resolved – treating it as an external dependency. 
hvigor ERROR: Failed :entry:default@CompileArkTS... 
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。