其他
.gitignore
HTML5 Boilerplate 引入了一个基础性的、项目级的 .gitignore
。主要用来让源代码忽略对项目中特定文件和目录的管理。在不同的开发环境使用不同的忽略列表,将会大有裨益。
特定系统和特定编辑器的文件应该使用 “global ignore” ,从而忽略系统中所有库对相关文件的依赖。
比如,在希望全局忽略的 HOME 目录,将如下内容放入 .gitignore
文件。
[core]
excludesfile = ~/.gitignore
更多信息请参考:
- [More on global ignores: https://help.github.com/articles/ignoring-files](More on global ignores: https://help.github.com/articles/ignoring-files)
- [Comprehensive set of ignores on GitHub: https://github.com/github/gitignore](Comprehensive set of ignores on GitHub: https://github.com/github/gitignore)
.editorconfig
.editorconfig
文件用来激励和帮助开发者/开发团队,在不同的编辑器和 IDE 下,定义和维护一致性的代码风格。
默认情况下,.editorconfig
包含了一些基本属性,用来体现代码风格,但是开发者可以根据需求自定义相关属性。
为了让编辑器、IDE 更好的使用 .editorconfig
配置文件,开发者需要安装一个插件。
注意:如果你不需要使用 HTML5 Boilerplate 提供的服务器配置,我们强烈建议不要允许你服务器使用 .editorconfig
文件,因为该文件会屏蔽敏感信息。
更多信息请参考 EditorConfig project。
服务器配置
HTML5 Boilerplate 为 Apache HTTP 服务器配置了 .htaccess
文件。如果不是使用 Apache 服务器,建议下载 server configuration 并适配所用服务器。
Servers and Stacks
介绍 WEB 服务器和堆栈的内容就远远超过了本文档的范围,但这里有一些常用的资料:
- Apache HTTP Server
- LAMP (Linux, Apache, MySQL, and PHP). Other variants include MAMP, WAMP, or XAMPP.
- LAPP uses PostgreSQL instead of MySQL
- Nginx
- LEMP is similar to the LAMP stack but uses Nginx
- IIS
- ASP.NET
- MEAN (MongoDB, Express, AngularJS, Node.js)
.htaccess
.htaccess
(超文本存取)文件就是Apache HTTP 服务器的配置文件。常用于:
- Rewriting URLs
- Controlling cache
- Authentication
- Server-side includes
- Redirects
- Gzipping
如果你使用过主流服务器的配置文件(通常称为 httpd.conf
),那么你应该熟悉往 .htaccess
文件中添加逻辑处理。比如, 部分位于主要的配置文件中。因为 .htaccess 文件会拖慢 Apache,所以通常建议这么做。
为了启用本地的 Apache 模块,请参考这里。
.htaccess
主要用于:
- 允许跨源请求 web 字体
- 当浏览器请求图片时,使用跨域资源共享头
- 将
404.html
作为 404 错误文档 - 为 IE 用户提供更好的用户体验
- 将 UTF-8 作为
text/html
和text/plain
的字符编码 - 启用 URLs 重写引擎
- 强制或移除 URL 开头的
www.
- 缺少默认文档时阻塞对目录的调用
- 隔离文件访问,防止敏感信息泄露
- 降低了 MIME 类型的安全风险
- 强制压缩
- 通知浏览器是否需要从服务器请求特定文件,或者是否需要从浏览器缓存获取特定文件
当使用 .htaccess
时,我们建议阅读一次所有的内部注释。其中有一些是可选的。
更多有关 .htaccess
文件的信息请参考这里。
注意,.htaccess
的源库在这里。
crossdomain.xml
跨域策略文件是一个 XML 文档,其内容来自 web 客户端(比如,Adobe Flash Player, Adobe Reader),可以允许处理来自多个域名的数据:
- 授权读取数据
- 允许客户端在跨域请求中导入自定义的头部信息
- 授权许可基本的套接字连接
注意:如果一个客户端从一个特定的源域名获取内容,然后该内容请求重定向其他域名,那么远程域名就需要使用跨域策略文件,从而获得源域名的授权,最终允许客户端继续处理相关事务。
更多信息请参考 cross-domain policy file specification。
robots.txt
robots.txt
文件用来告知搜索引擎网站中可以抓取的页面。
默认情况下,文件中包含下面两行信息:
User-agent: *
- 以下规则适用于所有的搜索引擎Disallow:
- 网站中的所有页面都可以被抓取
如果想屏蔽某些页面,那么你需要在 Disallow
参数后面做出具体声明(比如: Disallow: /path
)。如果你想屏蔽所有内容,只需 Disallow: /
。
/robots.txt
并不是用来访问控制的,所以请不要这样使用。可以将其视为一个 “禁止通行” 标志,而不是一扇锁上的门。通过 robots.txt
文件屏蔽 URLs,即使未被抓取仍有可能被定位,而且 robots.txt
文件中的内容也可以被任何人访问到,这样就间接透漏了私有内容的位置。所以,如果想屏蔽访问私人信息,建议使用合理的验证机制。
关于 /robots.txt
文件的更多信息请参考:
browserconfig.xml
用户在 Windows 8.1 启动界面固定的应用图标,可以通过 browserconfig.xml
文件进行个性化定制。在该文件中,可以自定义瓷贴颜色、图片,甚至是动态瓷贴。
默认情况下,该文件指向两个既有的瓷贴图片:
tile.png
(558x558px): used forSmall
,Medium
andLarge
tiles.如有必要该图片可以自动修改尺寸。tile-wide.png
(558x270px): user forWide
tiles.
注意,当收藏网站时,IE 11 将收藏夹中使用相同的图片。
有关 browserconfig.xml
文件的跟多信息,请参考 MSDN。