Baya 一个基于Nodejs生成项目目录结构的程序
Baya 一个基于Nodejs生成项目目录结构的程序
前阵子写一些项目生成的脚本,感觉很不直观,shell 里面各种 mkdir xxx cp xxx,索性写一个基于很直观的配置文件生成项目结构的程序。
####配置文件:
+ test
+ app
+ module
- media.html
- a.html
+ html
- index.html < ../History.md
- a.js
- bigscreen.js <
+ styl
+ conf
- conf
####会生成的目录结构:
项目地址:
安装:
npm install -g baya
Baya: 一个基于Node.js生成项目目录结构的程序
前阵子写一些项目生成的脚本时,我发现使用Shell命令(如 mkdir
和 cp
)来管理项目结构非常不直观。因此,我决定开发一个基于配置文件生成项目结构的程序,这样可以更清晰地定义项目结构。
配置文件:
配置文件采用一种直观的方式来描述所需的目录和文件结构。以下是一个示例配置文件:
+ test
+ app
+ module
- media.html
- a.html
+ html
- index.html < ../History.md
- a.js
- bigscreen.js <
+ styl
+ conf
- conf
在这个配置文件中:
+
表示创建一个目录。-
表示创建一个文件。<
表示将一个文件的内容复制到另一个文件中。
示例代码解析:
假设我们有一个名为 projectConfig.txt
的配置文件,其内容如下:
+ project-root
+ src
+ components
- component1.js
- component2.js
+ styles
- main.css
- README.md
- package.json
我们可以编写一个简单的Node.js脚本来读取这个配置文件并根据配置创建相应的目录和文件结构。
const fs = require('fs');
const path = require('path');
function createDirectoryStructure(config, rootPath) {
const lines = config.split('\n');
lines.forEach(line => {
line = line.trim();
if (line.startsWith('+')) {
// 创建目录
const dirPath = path.join(rootPath, line.substring(1).trim());
fs.mkdirSync(dirPath);
} else if (line.startsWith('-')) {
// 创建文件
const filePath = path.join(rootPath, line.substring(1).trim());
fs.writeFileSync(filePath, '');
}
});
}
// 读取配置文件
const config = fs.readFileSync('projectConfig.txt', 'utf8');
// 创建目录结构
createDirectoryStructure(config, './');
上述代码会根据 projectConfig.txt
文件中的配置,在当前目录下创建相应的目录和文件。
项目地址:
你可以从以下GitHub仓库获取源码和更多文档:
安装:
要全局安装Baya,只需运行以下命令:
npm install -g baya
安装完成后,你就可以使用 baya
命令来生成项目结构了。
希望这个工具能帮助你更高效地管理和生成项目结构!
根据你的描述,Baya 是一个用于基于配置文件生成项目目录结构的 Node.js 程序。这种工具可以极大地简化项目初始化的过程,并提供一个清晰的目录结构。
示例配置文件
配置文件使用了递归定义的方式,例如:
+ test
+ app
+ module
- media.html
- a.html
+ html
- index.html < ../History.md
- a.js
- bigscreen.js <
+ styl
+ conf
- conf
这段配置文件的含义是:
test
文件夹下包含app
文件夹;app
文件夹中包含module
文件夹;module
文件夹中包含media.html
和a.html
两个文件;app
文件夹中还包含html
文件夹;html
文件夹中包含index.html
文件,该文件将链接到上级目录中的History.md
文件;html
文件夹中还包含a.js
和bigscreen.js
文件;app
文件夹中还包括styl
和conf
文件夹;- 最后,配置文件末尾有一个
- conf
文件,表示在根目录生成一个conf
文件。
安装和使用
-
安装: 通过 npm 全局安装 baya:
npm install -g baya
-
使用: 在项目的根目录创建一个配置文件(如
baya.json
或baya.js
),然后运行:baya
如果需要指定配置文件路径,可以用:
baya path/to/configfile
实际应用
以下是一个简单的示例来展示如何创建一个基本的项目结构。首先,创建一个名为 structure.json
的配置文件,内容如下:
{
"project": {
"+src": {
"+components": {
"-componentA.js": "",
"-componentB.js": ""
},
"+assets": {
"+images": {
"-logo.png": ""
}
},
"-main.js": ""
},
"-package.json": "",
"-README.md": ""
}
}
然后使用 baya 命令行工具生成结构:
baya structure.json
这样,将会生成如下的目录结构:
/project
/src
/components
componentA.js
componentB.js
/assets
/images
logo.png
main.js
package.json
README.md
通过这种方式,可以轻松地为新项目设置一个标准化的目录结构,节省时间和精力。