使用gulp-uglify保留SSI(服务器端包含)声明

时间:2017-03-21 22:08:41

标签: javascript nginx gulp ssi gulp-uglify

在gulp-uglify任务期间,SSI(服务器端包含)声明被删除,可能是因为uglify()删除了非javascript代码的无效块。

即:

MyModule的-source.js

"use strict";window.mymodule=function(e){};

在gulp管道上调用uglify()之后,它将文件压缩为以下内容:

MyModule的-minified.js

"use strict";<!--# include file="/ssi/config.js" -->window.mymodule=function(e){};

应用程序运行状况的预期结果是以下结果:

MyModule的-expected.js

{{1}}

有一些过滤器要声明以避免SSI声明被从最终缩小/丑化文件中清除?

例如,正则表达式上的某种过滤器+ +&gt;

1 个答案:

答案 0 :(得分:1)

我有同样的问题。我注意到uglifyJs有--comment参数。  保留输出中的版权注释。通过                                 默认情况下这与Google Closure一样,保持不变                                 包含&#34; @ license&#34;的JSDoc样式注释要么                                 &#34; @保留&#34 ;.你可以选择通过其中一个                                 以下参数为此标志:                                  - &#34;所有&#34;保留所有评论                                  - 有效的JS RegExp,如/foo//^!/                                 只保留匹配的评论。                                 请注意,目前不能所有评论                                 在压缩打开时保持原样,因为死了                                 代码删除或级联语句到                                 序列。

但我不知道如何在gulp任务中使用--comment。