tuns-mobile-components
Version:
Tuns Design UI
74 lines (64 loc) • 1.89 kB
JavaScript
const fs = require("fs");
const path = require("path");
const getLocalConfig = api => {
const configPath = path.join(api.cwd, ".yeorc.js");
let localConfig = {};
if (fs.existsSync(configPath)) {
api.addBabelRegister([configPath]);
localConfig = require(configPath).default; // eslint-disable-line
}
return localConfig;
};
const aliasConfig = (join, cwd) => {
return {
alias: {
src: join(cwd, "src"),
components: join(cwd, "src", "components"),
utils: join(cwd, "src", "utils"),
assets: join(cwd, "src", "assets"),
themes: join(cwd, "src", "themes"),
config: join(cwd, "src", "config"),
public: join(cwd, "public"),
},
};
};
module.exports = api => {
const localConfig = getLocalConfig(api);
if (!localConfig.pluginReactOption) {
localConfig.pluginReactOption = {};
}
api.registerPlugin({
id: "solomon:react",
apply: require(`${api.cwd}/node_modules/umi-plugin-react`).default, // eslint-disable-line
opts: {
antd: true,
dva: true,
// library: "preact",
routes: {
exclude: [
/models|services|components\//,
o => /[A-Z]/.test(o.component),
o =>
!/[\\/]((index)|(404)|(_layout)|(\$[a-z]+))[\\.]js$/.test(
o.component
),
],
},
// 暂时屏蔽国际化部分代码,等有需要再开启
// locale: {
// enable: true, // default false
// default: "zh-CN", // default zh-CN
// baseNavigator: true // default true, when it is true, will use `navigator.language` overwrite default
// }
...localConfig.pluginReactOption,
},
});
// 添加配置文件
api.modifyDefaultConfig(memo => {
return {
...memo,
...aliasConfig(path.join, api.cwd),
...(localConfig.default || localConfig),
};
});
};