我试图使用每个pratform运行特定的nodejs脚本。 在文档中,它说可以为每个平台设置一个钩子:
https://cordova.apache.org/docs/en/edge/guide_appdev_hooks_index.md.html
如果我将挂钩放在平台标签的config.xml外部,则会调用脚本:
<hook type="before_platform_add" src="HookInstallPluginsWP8.js" />
<hook type="before_platform_add" src="HookInstallPluginsIOS.js" />
但是,如果我把它放在标签内,它就不会运行:
<platform name="wp8">
<preference name="fullscreen" value="true"/>
<hook type="before_platform_add" src="HookInstallPluginsWP8.js" />
</platform>
<platform name="ios">
<preference name="fullscreen" value="true"/>
<hook type="before_platform_add" src="HookInstallPluginsIOS.js" />
</platform>
我做错了什么?
答案 0 :(得分:0)
直到Cordova 5.x,这似乎不受支持。你确定你在运行最新的Cordova吗?
npm install -g cordova
答案 1 :(得分:0)
我想我找到了这种情况发生的原因。
今天我尝试将<icons>
和<splash>
图片添加到我的项目中,我遇到了同样的情况。如果在平台标签内,则不会添加图标和启动。
在我的情况下,这种情况正在发生,因为在<platform>
标记内,它只能存在一种类型的标记。
例如:
<platform name="android">
<preference name="fullscreen" value="true"/>
<hook type="before_platform_add" src="HookInstallPluginsAndroid.js" />
<icon src="res/icons/android/icon-36-ldpi.png density="ldpi" />
</platform>
在这种情况下,钩子和图标将被忽略。
我必须添加不同的<platform>
个节点:
<platform name="android">
<preference name="fullscreen" value="true"/>
</platform>
<platform name="android">
<icon src="res/icons/android/icon-36-ldpi.png density="ldpi" />
</platform>
<platform name="android">
<hook type="before_platform_add" src="HookInstallPluginsAndroid.js" />
</platform>
这是一个记录在案的案例吗?我没有在cordova docs上找到任何东西......也许这只是一个虚假的情况?