Express.js实战(1)—— 项目初始化
来源:互联网 发布:游戏源码论坛 编辑:程序博客网 时间:2024/05/29 12:30
想用Node.js玩Web,首先还是要征服Express这个最常见的Web框架,今天不讨论那么多理论,就单纯的从做东西的角度入手,接触Express。
介绍一本入门教材
《Pro Express.js》这是目前最新出版的讲解Express的书籍,出版时间是在2014年,因为Express是目前比较热的项目,更新的速度很快,很多两三年前的书籍介绍的都是Express3,而现在已经是Express4了,一些操作已经变了很多。这本书是以Express4为基础讲解的。
书籍下载地址:link
先在GitHub上挖个坑
开源精神是一种追求,我们每天受益于开源社区,所以有一天我们自己有了代码,当然也要回馈给开源社区。所以,从现在开始,我要养成在GitHub上挖坑的习惯,今天,我挖了我GitHub上的第一个坑,给它起了个名字叫Apaper,意思就是像一张纸一样简洁、可塑,目标是做一个简单的blog系统。
在GitHub上新建一个项目很简单,如果关于GitHub的相关操作有疑问,可以参考这本书《Introducing GitHub》,书的内容很新也很全。如下,我的项目就建好了,最初始只有两个文件:LICENSE 和 README.md 。
关于LICENSE
关于开源软件许可协议的选择,阮一峰先生的一篇博客里写的比较简洁又易懂:《如何选择开源许可证?》,下面图片来自其博客。
我这里选择了最开放的MIT协议。
将项目Clone到本地
我的开发环境是Mac机,GitHub在Mac下有GUI的客户端,操作起来比较方便。如有疑问,具体步骤《Introducing GitHub》这本书上有详细解释。
初始化Express
目前我们的项目还只有两个文本文件,下面我们来做初始化Express的工作。
是否使用Yeoman
最开始,我尝试用yeoman这种脚手架工具来初始化项目,不过感觉生成的项目里有很多奇奇怪怪的文件,不利于初学者理解,所以就放弃了,还是用Express自带的生成器来初始化项目。
安装express-generator
$ npm install express-generator -g
express-generator是Express4自带的命令行工具,用来初始化Express项目,所以只需要将其全局安装,而不需要将整个Express全局安装,这和Express3不同,在Express3中,命令行集成在整个Express项目中,所以必须将Express3全局安装。
使用express命令初始化项目
$ express --git -f
express命令有一些可选参数,具体可以参看官方文档。这里我们只用到了两个。
–git :告知express生成.gitignore文件,这个文件定义了git需要忽略控制的文件,通常node_mondules会被写到此文件里。
-f :当目标文件夹不为空时,仍然强制执行。这里加此选项的原因是因为我们clone下来的项目里原本含有LICENSE 和 README.md两个文件。
安装依赖
$ npm install
上一步我们指初始化了项目文件,还没有安装依赖,所谓安装依赖就是指根据package.json中定义的dependencies项,下载第三方包的过程,我们只要运行npm install
,这些包就会被自动下载,并创建一个叫做node_modules的文件夹存放这些依赖。
项目结构
上图就是初始化后生成的目录结构,下一篇中重点介绍每个文件夹的作用。
Commit to master
最后我们把初始化的结果提交回GitHub的master分支。
到GitHub的主页上可以看到,文件发生了变化。
- Express.js实战(1)—— 项目初始化
- 初始化一个express项目
- OA项目实战学习(7)——初始化数据&权限配置显示
- node.js express创建项目
- Node.js开发——Express+Mongoose
- Vue.js学习之路—项目中实战学习(一)
- Vue.js学习之路—项目中实战学习(二)编码空格
- js项目实战(弹性预算规则)
- vue+websocket+express+mongodb实战项目(实时聊天)(一)
- vue+websocket+express+mongodb实战项目(实时聊天)(二)
- express+webpack+vue.js项目搭建
- 使用Express创建node.js项目
- Node.js+express+ejs新建项目
- Node.js学习(一)——Node.js的安装和express初步使用
- Node.js入门系列——Express.js安装
- node.js实战——学习笔记(1)
- Express + MongoDB 搭建一个多人博客(node.js实战)
- Node.js实战:Express实现简单后台登录系统
- Cocos2d-x 3.0-win7+vs2012+adt+ndk环境搭建
- Python 学习经历(二) :Ubuntu 上快速安装及配置 virtualenvwrapper 虚拟环境
- 二维数组的认识及其表示元素的两种方式
- 四边形不等式优化DP
- Cocos2d-x 3.0-《微信飞机大战》实现
- Express.js实战(1)—— 项目初始化
- UIActivityIndicatorView和UIProgressView
- Cocos2d-x 3.0-屏幕截图后跳转到另外场景
- Java实例6 - 汉诺塔问题 Hanoi
- IOS7 tabBarItem 自定义图片的设置
- Cocos2d-x 3.0-关于V3中CallFunc::create的新的使用方法
- 沙盒及其相关
- 枚举排列
- 【NYOJ-74】 小学生算术