49

我注意到 javascript 或 css 文件中的初始注释有时以 /*! 解释标记的目的是什么?

例如,jquery.js:

/*! jQuery v1.7.1 jquery.com | jquery.org/license */

引导程序.css:

/*!
 * Bootstrap v2.0.1
 *
 * Copyright 2012 Twitter, Inc
4

4 回答 4

64

它告诉压缩工具(例如YUICompressorUglify),它们会缩小代码,将注释部分保留在原处,因为它们通常会从代码中删除所有注释。

于 2012-06-28T15:56:40.670 回答
4

我相信感叹号的一个目的是告诉 javascript minifiers 在压缩文件时留下这些特定的注释。

于 2012-06-28T15:57:08.040 回答
4

像Coda这样的一些软件也支持如下所示的“书签语法”,因此可以通过应用程序的代码导航器导航到代码的不同部分。

// !bookmark
/* !bookmark */
<!-- !bookmark -->

请注意,在上面的示例中,注释语法和感叹号之间有一个空格。

于 2013-09-20T08:15:34.847 回答
0

对于外部依赖项/API(尤其是免费的)作者的归属也很重要。

缩小时,我们至少可以为它们提供一些识别字节。

eg /*! PhotoSwipe main CSS by Dmitry Semenov | photoswipe.com | MIT license */ 不会被minifier擦除。

于 2017-08-31T19:04:17.110 回答