首页 > 教程攻略 > 软件教程 >Bubbly怎么修改项目名称

Bubbly怎么修改项目名称

来源:互联网 时间:2026-06-15 09:51:04
在Bubbly项目中给项目改名,听起来简单,但如果不一次性同步更新所有关联的地方,轻则构建失败,重则运行时连主类都找不到。这个操作涉及工程文件名、配置文件里的标识符、源码中的硬编码引用,以及构建产物的显示名,任何一处遗漏都可能引发问题。 下面直接梳理标准流程,避免你踩坑。 首先,必须关闭Bubbly IDE或VS Code等编辑器,然后在文件管理器中找到项目文件夹,右键重命名为新的名称,比如从`hello-world`改成`my-bubbly-app`,按回车确认。这一步是后续所有操作的基础,路径不统一的话,后面再怎么改都会因为找不到路径而失效。 **【关键】务必将同名的 `.bubblyproj` 文件也一并重命名**。项目根目录下有一个与文件夹同名、扩展名为`.bubblyproj`的工程配置文件,比如原来叫`hello-world.bubblyproj`,现在必须一并改为`my-bubbly-app.bubblyproj`。否则Bubbly加载时会直接报错“Project file not found”。 --- ### 修改项目配置文件中的名称字段 用文本编辑器打开 `.bubblyproj` 文件,找到 `` 标签,将里面的旧名称(比如 `HelloWorld`)替换为新名称(比如 `MyBubblyApp`),保存。接着继续查找 `` 和 `` 两个标签,确保它们的值也与新项目名完全一致。如果还存在 ``,同样更新为匹配的新命名空间,比如 `MyBubblyApp`。 这里需要注意:这三个字段缺一不可,漏掉任何一个都会导致最终生成的文件名或程序集名称不对。 --- ### 更新源码中硬编码的项目引用 打开 `src/Program.bbl`(或项目的主入口文件),检查里面是否包含类似 `project "HelloWorld"` 或 `appname: "HelloWorld"` 的声明,全部替换为新名称。 然后在整个项目内搜索旧名称(按Ctrl+Shift+F,关键词带英文引号,比如 `"HelloWorld"`),排除 `node_modules` 和 `dist` 目录。重点检查 `package.json` 里的 `"name"` 字段、`build.config.js` 中的 `output.dir` 和 `appInfo.title`,每一处都要替换成新项目名。 如果项目启用了模块化路由或资源加载,别漏了 `public/manifest.json` 和 `public/index.html` 中的 `name`、`short_name`、``,否则浏览器标签页仍然显示旧名称,白改了一通。 --- ### 清理缓存并验证构建 改完所有地方后,按以下顺序验证: 1. 在终端进入项目根目录,执行 `bubbly clean`。 2. 然后执行 `bubbly build`。 3. 如果构建时报错 `Error: Cannot find module './dist/HelloWorld.js'`,说明某处路径没更新——立即检查 `build.config.js` 中 `entry` 字段和 `output.filename` 是否还残留旧名。 4. 构建成功后,运行 `bubbly serve`,访问 `http://localhost:8080`,确认页面标题、控制台输出、打包后的JS文件名都已经是新名称。 整个过程并不复杂,但每一步都环环相扣。只要按这个清单走一遍,项目改名就不会翻车。 </div> <!-- 相关阅读 --> <div class="contccBox"> <div class="comtcTitle"> <h2><em class="em1"></em> 相关阅读 </h2> <a href="http://m.haoling.cc/wenzhang_list/53-1.html"> <em class="icon1 em2"></em> </a> <div class="clear"></div> </div> <ul class="corrReadList"> <li> <a href="http://www.haoling.cc/wenzhang/582935/"> <em></em> <span> 宝宝课堂怎么查看学习报告 </span> </a> </li> <li> <a href="http://www.haoling.cc/wenzhang/582936/"> <em></em> <span> 跑步配速软件夜跑哪个好?暗黑模式与安全警示功能 </span> </a> </li> <li> <a href="http://www.haoling.cc/wenzhang/582937/"> <em></em> <span> 盖乐世社区怎么反馈Bug?盖乐世社区系统问题反馈提交流程 </span> </a> </li> <li> <a href="http://www.haoling.cc/wenzhang/582943/"> <em></em> <span> 生辰app怎么隐藏死之钟?生辰app界面显示元素个性化调整 </span> </a> </li> <li> <a href="http://www.haoling.cc/wenzhang/582948/"> <em></em> <span> iVCam如何手动调节ISO?专业摄像模式参数解读 </span> </a> </li> </ul> </div> <!-- 相关手游 --> <div class="contccBox"> <div class="comtcTitle"> <h2><em class="em1"></em> 相关下载 </h2> <a href="http://m.haoling.cc/sjyx_list/38-1-1.html"> <em class="icon1 em2"></em> </a> <div class="clear"></div> </div> <ul class="servertList"> <li> <a href="http://m.haoling.cc/xiazai/96840/" class="aImg"> <img src="http://m.haoling.cc/uploadfile/2021/0729/thumb_62_62_162752338962183.png" alt="含羞草实验研所入口"> </a> <dl> <dt> <a href="http://m.haoling.cc/xiazai/96840/"> 含羞草实验研所入口 </a></dt> <dd class="cont1"> 热门软件  |   </dd> <dd class="cont2"> <a href="javascript:void(0)"> 影视播放 </a> <a href="javascript:void(0)"> 视频观看 </a> <a href="javascript:void(0)"> 福利视频 </a> </dd> </dl> <a href="http://m.haoling.cc/xiazai/96840/" class="download"> 下载 </a> <div class="clear"></div> </li> <li> <a href="http://m.haoling.cc/xiazai/237936/" class="aImg"> <img src="http://m.haoling.cc/uploadfile/2022/0921/thumb_62_62_166374214423610.png" alt="iGAO视频在线观看电影"> </a> <dl> <dt> <a href="http://m.haoling.cc/xiazai/237936/"> iGAO视频在线观看电影 </a></dt> <dd class="cont1"> 热门软件  |   </dd> <dd class="cont2"> <a href="javascript:void(0)"> 影视播放 </a> <a href="javascript:void(0)"> 视频观看 </a> <a href="javascript:void(0)"> 福利视频 </a> </dd> </dl> <a href="http://m.haoling.cc/xiazai/237936/" class="download"> 下载 </a> <div class="clear"></div> </li> <li> <a href="http://m.haoling.cc/xiazai/101844/" class="aImg"> <img src="http://m.haoling.cc/uploadfile/2021/0810/thumb_62_62_162857179263892.jpg" alt="中文天堂最新版"> </a> <dl> <dt> <a href="http://m.haoling.cc/xiazai/101844/"> 中文天堂最新版 </a></dt> <dd class="cont1"> 热门软件  |   </dd> <dd class="cont2"> <a href="javascript:void(0)"> 影视播放 </a> <a href="javascript:void(0)"> 视频观看 </a> <a href="javascript:void(0)"> 福利视频 </a> </dd> </dl> <a href="http://m.haoling.cc/xiazai/101844/" class="download"> 下载 </a> <div class="clear"></div> </li> <li> <a href="http://m.haoling.cc/xiazai/94905/" class="aImg"> <img src="http://m.haoling.cc/uploadfile/2021/0725/thumb_62_62_162718294933823.jpg" alt="中文字幕视频"> </a> <dl> <dt> <a href="http://m.haoling.cc/xiazai/94905/"> 中文字幕视频 </a></dt> <dd class="cont1"> 热门软件  |   </dd> <dd class="cont2"> <a href="javascript:void(0)"> 影视播放 </a> <a href="javascript:void(0)"> 视频观看 </a> <a href="javascript:void(0)"> 福利视频 </a> </dd> </dl> <a href="http://m.haoling.cc/xiazai/94905/" class="download"> 下载 </a> <div class="clear"></div> </li> <li> <a href="http://m.haoling.cc/xiazai/31008/" class="aImg"> <img src="http://m.haoling.cc/uploadfile/2021/0330/thumb_62_62_161703918873594.jpg" alt="病娇姐姐的囚禁"> </a> <dl> <dt> <a href="http://m.haoling.cc/xiazai/31008/"> 病娇姐姐的囚禁 </a></dt> <dd class="cont1"> 角色扮演  |  392.1MB </dd> <dd class="cont2"> <a href="javascript:void(0)"> galgame </a> <a href="javascript:void(0)"> 病娇 </a> <a href="javascript:void(0)"> 恋爱 </a> </dd> </dl> <a href="http://m.haoling.cc/xiazai/31008/" class="download"> 下载 </a> <div class="clear"></div> </li> </ul> </div> </div> </div> </main> <script language="JavaScript" src="/api.php?op=count&id=582912&modelid=1"></script> <script type="text/javascript" src="/js/jquery.min.js"></script> <script type="text/javascript" src="/tongji.js"></script> <script src="/js/jquery.cookie.js"></script> <script src="/statics/js/jumbpc.js"></script> <footer class="1 - 582912"> <div class="cnFooter"> <ul class="reuscnt"> <li><a href="/"> 首页 </a></li> <li><a href="#"> 返回顶部 </a></li> </ul> <p> 版权所有 Copyright@2012-2013 haoling.cc </p> <!-- <p> <a href="https://beian.miit.gov.cn/" style="color:#FFFFFF ;text-decoration: none" rel="nofollow">湘ICP备2020018889号</a></p> --> </div> </footer> <script> (function(){ var el = document.createElement("script"); el.src = "https://lf1-cdn-tos.bytegoofy.com/goofy/ttzz/push.js?a9b5572ec2f2f718f384d2d47a74c5cc9d3e5221b39cb9c192000ab90a26ffaec112ff4abe50733e0ff1e1071a0fdc024b166ea2a296840a50a5288f35e2ca42"; el.id = "ttzz"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(el, s); })(window) </script> </body> </html>