const fs = require('fs');
  const dirName = process.argv[2];
  if (!dirName) {     console.log('文件夹名称不能为空!');     console.log('示例:yarn template goodMenu/test');     process.exit(0); }
 
  function titleCase(str) {     const array = str.toLowerCase().split(' ');     for (let i = 0; i < array.length; i++) {         array[i] = array[i][0].toUpperCase() + array[i].substring(1, array[i].length);     }     const string = array.join(' ');     return string; }
 
  const indexTep = ` import React, {Component, Fragment} from 'react'; import {connect} from 'react-redux' import PropTypes from "prop-types" import {Form, Input, Button, DatePicker, Checkbox, InputNumber, Upload, Icon, Modal, Radio, Drawer, Card} from 'antd';
  import "./index.less"
  class Index extends Component {     constructor(props) {         super(props);         this.state = {}
      }
 
      componentDidMount() {
      }
      render() {
          return (             <div>                 111             </div>         )     } }
  export default Index;
  Index.defaultProps = {     data:[] }; Index.propTypes = {     data: PropTypes.array.isRequired//必须有 }; `;
 
  const lessTep = ``;
 
  const modelTep = ` import {queryShopList} from './service'; import {scenicid, shopid} from '@/utils/scenicid';
  export default {     namespace: 'groupBuy',     state: {         data: [],     },     effects: {         * fetch(action, {call, put}) {             // const { banner } = yield select(state => state.home);             const {data} = yield call(queryShopList, scenicid()['id']);             yield put({                 type: 'save',                 payload: {                     data: data,                 },             });         },     },     reducers: {         save(state, {payload}) {             return {...state, ...payload};         },     }, }; `;
 
  const serviceTep = ` import axios from '@/api/axios'; import {url} from '@/api/config'
  import {getCookie} from "@/utils/cookie";
  export const queryShopList = (id) => {     const baseUrl = '';     return axios.get(baseUrl); }; `;
 
  fs.mkdirSync(`./src/pages/${dirName}`);  process.chdir(`./src/pages/${dirName}`); 
  fs.writeFileSync('index.js', indexTep); fs.writeFileSync('index.less', lessTep); fs.writeFileSync('model.js', modelTep); fs.writeFileSync('service.js', serviceTep);
  console.log(`模版${dirName}已创建,请手动增加models`);
  process.exit(0);
 
  |