Skip to content

Commit 3443366

Browse files
committed
feat(fekit.md): 迁移fekit新版文档
1 parent f08cdac commit 3443366

File tree

1 file changed

+78
-0
lines changed

1 file changed

+78
-0
lines changed

docs/fekit.md

Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
# 将FEkit项目迁移到YKit
2+
3+
## 下载依赖
4+
5+
迁移所需要的依赖是`ykit-config-fekit`包:
6+
7+
```
8+
qnpm i @qnpm/ykit-config-fekit
9+
```
10+
11+
然后包的postinstall脚本会帮你创建`ykit.fekit.js`到项目根目录下。
12+
13+
和其他ykit项目不同的是你不需要写任何配置项,里面可配置的只有sync到开发机的命令。所有的相关配置都会从fekit.config中读取。
14+
15+
## 尝试迁移
16+
17+
** 以下内容非常重要,请仔细阅读后再进行操作 **
18+
19+
### 目前不支持的项目类型:
20+
21+
- 使用了`scripts`钩子脚本的项目
22+
- 使用less的项目
23+
- 各种利用了非常规fekit bug的项目(例如使用注释来require依赖)
24+
25+
以上三类项目目前完全无法迁移,请等待下一版本的ykit-config-fekit。
26+
27+
### 迁移步骤
28+
29+
#### 1. 本地pack
30+
31+
首先请在项目根目录下调用`ykit pack -c`生成dev文件。然后注意看一下命令行可能出现的报错,例如:
32+
33+
```
34+
X ./~/css-loader?-url!./~/@qnpm/ykit-config-fekit/loaders/fekit-scss.js!./src/styles/expcleisure-index.css
35+
Module build failed: Missed semicolon (87:127)
36+
37+
85 | .b_event_description{ padding-bottom:10px; }
38+
86 | .b_event_description .e_process{ padding:15px 0 8px 85px; text-align:center; }
39+
> 87 | .b_event_description .e_process li{ margin-left:12px; padding-right:36px; width:158px; display:inline; float:left; background:background:url(http://source.qunar.com/site/images/zhuanti/130424-1/icon.png) no-repeat 100% 44px; }
40+
| ^
41+
88 | .b_event_description .e_process li.last{ background:none; }
42+
89 | .b_event_description .e_process .step_01, .b_event_description .e_process .step_02, .b_event_description .e_process .step_03, .b_event_description .e_process .step_04{ width:158px; height:114px; background:url(http://source.qunar.com/site/images/zhuanti/130424-1/step.png) no-repeat 0 0; overflow:hidden; }
43+
90 | .b_event_description .e_process .step_02{ background-position:0 -125px; }
44+
```
45+
46+
由于FEkit不会校验css的语法,因此我们发现大部分的项目都存在类似的各种css错误,这在ykit不再被允许,你需要手动修改这些错误以后再尝试迁移。
47+
48+
另外,在js中也可能出现语法错误,例如:
49+
50+
```
51+
X ./src/scripts/a/touch/recruitSleeper/index.js
52+
Module not found: Error: Cannot resolve module 'prepareSleeper/index/js' in /Users/chenjiao/Documents/qzz/ugc/src/scripts/a/touch/recruitSleeper
53+
@ ./src/scripts/a/touch/recruitSleeper/index.js 5:0-34
54+
```
55+
56+
这个错误对应的源码长这个样子:
57+
58+
```
59+
require("prepareSleeper/index/js");
60+
```
61+
62+
这种错误在fekit中也被默默地无视掉了,请参照报错信息进行修改。
63+
64+
请重复以上两个步骤,直到没有报错为止。
65+
66+
#### 2. dev测试
67+
68+
调用``ykit sync``可以将项目sync到开发机,然后请修改host进行dev测试(这个就不多说怎么弄了)。
69+
70+
最好每个页面都看一下是否有问题。
71+
72+
#### beta/正式发布
73+
74+
按流程走即可。
75+
76+
## 支持
77+
78+
请qtalk jiao.shen或者yuhao.ju

0 commit comments

Comments
 (0)