ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

微信开发者工具安装使用与小程序项目创建全攻略:目录结构一次讲透

微信开发者工具安装使用与小程序项目创建全攻略:目录结构一次讲透 作为一个折腾过不少小程序项目的开发者我太清楚刚开始接触微信小程序时那种无从下手的感觉了。网上关于微信开发者工具的教程其实很多但要么太零散、要么直接跳过了某些关键步骤很多新手照着做还是会卡壳。所以这篇我打算把微信开发者工具的安装、使用以及小程序的创建和资源目录一次讲透内容可能会比较长但每一步都是实际跑通过的按着走基本能避掉绝大部分坑。这篇文章适合几类人看刚入手小程序开发、连工具都还没装好的纯新手已经装了工具但不太清楚目录结构为什么要这么设计的初学者以及被一些莫名其妙报错卡住、想快速定位问题的人。我会把“为什么这样做”也讲明白而不是只告诉你点哪里。1. 微信开发者工具到底是什么为什么绕不开它1.1 官方工具不可替代的几个理由微信小程序不是普通的HTML网页虽然它的技术栈长得像前端WXML、WXSS、JavaScript但实际运行环境是微信内置的渲染引擎有一套自己的生命周期、API 能力和安全模型。你写的代码最终要跑在微信的 WebView 和原生层之间这就决定了你需要一个能模拟这套环境的开发工具。微信开发者工具就是官方提供的这套“模拟环境”。它至少做了三件别的东西替代不了的事第一它内置了小程序模拟器。这个模拟器不是简单的浏览器预览而是尽可能还原了微信客户端的 JS 执行环境和渲染效果包括小程序 API 的兼容层。虽然不能做到 100% 还原真机但对于日常开发调试来说已经足够。第二它是上传和发布代码的唯一入口。小程序不像传统网页随便丢到服务器就完事代码必须通过开发者工具上传到微信后台然后在后台提交审核、发布上线。你可以用第三方框架写代码但最终基本都要回到这个工具来做编译上传很少数情况用命令行工具配合 CI但工具依然是最直观的。第三它集成了调试器、性能监控、真机预览等一站式能力。操作 DOM、看网络请求、查缓存数据、模拟不同机型全在一个界面里完成。对新手来说省掉了配置一堆外部工具的成本。所以我给新人的建议很简单不要绕开它直接把它当作日常开发的主战场。即使你用了 uni-app 这类跨端框架调试和发布环节依然离不开微信开发者工具。1.2 和其它可选方案对比这几年也有不少人尝试用其它方式开发小程序比如原生开发这其实不是“工具选择”问题而是微信官方推荐的方式搭配微信开发者工具使用。uni-app / Taro 等跨端框架这类框架负责把你写的 Vue/React 代码编译成小程序代码但最终还是要导入微信开发者工具跑起来、上传发布。第三方在线 IDE目前还不成气候。小程序的调试依赖微信的运行时环境在线 IDE 在这个领域的体验和稳定性都远不如本地工具。HBuilderX它主要定位是 uni-app 的开发工具能一键运行到小程序模拟器但调起过程依然需要电脑上装了微信开发者工具而且它只是在“启动”这个环节方便真正调试编译产物还是在微信开发者工具里做。我自己的习惯是日常写代码用自己顺手的编辑器VS Code 或 HBuilderX但预览、调试、上传永远回到微信开发者工具。把它当作“官方发布平台”而不是唯一的代码编辑器这个定位想清楚后就不会纠结要不要用它写代码了。2. 完整安装流程从下载到首次启动2.1 下载版本怎么选稳定版、预发布版、开发版打开微信开发者工具官网下载页面你会看到上面长期挂着三个版本分类。很多新手一看有三四个按钮就懵了不知道点哪个。这三个版本的关系我拿手机系统来类比就很好理解稳定版相当于手机的正式版系统功能经过充分测试适合日常开发和生产环境使用。绝大多数人应该装这个。预发布版相当于 Beta 版比稳定版早拿到新功能但可能带着一两个还没修完的小 Bug。适合想提前体验新能力、且不介意偶尔出点小状况的开发者。开发版相当于夜间版或内测版基本是新功能的第一现场存在感比较强翻车概率也最高。除非你在做工具本身的适配测试否则别碰。我的建议很直接新手只装稳定版。原因不是开发版不能用而是你本来就在学小程序语法和工具操作如果工具本身再时不时出个 Bug你很难区分到底是自己代码写错了还是工具抽风了。这个排查成本对新手来说极其痛苦。2.2 安装步骤和平台差异以 Windows 为例下载下来的是一个.exe安装包常规安装流程我就不啰嗦了双击后一路点击下一步就行。但有三个细节值得留个心眼第一安装路径尽量别选 C 盘系统盘。微信开发者工具虽然不算特别重但项目缓存、编译产物会随项目增多越占越大扔到 D 盘或 E 盘的一个专门目录里能省去后续很多麻烦。这个过程相当于给工具安了个比较宽敞的家不至于让系统盘天天告急。第二安装路径别带中文和空格。工具底层要调用一堆编译脚本和 Node 相关命令路径里一旦有中文或空格跨进程传参很容易出诡异问题比如某个依赖模块加载失败、项目编译报路径错误。这是我在实际工作中踩过的坑当时一个大型项目怎么都编译不过后来把工具从“D:\微信开发工具”重装到“D:\wechat-dev-tool”就全好了。第三Mac 用户安装的是.dmg文件拖到 Applications 文件夹后首次打开可能会被系统安全策略拦截。去“系统设置-隐私与安全性”里允许一下就行。如果还提示“已损坏”大概率是下载不完整或系统版本太新重新下载一般能解决。安装完成后桌面上会多出一个微信开发者工具的图标先别急着打开后面还有初始化配置要做。2.3 首次启动的登录与基础配置首次打开工具时界面会弹出一个二维码要求你用微信扫码登录。这一步不是让你用小程序的“目标微信号”登录而是用你自己的个人微信扫码。工具登录的是“开发者身份”不是“小程序管理员身份”。扫码登录后有几个初始化配置项值得现在就说清楚服务端口工具会询问是否开启“服务端口”这个端口是给外部代码比如 HBuilderX、VS Code 插件调起工具用的所以如果你使用 uni-app 开发这一项如果不打开HBuilderX 会提示“请打开服务端口”。默认应该是关闭的如果你用普通原生开发不开也行但如果你用跨端框架建议在“设置-安全设置”里打开服务端口否则外部工具进不来。主题样式深色、浅色看个人习惯不影响任何功能。代理设置如果你在公司内网或需要走代理网络记得在“设置-代理”里配置好。一般家里正常网络选“不使用代理”就行选错代理反而会导致登录或编译失败。这些配置都可以在工具里二次修改所以不用太紧张。首次启动后工具会自动进入一个欢迎页接下来我们看看整个界面怎么用。3. 开发者工具的界面与高频功能使用3.1 界面布局一目了然的四大区域打开工具后从上到下、从左到右整个工作区可以分成几块工具栏最上方一排包含编译、预览、上传、版本管理等功能入口以及模式切换普通编译/自定义条件编译。模拟器左侧区域实时展示小程序在手机上的渲染效果可以切换手机型号、旋转屏幕、模拟定位等。编辑器中间区域用来编写代码。支持代码高亮、补全、文件树浏览。我不太推荐用它写大量代码但对新手来说直接在这里写也完全没问题。调试器右侧或下方的面板类似 Chrome DevTools能看 Console 日志、网络请求、Storage 缓存、页面结构等。这四个区域的默认布局可以从菜单栏的“设置-外观”里调整。我个人的习惯是模拟器放左边、编辑器放中间、调试器放下方这样编辑区和预览区互不遮挡看日志也方便。3.2 模拟器、编译、预览与上传到底怎么配合这几个功能之间的关系很多人学了半天也没理清楚。其实它们分别对应开发流程的不同环节编译Ctrl/Cmd B把当前代码重新编译并刷新模拟器。每次改了代码保存后工具会自动编译这个叫“热重载”或“自动预览”。如果页面没变化先点一下编译按钮强制刷新这能排除一大堆“明明改了代码却没生效”的疑问。预览生成一个二维码用手机微信扫码后可以在真机上打开这个小程序。真机预览和模拟器的效果会有差异尤其是涉及底层 API、滚动性能、键盘弹出的时候。所以“写一点、预览一下”是很好的节奏。真机调试同样是扫码在手机上运行但它会在手机上打开一个远程调试通道把手机上的 Console 日志和网络请求实时同步回工具。这个功能在排查“手机上有问题、模拟器没复现”的情况时特别有用。上传把当前代码打包上传到微信公众平台。上传时你还能选个版本号和备注传错了也能在后台删除。上传成功后小程序并不会自动发布还需要你在微信公众平台里把上传的版本“设为体验版”或“提交审核”。需要特别提醒的是上传之前一定要在“详情-基本信息”里看清楚项目的 AppID不要跑到别的项目里传错代码了。我见过有同学把公司项目传到自己个人小程序里这种低级错误很尴尬。3.3 详情面板与“基本信息”里的门道工具栏上有个“详情”按钮点开后能看到当前项目的关键信息AppID当前项目的唯一标识。如果这一栏是空的说明你在创建项目时选了测试号很多 API比如支付、订阅消息都用不了。项目名称展示给工具看的名字可以随便改不影响线上显示。本地代码存储目录这个很重要记住你的代码保存在哪个文件夹以后备份和找文件都靠它。ES6 转 ES5这个开关建议默认打开。它能把部分 ES6 语法转成 ES5保证在低版本微信客户端上不会因为语法不支持而报错。详情面板里还有一个容易被忽略的设置叫“上传代码时自动压缩”或“混淆”建议在正式发布前开一下能减小包体积加快加载速度。但调试阶段开不开无所谓。4. 从零创建第一个小程序项目4.1 新建项目的完整流程登录工具后选择“小程序”项目类型然后点“新建项目”或“”按钮会进入新建项目的表单页。这里要填几项信息项目名称工具本地用的名字想叫什么都可以之后也能改名。它不会直接作为线上小程序的名字线上名字要到小程序后台设置。目录项目代码保存的位置。建议单独建一个干净的文件夹比如D:\projects\my-miniprogram不要直接选磁盘根目录否则工具会警告目录不可用。AppID这一栏不要乱填它会决定你后面能不能调用完整能力。选择“测试号”虽然也能跑起来但会有很多限制。后端服务有“不使用云服务”和“云开发”两个选择。新手如果只是学基础选“不使用云服务”就好云开发不是入门必须的后面有需要再加。填完后点“确定”工具会自动生成一个最基础的小程序项目骨架。这个骨架就是微信官方推荐的目录结构模板理解它比会写代码更优先。4.2 AppID 的获取与两种模式选择AppID 类似小程序在微信生态里的身份证几乎所有涉及网络和微信能力的接口都需要它。获取方式是在微信公众平台注册一个小程序账号账号类型选择“小程序”注册完成后在“开发管理-开发设置”里找到 AppID。创建项目时你会在 AppID 那一栏看到“测试号”选项。测试号和正式 AppID 的差异非常明显我列个表方便你对照对比项测试号正式 AppID注册成本无直接使用邮箱注册个人主体免费上传发布不支持上传审核支持上传并发布上线部分 API 权限受限调用会报错需按类目和认证开放云开发支持支持适用于什么场景学习语法、本地练手正式项目、需要真机调试完整能力我给新人的建议是即使现在只是学习也先去注册一个正式 AppID。因为很多 API 在测试号下压根调不通你到时还要回过头来折腾账号不如一开始就用正式身份省得后面换 AppID 时还得重新处理路径和配置。4.3 模板选择与代码片段的关系新建项目时工具会提供几个模板比如“JavaScript-基础模板”、“TypeScript-基础模板”、“云开发模板”等。新手建议选最普通的 JavaScript 基础模板不要一上来就选云开发模板因为云开发模板会多出一堆云函数相关目录容易让你把注意力从“前端页面”转移到“后端服务”上去。“代码片段”是另一个入口可以创建一些轻量的体验项目适合分享和快速验证某个小功能。代码片段一般不上传发布也没法拥有完整的 AppID 绑定所以主要用于社区交流或本地研究。我自己的经验是先从一个空白模板把页面跑通再去接触框架和工程化。如果连 WXML 和 JS 的配合都没搞懂就算选了 TypeScript 模板也只会觉得更乱。5. 小程序资源目录逐层拆解5.1 全局文件app.js、app.json、app.wxss创建完项目后你会在根目录看到三个最核心的全局文件。小程序的启动顺序就是先加载这三个文件然后再加载具体页面。先看app.js它是小程序的全局逻辑入口。你要在App()函数里定义全局生命周期回调比如onLaunch小程序初始化完成时触发、onShow小程序从后台切到前台时触发等。还可以往全局对象上挂自定义的属性和方法比如globalData用来存放登录态、用户信息等不同页面之间通过getApp()访问。再是app.json它是小程序的全局配置。文件里最核心的是pages列表这个列表第一项就是小程序的首页。你在项目里新建页面后必须手动把新页面的路径加进pages数组否则工具会提示找不到页面。还有window字段用来配置全局窗口表现比如导航栏标题、背景色、下拉刷新开关等。建议style字段保留默认这是一套样式兼容配置。最后是app.wxss它是全局样式文件。和普通 CSS 类似但支持的选择器和语法稍微不同。写在 app.wxss 里的样式对所有页面生效所以公共的颜色变量、通用按钮样式、常用布局类都可以放这里。页面自己的样式写在同页面目录下的.wxss文件里只会影响当前页面。理解这三个文件的分工其实就一句话app.js 管逻辑入口app.json 管全局配置app.wxss 管全局样式。记住这个框架后面看任何小程序项目就不会迷路。5.2 project.config.json 与 project.private.config.json根目录下还有两个以project.开头的 JSON 文件这两个文件容易被新手忽略但它们决定了工具如何编译和打包你的项目。project.config.json是项目级别的公共配置一般会跟着代码走提交到代码仓库里。它里面包含appid当前项目绑定的 AppID工具就是读取这个来和微信后台通信的。compileType编译类型一般默认是miniprogram也就是小程序项目如果是小游戏则不同。setting编译相关的开关比如是否开启 ES6 转 ES5、是否上传代码压缩、是否开启样式自动补全等。libVersion基础库版本决定你的小程序能使用哪些最新的 API。如果发现某个 API 在开发者工具里能跑但真机上不行很可能就是基础库版本没顶上去。project.private.config.json是个人本地的私有配置里面存的是一些不想提交到仓库的个性化配置比如你本地的文件监听开关、默认打开页面等。这个文件不会被微信官方强制分享到团队所以适合保存本地偏好。很多团队协作时会遇到一个问题A 同事的项目在 B 同事电脑上打开AppID 总是变成 A 的。这就是因为 project.config.json 里的appid字段被提交了。正确的做法是在团队仓库里忽略这个文件或允许修改每个人拿到代码后改成自己的 AppID。5.3 页面目录的组成与页面四件套小程序的页面不是单独一个文件而是一个目录目录下通常有四个同名文件.js页面的逻辑文件定义 Page 数据、事件处理方法、生命周期onLoad、onShow、onReady 等。.wxml页面结构文件也就是模板决定了页面渲染出什么内容。.wxss页面样式文件当前页面专属。.json页面配置文件只对当前页面生效优先级高于 app.json 里同名的 window 配置。这个“四件套”结构我觉得特别像“一个菜单的四个部分”.wxml决定有什么菜.wxss决定菜的摆盘.js决定菜怎么上、前后台怎么配合.json决定这一桌的特殊规矩。页面目录怎么命名其实没严格规定但建议用语义化、见名知义的单词比如pages/index/index、pages/user/index。一旦页面的路径写进了 app.json 的pages数组工具就能识别并编译。新建页面时如果只创建文件夹和四个文件但不写进 app.json运行时会报“页面文件未找到”之类的错误。小技巧在开发者工具里你可以在项目文件夹上右键“新建 Page”工具会自动帮你生成四件套并自动写入 app.json 的 pages 数组。这个操作比手动创建文件省心得多推荐新手直接用它。5.4 公共资源目录utils、components、images随着页面变多代码量上来后就需要约定公共资源的存放方式。utils 目录存放工具函数。比如把请求封装成request方法、把日期格式化函数抽出来、把消息提示封装成统一方法。项目里的页面如果都要用就把它们 import 到对应页面或全局 app.js 里。这里的 JS 文件是 commonjs 模块机制也就是用module.exports导出、用require引入这一点和浏览器里的 ESM 不一样刚开始接触会觉得别扭习惯就好。components 目录存放自定义组件。小程序支持像 Vue 一样自定义组件把重复的 UI 片段抽成组件比如商品卡片、导航栏、弹窗等。一个自定义组件的完整结构也是一个目录里面有.js、.json、.wxml、.wxss四个文件可用Component()构造器定义。使用组件时要先在页面 json 里注册然后在 wxml 里以标签形式引用。images 目录存放图片资源。小程序主包大小限制一般是 2MB实际现在有分包扩展图片是占用空间的大头所以本地图片尽量压缩后再放进去。面积大的图片、尺寸多样的图片优先考虑放 CDN不要全塞进本地不然后期包体不够用就是灾难。另外还有一个分包目录的规划思路。小程序主包虽然默认限制 2MB但总包可以通过分包扩展到 20MB 左右。分包的原则是把首页、核心页放主包其它业务页面放分包小程序启动时只下载主包等用户进入某个分包再按需下载。新手可以先了解这个概念不用一上来就强行分包等哪天项目体积告急再回来优化也不迟。5.5 sitemap.json 与其它隐藏配置根目录下还有一个sitemap.json这是小程序的索引配置。它影响微信是否能搜索到你的页面内容。如果不配置默认所有页面都可能被索引如果某些页面是登录后可见或不想被搜到可以在这里通过action: allow/deny控制。对新手来说保持默认就好等有 SEO 需求再调整。另外还有几个文件要注意一下.eslintrc或eslint.config.js代码规范检查。工具默认可能不开但建议开启它能在你写代码时直接标红不符合规范的写法帮你养成好习惯。package.json如果你的项目使用了 npm 依赖就会看到它。小程序支持使用 npm 包但要把编译后的 miniprogram_npm 目录生成出来。具体操作是在项目根目录执行npm install然后点工具菜单中的“工具-构建 npm”这一步很容易忘漏了会导致“module not found”的报错。typings目录TypeScript 类型定义如果用 JS 可以忽略。看到这里你会发现小程序目录结构并不复杂核心是“全局三文件 页面四件套”。只要你把前面几节的内容过一遍拿到任何一个小程序项目都能快速认路。6. 高频问题与排查经验实录6.1 登录、权限与上传相关的坑“登录用户不是该小程序的开发者”这个报错几乎每隔几周就会有人问。它的触发场景通常是你想在工具里直接上传代码但扫二维码登录的微信号不是这个小程序账号下被添加的开发者。解决办法是让项目管理员登录微信公众平台在“成员管理-项目成员”里把你添加为“开发者”角色。还有一种情况是你扫的是“项目成员”的码但工具里用的是个人微信登录这两种身份要区分开。简单说上传代码必须要你的微信号是该项目开发者否则工具会在上传阶段把你拦下来。另外一个和上传相关的常见问题是“上传版本怎么设置成测试版”上传完成后很多人以为手机上就能直接看其实不行。你要去小程序后台的“管理-版本管理”找到刚上传的版本点“设为体验版”然后再在“成员管理”里把体验者微信号加上扫码才能看到这个体验版本。至于“小程序备案备注信息怎么填”现在的备案环节一般是在新注册或变更时才会遇到。常规做法是承诺你提供的资料真实、合法使用场景描述准确按表单提示真实填写即可不要乱填“测试”之类的内容备案审核有被退回的风险。6.2 工具启动、编译与真机调试的坑工具打开就卡死或白屏。70% 的情况是网络代理配置不对。工具内部要访问微信的服务如果你系统开了代理工具工具可能会把请求转走导致登录页刷不出来。解决方法是到“设置-代理”里改成“不使用代理”或者把微信相关域名加入代理白名单。项目编译报错或页面空白。先按顺序排查看 Console 是否有 JS 报错看 app.json 里的页面路径是否都指向正确文件再确认当前页面的.js里是否调用了不存在的 data 数据。如果 Console 没报错但页面是空的大概率是 WXML 里的绑定数据字段名跟 JS 的 data 对不上。别问我为什么每次都先提这个因为我自己就吃过不少亏。微信开发者工具无法通过 HBuilderX 打开。这个问题在 uni-app 开发者里很常见。原因基本就是两个一是工具的服务端口没开去“设置-安全设置”把服务端口打开二是 HBuilderX 的“运行到小程序模拟器”需要指定工具路径确保本机安装的微信开发者工具路径没被改过。如果都检查完还不行重启 HBuilderX 和工具再试一次顺序是先打开工具、再执行运行命令。真机预览打开后显示空白或异常。模拟器正常真机却不正常先从“真机调试”看 Console 日志特别是网络请求是否被拦截、HTTPS 证书是否有效、域名是否配置到后台的 request 合法域名里。200 的问题大概率就是前期开发时直接用了 http 接口微信真机环境对非法请求一律拦截。6.3 目录和依赖相关的常见问题微信开发者工具需要安装 Git 吗看你的工作流。如果你用代码托管平台管理项目而且你习惯了命令行git clone、git push那套那就在电脑上装 Git。工具本身不依赖 Git但新版工具支持直接在工具里拉取代码仓库、查看变更记录这需要本机装了 Git 客户端。所以不是必须装但装了会方便很多。npm 包引入后 “module not found”。这是典型漏了一步在工具里装了 npm 包后必须在“工具-构建 npm”手动执行一下构建。构建完成后项目里会出现一个miniprogram_npm目录页面才能正确引用。每次更新 npm 包版本后需要重新构建一次这一步很容易被忘掉。引入图片或分包资源后主包超限。工具在编译时如果提示主包体积超过 2048KB你需要把不必要的大图片从本地移出去改用 CDN 链接或者把不常用的页面放到分包中。我见过一个项目光图片就占掉 1.5MB后来全部转了 CDN主包一下子降到 600KB 左右加载速度肉眼可见提升。小程序动态设置标题或顶部导航栏高度适配。动态设置标题用的是wx.setNavigationBarTitle({ title: 新标题 })必须确保 app.json 或页面 json 里window.navigationBarTitleText没有把页面标题锁死否则调用后会被覆盖。顶部导航栏高度适配则要拿到胶囊按钮位置和状态栏高度这部分在小程序里可以用wx.getMenuButtonBoundingClientRect()和wx.getSystemInfoSync()来算做自定义导航栏时几乎是必用套路。单选框、表格等组件样式异常。小程序原生的 radio、checkbox 在 iOS 和安卓上会有样式差异尤其是缩放和间距。如果踩到这种坑最省事的办法是自定义一套组件或者用现成的 UI 库比如 Vant Weapp。自家团队维护的 UI 库也可以但底子不厚不建议自己造轮子。接口返回的数据渲染不出来。多数情况不是接口问题而是数据结构没对上。比如返回的是res.data.list你在 JS 里取的是res.list。建议在 Console 里先console.log(res)看一眼真实结构再写绑定。开发时把工具的网络面板打开是确认数据最直观的方式。7. 进阶一步在工具里配置代码封装与分包思路7.1 为什么建议从第一天就做模块化说实话微信小程序虽然语法简单但项目一旦做大了JS 文件的模块化组织方式会直接决定后期维护是“爽”还是“痛”。小程序采用的是 CommonJS 模块化方案。你用module.exports导出一个对象或函数用require引入。这和浏览器端的 ES Module 写法不太一样很多从 Vue 转过来的同学最开始会把export default写进去结果报错。建议一开始就刻意用module.exports/require的写法同时把请求封装成一个独立模块放在 utils 里每个页面直接引入这个模块来调用接口而不是每个页面都写一遍wx.request。这样做的好处是接口域名、公共请求头、错误提示逻辑都统一在一个文件里改不会出现改了后端地址要全局搜索替换的尴尬。我自己的封装思路是utils/request.js里包装wx.request返回一个 Promise统一处理登录态失效、网络错误、业务码非 0 等情况。页面调用时只需要关注数据层不用重复处理错误逻辑。7.2 分包规划与“从工具里看到包体大小”工具里查看包体大小的地方在“详情-本地代码”或上传时的提示里。你上传代码时工具会显示主包大小、分包大小如果超了就提示失败。这其实是个很好的体检时机。我先给一个简单的分包判断逻辑首页和涉及核心路径的页面放在主包。活动页、商品详情、个人中心、订单流程这些“次级页面”放到分包。公共组件和公共图片放主包且尽量裁剪压缩。按模块拆分包每个分包之间尽量独立减少分包间互相引用主包之外的资源否则会导致跳转到分包时额外下载依赖文件。分享两个压缩图片的实操经验一般来说UI 给的设计稿图片直接塞进项目很多时候都在几百 KB 以上我一般会用在线压缩或tinypng压到 100KB 以内再放进项目另外图标尽量用 iconfont 字体或 SVG 而不是整张 PNG 图这两个改动对包体减小非常明显。7.3 自动化与文件监听的那点事开发者工具默认会开启文件监听你改代码后它会自动重新编译。但有时候你在外部编辑器里改了代码工具没自动刷新这时可以先确认“设置-编辑器-文件监听”是否被关了。如果想在命令行中直接调用工具触发编译或上传工具提供了一些命令行参数配合 CI 可以做自动化发布。不过对大多数团队和个人开发者来说手动在工具里点“上传”完全够用。相比 CI 配置的那堆维护成本手动步骤反而更不容易出错。8. 最后一件事把基础打牢再追新写了这么多我其实想跟你讲一个很朴素的道理。小程序的入门曲线不算陡但是它的坑都藏在“你以为懂了、一跑就出错”的细节里。工具只是个外壳你真正要掌握的是小程序本身的生命周期、通信机制和数据流。我见过不少人花了一晚上把开发者工具装好、创建了项目却在看到目录结构时直接泄气觉得文件太多太复杂。其实你只要抓住我前面说的那条主线——全局三文件加页面四件套——这个项目的基本盘就稳了。后面那些分包、npm 构建、自定义组件都是遇到具体问题再回头补的工程化能力。最后分享一个我自己的习惯新建项目后我会先花十分钟把默认生成的代码里每个文件都通读一遍搞清楚它做了什么、能不能删掉、删掉后会有什么影响。这项工作对熟悉工具和小程序运行机制特别有帮助比搜一百篇“从零到一”的教程都管用。你也不妨试试看等第一次把页面跑起来那种“原来如此”的踏实感会推着你往下一个模块走得更远。
返回列表