Cordova 7.x 在运行时重新格式化 config.xml 和 package.json

标签 cordova

当我使用cordova run android时,项目根目录中的 config.xmlpackage.json 文件将被重新格式化。仅在 Cordova 7.x 中发生这种情况,6.5.0 版本保留文件原样。当我使用 phonegap run android 时也是如此基本上只是调用 cordova run android ,文件保持不变。

变化:

config.xml中,标签被重新排序,空格被添加到自关闭标签的末尾( <sometag /> 而不是 <sometag/> ),并且<?xml> 中的引号文件第一行上的标记从双引号 (") 更改为单引号 (')。

package.json 中,缩进从 2 个空格更改为 4 个空格,并且所有 Cordova 插件(之前仅在 config.xml 中指定) em>) 添加到 dependencies 下 key 。另外,一个新的顶级 cordova key 与定义的 Cordova 平台(也来自 config.xml)和所有 Cordova 插件(再次)一起添加。

有人知道为什么吗?除了坚持使用 Cordova 6.5.0 之外,主要如何抑制这种行为?我需要一个可配置的项目解决方案,这样其他开发人员就不会发生这种情况。

最佳答案

这也让我对 package.json 感到困扰:Cordova 7.0.0 在修改完成后使用 JSON.stringify 保存更新的 package.json 文件(以及使用 --save 标志时的 npm) ) .

他们只是碰巧选择了 4 个空格的不同缩进。

团队已批准 PR 进行此更改:

https://github.com/apache/cordova-lib/pull/558

编辑:此提交已标记为主提交。它应该存在于较新版本的 cordova 中。

关于Cordova 7.x 在运行时重新格式化 config.xml 和 package.json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44130531/

相关文章:

javascript - PhoneGap 推送插件注册 ID 在移动设备上不起作用

java - iframe parent.function() 调用在 Phonegap 中使用时未定义

android - Ionic 3 版本未更新——Android/Mac

cordova - Cordova AdMob 插件实现

cordova - 来自 try/catch 的 Phonegap 错误对象缺少信息

android - PhoneGap 中是否有针对 Android 键盘 "Go"按钮的事件监听器?

javascript - 为什么我得到 "Uncaught ReferenceError: require is not defined"?

Android/Cordova 与 google-play-services 构建依赖关系错误(多个库的包名称为 'com.google.android.gms' )

cordova - 'useSplashScreen' 已弃用 : Deprecated in Cordova 2. 5 在 Xcode 中收到此警告

Cordova/Phonegap 外部页面加载起始页面