内容提要
文章介绍高效编写 Element UI 的三个技巧:安装 element-ui-helper 插件获得悬停提示,免翻文档;用 snippet 代码片段快速生成组件模板;用 plop 结合 Inquirer.js 和 handlebars,按配置生成表格、表单及 API 等重复代码,并可通过 append 向路由等旧文件追加内容。
延伸解读
插件提示的局限与应对
element-ui-helper 插件提供悬停提示,但提示框尺寸较小,且 VSCode 暂不支持调整。若需修改,只能通过全局 CSS 的 workaround 实现。对于追求更佳体验的开发者,可参考插件 GitHub 仓库自行魔改,或查阅 VSCode API 文档探索其他方案。
Snippet 的灵活定制
除了安装现成插件,通过 Ctrl+P 创建自定义 snippet 文件更灵活。snippet 结构包含 prefix、body 和 description,输入 prefix 即可插入预设代码。Element-UI-Snippets 仓库提供了现成的 JSON 文件,可直接粘贴使用,避免重复手打组件代码。
Plop 与低代码工具的取舍
低代码方案如 form-generator 能快速生成表单,但生成结果不易定制,难以满足复杂关联逻辑。Plop 通过自定义模板生成代码,虽然配置稍复杂,但能完美贴合需求,尤其适合生成表格、表单及 API 等重复代码,且生成的文件易于修改。
Handlebars 模板的注意事项
Handlebars 与 Vue 模板语法有差异,例如不支持 {{ x || y }},需自定义 helper 实现。在 plop 中可用 setHelper 注册,模板里写 coalesce x y 即可。此外,hbs 与 Vue 的 {{}} 冲突可通过 \ 转义或 {{{{raw}}}} 块解决。
Q&A
如何让 VSCode 在写 Element UI 时显示悬停提示?
安装 element-ui-helper 插件,即可获得 Element UI 组件的悬停提示,无需频繁查阅文档。
在 VSCode 中如何创建自定义的 Element UI 代码片段?
使用 Ctrl+P 创建 snippet 文件,按 JSON 格式配置 prefix、body 和 description。例如配置 elrow 前缀,输入后即可生成 el-row 和 el-col 的模板代码。也可以从 Element-UI-Snippets 仓库复制现成的 snippets 文件。
plop 是什么?它由哪些部分组成?
plop 是一个根据用户配置生成高度重复代码文件的工具。它主要由三部分组成:plopfile(配置文件)、Inquirer.js(用于交互式提问)和 handlebars(模板引擎)。
plop 的 add 和 addMany action 有什么区别?
add 用于生成单个文件,可以明确指定目标文件路径和文件名;addMany 用于生成一组文件或整个文件夹,通过 templateFiles 通配符匹配多个模板,并配合 destination、base 和 stripExtensions 等字段处理输出。
如何使用 plop 向已有文件(如路由文件)追加代码?
使用 append action。配置 type: 'append',指定 path(目标文件路径)、pattern(匹配插入位置的字符串或正则)和 templateFile(要追加的模板文件)。plop 会在匹配位置追加模板内容。
在 plop 中如何自定义 handlebars helper?
在 plopfile 中使用 plop.setHelper 方法注册 helper,例如 plop.setHelper('equal', function(a, b) { return a === b; })。注册后可在 handlebars 模板中调用,如 {{equal a b}}。