在使用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
专业人士
>
平台和插件版本保存在配置中。xml如下所示:
<plugin name="cordova-plugin-device" spec="~1.0.1" />
<engine name="browser" spec="~4.0.0" />
检查repo的多个开发人员将获得相同的依赖项
欺骗
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插件
是离子型的
我会尝试使用离子状态保存
和离子状态恢复
来管理包括插件在内的配置...有关详细信息,请参阅留档
编辑:第二次更新!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提供的命令。
因此,走“科尔多瓦之路”似乎更能证明未来。
查看这些门票:
原始答案(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: 这导致了一个问题:包装。指数行已在包中定义。指数 在查看生成的代码后,我可以看到,我们有一个静态的类行,进入另一个静态的内部类行(在另一个索引下) 我得到错误的行(在顶部底部)嵌套的类型行不能隐藏封闭类型 如果名称发