nodejs系列(2)建立Node项目工程目录与初试Express框架
2018-01-26 09:50
411 查看
如何建立工程目录?
一个好的工程目录,不仅仅是分分模块目录,更重要的目的是为了利于团队迭代开发和系统维护升级。我常用的Node.js项目目录如下所示(本目录仅作为参考,应以自己的实际项目需求为依据建立):core目录:存放核心代码,如数据库交互、关键逻辑等脚本文件 。
public目录:存放静态资源。
assets目录:存放如图片、音频、视频等静态资源。
css目录:存放css样式静态资源。
js目录:存放如jQuery等第三方类库。
temp目录:存放临时静态资源。
routes目录:类似于Java的Action,存放每个接口的处理的脚本。
utils目录:存放一些自定义的公共js文件,如HashMap.js等。
views目录:存放.html等界面页面文件。
其中,index.js为入口文件。
初试Express框架
Express 是一个简洁而灵活的 node.js Web应用框架, 提供了一系列强大特性帮助你更便捷创建各种 Web 应用和丰富的 HTTP 工具。安装 Express 命令行如下:$ cnpm install express以上命令会将Express框架安装在当前目录的node_modules目录中,node_modules目录下会自动创建express 目录。为了便于模块间的关联开发及应用,建议以下几个重要的模块也一起安装:$ cnpm install express (Web应用框架) $ cnpm install body-parser (node.js 中间件,用于处理 JSON, Raw, Text 和 URL 编码的数据) $ cnpm install cookie-parser (这就是一个解析Cookie的工具。通过req.cookies可以取到传过来的cookie,并把它们转成对象) $ cnpm install multer (node.js 中间件,用于处理 enctype="multipart/form-data"(设置表单的MIME编码)的表单数据) $ cnpm install mysql (用于处理数据库操作) $ cnpm install mime (用于解析文件mime类型) $ cnpm install multiparty (用于解析FormData格式数据)在views目录下创建一个hello.html文件,源码如下:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <body> Hello World </body> </html>在入口文件index.js写入代码如下:
var express = require('express'); var app = express(); app.use(express.static('public')); //指定静态资源文件夹 /********************hello world测试用例********************/ app.get('/hello.html', function(req, res) { res.sendFile(__dirname + "/views/hello.html"); }); /********************搭建服务监听********************/ var server = app.listen(8081, "127.0.0.1", function() { var host = server.address().address; var port = server.address().port; console.log("应用实例,访问地址为 http://" + host + ":" + port); console.log("-------------------------------------------------"); });(注)这里为什么要指定静态资源文件夹呢?这就解决了上篇中提到的问题,所有资源通过node.js服务访问都需要指定文件类型,通过指定静态资源文件夹,框架可以自动赋予文件类型,只要在静态资源文件夹目录内,都可以直接通过路径访问到该资源。如 http://127.0.0.1:8081/assets/img1.jpg,此处注意一个坑,public目录是不用加到地址上。 通过doc环境执行该index.js文件,如图所示:
在浏览器输入地址:http://127.0.0.1:8081/hello.html
上例为Express 框架创建的一个web页面。当然服务端不可能这么简单,服务端至少还应包括:GET实现、POST实现、COOKIE实现、文件上传和数据库等操作。下篇将详细介绍这些实用功能。
相关文章推荐
- 在一个项目中,建立多个工程文件多个目录创建方法
- go项目工程目录组织和GOPATH设置
- 启动Eclipse提示建立工程的工作空间&&删除原有工作空间的目录
- Extjs6自学笔记之使用Sencha Cmd6建立工程项目(二)
- Node系列——express项目搭建
- WebStorm添加多个项目到当前工程目录
- Android Studio 项目工程目录
- 解决eclipse 建立Dynamic web project 项目用Tomcat服务器 不像Myeclipse一样发布到Tomcat目录下的webapps 目录下的问题
- [iOS]项目管理-工程文件目录结构
- nodejs安装,配置环境,使用express建立一个新项目
- Ionic 3 项目的工程目录结构
- Pycharm 建立工程,包含多个工程目录
- 从空项目建立MFC工程
- ecplice在导入现有工程时提示:某些项目因位于工作空间目录中而被隐藏
- Maven项目缺少eclipse自带的插件项目需要建立lib目录加上jar包,或者是已经生成有的, 然后 右键build path add libraries web app libraries
- 分享完整的项目工程目录结构
- iOS 建立项目过滤机制 —— 给工程添加忽略文件.gitignore
- loadrunner---<一>---如何建立工程目录
- nodejs+mongodb系列教程之(5/5)--一个完整的项目