Skip to content

Commit 6b161f6

Browse files
committed
修改 babel 配置文件
1 parent 302f9c1 commit 6b161f6

File tree

2 files changed

+34
-0
lines changed

2 files changed

+34
-0
lines changed

generator/index.js

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
const utils = require('../utils');
2+
13
module.exports = (api, option, rootOptions) => {
24
// 扩展 package.json
35
api.extendPackage({
@@ -16,4 +18,12 @@ module.exports = (api, option, rootOptions) => {
1618
});
1719
// 渲染模板
1820
api.render('./template');
21+
22+
// 修改 babel.config.js
23+
api.postProcessFiles(files => {
24+
const babelConfigRaw = files['babel.config.js'];
25+
if (babelConfigRaw) {
26+
files['babel.config.js'] = utils.MergePresets(babelConfigRaw, 'react-app');
27+
}
28+
});
1929
};

utils/index.js

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
function GetJson(func) {
2+
try {
3+
return eval(func);
4+
} catch (e) {
5+
return {};
6+
}
7+
}
8+
9+
function MergePresets(babelConfigRaw = {}, preset = '') {
10+
const babelConfig = GetJson(babelConfigRaw);
11+
if (babelConfig.presets) {
12+
if (!babelConfig.presets.includes(preset)) {
13+
babelConfig.presets.push(preset);
14+
}
15+
} else {
16+
babelConfig.presets = [preset];
17+
}
18+
return `module.exports = ${JSON.stringify(babelConfig)}`;
19+
}
20+
21+
module.exports = {
22+
MergePresets,
23+
GetJson
24+
};

0 commit comments

Comments
 (0)