我注意到 javascript 或 css 文件中的初始注释有时以 /*! 解释标记的目的是什么?
例如,jquery.js:
/*! jQuery v1.7.1 jquery.com | jquery.org/license */
引导程序.css:
/*!
* Bootstrap v2.0.1
*
* Copyright 2012 Twitter, Inc
我注意到 javascript 或 css 文件中的初始注释有时以 /*! 解释标记的目的是什么?
例如,jquery.js:
/*! jQuery v1.7.1 jquery.com | jquery.org/license */
引导程序.css:
/*!
* Bootstrap v2.0.1
*
* Copyright 2012 Twitter, Inc
它告诉压缩工具(例如YUICompressor和Uglify),它们会缩小代码,将注释部分保留在原处,因为它们通常会从代码中删除所有注释。
我相信感叹号的一个目的是告诉 javascript minifiers 在压缩文件时留下这些特定的注释。
像Coda这样的一些软件也支持如下所示的“书签语法”,因此可以通过应用程序的代码导航器导航到代码的不同部分。
// !bookmark
/* !bookmark */
<!-- !bookmark -->
请注意,在上面的示例中,注释语法和感叹号之间有一个空格。
对于外部依赖项/API(尤其是免费的)作者的归属也很重要。
缩小时,我们至少可以为它们提供一些识别字节。
eg /*! PhotoSwipe main CSS by Dmitry Semenov | photoswipe.com | MIT license */
不会被minifier擦除。