|
@@ -1,89 +0,0 @@
|
|
|
-#!/usr/bin/env node
|
|
|
-const fs = require('fs');
|
|
|
-const filePath = process.argv[2];
|
|
|
-const name = process.argv[3];
|
|
|
-
|
|
|
-var styles = {
|
|
|
- bold: ['\x1B[1m', '\x1B[22m'],
|
|
|
- italic: ['\x1B[3m', '\x1B[23m'],
|
|
|
- underline: ['\x1B[4m', '\x1B[24m'],
|
|
|
- inverse: ['\x1B[7m', '\x1B[27m'],
|
|
|
- strikethrough: ['\x1B[9m', '\x1B[29m'],
|
|
|
- white: ['\x1B[37m', '\x1B[39m'],
|
|
|
- grey: ['\x1B[90m', '\x1B[39m'],
|
|
|
- black: ['\x1B[30m', '\x1B[39m'],
|
|
|
- blue: ['\x1B[34m', '\x1B[39m'],
|
|
|
- cyan: ['\x1B[36m', '\x1B[39m'],
|
|
|
- green: ['\x1B[32m', '\x1B[39m'],
|
|
|
- magenta: ['\x1B[35m', '\x1B[39m'],
|
|
|
- red: ['\x1B[31m', '\x1B[39m'],
|
|
|
- yellow: ['\x1B[33m', '\x1B[39m'],
|
|
|
- whiteBG: ['\x1B[47m', '\x1B[49m'],
|
|
|
- greyBG: ['\x1B[49;5;8m', '\x1B[49m'],
|
|
|
- blackBG: ['\x1B[40m', '\x1B[49m'],
|
|
|
- blueBG: ['\x1B[44m', '\x1B[49m'],
|
|
|
- cyanBG: ['\x1B[46m', '\x1B[49m'],
|
|
|
- greenBG: ['\x1B[42m', '\x1B[49m'],
|
|
|
- magentaBG: ['\x1B[45m', '\x1B[49m'],
|
|
|
- redBG: ['\x1B[41m', '\x1B[49m'],
|
|
|
- yellowBG: ['\x1B[43m', '\x1B[49m'],
|
|
|
-};
|
|
|
-if (!filePath || !name) {
|
|
|
- console.error(styles.red[0], `输入错误`);
|
|
|
- console.error(
|
|
|
- styles.red[0],
|
|
|
- `请输入${!filePath ? '路径' : ''}${!name ? '名字' : ''}!`
|
|
|
- );
|
|
|
- return;
|
|
|
-}
|
|
|
-
|
|
|
-try {
|
|
|
- function firstUpperCase(name) {
|
|
|
- return name.replace(/\b(\w)(\w*)/g, function ($0, $1, $2) {
|
|
|
- return $1.toUpperCase() + $2.toLowerCase();
|
|
|
- });
|
|
|
- }
|
|
|
- const fileName = firstUpperCase(name);
|
|
|
- fs.mkdirSync(`./src/pages/${fileName}`);
|
|
|
- fs.writeFileSync(`./src/pages/${fileName}/index.js`, index());
|
|
|
- fs.writeFileSync(`./src/pages/${fileName}/${fileName}.tsx`, tmp());
|
|
|
- fs.writeFileSync(`./src/pages/${fileName}/${fileName}.less`, style());
|
|
|
-
|
|
|
- function index() {
|
|
|
- return `import ${fileName} from './${fileName}.tsx';
|
|
|
-import './${fileName}.less';
|
|
|
-
|
|
|
-export default ${fileName}
|
|
|
-`;
|
|
|
- }
|
|
|
-
|
|
|
- function tmp() {
|
|
|
- return `import React from 'react';
|
|
|
-import { Button } from 'antd';
|
|
|
-
|
|
|
-export default class ${fileName} extends React.Component {
|
|
|
- test() {
|
|
|
- console.log('${fileName}');
|
|
|
- }
|
|
|
- render() {
|
|
|
- return (
|
|
|
- <div className="${name}-wrapper">
|
|
|
- ${fileName}
|
|
|
- <div>
|
|
|
- <Button onClick={(e) => this.test()}>goto</Button>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- );
|
|
|
- }
|
|
|
-}`;
|
|
|
- }
|
|
|
-
|
|
|
- function style() {
|
|
|
- return `.${name}-wrapper {
|
|
|
- background-color: blanchedalmond;
|
|
|
-}`;
|
|
|
- }
|
|
|
- console.log(styles.green[0], '文件创成功');
|
|
|
-} catch (e) {
|
|
|
- console.log(styles.red[0], '出现错误', e);
|
|
|
-}
|