最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • Plop —— 小而美的脚手架工具

    正文概述 掘金(顽皮的雪狐七七)   2020-12-27   304

    目录

    • Plop介绍
    • Plop的具体使用
      • 具体步骤
    • 总结

    Plop介绍

    主要用于创建项目中特定文件类型的小工具,类似于Yeoman中的sub generator,一般不会独立使用。一般会把Plop集成到项目中,用来自动化的创建同类型的项目文件。

    • plop-npm
    • plop-github

    Plop的具体使用

    具体步骤

    1. 新建目录,初始化npm init -y,安装Plop
    npm install -g plop
    
    1. 在目录下创建plop-templates文件夹,里面创建三个模板文件
    • component.css.hbs
    .{{name}} {
      
    }
    
    • component.hbs
    import React from 'react';
    
    export default () => (
      <div className="{{ name }}">
        <h1>{{name}} Component</h1>
      </div>
    )
    
    • component.test.hbs
    import React from 'react';
    import ReactDOM from 'react-dom';
    import {{name}} from './{{name}}';
    
    it('renders widthout crashing', () => {
      const div = document.createElement('div');
      ReactDOM.render(<{{name}} />, div);
      ReactDOM.unmountComponentAtNode(div);
    });
    
    1. 在根目录下创建一个plopfile.js的文件,这个文件是Plop的入口文件,需要导出一个函数,这个函数接收一个plop对象,用于创建生成器任务。
    module.exports = plop => {
      // 设置一个生成器,第一个参数是项目名称,第二个函数是对象,对应设置选项
      plop.setGenerator('compontent', {
        // 描述
        description: 'create a component',
        // 命令行交互问题
        prompts: [
            // 一个问题对应一个对象,配置参考自定义Generator
          {
            type: 'input',
            name: 'name',
            message: 'component name',
            default: 'MyComponent'
          }
        ],
        // 完成命令行交互过后完成的一些动作
        actions: [
          //每一个对象都是一个动作
          {
            type: 'add', // 代表添加文件
            // 被添加的文件在输出的哪个路径,双花括号插值表达式可以获取交互得到的数据
            path: 'src/components/{{name}}/{{name}}.js',
            // 模板文件是什么
            templateFile: 'plop-templates/component.hbs'
          },
          {
            type: 'add',
            path: 'src/components/{{name}}/{{name}}.css',
            templateFile: 'plop-templates/component.css.hbs'
          },
          {
            type: 'add',
            path: 'src/components/{{name}}/{{name}}.test.js',
            templateFile: 'plop-templates/component.test.hbs'
          }
        ]
      })
    }
    
    1. package.json中添加
      "scripts": {
        "plop": "plop"
      }
    
    1. 运行
    npm run plop
    # 输入模块名称
    ? component name Header
    #√  ++ \src\components\Header\Header.js
    #√  ++ \src\components\Header\Header.css
    #√  ++ \src\components\Header\Header.test.js
    

    此时在根目录的src\components下面,有了三个文件

    • Header.js
    import React from 'react';
    
    export default () => (
      <div className="Header">
        <h1>Header Component</h1>
      </div>
    )
    
    • Header.css
    .Header {
      
    }
    
    • Header.test.js
    import React from 'react';
    import ReactDOM from 'react-dom';
    import Header from './Header';
    
    it('renders widthout crashing', () => {
      const div = document.createElement('div');
      ReactDOM.render(<Header />, div);
      ReactDOM.unmountComponentAtNode(div);
    });
    

    这样,就可以根据模板一键生成一个组件目录。

    总结

    1. plop模块作为项目开发依赖安装
    2. 编写用于生成特定类型文件的模板
    3. 在项目根目录下创建一个plopfile.js文件
    4. plopfile.js文件中定义脚手架任务
    5. 通过Plop提供的CLI运行脚手架任务

    起源地下载网 » Plop —— 小而美的脚手架工具

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元