如何添加大于100 MB的SPFX软件包?

时间:2018-11-05 08:52:17

标签: reactjs sharepoint sharepoint-online sharepoint-apps spfx

我正在使用React JS在线开发用于SharePoint的SPFX应用程序(SharePoint Framework)。一切正常,直到我的应用程序大小超过100 MB。现在,尽管我可以将应用程序上载到我的应用程序目录网站,但无法更新我的网站集中的应用程序。尝试时,出现以下错误:

  

包流超过了允许的最大长度'104857600'字节

我正在使用Gulp Bundle -ship和Gulp package-solution --ship命令来打包我的解决方案。有没有更有效的包装生产方式?也许打包文件没有变大的方法?

1 个答案:

答案 0 :(得分:0)

经过数小时的试用和尝试,找到了解决该问题的解决方案。原始问题的答案仍然未知,即我还没有找到如何添加大于100 MB的应用程序。但是我找到了一个解决方案,以解决为什么该应用程序最初超过100 MB的原因。共享它可以为像React SPFX开发这样的其他人提供帮助。

问题

我的项目的媒体文件绝对为零(没有图像,没有视频)。因此,令人困惑的是该软件包超过了100 MB。我有25个以上的组件和5个Web部件。我通常会启动工作台(使用Gulp服务),并继续进行更改,直到准备好进行构建为止。然后,我停止Gulp Serve并运行我的构建命令(Gulp Bundle -ship和Gulp Package-Solution --Ship)。它的作用是在每次构建时增加.sppkg文件的大小。在上载和检查应用程序到应用程序商店时,这也增加了痛苦的延迟(在最坏的情况下将近10分钟)。然后,当程序包超过100 MB时,您将无法在网站集中对其进行更新。

解决方案

我偶然偶然发现了“ Gulp Clean”,并想尝试一下。我在构建命令之前运行了它,瞧!几分钟前的100 MB软件包现在为1.3 MB(显然,由于我的解决方案包含的所有文件都是.ts,.tsx和.scss文件)。现在,在App Store中更新我的应用程序不到一分钟。

因此,我每次需要创建一个bat文件来构建程序包。 bat文件的内容如下所示:

call gulp clean
call gulp bundle -ship
call gulp package-solution --ship

其他参考

我发现this post from Waldek Mastykarz太晚了。尽管在他的帖子中使用“ Clean”的原因与我的不同,但是如果我早一点看到它,那将为我节省几个小时。

警告

我仍在详细了解Gulp Clean,无法确定它是否没有副作用。