Skip to content

Commit 3386006

Browse files
author
徐远翔
committedMay 18, 2020
refactor: 扩展umi generate子命令,新增RN Generator:umi g rn
+ `umi g rn --dev`:在 NODE_ENV=development 模式下,启动watch进程,监听源码文件变动并重新生成中间代码临时文件。 + `umi g rn`:在 NODE_ENV=production 模式下,生成中间代码临时文件。 BREAKING CHANGE: 移除子命令:`umi watch`。
1 parent 767ce46 commit 3386006

File tree

15 files changed

+373
-303
lines changed

15 files changed

+373
-303
lines changed
 

‎README.md

+4-4
Original file line numberDiff line numberDiff line change
@@ -211,14 +211,14 @@ _上文未列出的[umi 配置](https://umijs.org/config)对 **umi-preset-react-
211211
"android": "react-native run-android",
212212
"ios": "react-native run-ios",
213213
"start": "react-native start",
214-
+ "watch": "umi watch",
214+
+ "watch": "umi g rn --dev",
215215
"test": "jest",
216216
"lint": "eslint ."
217217
}
218218
}
219219
```
220220

221-
先执行 umi watch 监听源码文件变动,重新生成临时代码
221+
先启动 watch 进程监听源码文件变动,重新生成中间代码
222222

223223
```npm
224224
yarn watch
@@ -238,10 +238,10 @@ yarn ios
238238

239239
### 打包
240240

241-
先使用 umi 生成临时代码
241+
先使用 umi 生成中间代码
242242

243243
```npm
244-
umi g tmp
244+
umi g rn
245245
```
246246

247247
再使用[react-native bundle](https://github.com/react-native-community/cli/blob/master/docs/commands.md#bundle)构建离线包(offline bundle)。

‎package.json

+1-2
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,6 @@
2323
"@types/react-native": "^0.62.7",
2424
"@typescript-eslint/eslint-plugin": "^2.28.0",
2525
"@typescript-eslint/parser": "^2.28.0",
26-
"@umijs/runtime": "^3.0.0",
27-
"@umijs/types": "^3.0.0",
2826
"conventional-changelog": "^3.1.18",
2927
"cross-env": "^7.0.2",
3028
"eslint": "^6.8.0",
@@ -46,6 +44,7 @@
4644
"rimraf": "^3.0.2",
4745
"ts-jest": "^25.4.0",
4846
"typescript": "^3.8.3",
47+
"umi": "^3.0.0",
4948
"validate-commit-msg": "^2.14.0"
5049
},
5150
"workspaces": [

‎packages/umi-preset-react-native/package.json

+1
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@
4343
"dependencies": {
4444
"@types/react-router-native": "5.1.0",
4545
"babel-plugin-module-resolver": "^4.0.0",
46+
"memoizerific": "^1.11.3",
4647
"react-router-native": "5.1.2"
4748
}
4849
}
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,11 @@
11
export default function () {
22
return {
33
plugins: [
4-
require.resolve('./plugins/commands/watch'),
4+
require.resolve('./plugins/features/reactNative'),
55
require.resolve('./plugins/generateFiles/react-native/exports'),
66
require.resolve('./plugins/generateFiles/react-native/polyfill'),
77
require.resolve('./plugins/generateFiles/react-native/runtime'),
8-
require.resolve('./plugins/generateFiles/babelConfig'),
9-
require.resolve('./plugins/generateFiles/metroConfig'),
10-
require.resolve('./plugins/generateFiles/index'),
11-
require.resolve('./plugins/features/reactNative'),
8+
require.resolve('./plugins/generators/rn'),
129
],
1310
};
1411
}

‎packages/umi-preset-react-native/src/plugins/commands/watch.ts

-90
This file was deleted.

‎packages/umi-preset-react-native/src/plugins/features/reactNative.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import { assertExists } from '../../utils';
77
export default (api: IApi) => {
88
const {
99
utils: { resolve, lodash, winPath },
10-
paths: { absNodeModulesPath = '', absSrcPath = '', absTmpPath },
10+
paths: { absNodeModulesPath = '', absSrcPath = '' },
1111
} = api;
1212

1313
/**

‎packages/umi-preset-react-native/src/plugins/generateFiles/babelConfig.ts

-147
This file was deleted.

‎packages/umi-preset-react-native/src/plugins/generateFiles/index.ts

-18
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
export default `/**
2+
* @file umi 生成临时文件
3+
* @description 添加额外的babel配置,请使用以下umi配置:
4+
* + extraBabelPlugins配置:https://umijs.org/config#extrababelplugins
5+
* + extraBabelPresets配置:https://umijs.org/config#extrababelpresets
6+
* @format
7+
*/
8+
module.exports = {
9+
presets: {{{presets}}},
10+
plugins: {{{plugins}}},
11+
};
12+
13+
`;
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
export default `/**
2+
* @file umi 生成临时文件
3+
* @format
4+
*/
5+
import '@@/umi';
6+
7+
`;

0 commit comments

Comments
 (0)