@icanvas/webpack
Version:
这是icanvas的默认webpack打包配置
29 lines (28 loc) • 892 B
JavaScript
const fs = require('fs-extra');
const path = require('path');
const P2J = DirPath => {
let Res = {};
fs.readdirSync(DirPath).forEach(FileName => {
if (FileName.indexOf('.') == 0) return;
let FilePath = path.join(DirPath, FileName);
let Stats = fs.statSync(FilePath);
if (Stats.isDirectory()) {
if (!Res[FileName]) Res[FileName] = {};
if (typeof Res[FileName] == 'string') Res[FileName] = { _: Res[FileName] };
Object.assign(Res[FileName], P2J(FilePath));
}
if (Stats.isFile()) {
let Ext = path.extname(FilePath);
let Name = path.basename(FilePath, Ext);
if (Ext && Name) {
if (!Res[Name]) Res[Name] = Ext.substring(1);
if (typeof Res[Name] == 'object') Res[Name]._ = Ext.substring(1);
}
}
});
return Res;
};
module.exports = dirpath => {
if (process.env.npm_config_debug) console.log('读取文件夹结构', dirpath);
return P2J(dirpath);
};