uglify 和 cssmin 對特殊注釋的處理

https://github.com/spmjs/spm-build/issues/70

很多開源類庫習(xí)慣在代碼中使用注釋的方式標(biāo)注版權(quán)信息,比如:

/*!
  jQuery v1.11.2 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/license
  (special comments)
*/

/*
  normal comments
*/

通常版權(quán)注釋會以 /*! 開頭,或者包含 @license,@preserve。如果開發(fā)者希望在自己壓縮后的代碼中保留版權(quán)信息,或者在項目中使用了保留版權(quán)信息的第三方開源代碼,spm 打包壓縮之后,這些特殊注釋應(yīng)該被保留在壓縮后的代碼中,而不應(yīng)該刪除。
目前 spm 的處理方式是:CSS 壓縮時默認(rèn)保留特殊注釋,而 JS 壓縮時則會刪除所有注釋,分別是 gulp-cssmin 和 gulp-uglify 的默認(rèn)處理方式。
gulp-uglify 選項:刪除所有注釋(默認(rèn))、保留特殊注釋、保留所有注釋、回調(diào)函數(shù)
gulp-cssmin 選項:保留特殊注釋(默認(rèn))、刪除特殊注釋、保留第一條特殊注釋

spm-build 可以提供一個參數(shù),控制是否刪除特殊注釋,默認(rèn)為保留特殊注釋。

可以在 package.json 里配的,比如:

{
  "spm": {
    "cssmin": {},
    "uglify": {}
  }
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容