2、核心命令解析(上):rmc init、rmc build、rmc run 的详细用法与参数
好,咱们直接进入正题。今天聊的三个命令——rmc init、rmc build、rmc run——是日常工作中使用频率最高的。说白了,你每天跟 RMC 打交道,80% 的时间都在跟它们三个玩。我刚开始用 RMC 的时候,也踩过不少坑,今天一并分享出来。
2.1 rmc init:项目的起点
rmc init 的作用是初始化一个 RMC 项目。你想想看,没有它,你连项目骨架都搭不起来。
基本用法
rmc init my-project
这条命令会在当前目录下创建一个名为 my-project 的文件夹,里面包含 RMC 项目所需的基础文件结构。我个人习惯在创建项目时直接指定模板,比如:
rmc init my-project --template webapp
常用参数一览
| 参数 | 简写 | 说明 |
|---|---|---|
--template |
-t |
指定项目模板,如 webapp、library、cli |
--force |
-f |
强制覆盖已存在的目录 |
--git |
-g |
初始化时自动创建 git 仓库 |
--skip-install |
-s |
跳过依赖安装步骤 |
rmc init 时加上 --git 参数。我曾经因为忘记初始化 git,结果项目写到一半才发现没有版本控制,还得手动去配,浪费时间。
交互式初始化
如果你不加任何参数,直接运行 rmc init,它会进入交互模式。嗯,这里要注意:交互模式会问你项目名称、模板类型、是否启用 TypeScript 等问题。我个人觉得新手用交互模式更友好,不容易漏掉配置项。
rmc init
? Project name: my-app
? Select a template: webapp
? Enable TypeScript? Yes
? Initialize git? Yes
2.2 rmc build:把代码变成可交付物
rmc build 是编译打包命令。你写好的源码,经过它处理,才能变成浏览器或 Node.js 能直接运行的东西。为什么会需要这一步?因为现代前端项目大多用了 JSX、TypeScript、Sass 等,浏览器不认识这些,需要编译转换。
基本用法
rmc build
默认情况下,它会读取项目根目录下的 rmc.config.js 配置文件,然后执行构建流程。输出目录通常是 dist/ 或 build/。
核心参数
| 参数 | 简写 | 说明 |
|---|---|---|
--mode |
-m |
构建模式:production(默认)、development、test |
--watch |
-w |
监听文件变化,自动重新构建 |
--analyze |
-a |
生成构建产物分析报告 |
--output |
-o |
指定输出目录 |
--mode production 会启用代码压缩、tree-shaking 等优化。我建议上线前一定要用 production 模式构建,否则打包体积可能大好几倍。
实际场景举例
我在项目中遇到过一个问题:开发环境跑得好好的,一上线就报错。后来发现是构建时忘了加 --mode production,导致开发环境的调试代码被打进了生产包。从那以后,我写了个脚本,专门检查构建命令是否带了正确的 mode 参数。
# 开发环境构建(保留 sourcemap,方便调试)
rmc build --mode development
# 生产环境构建(压缩、优化)
rmc build --mode production
# 持续监听并构建
rmc build --watch
2.3 rmc run:开发调试的利器
rmc run 是开发服务器命令。它会在本地启动一个 HTTP 服务器,支持热更新(Hot Module Replacement)。你改完代码保存,浏览器自动刷新,不用手动刷新页面。
基本用法
rmc run
默认端口是 3000,启动后访问 http://localhost:3000 就能看到你的应用。
常用参数
| 参数 | 简写 | 说明 |
|---|---|---|
--port |
-p |
指定端口号,如 --port 8080 |
--host |
-h |
指定主机地址,默认 localhost |
--open |
-o |
启动后自动打开浏览器 |
--https |
无 | 启用 HTTPS 本地开发 |
--port 0 可以让 RMC 自动找一个空闲端口,省去手动改端口的麻烦。
热更新的秘密
rmc run 的热更新机制,说白了就是 WebSocket 通信。当你修改代码后,RMC 会通知浏览器只替换变更的模块,而不是整页刷新。这样做的好处是:状态不会丢失。比如你在表单里填了一半数据,改完样式代码,表单数据还在。
# 指定端口和主机,方便局域网内其他设备访问
rmc run --port 8080 --host 0.0.0.0
# 自动打开浏览器
rmc run --open
# 启用 HTTPS(需要配置证书)
rmc run --https
2.4 三个命令的协作流程
这三个命令在实际开发中是怎么配合的?我画了一张流程图,帮你理清思路。
你看,这个流程其实很清晰。先 init 搭架子,然后 run 开发调试,最后 build 打包上线。三个命令各司其职,缺一不可。
rmc run 入手。因为它反馈最快,改完代码立刻能看到效果,能给你正向激励。等你熟悉了开发流程,再回头研究 init 的模板配置和 build 的优化参数。
好了,今天这三个命令就聊到这儿。记住它们的核心用法和参数,日常开发基本够用了。下一节我们会继续深入其他核心命令,到时候再聊。