Skip to content

0.12.0

Compare
Choose a tag to compare
@Diablohu Diablohu released this 13 Jan 09:19
· 733 commits to master since this release
  • 更新依赖包 minor 和 patch 版本号

koot

  • 重大改动
    • Node.js 最低版本要求提升到 8.12.0
    • SSR & 客户端渲染 & SPA 模板生成
      • 组件 CSS 的 <style> 标签上不再有 id 属性,以避免和元素冲突
        • 如果项目中有用到根据 id 选择 <style> 标签的场景,可改为选择标签属性 [data-koot-module]
      • 特殊 JS 入口 CLIENT_RUN_FIRST 如果文件尺寸大于 10KB,会改为引用请求的方式加载
    • 默认的 Service Worker 文件现在使用 Workbox 生成
      • 如果原有项目中有使用自定的 Service Worker 模板,升级后需要更新该模板。详情请参见文档 Service Worker
    • 现在会忽略 Babel 插件 @babel/plugin-transform-regenerator
    • 现在默认不会安装以下依赖包,如有使用需要,请在项目中自行安装
      • file-loader
      • html-webpack-plugin
      • json-loader
      • url-loader
    • 更新依赖包 major 版本号
      • chalk -> ^3.0.0
      • ejs -> ^3.0.1
      • ora -> ^4.0.3
  • 新特性
    • 现在默认支持在浏览器环境中使用 async / await 开发
    • 客户端打包现在会默认提供 optimization 配置,进行代码拆分
      • 已有项目如无特殊需求,可将 optimization 配置移除
    • 现在开发环境下会默认启用 Service Worker
    • 新配置项 distClientAssetsDirName - 设定客户端打包结果中静态资源存放路径的目录名。详情请参见文档 配置/distClientAssetsDirName (#181)
    • 新全局函数 getCtx - 获取服务器的 Koa ctx 对象。具体用法请参见文档 全局与工具函数/全局函数 (#196)
    • 新工具函数 koot/utils/client-get-styles - 获取当前全局 CSS 和所有组件 CSS。具体用法请参见文档 全局与工具函数/工具函数/客户端 (#185)
    • 新工具函数 koot/utils/webpack-optimization-prod - 生成 Webpack optimization 配置,用于拆分代码。具体用法请参见文档 全局与工具函数/工具函数/打包
  • 优化
    • SSR & 客户端渲染 & SPA 模板生成
      • 所有注入/插入的 <script> 标签现在均会新增 [data-koot-entry] 属性
      • 特殊 JS 入口 _CLIENT_RUN_FIRST_ 现默认引入 regenerator-runtime/runtime
    • 更新 TS 定义 (#191)
    • 多语言 / i18n
      • 优化语言包匹配逻辑 (#201) (#203)
      • 如果翻译函数 (__()) 获得了确定的结果,函数会被自动转换成字符串 (#187)
    • 服务器
      • 优化服务器代码的文件尺寸 (#172, #186)
      • 如果 URL 中开头的斜线 / 过多,现在会自动跳转到正确的 URL (#157)
    • node-sass 现在改为 optionalDependencies,如果安装失败,不会影响 Koot.js 的安装
    • 组件 CSS 文件现在会按照 ES Module 格式输出
      • 现在同时支持 ES ModuleCommonJS 引用方式
    • 优化打包和进入开发环境时的错误日志显示
    • 使用 import() 时,如果 webpackChunkName 注释选项中包含特殊字符,现在会自动转换为文件名安全的字符 (#190)
    • 扩充配置 devDll (#202)
  • 错误修正
    • 客户端生命周期 before()after() 现在会传入正确的参数 (#198)

koot-boilerplate

  • Node.js 最低版本要求提升到 10.13.0
  • Webpack 配置
    • 图片资源改用 url-loader 处理
      • 大于 2KB 的文件会继续使用 file-loader 处理
    • 大于 5KBSVG 的文件会改用 file-loader 处理
    • 优化生产环境的代码分割规则
  • 新命令 yarn up - 使用 Yarn 检查本地依赖版本并选择更新
    • 该命令要求使用 Yarn 进行本地包管理

koot-cli

  • 错误修正
    • 新建项目时的“覆盖”模式会删除原有文件的问题 (#180)