Skip to content
kaelzhang edited this page Sep 23, 2014 · 5 revisions

6.x 与 3.x 说明

详细的历史记录见 changelog.md

使用 cortex 6.x 进行开发,与 3.x 有何不同

仅说明与开发过程中有关的特性

1. neuron

neuron 将不应该在 devDependencies 或者 dependencies 中定义。 因此请删除老的项目中 package.json 或者 cortex.json 中的 neuron。

neuron 的版本,将由使用的 cortex 版本来确定。因为 neuron 的版本与 cortex 是紧密相关的。

也就是说,使用 6.x 进行开发,应当完全忘记 neuron 的存在。

2. directories.css

Cortex 自 4.0 开始,就不再支持 cortex.directories.css, cortex.directories.template

  • 如果老项目使用了 cortex.directories.css,请使用 cortex.css 替代
  • 如果使用了 cortex.directories.template,请使用 cortex.directories.src 替代

3. 开发过程会更像 node.js

  • 可以 require JSON 文件
  • 可以 require 目录
  • 支持 File Module

6.x 新特性

  • 支持完全的 semver range

3.x 与 6.x 共存阶段注意点

  • 今后业务模块,必须要严格以 app- 开头
  • 重要】基础模块(即非门面模块,会被其他业务依赖的模块)目前请使用 cortex 的 CI job 类型
  • 业务模块,请根据本地开发的 cortex 版本来选择
    • 3.29.0 使用名为 cortex 的 CI
    • 6.x 使用名为 cortex-ci 的 CI

当全部业务都升级为 6.x 以后,我们会仅保留 cortex-ci 的 CI job


其他

关于 es6 module,cortex 目前并不想去跟风支持:

  • commonjs 目前完全能够替代 es6 module,而且在很多年内也能够满足需要
  • 如果 es6 module 大量实装,只需要稍微改造 loader 就可以平滑向后兼容
  • 并且 es6 module 在设计之初,就有一大堆弱智的地方,标准之路还很长