博客 RSS订阅

Apache Cordova 7.0.0
作者:Audrey So
2017年5月4日

我们很高兴地宣布 Apache Cordova 7.0.0 已经发布!

最值得注意的更改包括

  • [email protected]
  • [email protected]
  • [email protected]
  • [email protected]
  • [email protected]
  • [email protected]
  • [email protected]

  • 如果您的项目中不存在 package.json 文件,当调用 cordova prepare 时,它将自动为您创建。
  • 当添加平台或插件时,之前的默认不保存行为已更改为保存。现在,它会自动将平台或插件保存到您的 config.xmlpackage.json 中。关于平台和插件版本的详细信息也会自动保存在 config.xmlpackage.json 中。不再需要使用 --save 标志进行保存。使用 --nosave 阻止保存到 config.xmlpackage.json
  • Fetch 现在是获取平台的默认方法。Fetch 使用您系统的 npm 将模块 npm install 到您的项目中。不再需要使用 --fetch 标志。使用 --nofetch 标志恢复到 [email protected] 之前的行为 (不使用 npm install 获取模块)。
  • 运行 cordova prepare 后,package.jsonconfig.xml 应包含相同的平台和版本。如果存在冲突,则 package.json 的优先级高于 config.xml。例如,假设 package.json 包含 [email protected],而 config.xml 包含 [email protected]。运行 cordova prepare 后,config.xmlpackage.json 都将只包含 [email protected]
  • 现在要求平台和插件必须具有 package.json 文件。
  • 我们已添加对自定义平台的支持。这将允许未来的自定义平台,以及现有平台的修改版本。示例

      cordova platform add custom-platform-name
    
  • 创建了一个 cordova config 命令,用于 setgetdeleteeditlist 全局 Cordova 选项。例如,您可以使用以下命令 cordova config set <key> <value>autosavefetch 的值设置为 truefalse
在以下情况下,您将关闭 autosave 作为默认设置。在 cordova 中,autosave 默认为 true。示例:```
cordova config set autosave false
```


In the following case, you are turning off `fetch` as the default setting. `fetch` is `true` by default in cordova.  Example:

```
cordova config set fetch false
```

In addition, the `cordova config` command supports the `browserify` setting, which allows the JavaScript of plugins to be loaded at build time compared to run time. For instance, if the `browserify` value is not explicitly passed in by the user, the `cordova config` command will automatically set the `browserify` value saved in `~/.config/configstore/` to be saved `globally`. Users can get and set `browserify`. `browserify` is `false` by deafult in cordova. Example:

```
cordova config get browserify
cordova config set browserify true
```
  • 已删除对 node 0.x 的支持。仅支持 node 4.0 及更高版本。
  • 已删除对 wp8 (windows phone 8) 的支持。
  • cordova-windows: 已删除对任何低于 4.0.0 版本的支持。
  • cordova-android: 已删除对任何低于 5.0.0 版本的支持。
  • cordova-ios: 已删除对任何低于 4.0.0 版本的支持。
  • cordova-osx: 已删除对任何低于 4.0.0 版本的支持。

升级

npm install -g cordova@latest

请在 issues.cordova.io 上报告您发现的任何问题!

更改包括

cordova-lib

  • CB-12747: 更新了固定的平台
  • CB-12705: 修改 (before|after)_plugin_(uninstall|install) 以始终期望存在插件字段
  • CB-12705: 将插件信息传递给项目 *_plugin_install 钩子
  • CB-11242: 删除了对没有 package.json 的平台的支持
  • CB-11242: 更新了测试和 fixtures
  • CB-11242: 重构出 getPlatformApiFunction
  • CB-11242: 删除了已弃用版本的平台的 parserhandler 文件
  • CB-12683: 改进了插件没有 package.json 时的错误消息
  • CB-12674: 为 blackberry10ubuntu 添加了弃用通知
  • CB-11777: 在准备之前恢复插件
  • CB-12643: 删除了对 wp8 的引用
  • CB-12645: 删除了对 firefoxos 的引用
  • CB-12665: 删除了 engineStrict,因为它不再受支持
  • CB-12612: 删除旧的 amazon-fireos 代码
  • CB-12425: 如果在 cordova prepare 期间不存在 package.json,则自动创建
  • CB-12517: package.jsonname 字段是 config.xmlid 字段,package.jsondisplayName 字段是 config.xmlname 字段
  • CB-12592: 添加了 requireNoCache 函数,并替换了 delete.require cache 的实例
  • CB-12606: 修复插件依赖项安装。现在,它尊重 plugin.xml 中为插件依赖项指定的 spec
  • CB-12016: 从卸载中删除了 pluginMapper 代码
  • CB-12337: 解析项目根目录中的符号链接
  • CB-11346: 删除已知平台检查
  • CB-11977: 删除了对 node 0.x 的支持
  • CB-12021: 添加了对 --fetch 的本地路径支持,并修复了添加相对路径时失败的测试
  • CB-11960: 添加了对 package.json 的平台/插件添加/删除支持
  • CB-12001: 添加了对平台/插件和 spec 恢复的支持,以同步 config.xmlpackage.json

cordova-cli

  • CB-12570: cordova-fetch 默认为 true。使用 --nofetch 标志使用旧的获取逻辑获取平台和插件。
  • CB-12665: 删除了 engineStrict,因为它不再受支持
  • CB-11982: 将 editls 添加到 cordova config
  • CB-11982: 添加了新的 cordova config 命令,该命令 setsgetsdeletes 全局环境变量。
  • CB-12008: 更新了文档以反映新的自动保存更改,并删除了由于 rebase 而遗漏的变量
  • CB-12008: 使自动保存成为平台和插件添加/删除的默认设置
  • CB-11977: 删除了对 node 0.x 的支持

cordova-fetch

  • CB-12665: 删除了已弃用的 enginestrict
  • 添加了对处理本地路径目标的支持

cordova-common

  • CB-8978: 添加从 root 获取 resource-file 的选项
  • CB-11908: 为 config.xml 中的 edit-config 添加测试
  • CB-12665: 删除了已弃用的 enginestrict

plugman

  • CB-12747: 将 cordova-lib 依赖项更新为 7.0.0

cordova-create

  • CB-10681: 当从 npm 获取模板时,如果未指定版本,模板将添加 @latest。这将确保不使用旧的缓存版本的模板
  • CB-12666: 删除 node 0.x 支持。
  • CB-12517: package.jsondisplayname 应等于 config.xml 的 name 字段,而 package.jsonname 字段应等于 config.xmlid 字段。

cordova-app-hello-world

  • CB-12684: 将 package.json 添加到默认的 hello world 应用程序
  • 添加 GitHub pull request 模板

Cordova CLI 7.0.0 的固定平台版本

  • Cordova Android: ~6.2.2
  • Cordova BlackBerry10: ~3.8.0
  • Cordova Browser: ~4.1.0
  • Cordova iOS: ~4.4.0
  • Cordova OSX: ~4.0.1
  • Cordova Ubuntu: ~4.3.4
  • Cordova Windows: ~5.0.0
  • Cordova WebOS: ~3.7.0