【问题标题】:Angular ng build --prod && gzip-all \"dist/anti-fraud/*.*\" build is working but not Gzip " 'gzib' is not recognized"Angular ng build --prod && gzip-all \"dist/anti-fraud/*.*\" build 工作正常,但 Gzip 无效“'gzib' 无法识别”
【发布时间】:2019-12-02 15:40:57
【问题描述】:

我想用 .Net Core 优化 Angular APP 我在 cmd 中使用这个命令 -> ng build --prod 可以很好地缩小 \dist 文件夹中的所有 Jscript 文件

但我想用 gzip 压缩那些 Jscript 文件

我安装了 GZip-all
https://www.npmjs.com/package/gzip-all
我使用这个命令
->ng build --prod && gzip-all \"dist/anti-fraud/.\"
并尝试了另一个
    ng build --prod && gzip-all \"dist/*.*\"

但它给出了这个信息 “'gzip-all' 未被识别为内部或外部命令, 可运行的程序或批处理文件。”

我安装的任何软件包都会发生这种情况,例如 tar
->ng build --environment=prod && tar -zcvf archive.tar.gz dist/prod/*
还带拉链
->ng build --prod && gzipper --verbose ./dist
给出消息“'gzipper' 未被识别为内部或外部命令, 可运行的程序或批处理文件。”

并且不压缩 dist 文件夹中的任何文件
有什么帮助吗?

编辑:
我找到了解决方案
我还没有在全局中安装 gzip,所以我安装了它
->npm -g i gzip-all
那么

  ng build --prod && gzip-all dist/*.* 


效果很好:)

【问题讨论】:

  • 对于 npm gzip-all 包,我想说如果你没有全局安装它是正常的。尝试指定二进制文件的完整路径,而不仅仅是它的名称。此外,你为什么不让你的网络服务器来做呢?
  • 你可以使用 --build-optimizer 代替
  • @David 你能解释一下如何让网络服务器来做吗?
  • @AliMaleki 我试过了,但它不会创建 .gz 文件

标签: angular optimization .net-core gzip


【解决方案1】:

您必须区分缩小和 gzip 压缩。

缩小/丑化你的 JS 通常是使用以下命令自动完成的

ng build --prod

除非您在 angular.json 文件中关闭该设置。

然后,您可以要求您的网络服务器使用 gzip(或其他压缩方法)动态压缩这些文件,从而减少通过网络传输的时间。

完成这项工作取决于您的网络服务器(IIS 的示例,nginx 的示例)

【讨论】:

  • 在全局安装后给出此消息 gzipped 0 个文件
  • 谢谢 :) 我没有在全局中安装 gzip,所以我安装了它 ->npm -gi gzip-all 然后 ng build --prod && gzip-all dist/*.* 效果很好:)
  • 出现错误 - 标记“&&”在此版本中不是有效的语句分隔符。 + CategoryInfo : ParserError: (:) [], ParentContainsErrorRecordException + FullyQualifiedErrorId : InvalidEndOfLine
猜你喜欢
  • 1970-01-01
  • 2018-09-19
  • 1970-01-01
  • 2018-08-09
  • 1970-01-01
  • 1970-01-01
  • 2019-04-06
  • 1970-01-01
  • 2018-06-17
相关资源
最近更新 更多