Push notification 离子推送:web客户端安装不正确

Push notification 离子推送:web客户端安装不正确,push-notification,ionic-framework,Push Notification,Ionic Framework,遵循此处的指导原则:我在步骤2-安装ionic add ionic platform web客户端时遇到问题 我的应用程序中的索引文件添加了它应该添加的,但是即使在运行“ionic lib update”之后,该文件在此位置也不存在 (为了便于在本节中进行解释,我使用的是捆绑包的非精简版本:ionic.io.bundle.js(文件的完整版本和精简版本的结果相同)) 从手动添加ionic.io.bundle.js会出现以下错误: 未捕获的TypeError:无法调用未定义的方法'get' ion

遵循此处的指导原则:我在步骤2-安装ionic add ionic platform web客户端时遇到问题

我的应用程序中的索引文件添加了它应该添加的
,但是即使在运行“ionic lib update”之后,该文件在此位置也不存在

(为了便于在本节中进行解释,我使用的是捆绑包的非精简版本:ionic.io.bundle.js(文件的完整版本和精简版本的结果相同))

从手动添加ionic.io.bundle.js会出现以下错误:

未捕获的TypeError:无法调用未定义的方法'get'

ionic.io.bundle.js(3429,0)”

根据该代码:

键:“获取”,
值:函数get(名称){
返回此。\u settings.get(名称);
}

我找到了一种让开发人员推送工作的“黑客”方法,只需返回
this
,而不是完整的
返回this.\u settings.get(name)
语句,尽管这只真正适合调试的目的,而且不允许通过设置“ionic config set dev_push false”或手动设置.io-config.json中的
“dev_push”:false来删除开发人员模式

我不确定手动添加ionic.io.bundle.js是否只是增加了我的问题,或者这是否是正确的方法,并且产生的错误才是真正的问题

我正在跑步: 离子1.1.0 爱奥尼亚CLI 1.7.7, 科尔多瓦5.3.3, 鲍尔1.6.2, npm 2.11.3, 具有cordova/ionic设置的visual studio 2015社区,
我还更新了我的android平台——我目前正在为其构建(部署到Nexus7)

尽管我仍然无法通过cli中的“爱奥尼亚添加爱奥尼亚平台web客户端”安装爱奥尼亚网络平台,但我已设法使爱奥尼亚推送通知正常工作

  • 首先,我确保在cli中的应用程序目录中使用“离子库更新”。因为我的项目的设置不同(感谢VisualStudio)。您可能已经使用自定义设置拥有了这些文件,但我发现将目录放在适当的位置是很好的

  • 其次,我手动下载了web客户端,而不仅仅是ionic.io.bundle.min.js,它似乎修复了我前面提到的“未捕获的类型错误:无法调用未定义的方法‘get’”的问题,在我将整个过程移动到我的lib目录中之后。(确保下载文件夹的名称与“ionic platform web client”完全匹配,并且不包含任何类似master的单词)

  • 第三,由于我无法添加推送插件的1.3.0版(它不断地给我带来深受喜爱的“uh-oh”错误),所以我改用了1.2.3。我是通过“cordova插件添加”安装的。虽然我刚刚注意到1.4.0是可用的,但它也可以工作吗


  • 这将有望解决您遇到的任何问题,即使这不是一个完美的解决方案。作为旁注:我知道其中一个爱奥尼亚页面上提到,您需要进行传统的项目设置,然后移动相关文件,但最好有一些关于如何进行的描述,因为您可能不知道相关文件是什么。对于那些想不到的人来说,如果您使用visual studio从头开始创建ionic项目或任何其他自定义设置,您可能会遇到同样的问题,由于使用“ionic start myApp”创建的相关目录可能已被忽略。

    由于捆绑包中缺少设置,
    无法调用
    中未定义的
    方法“get”。 可以通过运行以下命令来解决此问题:

    ionic config build
    

    我在“bower\u components\ionic platform web client\dist\”中找到了ionic.io.bundle.min.js,并从中复制了它。但是得到相同的未捕获类型错误。很好的发现!我发现,如果我将整个文件夹ionic platform web客户端与它的所有内容一起使用,这将修复未捕获类型错误问题。请参阅下面我的答案以获得完整的解释-您应该希望这样做能够奏效:)关于第2点,您只需要有文件“ionic.io.bundle.js”它的缩小版位于
    www/lib/ionic platform web client/dist/
    的确切路径中,以便
    ionic io init
    命令发挥其魔力并替换文件中的一些占位符。无需拥有完整的git存储库。