共计 1871 个字符,预计需要花费 5 分钟才能阅读完成。
概念
前端脚手架工具用于疾速创立我的项目的根底构造,提供了我的项目标准与约定。
典型的前端脚手架工具蕴含 Yeoman、Plop 等。Vue Cli 与 Create React App 亦蕴含了脚手架性能。
Yeoman 是一个通用型的脚手架工具,个别用于一次创立整个我的项目。
Plop 是一个小型脚手架工具,用于疾速创立我的项目中的特定文件。
每次有新需要,须要增加新的一套页面时,都须要做一些反复的、繁琐的复制、粘贴及批改等工作。而通过 Plop 疾速创立特定模板文件能够很好的解决以上问题,为开发提效。
Plop 应用案例
装置 Plop
npm i -D plop
创立并编写模板文件
在我的项目根目录创立 plop-templates 目录用于保留模板文件。
- 模板文件的后缀为 .hbs,遵循 Handlerbars 模板引擎语法。
此处以 React 我的项目为例,创立每个页面的组件文件(index)、款式文件(styles)、数据交互与接口文件(reducer、api)
以 index.hbs 文件为例,内容如下:
import React,{useEffect,useReducer} from 'react'
import {} from 'antd';
import reducer from './reducer';
import styles from './index.less'
function {{properCase name}}() {
const initState={listFilter:{},
loading:{}}
const [{},commit]=useReducer(reducer,initState)
useEffect(()=>{},[])
return (<div className={styles['{{ name}}']}>
{{properCase name}}
</div>
)
}
export default {{properCase name}}
- 其中的 properCase 示意将 name 转换为大驼峰(合乎组件名命名标准)。
- 此处的 name 是后续由 Plop 从用户输出中读取而失去的。
创立并编写 Plop 配置文件
在我的项目根目录创立 Plop 配置文件 —— plopfile.js
编写配置文件
// plop 配置文件必须导出一个函数,这个函数接管一个 plop 对象,这个对象用于创立相干工作。module.exports = plop => {
// 此处的 new 示意工作名称,后续可通过【plop 工作名】来调用相干工作。plop.setGenerator('new', {
description: 'create a page', // 形容
// 命令式交互配置
prompts: [
{
type: 'input',
name: 'name',
message: 'page name',
default: 'default-page',
},
],
// 实现命令行交互后须要执行的一系列动作
actions: [
{
type: 'add', // 示意增加新文件
path: 'src/pages/{{name}}/index.jsx', // 指定文件的输入门路
templateFile: './plop-templates/index.hbs', // 指定模板文件
},
{
type: 'add',
path: 'src/pages/{{name}}/index.less',
templateFile: './plop-templates/styles.hbs',
},
{
type: 'add',
path: 'src/pages/{{name}}/api.js',
templateFile: './plop-templates/api.hbs',
},
{
type: 'add',
path: 'src/pages/{{name}}/reducer.js',
templateFile: './plop-templates/reducer.hbs',
},
],
});
};
- 以上是依据模板文件创建新文件的用法(最罕用),更多用法请参阅 Plop 官网文档。
在 package.json 的脚本中设置相干创立命令,不便后续调用。
当执行 npm run new
时,通过应用 plop 调用 new 工作。
{
"scripts": {
...
"new": "plop new",
...
}
}
应用
调用 npm run new
即可运行之前在 plop 配置文件中定义的 new 工作,它会依据用户输出,联合用户定义的模板创立对应的文件。
每当有新需要时,例如目前有一个数据视图治理的新页面需要,只需运行 npm run new
命令即可疾速创立相干根底文件,防止了反复的、低效的复制、粘贴与批改文件工作。