为什么要规范项目目录结构?
首先我们要遵循约定由于配置的原则,通过约定代码结构或者命名规范来减少配置数量。例如,将所有.css后缀的文件放在css文件夹下,将xx.js文件压缩后的重新命名为xx.min.js。那怎么样的目录结构是好的呢?
没有最好的项目目录组织方式,只有最合适!
在创建目录结构时,可能会有这样的争论:
css VS style、img VS image、image VS images、···
其实并没有最好的项目目录组织方式,只有最合适的。建议统一文件夹命名方式和规则(是否简写、是否复数、是否区分大小写),若存放图片文件的文件夹命名为img(image简写,且为单数),那存放js文件的文件夹最好命名为js(JavaScript的简写)
整理了一个简洁版的项目目录结构:
1. /doc
存放项目各类文档
2. /src
项目工程代码都在这
3. /src/css
存放样式文件的文件夹
4. /src/img
存放图片文件的文件夹
5. /src/js
存放JavaScript文件的文件夹,/src/js/vendor 存放插件文件
6. /src/index.html
首页、/src/login.html 登录页、/src404.html 默认错误页
若项目很庞大,每个页面可单独建文件夹,示例:
7. /src/favicon.ico
图标文件,可通过在线网站进行转换 ,该图标文件通常显示在网站的地址栏
8. /src/.editorconfig
用来定义项目的编码规范,编辑器的行为会与.editorconfig 文件中定义的一致,并且其优先级比编辑器自身的设置要高,这在多人合作开发项目时十分有用而且必要。
有些编辑器默认支持editorConfig,如webstorm;而有些编辑器则需要安装editorConfig插件,如ATOM、Sublime、VS Code等
9. /src/.gitignore
首先要强调一点,这个文件的完整文件名就是".gitignore",注意最前面有个“.”。
一般来说每个Git项目中都需要一个“.gitignore”文件,这个文件的作用就是告诉Git哪些文件不需要添加到版本管理中。实际项目中,很多文件都是不需要版本管理的,比如Python的.pyc文件和一些包含密码的配置文件等等。这个文件的内容是一些规则,Git会根据这些规则来判断是否将文件添加到版本控制中。
10. /src/CHANGELOG.md
项目每个版本的更新信息,说明版本号、更新内容、修复了哪些问题等
11. /src/humans.txt
保存网站信息和网站建设者信息 ,格式规范参考官网http://humanstxt.org/ 。简单理解,robots.txt文件是给机器看的,而humans.txt就是给用户看的。
12. /src/LICENSE.txt
项目基于的许可协议
13. /src/README.md
项目简介、使用方式、相关链接
14. /src/robots.txt
robots.txt是一个纯文本文件,是爬虫抓取网站的时候要查看的第一个文件,一般位于网站的根目录下。robots.txt文件定义了爬虫在爬取该网站时存在的限制,哪些部分爬虫可以爬取,哪些不可以爬取。这只是行业规范,不排除流氓软件会忽视这个文件。(防君子不防小人)。具体编写格式请参考官网:http://www.robotstxt.org/
一般网站有些管理页面不想被搜索引擎抓取,就能通过设置这个文件,规定除了/admin目录下的文件,其他文件都可以访问
User-agent: *
Disallow: /admin/
与君共勉:再牛逼的梦想,也抵不住傻逼般的坚持!