【问题标题】:Ionic cordova resources --splash and --icon error离子科尔多瓦资源--splash和--icon错误
【发布时间】:2019-06-06 21:16:45
【问题描述】:

我在资源生成器上收到此错误:
Error: end() has already been called, so it's too late to start piping

我被这个错误困住了。当我尝试生成资源时显示:

PS F:\Desenvolvimento\Ionic\Divas> ionic cordova resources ios -f
√ Collecting resource configuration and source images - done!
√ Filtering out image resources that do not need regeneration - done!
√ Uploading source images to prepare for transformations: 2 / 2 complete - done!
- Generating platform resources: 8 / 32 complete
C:\Users\Gustavo\AppData\Roaming\npm\node_modules\ionic\node_modules\superagent\lib\node\index.js:859
      throw Error("end() has already been called, so it's too late to start piping");
      ^

Error: end() has already been called, so it's too late to start piping
    at Response.response.pipe (C:\Users\Gustavo\AppData\Roaming\npm\node_modules\ionic\node_modules\superagent\lib\node\index.js:859:13)
    at Request.req.type.send.on.res (C:\Users\Gustavo\AppData\Roaming\npm\node_modules\ionic\lib\integrations\cordova\resources.js:166:25)
    at Request.emit (events.js:182:13)
    at Request._emitResponse (C:\Users\Gustavo\AppData\Roaming\npm\node_modules\ionic\node_modules\superagent\lib\node\index.js:862:8)
    at ClientRequest.req.once.res (C:\Users\Gustavo\AppData\Roaming\npm\node_modules\ionic\node_modules\superagent\lib\node\index.js:412:10)
    at Object.onceWrapper (events.js:273:13)
    at ClientRequest.emit (events.js:187:15)
    at HTTPParser.parserOnIncomingClient [as onIncoming] (_http_client.js:556:21)
    at HTTPParser.parserOnHeadersComplete (_http_common.js:109:17)
    at TLSSocket.socketOnData (_http_client.js:442:20)

我的系统:

Ionic:

   ionic (Ionic CLI)  : 4.7.1 (C:\Users\Gustavo\AppData\Roaming\npm\node_modules\ionic)
   Ionic Framework    : ionic-angular 3.9.2
   @ionic/app-scripts : 3.2.0

Cordova:

   cordova (Cordova CLI) : not installed
   Cordova Platforms     : android 6.3.0
   Cordova Plugins       : cordova-plugin-ionic-webview 1.1.1, (and 8 other plugins)

System:

   NodeJS : v10.15.0 (C:\Program Files\nodejs\node.exe)
   npm    : 6.5.0
   OS     : Windows 10

【问题讨论】:

    标签: cordova ionic-framework npm


    【解决方案1】:

    调整大小

    1. 图标为 1024x1024
    2. 飞溅为 2732x2732

    然后运行:-

    1. 离子科尔多瓦资源。
    2. ios ionic cordova 资源 android。

    As per the docs 图标的源图像最好至少为 1024×1024px,并位于 resources/icon.png。初始屏幕的源图像最好至少为 2732×2732px,并位于 resources/splash.png。

    【讨论】:

      【解决方案2】:

      我在 linux 上遇到了同样的错误:

      我的新图标使用了 Alpha 通道(我的错误),我收到了这个错误。 当我看到这个帖子时,我明白这个工具可能非常明智。 我的图标(旧的和新的)是 512*512。我的spash是2300 * 2400。 => 将所有图像设置为正确的大小没有效果。解决方案是使用 gimp '扁平化'我的图像。

      我的结论:不要在图像中使用 Alpha 通道

      【讨论】:

        【解决方案3】:

        理想情况下,源图标应至少为 1024×1024px,并位于 resources/icon.png。 初始屏幕的源图像理想情况下应至少为 2732×2732px,并位于 resources/splash.png。

        【讨论】:

          【解决方案4】:

          启动画面必须为 2732×2732px(看这里:https://ionicframework.com/docs/cli/cordova/resources/

          【讨论】:

          • 谢谢,确实是图片大小的问题
          【解决方案5】:

          我得到了完全相同的错误。我注意到我的 icon.png(我创建的那个)是 1024x916 并且它不喜欢它。我将它的大小调整为 1024x1024,现在它可以工作了!!!

          【讨论】:

            【解决方案6】:

            看起来我的图片尺寸不正确。我创建了一个更大尺寸的新图像并且它有效。奇怪的是没有关于它的消息。

            【讨论】:

            • 同样的解决方案对我有用,我认为 Ionic 需要解决这个问题才能至少提到尺寸问题
            【解决方案7】:

            您的 ionic 版本存在问题,没有记录资源生成的确切错误。我认为这还不是一个已知的错误。

            现在,您可以运行npm i -g ionic@3,然后再次运行该命令。这将告诉您错误消息。完成后,再次运行 npm i -g ionic 以更新到 Ionic 4。

            【讨论】:

            • 在我删除并添加了几次平台 ios 后得到了这个错误。这解决了问题。谢谢!
            【解决方案8】:

            从资源中删除您的 splash.png 和 icon.png 文件然后首先根据要求转换您的启动和图标图像enter link description here 然后将转换后的图像复制并替换到资源目录,然后执行 ionic cordova resources不需要添加平台 ionic 会自动制作资源。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2017-12-28
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2017-11-21
              • 1970-01-01
              相关资源
              最近更新 更多