UNPKG

17.3 kBMarkdownView Raw
1## 0.8.0
2**????-??-??**
3- **重大改动**
4 - 新增全局对象: `Store``History``LocaleId`
5 - 注意第一个字母大写
6 - 作用范围: 所有 React 组件代码和其引用的代码
7 - 重写 React 同构服务器逻辑,原则上对已有项目不会造成影响
8 - 调整 CSS 打包、使用规则
9 - 现在明确只存在 2 种 CSS 文件:全局 CSS 和组件 CSS
10 - koot 配置文件 (默认为 `/koot.config.js`) 中的 `css.fileBasename` 为这 2 种 CSS 文件的不包含扩展名的基本文件名正则规则的设置。以下是默认设置:
11 - `css.fileBasename.normal = /^((?!\.(component|module)\.).)*/`
12 - `css.fileBasename.component = /\.(component|module)/`
13 - 默认规则解释:以 `.component.css``.module.css` (扩展名可为 `css` `less` `sass` 等) 为结尾的文件会当作组件 CSS,其他文件会被当做全局 CSS
14 - 全局 CSS 规则
15 - 所有全局 CSS 文件会根据所属的 Webpack 入口,被抽出为对应的独立的 CSS 文件 (打包结果中的 `extract.[hash].css`)
16 - 所有这些 CSS 文件结果也会被整合到一个统一的 CSS 文件中 (打包结果中的 `extract.all.[hash].css`)
17 - 统一的 CSS 文件的文件内容会被自动写入到 `<head>` 标签内的 `<style>` 标签中
18 - 虽然通常情况下已无需要,不过根据 Webpack 入口抽出的 CSS 文件仍可根据具体的需求独立使用
19 - 组件 CSS 规则
20 - 所有的组件 CSS 必须通过 `extend` 高阶组件的 `styles` 选项调用
21 - 这些 CSS 文件必须有一个名为 `.component``.[name]__component` 的 className
22 - 该 className 会被更换为 hash 结果,如 `.a85c6k``.nav__bjj15a`
23 - `props.className` 会传入到对应的组件,其值为与上述结果对应的 hash 后的 className
24- 核心
25 - 配置项
26 - **新** `client.browserType` - 客户端中路由 (`router`) 所用的历史对象 (`history`) 类型。详情请参见文档的 [配置/客户端](https://koot.js.org/#/config?id=客户端浏览器端) 章节
27 - **新** `webpack.internalLoadersOptions` - 用以扩展几乎无法修改的内置 `loader` 所用的设置。详情请参见文档的 [配置/Webpack](https://koot.js.org/#/config?id=Webpack) 章节
28 - **新** `server.onRender.beforeDataToStore``server.onRender.afterDataToStore` - 允许更详细的使用服务器端渲染生命周期。详情请参见文档的 [配置/Webpack](https://koot.js.org/#/config?id=Webpack) 章节
29 - `redux.syncCookie` 现支持传入 `true`: 同步所有 cookie,包括 cookie 原始字符串 (以 `__` 为名称)
30 - Webpack 打包
31 - 现在打包时不再会在项目根目录下生成临时文件
32 - 这些文件现在移至 `/logs/tmp/` 目录下
33 - 现在每种打包模式仅保留最近 2 次打包的日志文件 (`/logs/webpack-config/` 目录下)
34- React
35 - 根层组件添加 `componentDidCatch` 生命周期方法,以保障 React 输出渲染结果
36- React SPA
37 - 对于传入自定 `store` 对象或生成方法的项目,确保生成 `store` 使用的 `history` 对象为浏览器所用对象
38 - 移除 `AppContainer` 逻辑的相关文件
39- 移除依赖包
40 - `koa-compose`
41 - `koa-compress`
42 - `koa-helmet`
43 - `koa-html-minifier`
44 - `koa-json`
45 - `koa-multer`
46 - `koa-onerror`
47 - `koa-response-time`
48 - `progress`
49- 更新依赖包
50 - major
51 - `css-loader` -> _2.0.1_
52 - `file-loader` -> _3.0.1_
53 - `koa-body` -> _4.0.4_
54 - `koa-mount` -> _4.0.0_
55 - `koa-static` -> _5.0.0_
56 - minor
57 - `@babel/core` -> _7.2.2_
58 - `@babel/plugin-proposal-class-properties` -> _7.2.3_
59 - `@babel/plugin-proposal-decorators` -> _7.2.3_
60 - `@babel/plugin-proposal-object-rest-spread` -> _7.2.0_
61 - `@babel/plugin-syntax-dynamic-import` -> _7.2.0_
62 - `@babel/plugin-transform-runtime` -> _7.2.0_
63 - `@babel/polyfill` -> _7.2.3_
64 - `@babel/preset-env` -> _7.2.3_
65 - `autoprefixer` -> _9.4.3_
66 - `koa` -> _2.6.2_
67 - `less` -> _3.9.0_
68 - `mini-css-extract-plugin` -> _0.5.0_
69 - `react` -> _16.7.0_
70 - `react-dom` -> _16.7.0_
71 - `react-hot-loader` -> _4.6.3_
72 - `webpack` -> _4.28.1_
73 - patch
74 - `inquirer` -> _6.2.1_
75 - `pm2` -> _3.2.4_
76 - `portfinder` -> _1.0.20_
77 - `postcss` -> _7.0.7_
78
79## 0.7.11
80**2018-12-17**
81- 核心
82 - 多语言
83 - 同构时如果获取的语种ID在项目中不存在,现在会忽略该值
84
85## 0.7.10
86**2018-12-12**
87- 核心
88 - 配置项
89 - 现在会处理 `server.onRender.beforeDataToStore``server.onRender.afterDataToStore` 配置为 `Pathname` 类型的情况
90
91## 0.7.9
92**2018-12-12**
93- 核心
94 - 配置项
95 - **新** `server.onRender.beforeDataToStore``server.onRender.afterDataToStore` - 允许对服务器渲染时的生命周期方法进行更详细的设定。详情请参见文档的 [配置/服务器端](https://koot.js.org/#/config?id=服务器端) 章节
96
97## 0.7.8
98**2018-12-11**
99- 错误修正
100 - 修复客户端无法保存当前语种ID的问题
101
102## 0.7.7
103**2018-12-11**
104- 核心
105 - 配置项
106 - **新** `i18n.use` - 配置多语言项目的 URL 使用方式。详情请参见文档的 [配置/多语言](https://koot.js.org/#/config?id=多语言) 章节
107 - 多语言
108 - 现支持第一级路由为语种ID的使用方案 (`i18n.use = 'router'`)
109 - 自动添加的多语言跳转 meta 标签现在会过滤掉当前语言的标签
110- React同构 (`ReactApp`)
111 - 改进服务器输出 CSS 结果时的稳定性
112- 更新依赖包
113 - patch
114 - `react-router` -> _3.2.1_
115
116## 0.7.6
117**2018-12-04**
118- 核心
119 - 配置项
120 - **新** `server.proxyRequestOrigin` - 若本 Node.js 服务器是通过其他代理服务器请求的(如 nginx 反向代理),可用这个配置对象声明原请求的信息。详情请参见文档的 [配置](https://koot.js.org/#/config) 章节
121 - PWA
122 - `service-worker` 默认行为调整,现在初始时仅会对 `.js` 文件进行缓存
123- 错误修正
124 - 修复某些情况下,同构服务器启动端口不正确的问题
125
126## 0.7.5
127**2018-12-03**
128- React
129 - 高阶组件 `extend()`
130 - `connect` 现在支持传入 Array,以对应 `react-redux``connect()` 的多参数情形
131- React同构 (`ReactApp`)
132 - 确保服务器的 `onRender` 生命周期仅响应可用的请求,同时确保此时的数据为最新可用的数据
133- 错误修正
134 - 修复某些情况下,模板注入 (`inject`) 使用的 `state` 失效的问题
135 - 修复某些情况下,Webpack 打包因出错挂起的问题
136
137## 0.7.4
138**2018-11-29**
139- 核心
140 - Webpack 打包
141 - 现在每种打包模式仅保留最近 5 次打包的日志文件 (`/logs/webpack-config/` 目录下)
142- React同构 (`ReactApp`)
143 - 注入 (`inject`) 现在支持函数写法,详情请参见文档的 [HTML 模板](https://koot.js.org/#/template) 章节
144- React SPA
145 - 不启用多语言的项目现在可以恢复使用 SPA 模式了
146- 错误修正
147 - 修复并发访问时存在多个 `koot-locale-id` meta 标签的问题
148 - 修复某些情况下,HTML 同构结果中 `<script>` 标签之间会出现额外逗号 (`,`) 的问题
149- 更新依赖包
150 - minor
151 - `webpack` -> _4.26.1_
152 - patch
153 - `mini-css-extract-plugin` -> _0.4.5_
154 - `terminate` -> _2.1.2_
155 - `yargs` -> _12.0.5_
156
157## 0.7.3
158**2018-11-22**
159- 核心
160 - 配置项
161 - **新** `webpack.hmr` - 可选。开发模式下 `webpack.HotModuleReplacementPlugin` 插件的配置对象。详情请参见文档的 [配置](https://koot.js.org/#/config) 章节
162 - 多语言
163 - 翻译方法 (默认 `__()`) 现在支持语言包中类型为 `Array` 的内容
164 - 开发模式
165 - `react` 自动热更新能力现在支持更多的情况
166- React
167 - 支持提供 `store` 创建方法函数的项目
168
169## 0.7.0
170**2018-11-19**
171- 核心
172 - 配置项
173 - **新** `css` - CSS 打包相关设置。详情请参见文档的 [配置](https://koot.js.org/#/config) 章节
174 - **新** `webpack.dll` - 开发模式下供 `webpack.DllPlugin` 使用。webpack 的监控不会处理这些库/library,以期提高开发模式的打包更新速度。详情请参见文档的 [配置](https://koot.js.org/#/config) 章节
175 - **新** `redux.syncCookie` - 允许服务器端在同构时将 `cookie` 中对应的项同步到 redux state 的 `server.cookie` 中。详情请参见文档的 [配置](https://koot.js.org/#/config) 章节
176 - 生产模式
177 - 使用 `koot-start` 命令时,如果打包过程发生错误,现在会显示更详细的错误记录
178 - 开发模式
179 - 现在可以同时启动多个 Koot 项目的开发模式了
180 - 启用 `webpack` 热更新的 `多步骤 (multiStep)` 机制提高热更新速度
181 - 启用 `webpack.DllPlugin` 提高打包更新速度
182 - 分析模式
183 - 输出的文件名结果现在具有可读性
184 - Webpack 打包
185 - 重写 CSS 相关 `loader`,现在会确保同构结果中 CSS 样式名的正确性
186 - 执行打包时会自动清理 `/logs/webpack-config/` 目录下创建于 2 天前的报告文件
187 - `/logs/webpack-config/` 目录下新生成的报告文件中,现在会正确的显示正则表达式
188- React
189 - 高阶组件 `extend()`
190 - `pageinfo``data` 不再要求必须使用 `connect`
191 - 使用新的 `context` 语法重写样式、CSS 相关逻辑
192- React同构 (`ReactApp`)
193 - 现在启动服务器时会对设定的端口进行检查。如果端口被占用,会报告相应的错误
194 - 对于传入完整 `store` 的项目,现在每次请求时会尝试使用全新的 `state`
195 - 优化服务器端初始化 `store` 的流程
196- 错误修正
197 - 修复生成了错误的多语言跳转 meta 链接地址的问题
198 - 修正某些情况下 React 组件热更新不起作用的问题
199- 添加依赖包
200 - `inquirer`
201 - `is-port-reachable`
202 - `portfinder`
203- 移除依赖包
204 - `sp-css-loader`
205- 更新依赖包
206 - major
207 - `sp-css-import` -> _4.0.0_
208 - minor
209 - `copy-webpack-plugin` -> _4.6.0_
210 - `webpack` -> _4.25.1_
211 - patch
212 - `@babel/core` -> _7.1.6_
213 - `@babel/plugin-proposal-decorators` -> _7.1.6_
214 - `@babel/preset-env` -> _7.1.6_
215 - `css-loader` -> _1.0.1_
216 - `fs-extra` -> _7.0.1_
217 - `postcss` -> _7.0.6_
218 - `react` -> _16.6.3_
219 - `react-dom` -> _16.6.3_
220 - `react-hot-loader` -> _4.3.12_
221 - `react-redux` -> _5.1.1
222 - `sp-css-loader` -> _1.5.3_
223 - `yargs` -> _12.0.4_
224- 其他
225 - 更新测试项目和测试案例
226 - `koot-cli`
227 - 更新项目到 v0.7 时,会自动添加兼容旧版规则的 `css` 配置
228 - `sp-css-import`
229 - 更新核心代码,以兼容 koot v0.6 后的新结构
230 - 使用新的 `context` 语法重写样式、CSS 相关逻辑
231
232## 0.6.1
233**2018-10-29**
234- 错误修正
235 - 修复打包时将 webpack 配置写入 log 文件的过程中的一处错误
236
237## 0.6.0
238**2018-10-29**
239- 核心
240 - 新的配置方式 `koot.config.js`
241 - 整合原有的 `koot.js``koot.build.js`
242 - 原有配置方式依旧可用
243 - 请参照模板项目了解新的配置文件内容和写法
244 - 项目配置
245 - `redux` 新增可选配置项 `store`
246 - 项目自创建的 Redux store。提供该对象时,`redux.combineReducers` 配置项会被忽略
247 - 开发模式
248 - 启用 `babel-loader` 的缓存,加速热更新的响应速度
249 - Webpack
250 - 写入打包配置记录文件时如果发生错误,现在会忽略该错误,并继续流程
251- React
252 - 路由 (router) 移除配置外层包裹的空层级
253 - 模板 (`ejs`)
254 - 新语法
255 - `content(文件名)`
256<br>输出对应文件的文件内容到 HTML 代码中,如 `content('critical.css')` 会读取打包结果中的 `critical.css` 并渲染到 HTML 代码中
257 - `pathname(文件名)`
258<br>输出对应文件的访问地址到 HTML 代码中,如 `pathname('critical.css')` 会将打包结果中 `critical.css` 的 URL 访问地址渲染到 HTML 代码中
259 - 如果模板文件中针对 `critical` 使用上述新语法,则 `styles``scripts` 两个注入内容中不会出现 `critical` 的相关内容
260 - 模板项目已更新,可供参考
261- React 同构
262 - 生产 (`prod`) 环境开启渲染缓存,缓存默认存在 **5秒**
263- `sp-css-loader`
264 - 开发模式下启用CSS样式名可读性规则:CSS样式名以 `.[class]__component` 方式命名时,DOM 上的样式名会变为类似 `.nav__a8c0` 的结果
265- 更新依赖包
266 - `react` -> _16.6.0_
267 - `react-dom` -> _16.6.0_
268 - `react-redux` -> _5.1.0_
269 - `webpack` -> _4.23.1_
270 - `webpack-dev-server` -> _3.1.10_
271 - `copy-webpack-plugin` -> _4.5.4_
272 - `autoprefixer` -> _9.3.1_
273
274## 0.5.5
275**2018-10-15**
276- 核心
277 - Webpack
278 - `less-loader` 默认开启 Javascript 选项 (`javascriptEnabled`)
279
280## 0.5.4
281**2018-10-15**
282- React
283 - 移除根层 `#root` 下的额外 `<div>`
284
285## 0.5.2
286**2018-10-12**
287- React
288 - 高阶组件 `extend`
289 - `data` 可传入 _Function_,作为传统的 `data.fetch`
290 - 该情况下,数据检查操作建议写在 redux action 中
291 - `data.fetch` 可传入 _Array_,核心代码会自动执行 `Promise.all()`
292
293## 0.5.1
294**2018-10-11**
295- 错误修正
296 - `pageinfo` 移除已有 `meta` 标签时遇到 `undefined` 时全局报错的问题
297
298## 0.5.0
299**2018-10-11**
300- 核心
301 - 为避免版本冲突,将所有 NPM 依赖包的版本改为固定版本
302- 开发模式 (`koot-dev`)
303 - 新的命令选项 `--no-open`:禁用自动打开浏览器
304 - 针对 React 组件自动启用热更新
305 - 注意事项请参见文档的 [React组件热更新](https://koot.js.org/react-hmr) 章节
306- React同构 (`ReactApp`)
307 - 新的高阶组件 `extend`
308 - `import { extend } from 'koot'`
309 - 可作为组件装饰器使用
310 - 提供同构数据功能
311 - 包含 `pageinfo``ImportStyle` 功能
312 - 具体用法请参见文档的 [React高阶组件](https://koot.js.org/react-hoc) 章节
313 - 优化 CSS 处理相关流程
314 - 开发模式
315 - 页面可访问静态资源文件目录中的内容
316- 错误修正
317 - 浏览器环境 (`__CLIENT__`) 中使用 `utils/get-port` 方法无结果的问题
318
319## 0.4.3
320**2018-09-18**
321- **ReactApp** (React同构)
322 - 开发模式:重写可使用本机 IP 地址访问的功能,现在会适应更多场景
323
324## 0.4.2
325**2018-09-18**
326- 打包配置 (`/koot.build.js`)
327 - 新增选项:`staticAssets`
328 - 静态资源文件存放路径,打包时会自动复制该目录下的所有文件到打包目录下,方便直接使用
329
330## 0.4.1
331**2018-09-17**
332- `koot-analyze` 命令现在不会生成 `service-worker` 文件
333- **ReactApp** (React同构)
334 - 开发模式:可使用本机 IP 地址访问
335
336## 0.4.0
337**2018-09-17**
338- 启用命令: `koot-analyze`
339
340## 0.3.2
341**2018-09-14**
342- 错误修正
343 - 开发模式不会实时响应语言包文件更新的问题
344
345## 0.3.1
346**2018-09-14**
347- 错误修正
348 - 开发模式不断重启的问题
349
350## 0.3.0
351**2018-09-14**
352- **ReactApp** (React同构)
353 - 当多语言(i18n)启用时,在 `<head>` 中自动生成跳转到相应的其他语种的链接的 `<link>` 标签
354- 内部代码
355 - `hl` 修改为全局常量
356
357## 0.2.4
358**2018-09-14**
359- 依赖库
360 - 添加:`@babel/plugin-syntax-dynamic-import`
361
362## 0.2.3
363**2018-09-12**
364- 生成 Webpack 配置
365 - 完善:忽略值为 `null` `undefined` 等空值的插件项
366
367## 0.2.2
368**2018-09-12**
369- 生成 Webpack 配置
370 - 忽略值为 `null` `undefined` 等空值的插件项
371
372## 0.2.1
373**2018-09-11**
374- 错误修正
375 - 启动开发模式时生成名为 `1.json` 文件的问题
376
377## 0.2.0
378**2018-09-10**
379- 更新 `babel` 至 v7
380- 新增单元测试
381 1. 生成 Webpack 配置
382 2. Webpack 打包流程
383
384## 0.1.0
385**2018-08-24**
386- 更名至 `koot`
387- 重置版本号
388
389----
390
391更名至 `koot`
392
393----
394
395## 3.0.7-alpha.31
396**2018-06-19**
397- 可直接通过 `super-project` 载入内容
398 - 用法示例:`import { store, history } from 'super-project'`)
399 - 当前可用内容
400 - `store` - Redux store
401 - `history` - 路由与历史记录对象,包含 `push``replace` 等方法
402 - `localeId` - (仅在 i18n 开启时可用) 当前语种ID
403 - `pageinfo` - (原 `super-ui-page`) 更新页面 `title``meta` 的装饰器
404- 移除 `super-ui-page` 依赖
405 - 原有的 `superPage` 移动到 `super-project` 主包中
406 - 更名为 `pageinfo`
407
408## 2.4.0
4092018-02-11
410 - 新增文件 `CHANGELOG.md`
411 - 更新依赖库
412 - `sp-isomorphic-utils`
413 - `getFile`: 如果根据文件名直接匹配到目标文件,直接返回该文件名,不再继续进行文件夹内过滤
414 - `sp-pwa`
415 - `create`: 创建 service-worker 时,新增参数 `outputFilenameHash`,表示创建的 sw 文件名中带有 hash,默认为 `false`
416 - 当前的 service-worker 规范中,浏览器不会对 sw 文件进行缓存,每次访问页面时都会尝试重新获取 sw 文件
417 - `get-service-worker-file`: 更新到最新的 `getFile()` 方法