Releases: cmux/koot
Releases · cmux/koot
[email protected]
- 错误修正
- SPA 首次访问时页面信息没有正确更新 (#96)
[email protected]
[email protected]
- 核心
- 开发环境
- 进一步优化热更新速度
- 开发环境
- React
- 高阶组件
extend()
pageinfo
现在允许直接传入 Object
- 高阶组件
- React 同构
- 进一步优化开发环境下数据同构和页面信息更新的能力
- KOA
ctx
新增:ctx.originTrue
ctx.hrefTrue
- HTML 结果中的本域 URL,现在均会遵循
proxyRequestOrigin
的设置
- 更新依赖包
- patch
webpack-dev-middleware
-> 3.6.2
- patch
[email protected]
- React 同构
- 进一步优化开发环境下数据同构的能力
- 更新依赖包
- patch
@babel/core
-> 7.4.3@babel/plugin-proposal-object-rest-spread
-> 7.4.3@babel/plugin-transform-regenerator
-> 7.4.3@babel/plugin-transform-runtime
-> 7.4.3@babel/polyfill
-> 7.4.3@babel/preset-env
-> 7.4.3commander
-> 2.20.0ora
-> 3.4.0
- patch
[email protected]
- 错误修正
- 修正开发环境下错误的 DLL 文件引用关系
- 更新依赖包
- patch
react-hot-loader
-> 4.8.2
- patch
[email protected]
- React SPA
- 进一步优化模板注入
[email protected]
- 错误修正
- 修复 SPA 项目无法开启开发环境的问题
- 更新依赖包
- patch
react
-> 16.8.6react-dom
-> 16.8.6
- patch
[email protected]
- 核心
- Webpack 打包
- 优化错误信息的显示
- Webpack 打包
- 错误修正
- 修正 SPA 类型的项目在打包时由模板注入 (template inject) 引发的问题
[email protected]
- 错误修正
- 修复一处阻止开发环境正常启动的问题
- 更新依赖包
- patch
copy-webpack-plugin
-> 5.0.2react
-> 16.8.5react-dom
-> 16.8.5
- patch
[email protected]
- 重大改动
- 重写 React 同构服务器逻辑,原则上对已有项目不会造成影响
- 若发现从
koot
中引用的store
history
或localeId
值为undefined
,请尝试改为使用getStore()
getHistory()
或getLocaleId()
方法
- 若发现从
- 移除了
sp-css-import
,请修改为新式的@extend()
写法 - 移除了
pageinfo()
,请修改为新式的@extend()
写法 - 调整了项目配置方案,原则上对已有项目不会造成影响
- 0.6版本之前的配置文件现已不再支持
- 调整 CSS 打包、使用规则
- 现在明确只存在 2 种 CSS 文件:全局 CSS 和组件 CSS
- 可通过配置文件对文件名规则进行配置。详情请参见文档的 CSS 使用/配置
- 全局 CSS 规则
- 所有全局 CSS 文件会根据所属的 Webpack 入口,被抽出为对应的独立的 CSS 文件 (打包结果中的
extract.[hash].css
) - 所有这些 CSS 文件结果也会被整合到一个统一的 CSS 文件中 (打包结果中的
extract.all.[hash].css
) - 统一的 CSS 文件的文件内容会被自动写入到
<head>
标签内的<style>
标签中 - 虽然通常情况下已无需要,不过根据 Webpack 入口抽出的 CSS 文件仍可根据具体的需求独立使用
- 所有全局 CSS 文件会根据所属的 Webpack 入口,被抽出为对应的独立的 CSS 文件 (打包结果中的
- 组件 CSS 规则
- 所有的组件 CSS 必须通过
extend
高阶组件的styles
选项调用 - 这些 CSS 文件必须有一个名为
.component
或.[name]__component
的 className- 该 className 会被更换为 hash 结果,如
.a85c6k
或.nav__bjj15a
- 该 className 会被更换为 hash 结果,如
props.className
会传入到对应的组件,其值为与上述结果对应的 hash 后的 className
- 所有的组件 CSS 必须通过
- 重写 React 同构服务器逻辑,原则上对已有项目不会造成影响
- 核心
- 配置项
- 新
historyType
- 项目所用的history
组件的类型。详情请参见文档的 配置 章节 - 新
internalLoaderOptions
- 用以扩展几乎无法修改的内置loader
所用的设置。详情请参见文档的 配置 章节 - 新
serverOnRender.beforeDataToStore
和serverOnRender.afterDataToStore
- 允许更详细的使用服务器端渲染生命周期。详情请参见文档的 配置 章节 cookiesToStore
现支持传入true
: 同步所有 cookie,包括 cookie 原始字符串 (以__
为名称)staticCopyFrom
/staticAssets
现支持传入 Array
- 新
- 优化
koot-start
命令,进一步尝试避免koot-build 命令未找到
的问题 - Webpack 打包
- 打包时不再会在项目根目录下生成临时文件,这些文件现在移至
/logs/tmp/
目录下 - 现在每种打包模式仅保留最近 2 次打包的日志文件 (
/logs/webpack-config/
目录下)
- 打包时不再会在项目根目录下生成临时文件,这些文件现在移至
- 开发环境
- 大辅优化热更新能力
- 默认关闭
webpack
热更新的多步骤 (multiStep)
机制,配置项devHmr
(原webpack.hmr
) 现不再有默认值,若仍需要开发环境的多步打包功能,请手动开启
- 默认关闭
- 将大部分开发环境所用的临时文件和标记文件整合、移动到
/logs/dev/
目录中
- 大辅优化热更新能力
- 配置项
- React
- 根层组件添加
componentDidCatch
生命周期方法,以进一步保障 React 输出渲染结果
- 根层组件添加
- React 同构
- 确保
connect
封装的组件,其数据同构功能可用
- 确保
- React SPA
- 对于传入自定
store
对象或生成方法的项目,确保生成store
使用的history
对象为浏览器所用对象 - 移除
AppContainer
逻辑的相关文件
- 对于传入自定
- 添加依赖包
cache-loader
extract-hoc
thread-loader
- 移除依赖包
autoprefixer
koa-compose
koa-compress
koa-helmet
koa-html-minifier
koa-json
koa-multer
koa-onerror
koa-response-time
progress
sp-css-import
- 更新依赖包
- major
cli-spinners
-> 2.0.0copy-webpack-plugin
-> 5.0.1css-loader
-> 2.1.0file-loader
-> 3.0.1koa-body
-> 4.1.0koa-mount
-> 4.0.0koa-static
-> 5.0.0yargs
-> 13.2.2
- minor
@babel/core
-> 7.4.0@babel/plugin-proposal-class-properties
-> 7.4.0@babel/plugin-proposal-decorators
-> 7.4.0@babel/plugin-proposal-object-rest-spread
-> 7.4.0@babel/plugin-syntax-dynamic-import
-> 7.2.0@babel/plugin-transform-regenerator
-> 7.4.0@babel/plugin-transform-runtime
-> 7.4.0@babel/polyfill
-> 7.4.0@babel/preset-env
-> 7.4.2@babel/register
-> 7.4.0acorn
-> 6.1.1autoprefixer
-> 9.4.7koa
-> 2.7.0less
-> 3.9.0mini-css-extract-plugin
-> 0.5.0pm2
-> 3.3.1opn
-> 5.5.0ora
-> 3.2.0os-locale
-> 3.1.0react
-> 16.8.4react-dom
-> 16.8.4react-hot-loader
-> 4.8.0webpack
-> 4.29.6webpack-bundle-analyzer
-> 3.1.0webpack-dev-middleware
-> 3.6.1webpack-dev-server
-> 3.2.1
- patch
babel-loader
-> 8.0.5chalk
-> 2.4.2css-loader
-> 2.1.1debug
-> 4.1.1inquirer
-> 6.2.2portfinder
-> 1.0.20postcss
-> 7.0.14rimraf
-> 2.6.3
- major