Nodejs mkfiles,让你更方便地创建模块文件

Nodejs mkfiles,让你更方便地创建模块文件

一. 前言

对前端攻城师而言,在我们平时的开发过程中,向 assets 目录中新增一个“有特定目录结构及指定文件”的模块目录,已是很频繁的事情。

对于这一频繁发生的事情,你是如何应对的呢?还在以人肉的方式,频繁地摧残自己的右手?

现在有了 mkfiles,从此告别繁琐,解放右手,让一切 so easy !!!

<br>

二. 它是什么?

mkfiles 是一个 npm 包,它擅长批量地创建“有特定目录结构及指定文件”的模块目录。如果你愿意,甚至可以在创建模块文件的同时,为其设置指定的文件内容。

<br>

三. 如何使用?

在仓库的根目录下,运行 (sudo) npm install mkfiles --save-dev ,然后结合我们熟悉的打包工具(以grunt为例),通过定制打包任务,让新增模块目录这样的事情变得更简单,比如:

1. 新增一个跨终端架构的模块目录

    // 跨终端架构的模块目录结构,类似下面这样:
    src
        -- mods
            -- modName
                -- pc
                    -- index.js
                    -- index.less
                    -- index.xtpl.html
                -- pad
                    -- index.js
                    -- index.less
                    -- index.xtpl.html
                -- phone
                    -- index.js
                    -- index.less
                    -- index.xtpl.html
// 要新增一个这样的模块,基于 grunt + mkfiles 的实现如下:
grunt.registerTask('add', function(modName) {
    var mkfiles = require('mkfiles');
    mkfiles({
        path: './src/mods/' + modName + '/',
        dirs: ['pc', 'pad', 'phone'],
        files: ['index.js', 'index.less', 'index.xtpl.html']
    });
});

// 注:运行 grunt add:yourModName 即可。 

2. 新增带有指定内容的模块文件

// 比如,我们想在 src/mods 目录下增加一个这样的模块
src
    -- mods
        -- modName
            -- index.js  // 文件内容为 "your js code"
            -- index.less // 文件内容为 "your less code"
 
            
// 基于 grunt + mkfiles 的实现如下:
grunt.registerTask('add', function(modName) {
    var mkfiles = require('mkfiles');
    mkfiles({
        path: './src/mods/',
        dirs: [modName],
        files: [
            {
                file: 'index.js',
                content: 'your js code'  // 推荐基于模板引擎来生成
            },
            {
                file: 'index.less',
                content: 'your less code'
            }
        ]
    });
});

<br>

四. 最后

关于 mkfiles 的更多用法,可以查看 README ,欢迎 提交建议参与开发


2 回复

Nodejs mkfiles,让你更方便地创建模块文件

一. 前言

对前端开发者而言,在我们平时的开发过程中,向 assets 目录中新增一个“有特定目录结构及指定文件”的模块目录,已是很频繁的事情。

对于这一频繁发生的事情,你是如何应对的呢?还在以人肉的方式,频繁地摧残自己的右手?

现在有了 mkfiles,从此告别繁琐,解放右手,让一切 so easy !!!

二. 它是什么?

mkfiles 是一个 npm 包,它擅长批量地创建“有特定目录结构及指定文件”的模块目录。如果你愿意,甚至可以在创建模块文件的同时,为其设置指定的文件内容。

三. 如何使用?

在仓库的根目录下,运行 (sudo) npm install mkfiles --save-dev,然后结合我们熟悉的打包工具(以 Grunt 为例),通过定制打包任务,让新增模块目录这样的事情变得更简单。

1. 新增一个跨终端架构的模块目录

例如,跨终端架构的模块目录结构可能如下所示:

src
    -- mods
        -- modName
            -- pc
                -- index.js
                -- index.less
                -- index.xtpl.html
            -- pad
                -- index.js
                -- index.less
                -- index.xtpl.html
            -- phone
                -- index.js
                -- index.less
                -- index.xtpl.html

基于 Grunt 和 mkfiles 的实现如下:

// 在 Gruntfile.js 中添加以下代码
grunt.registerTask('add', function(modName) {
    var mkfiles = require('mkfiles');
    mkfiles({
        path: './src/mods/' + modName + '/',
        dirs: ['pc', 'pad', 'phone'],
        files: ['index.js', 'index.less', 'index.xtpl.html']
    });
});

