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>
四. 最后
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'
}
]
});
});
四. 最后
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 或参与开发!