当前位置: 首页 > 知识库问答 >
问题:

包裹json vs config。cordova插件的xml

暴辰龙
2023-03-14

在使用cordova@5.4.0的项目上

cordova create dummy-project && cd dummy-project
cordova platform add browser --save
cordova plugin add cordova-plugin-device --save

## If forgot to add `--save` option, manually update config.xml
#cordova platform save
#cordova plugin save

# reset platforms & plugins, like we just checked out the repository
rm -rf platforms plugins

# `cordova prepare` automatically setup platforms & plugins
# dependencies via config.xml
cordova prepare

专业人士

>

  • 平台和插件属于Cordova领域,因此使用Cordova似乎很直观
  • 平台和插件版本保存在配置中。xml如下所示:

    <plugin name="cordova-plugin-device" spec="~1.0.1" />
    <engine name="browser" spec="~4.0.0" />
    

    检查repo的多个开发人员将获得相同的依赖项

    欺骗

    • 还有另一个配置文件。xml,它会将项目的根目录弄乱
    • 在插件/获取中复制信息。json和平台/平台。json
    • 必须显式添加保存选项
    ionic start dummy-project blank && cd dummy-project
    ionic platform add browser
    ionic plugin add cordova-plugin-device
    
    # reset platforms & plugins, like we just checked out the repository
    rm -rf platforms plugins
    
    # fetch platforms & plugins dependencies via package.json
    ionic state restore
    
    • 项目的依赖项合并到包中。json具有以下自定义键:
      • cordovaPlugins
      • CordovaPlatform
      • package.json中没有插件或平台的版本固定(这对我来说是一个巨大的阻碍)
      • 为什么不把cordova插件

      是离子型的


  • 共有2个答案

    戚英逸
    2023-03-14

    我会尝试使用离子状态保存离子状态恢复来管理包括插件在内的配置...有关详细信息,请参阅留档

    郎子平
    2023-03-14

    编辑:第二次更新!2017.05。

    它再次改变-这次在Cordova方面。Cordova 7增加了对package.json的支持!

    请参见Cordova博客:http://cordova.apache.org/news/2017/05/04/cordova-7.html

    编辑:更新2016.05。

    似乎由于cordova中缺少功能,创建了许多ionic命令,但由于cordova赶上并实现了许多新功能,ionic维护人员正在考虑放弃其类似ionic state的命令,转而支持cordova提供的命令。

    因此,走“科尔多瓦之路”似乎更能证明未来。

    查看这些门票:

    • https://github.com/driftyco/ionic-cli/issues/904
    • https://github.com/driftyco/ionic-cli/issues/1324

    原始答案(2016.03):

    我认为这是个人品味的问题。无论您采用何种解决方案,最好保持一致,然后始终使用cordova插件添加 或爱奥尼亚插件添加,不要将两者混用。

    仅供参考,您可以使用爱奥尼亚的解决方案固定版本,但如果是这样,您必须手动放置,或者您必须在安装过程中明确指定版本,例如,<代码>爱奥尼亚插件添加爱奥尼亚插件-keyboard@1.0.8 。在这方面,ionic CLI肯定还有改进的空间。

    例如,这是我们的package.json,带有固定的插件版本和平台版本,以及固定的github SHA1:

      "cordovaPlugins": [
        "ionic-plugin-keyboard@1.0.8",
        "cordova-plugin-inappbrowser@1.2.0",
        "phonegap-plugin-push@1.5.3",
        {
          "locator": "https://github.com/Initsogar/cordova-webintent.git#3d12378de9f38be900761a0ad06ab697cf6d9add",
          "id": "com.borismus.webintent"
        },
        {
          "variables": {
            "APP_ID": "123456789987654321",
            "APP_NAME": "TEST"
          },
          "locator": "cordova-plugin-facebook4@1.6.3",
          "id": "cordova-plugin-facebook4@1.6.3"
        }
      ],
      "cordovaPlatforms": [
        "android@4.1"
      ]
    

    然后,当您执行离子状态恢复时,它将遵循列出的版本。

     类似资料:
    • 英文原文:http://emberjs.com/guides/components/wrapping-content-in-a-component/ 有时候,可能需要定义一个组件来包裹其他模板提供的内容。 例如,假设正在创建一个用于显示一篇博客的blog-post组件: 1 2 3 4 <script type="text/x-handlebars" id="components/blog-po

    • 相比于单纯的数据对象,将context包装成一个提供一些方法的对象会是更好的实践。因为这样能提供一些方法供我们操作context里面的数据。 // dependencies.js export default { data: {}, get(key) { return this.data[key]; }, register(key, value) { this.da

    • TimeDistributed包装器 Bidirectional包装器

    • R包是R函数的集合,包含代码和样本数据。 它们存储在R环境中名为"library"的目录下。 默认情况下,R在安装期间安装一组软件包。 当某些特定用途需要时,会在以后添加更多软件包。 当我们启动R控制台时,默认情况下只有默认包可用。 必须明确加载已安装的其他软件包,以供将要使用它们的R程序使用。 所有R语言版本的软件包都列在R软件包中。 以下是用于检查,验证和使用R软件包的命令列表。 检查可用的R

    • 在编程语言的一般术语中,包被设计用于提供使一组名称与另一组名称分离的方式。 在一个包中声明的符号不会与在另一个包中声明的相同符号冲突。 这样,包减少了独立代码模块之间的命名冲突。 LISP阅读器维护一个包含所有符号的表格。 当它找到新的字符序列时,它会创建一个新符号并存储在符号表中。 该表称为包。 当前包由特殊变量* package *引用。 LISP中有两个预定义的包 - common-lisp

    • 我试图用JAXB从XSD生成java类。 XSD是我公司的官方XSD,因此我不能仅为我的项目修改它们。在害怕在这个网站上尝试和搜索之后,我决定直接问这个问题。 我有这个在我的XSD: 这导致了一个问题:包装。指数行已在包中定义。指数 在查看生成的代码后,我可以看到,我们有一个静态的类行,进入另一个静态的内部类行(在另一个索引下) 我得到错误的行(在顶部底部)嵌套的类型行不能隐藏封闭类型 如果名称发