node.js开发小项目的全过程 2 初识目录结构
来源:互联网 发布:那个是广联达计软件呀 编辑:程序博客网 时间:2024/05/16 16:13
下面是目录结构
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目录,里面就是你所需的包
这是项目网站的地址,网站上有源码地址,以上传到github上了
- node.js开发小项目的全过程 2 初识目录结构
- node.js开发小项目的全过程 1 快速创建项目
- 一个小项目的诞生全过程
- Node.js Express目录结构
- 敏捷开发案例--混乱小项目的敏捷应用
- 小项目的大体会
- 做完小项目的总结
- 一个小项目的笔记
- 通讯录小项目的总结
- 五子棋小项目的总结
- Spirng 小项目的体现
- 二、node.js项目目录结构简介
- 二、node.js项目目录结构简介
- Node.js学习:基本目录结构
- 一个小项目的oracle巡检
- 一个个人小项目的失败
- 一个小项目的技术选型
- 做完四个小项目的收获
- “预”的话题
- C#去除数组重复的元素
- 总结自己在项目中遇到的问题
- 数据结构实验之图论六:村村通公路
- Android NDK学习之五、Application.mk简介
- node.js开发小项目的全过程 2 初识目录结构
- Android5.x新特性之ViewDragHelper拖动控件(3种方案)
- Android命令monkey测试
- 严重: Error configuring application listener of class org.springframework.web.context.ContextLoaderLi
- Adaptec HBA和RAID 的兼容性报告中又添新成员—— HGST Helium HDD
- C#比较字符串
- leetcode Best Time to Buy and Sell Stock with Cooldown
- Android NDK学习之六、C++ 支持
- java报“非法字符: \65279 ”错误的解决方法