Buffalo 不提供独立生成前端资源的命令,必须在 buffalo new 初始化时决定是否包含前端资源;使用 --api 会彻底跳过 assets/、Webpack、Plush 模板等,后续无法通过生成命令补全,需用 buffalo fix 恢复骨架并手动配置。

Buffalo 不提供“生成前端资源”的独立命令,buffalo new 是唯一能创建前端相关文件的入口,且不可事后补全——想有 assets/、Webpack、Plush 模板等,必须在项目初始化时决定。
buffalo new --api 会跳过所有前端资源
这是最常被误踩的点:一旦用了 --api 标志,Buffalo 就彻底不生成以下内容:
-
assets/目录(含js/、css/、images/) -
webpack.config.js和package.json -
templates/下任何.plush.html文件 -
public/的构建产物托管逻辑
后续运行 buffalo g resource 或手动建 actions/ 文件,都不会补上这些。它不是“开关”,而是初始化时的架构分叉。
想加回前端资源?别删重装,用 buffalo fix
如果你已用 --api 创建项目,但中途决定要加 Webpack + Plush 模板支持,不能靠 buffalo g 补,而应:
- 手动创建
assets/目录,并复制标准结构(参考新项目输出) - 运行
buffalo fix—— 它会检测缺失的前端配置并尝试还原webpack.config.js、package.json和默认构建脚本 - 执行
npm install补依赖,再buffalo dev启动时才会拉起 webpack dev server
buffalo fix 不是万能的,它只恢复框架约定的文件骨架;自定义 loader 或插件仍需手动配。
assets/ 目录改了但页面没更新?检查 webpack watcher 状态
Buffalo 开发模式下,assets/js/app.js 的变更不会立即生效,因为:
- 前端由独立的 webpack dev server 提供服务(端口默认 3001),不是 Buffalo 自身渲染
- 修改后终端需显示
Compiled successfully才算完成热编译 - 若长时间无反应,大概率是 webpack watcher 卡死:执行
pkill -f "webpack"杀掉残留进程,再重启buffalo dev
硬刷新浏览器前,先看终端日志里有没有 webpack 的成功提示——这是判断变更是否真正进入 bundle 的唯一可靠信号。
真正需要“生成前端资源”时,本质是在选架构:要么从 buffalo new myapp 开始全栈起步,要么接受 --api 的轻量定位,把前端交给外部工具链。Buffalo 不做渐进式增强,它的前端能力是一体化交付的,拆不开也补不全。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











