常见问题
微信开发者工具中预览白屏 / 模块报错
按顺序排查:
project.config.json的miniprogramRoot是否指向dist/— 构建结束时weapp-dev会打印相关警告,按提示修改;- 是否开启了「增强编译」或「ES6 转 ES5」 — 默认输出 ESM,必须开启其一;
- npm 依赖是否放错了位置 — 运行时依赖必须在
dependencies而非devDependencies。
修改了文件但 dist 没有更新
- 确认是在
weapp-dev dev运行期间修改的; - 确认修改的文件位于
srcRoot内(watcher 只监听源码目录,srcRoot 之外的非 TS 文件变更会被忽略); - 偶发的缓存问题可以重启
weapp-dev dev(默认每次启动都会清空输出目录后重建,见emptyOutDir)。
Tailwind 类名没有生效
- 确认
tailwindcss是 v3 而非 v4 —weapp-dev内置 weapp-tailwindcss 锁定 v4 版本线,只支持tailwindcss@^3。装了 v4 会导致样式无法生成(见 版本说明); - 确认 Tailwind 已启用(存在
tailwind.config.*或tailwindcss依赖); - 确认全局样式(
app.less/app.wxss)中包含@tailwind base/components/utilities指令; - 确认
tailwind.config.js的content覆盖了你的 WXML 文件(如./src/**/*.{wxml,wxss,less}); - 第三方组件的 class 属性(如
custom-class)需要匹配customAttributes配置,默认值见 Tailwind CSS; - 如果是 Less 中的
@apply任意值失效(如@apply w-[200px]没生成样式)——Less 会把-/[]拆分解析成w- [200px],必须写成@apply ~"w-[200px]"。Sass 无此问题。详见 Less 中使用 @apply 任意值需要~""转义。
npm 构建很慢
首次构建慢是正常的(miniprogram-ci 需要分析依赖)。确认 npm.cache 未关闭——缓存命中后后续构建会直接恢复产物。依赖变更(安装/升级)会使缓存失效,属于预期行为。
主包体积超限
组合使用以下手段:
- npm 子包依赖分配 — 分包专属依赖移出主包;
- 静态资源 CDN — 图片等资源外置;
- 保持
format: "esm"获得更好的 tree-shaking; - 检查
weapp.copy是否复制了不必要的大文件进主包。
手机真机预览时 CDN 资源加载失败
cdn.dev.enabled: true 时资源走电脑上的 Vite Dev Server:
- 手机必须与电脑在同一局域网;
- 必要时开启电脑代理并让手机连接;
- 或者关闭
dev.enabled,把cdn.url指向测试环境 CDN,开发环境也走线上地址。
使用了不支持的 Vite 配置字段
weapp-dev 只消费受限的 Vite 字段子集(见 Vite 配置扩展)。其他字段(如 build、optimizeDeps、publicDir)不生效,写了可能引发异常行为,请移除。
分包中的依赖被主包引用导致报错
配置了 npm.subPackages 的依赖会从主包移除,主包页面再引用会在运行时找不到模块。请保证被分配的依赖仅在该分包内使用。