csmall-theme
Version:
自用资源,不负责对外的使用解答
51 lines (45 loc) • 1.33 kB
JavaScript
const fs = require('fs');
const path = require('path');
module.exports = function(root){
const themeFile = path.resolve(root, './src/env_config/themes.js');
const config = {
exists: false,
default: '',
defaultItem: {
path: 'default',
key: ''
},
keys: [],
list: [],
getItemByKey(key){
let find = null;
this.list.map(item => {
if(item.key === key){
find = item;
}
});
return find;
}
};
if(fs.existsSync(themeFile)){
const themes = require(themeFile);
if(themes.list && themes.list.length){
config.exists = true;
if(themes.default){
config.default = themes.default;
}else{
config.default = themes.list[0].key;
}
themes.list.forEach((v) => {
config.keys.push(v.key);
});
config.list = themes.list;
config.defaultItem = config.getItemByKey(config.default);
if(config.defaultItem === null){
console.warn('Themes default key: ' + config.default + ' ill!');
process.exit();
}
}
}
return config;
};