下面是目录结构
bin目录在开发中没有用到,所以就不讲了(我也不知道它是干什么的)
public目录是静态文件的存储目录,包括css,javascript,图片等
route目录是路径规则目录,也就是node的路由相关文件,通俗点的来说,假设有一个网站叫www.test.com,而你想访问www.test.com/user这个页面,当你输入这个网址,node的后台根据你的网址开始匹配对应的html文件或者模板,那么node是如何找到这个html或者模板的呢,就是根据某一个具体的routes文件得到的,事实上,这个目录也可以不要,直接在入口文件Aap.js写对应的路由规则即可,但建了这个目录主要是看代码简洁,专业来说就是降低代码的耦合性。
views目录是模板引擎,在express中有两个模板引擎,一个是jade一个是ejs,jade专业,最大的优势是不用写标签,代码看起来简洁,但是代码难懂,入门难,ejs几乎和html一样,可以说你会html的书写,你就会了ejs,这次项目中我们用的是ejs,之所以现在看见的是jade是因为,express默认的是jade,可以在创建express的时候使用-e指明安装ejs模板,在后面我们会用另一种方法改模板引擎。
那么什么是模板引擎,通俗的来讲,我们可以用html + css +js编写任何网页,但是如果遇到动态页面,有从数据库传递过来的信息,我们不得不编写对应的js使得信息可以在html文件中显示。那么,每次编写的代码对我们来讲都是一个很复杂的工作量,所以有人为了简化这项工作,发明了模板引擎,在模板引擎中添加相关的占位符,在输出网页时,相应的占位符被更换成对应的后台数据,所以可以这么理解模板引擎,只不过是可以将代码简化并接受后台数据的从而生成对应的页面。
app.js,这是网站的初始化文件,或者讲是入口文件,什么是app.js,通俗的来讲,就是用node启动这个文件后,这个文件会生成对应的路由规则,你所用的什么模板等,这么说太抽象,请查阅我的相应博客
package.json
包管理文件,又或者模块管理文件,
我们重点看的是它的dependencies的结构
这个里面包含的是这的项目所需要的包,那么什么是包,node有很多原生的API,我们可以用node原生态的函数建立网站,但是前提是我们必须熟悉node,且就算你很熟悉,用node原生态建立项目,工作量一定很大,举一个很简单的例子,JQuery我相信是每个前端或者网络开发者必用的一个js框架,jquery本生就是js,但是他把js的很多常用的功能封装成一个个函数,这样人们可以很快速的用jquery写出一个简洁的并且强大的js代码。
而包,就是开发者将我们项目开发中常用的功能,封装成一个个函数,把代码量大了,复杂的就用几个方法代替,加快我们的工作进度。
著名的node包比如express
看上面的数据结构
jade 相应的模板引擎
这就说明建立一个项目是需要多个相应包的
如果,你需要什么包,可以在里面书写包名,及对应的包版本
上面我们说要模板引擎用ejs的,所以数据结构可以改成这样
然后cmd命令行进入example(你的项目名)目录
运行
npm install即可(需要git)
你所在的项目下会生成一个node_modules目录,里面就是你所需的包