【发布时间】:2018-09-11 16:17:04
【问题描述】:
我们正在同一个组织下开发几个 NPM 包:
@aerogearservices/core
@aerogearservices/core-rn
@aerogearservices/core-cordova
core-cordova 是一个 Cordova 插件,通过依赖项安装(阅读有关 scoped packages 的更多信息)。
相关文件:
应用的package.json
{
...
"dependencies": {
"@aerogearservices/core-cordova": "1.0.0",
...
},
"cordova": {
"plugins": {},
"platforms": ["ios", "android"]
}
}
插件的package.json
{
"name": "@aerogearservices/core-cordova",
"version": "1.0.0",
...
"cordova": {
"id": "aerogearservices-core-cordova",
"platforms": [
"android"
]
},
"dependencies": {
"@aerogearservices/core": "1.0.0"
},
"engines": {
"cordovaDependencies": {
...
}
}
}
插件的plugin.xml
... ... 阿帕奇 2.0
<platform name="android">
<config-file target="res/xml/config.xml" parent="/*">
...
</config-file>
<source-file
...
/>
</platform>
这个插件真的什么也没做,我只是想把它安装在我的应用程序中,但是当我运行 cordova platform add android 时,我得到了这个错误:
UnhandledPromiseRejectionWarning: CordovaError: Cannot find plugin.xml for plugin "@aerogearservices". Please try adding it again.
问题是 Cordova 将插件安装在 myApp/plugins/aerogearservices/core-cordova 下,因此它在错误的位置寻找 plugin.xml。
作用域包和cordova插件如何协同工作? 在不重命名插件的情况下有什么解决方法吗?
【问题讨论】:
-
修补 Cordova 并提交 PR?
标签: cordova npm cordova-plugins