// 运行 `grunt add:yourModName` 即可。
2. 新增带有指定内容的模块文件

例如,我们想在 src/mods 目录下增加一个这样的模块:

src
    -- mods
        -- modName
            -- index.js  // 文件内容为 "your js code"
            -- index.less // 文件内容为 "your less code"

基于 Grunt 和 mkfiles 的实现如下:

// 在 Gruntfile.js 中添加以下代码
grunt.registerTask('add', function(modName) {
    var mkfiles = require('mkfiles');
    mkfiles({
        path: './src/mods/',
        dirs: [modName],
        files: [
            {
                file: 'index.js',
                content: 'your js code'  // 推荐基于模板引擎来生成
            },
            {
                file: 'index.less',
                content: 'your less code'
            }
        ]
    });
});

四. 最后

关于 mkfiles 的更多用法,可以查看 README,欢迎 提交建议参与开发


Nodejs mkfiles,让你更方便地创建模块文件

一. 前言

对于前端开发者来说,在项目开发过程中,常常需要向 assets 目录中新增具有特定目录结构和文件的模块。如果每次都手动创建这些目录和文件,不仅效率低下,而且容易出错。

现在有了 mkfiles 这个 npm 包,可以让你轻松批量创建这些目录和文件,从而大大简化开发流程。

二. 它是什么?

mkfiles 是一个 npm 包,专门用于批量创建具有特定目录结构和文件的模块目录。你还可以为每个文件设置指定的内容。

三. 如何使用?

首先,你需要安装 mkfiles

npm install mkfiles --save-dev

接下来,你可以结合常用的构建工具(如 Grunt)来创建这些模块目录。以下是一些示例代码。

1. 创建具有特定目录结构的模块

假设我们需要创建一个跨终端架构的模块目录:

// 目录结构如下:
// src/
//     -- mods/
//         -- modName/
//             -- pc/
//                 -- index.js
//                 -- index.less
//                 -- index.xtpl.html
//             -- pad/
//                 -- index.js
//                 -- index.less
//                 -- index.xtpl.html
//             -- phone/
//                 -- index.js
//                 -- index.less
//                 -- index.xtpl.html

// 在 Gruntfile.js 中添加如下任务:

module.exports = function(grunt) {
    grunt.initConfig({
        addModule: {
            options: {},
            files: [{
                expand: true,
                cwd: './src/mods/',
                src: ['**'],
                dest: './src/mods/'
            }]
        }
    });

    grunt.loadNpmTasks('grunt-mkfiles');

    grunt.registerTask('add', function(modName) {
        var mkfiles = require('mkfiles');
        mkfiles({
            path: './src/mods/' + modName + '/',
            dirs: ['pc', 'pad', 'phone'],
            files: ['index.js', 'index.less', 'index.xtpl.html']
        });
    });
};

2. 创建带有指定内容的模块文件

假设我们需要创建一个模块目录,并且希望某些文件包含特定内容:

// 目录结构如下:
// src/
//     -- mods/
//         -- modName/
//             -- index.js  // 文件内容为 "your js code"
//             -- index.less // 文件内容为 "your less code"

// 在 Gruntfile.js 中添加如下任务:

module.exports = function(grunt) {
    grunt.initConfig({
        addModule: {
            options: {},
            files: [{
                expand: true,
                cwd: './src/mods/',
                src: ['**'],
                dest: './src/mods/'
            }]
        }
    });

    grunt.loadNpmTasks('grunt-mkfiles');

    grunt.registerTask('add', function(modName) {
        var mkfiles = require('mkfiles');
        mkfiles({
            path: './src/mods/',
            dirs: [modName],
            files: [
                {
                    file: 'index.js',
                    content: 'your js code'
                },
                {
                    file: 'index.less',
                    content: 'your less code'
                }
            ]
        });
    });
};

四. 最后

更多关于 mkfiles 的详细信息和配置选项,请查看其 GitHub 仓库中的文档:mkfiles。如果你有任何建议或问题,欢迎提交 Issues 或参与开发!

回到顶部