Jul*_*ang 33 cordova ionic-framework cordova-plugins ionic
在使用cordova@5.4.0&的项目中ionic-cli@1.7.8,我面临两种可能性:
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
Run Code Online (Sandbox Code Playgroud)
优点
平台和插件版本保存config.xml如下:
<plugin name="cordova-plugin-device" spec="~1.0.1" />
<engine name="browser" spec="~4.0.0" />
Run Code Online (Sandbox Code Playgroud)签出repo的多个开发人员将获得相同的依赖关系
缺点
config.xml使项目的根目录混乱plugins/fetch.json和platforms/platforms.json?--save选项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
Run Code Online (Sandbox Code Playgroud)
package.json使用以下自定义键合并项目的依赖项:
cordovaPluginscordovaPlatformsdependencies因为它们是NPM包呢?
ionic可以符合node_modules&之间的依赖关系{plugins,platforms}/ion和cordova开发人员是否考虑统一/重构此事?
jak*_*b.g 27
编辑:第二次更新!2017.05.
它再次改变 - 这次是在科尔多瓦方面.科尔多瓦7增加了支持package.json!
请参阅Cordova博客:http://cordova.apache.org/news/2017/05/04/cordova-7.html
编辑:更新2016.05.
似乎许多ionic命令是由于缺乏功能而创建的cordova,但由于cordova赶上并实现了许多新功能,离子维护者正在考虑倾销他们的命令ionic state,而不是支持cordova提供的命令.
所以似乎走"科尔多瓦方式"可能更具有前瞻性.
看那些门票:
原始答案(2016.03.):
我会说这是人的品味问题.无论您采用何种解决方案,最好保持一致,然后始终使用cordova plugin add ...或ionic plugin add不混合两者.
仅供参考,您可以使用离子解决方案固定版本,但是确实如此,您必须手动放置,或者您必须在安装期间明确指定版本,例如ionic plugin add ionic-plugin-keyboard@1.0.8.关于这一点,离子CLI肯定有改进的余地.
例如,这是我们package.json的pinned插件版本和平台版本,也固定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"
]
Run Code Online (Sandbox Code Playgroud)
然后,当您这样做时ionic state restore,将遵守列出的版本.
| 归档时间: |
|
| 查看次数: |
14776 次 |
| 最近记录: |