美文网首页
模块创建辅助工具 ModuleCreater

模块创建辅助工具 ModuleCreater

作者: 吐鲁番秃驴 | 来源:发表于2017-06-21 17:50 被阅读40次

    随着前端开发模块、组件分化越来越细腻,往往创建组建的时候要同时创建js、css等一系列文件,但是如果一个一个创建,实在影响效率。
    为了偷懒,抽空写了一个Nodejs脚本程序,用来辅助创建这些文件,你可以在这里找到github仓库,接下来介绍一下如何配置和使用,基本上是傻瓜式的。

    安装

    因为偷懒,并没有作为Node模块,上传到NPM,你可以在github下载源码,然后通过终端进入到文件目录并执行 'npm link'。

    使用

    // 在项目目录下
    $ mcreater init             // 初始化配置文件 'mcreater.config.json'
    $ mcreater create <name> [path map] // 在制定路径创建模块文件, [path map]每个设置的key,为可选的,将在当前目录以配置文件的层级创建文件
    

    配置文件格式范例,支持JSON格式配置,'${name}'运行时会替换成输入的模块名

    {
        "default": {
            "map": "./",
            "hierarchy": [
                "${name}.js",
                "${name}.css"
            ]
        },
        "page": {
            "map": "./Pages",
            "hierarchy": {
                "${name}": [
                    "index.js",
                    "style.css",
                    "Store.js",
                    "Actions.js"
                ]
            }
        },
        "component": {
            "map": "./Components",
            "hierarchy": [
                "${name}.js",
                "${name}.css",
                "Store.js",
                "Actions.js"
            ]
        }
    }
    

    Hierarchy 设置范例

    "hierarchy": [
        "${name}.js",
        "${name}.css"
    ]
    
    "hierarchy": {
        "${name}": "index.js"
    }
    
    "hierarchy": {
        "${name}": [
            "index.js",
            "index.css"
        ]
    }
    
    "hierarchy": {
        "${name}": {
            "${name}SubDir": [
                "index.js",
                "index.css"
            ]
        }
    }
    

    甚至可以用嵌套配置

    "hierarchy": [
        [
            {
                "${name}A": [
                    "index.js",
                    "style.css"
                ]
            },
            {
                "${name}B": [
                    "index.js",
                    "style.css"
                ]
            }
        ]
    ]
    
    "hierarchy": {
        "${name}": [
            {
                "${name}A": [
                    "index.js",
                    "style.css"
                ]
            },
            {
                "${name}B": [
                    "index.js",
                    "style.css"
                ]
            }
        ]
    }
    

    程序会根据你的配置在相应目录创建相应层级的文件,尽情的用吧,源码可随意修改~

    相关文章

      网友评论

          本文标题:模块创建辅助工具 ModuleCreater

          本文链接:https://www.haomeiwen.com/subject/oyytcxtx.html