node.js零基础详细教程(3):npm包管理、git github的使用
第三章建议学习时间4小时课程共10章学习方式:详细阅读,并手动实现相关代码
学习目标:此教程将教会大家 安装Node、搭建服务器、express、mysql、mongodb、编写后台业务逻辑、编写接口,最后完成一个完整的项目后台,预计共10天课程。
npm包管理
什么是npm
npm是随同NodeJS一起安装的包管理工具,只要安装了node,我们就可以通过命令行使用npm
启动命令行,运行 npm -v就可以看到npm的版本号,根据安装的node版本不同,内部集成的npm页不同,只要能显示一个办号,就表示npm可用
https://images2015.cnblogs.com/blog/799986/201706/799986-20170609101450231-527258409.png
npm作用:
[*]允许用户从NPM服务器下载别人编写的第三方包到本地使用。
[*]允许用户从NPM服务器下载并安装别人编写的命令行程序到本地使用。
[*]允许用户将自己编写的包或命令行程序上传到NPM服务器供别人使用。
下载别人的第三方包到本地
使用 npm install 包名
这里我们在 nodeTest文件运行命令行, 运行 npm install jquery 就可以自动下载jq的最新版本。
https://images2015.cnblogs.com/blog/799986/201706/799986-20170609123537825-38932516.png
下载成功后,就可以去磁盘文件夹查看,当前目录会多一个node_modules的文件夹,里面就有jquery的全部文件,如下图的路径,就可以找到jquery.js了。
https://images2015.cnblogs.com/blog/799986/201706/799986-20170609123854090-1759043701.png
使用 npm uninstall 包名卸载模块
运行npm uninstall jquery 以后,在去查看文件,会发现该目录下 node_modules 文件夹中的 jquery已经被删除了。
https://images2015.cnblogs.com/blog/799986/201706/799986-20170609124411372-1541983191.png
安装别人的命令行程序到本地
这里我们下载express-generator到本地
express-generator说明:它是一个node的自动化创建项目工具,可以自动创建一个项目的初始网站,包含一些基本页面,可以通过浏览器访问,以后我们会详细介绍,这里大家先知道它的作用
命令行运行 npm install -g express-generator
https://images2015.cnblogs.com/blog/799986/201706/799986-20170609124923450-167872201.png
安装完成后就把 express-generator安装到了全局变量中(说明:命令行中的 -g 表示该模块安装到全局,如果没有-g就将模块安装到当前目录)
https://images2015.cnblogs.com/blog/799986/201706/799986-20170609125037325-17059458.png
然后运行 express 项目名 创建一个项目 (这里演示初始化了一个叫做exTest的项目)
https://images2015.cnblogs.com/blog/799986/201706/799986-20170609125152918-2144660158.png
如何启动这个项目呢?
1、进入项目目录cd exTest
https://images2015.cnblogs.com/blog/799986/201706/799986-20170609125320184-819736905.png
2、安装项目依赖模块
由于创建的项目中有个自带的pakage.js文件中已经规定了需要引入的模块,这里直接运行 npm install安装依赖
由于是从国外服务器下载,所以可能会等待一会儿才能安装完成
https://images2015.cnblogs.com/blog/799986/201706/799986-20170609125614856-1189223006.png
出现一长串的安装提示,到下图的状态表示安装完成
https://images2015.cnblogs.com/blog/799986/201706/799986-20170609125652840-237333721.png
2、运行项目npm start
注:如果出现下图的报错提示,表示3000端口被占用,可能有前面运行的http命令行,把其他命令行都关闭再运行这个。
https://images2015.cnblogs.com/blog/799986/201706/799986-20170609125722856-1048438366.png
运行成功是这个状态
https://images2015.cnblogs.com/blog/799986/201706/799986-20170609125911200-2128453249.png
然后通过浏览器输入 http://localhost:3000/ 就可以访问到项目首页了,如下图。
https://images2015.cnblogs.com/blog/799986/201706/799986-20170609125946543-1689671879.png
到这里我们就成功安装了一个库、一个项目构建工具。大家先实现以下再往下看
GIT的使用
说明:git只是 代码的版本管理工具,不是nodejs必学类容,大家自行选择是否需要学习。
介绍:
为什么要使用版本控制:因为我们在编码过程中,会对软件进行各种修改,而且很可能需要在以后某个时候撤销到以前某个时间编写的样子,我们如果手动复制备份,不仅工程量大,而且不便于管理,这就需要有一个版本控制器,让我们可以自由的将以前写的各个时间段的版本进行保存
常见的版本控制有以下三种:
1、微软的cvs -- 收费,切只能window使用
2、svn 版本控制良好,但需要一个非本地的服务器(不能本地离线提交版本)
3、git 新一代的版本控制,可以离线实现版本控制,而且可以结合免费的 github网络仓库管理代码,十分方便
下载安装
本课程软件下载 链接:http://pan.baidu.com/s/1kVPxBJT 密码:uziu
官网下载:https://git-scm.com/downloads
https://images2015.cnblogs.com/blog/799986/201706/799986-20170609130935528-457219242.png
下载完成后,安装直接下一步、下一步即可,安装完成后,要检测是否安装成功,在桌面空白位置,点击鼠标右键出现图中红框中内容即安装成功
https://images2015.cnblogs.com/blog/799986/201706/799986-20170609131201653-591731807.png
注册一个github账号
注:英文网站,可以使用google进行访问,右上角有个翻译按钮可以将网站翻译成中文,另外,注册可以参考如下链接 :http://jingyan.baidu.com/article/455a9950abe0ada167277864.html
https://images2015.cnblogs.com/blog/799986/201706/799986-20170609131941872-2116924021.png
如何运行git:
建立一个测试文件夹,然后在自己的文件夹右键 点击 git bash hare 我们这里的测试文件是d盘的 nodeTest\gitTest
https://images2015.cnblogs.com/blog/799986/201706/799986-20170609132133653-897437972.png
https://images2015.cnblogs.com/blog/799986/201706/799986-20170609132232903-326723928.png
首先需要配置一下你的邮箱和用户名
下面代码可以复制,在命令行中粘贴(注:ctrl+v在命令行不管用,需要右键 -- paste才能粘贴进去)
git config --global user.name"你的用户名"
git config --global user.email"邮箱"
https://images2015.cnblogs.com/blog/799986/201706/799986-20170609132616543-514298250.png
运行 git config --list 可以看到所有的配置项,下部找到 name 和email 看是否配置成功。
https://images2015.cnblogs.com/blog/799986/201706/799986-20170609132818528-1262960143.png
运行 git init初始化,
https://images2015.cnblogs.com/blog/799986/201706/799986-20170609174514028-1826894406.png
然后就可以看到当前目录有一个隐藏的 .git文件夹,(如果隐藏文件看不到的,请自行百度如何查看隐藏文件),这个文件夹中是git的版本控制文件,千万不要去动。
https://images2015.cnblogs.com/blog/799986/201706/799986-20170609133020215-1744171888.png
这样 gitTest文件夹就变成了git可以监控的文件夹了,以后文件夹任意的修改,都会被监控并记录下来
我们先建一个a.txt文件(注意编码格式最好是 utf-8)
在里面写入一点儿内容 保存
https://images2015.cnblogs.com/blog/799986/201706/799986-20170609133330997-590230845.png
然后命令行 输入 git status 可以查看到有记录的对 a.txt的修改
https://images2015.cnblogs.com/blog/799986/201706/799986-20170609133751215-450208724.png
接下来我们先做几个继续往下的操作,然后在解释这些操作是什么意思
我们运行 git add . (注意后面有个空格点)
然后运行git commit -m "a" 得到如下结果
https://images2015.cnblogs.com/blog/799986/201706/799986-20170609134629106-1361641882.png
然后修改一下 a.txt中的内容并保存,在 当前文件夹 创建b.txt
(说明:我们对文件修改/提交后 文件 左下角会有绿色的勾表示已经提交。或红色的叹号表示被修改了没提交)
https://images2015.cnblogs.com/blog/799986/201706/799986-20170609135037747-1831566556.png
再命令行 运行 gitstatus可以看到如下结果
https://images2015.cnblogs.com/blog/799986/201706/799986-20170609135301700-1210748470.png
理解上面的过程:
这里需要先弄清楚 git的几个监听区域:工作区、暂存区、版本库
工作区:你对当前文件做的所有修改,都属于工作区 使用 git status 就可以看到修改的文件。
暂存区:通过上面 git add . 添加的状态(后面的 点 表示对当下所有的更改添加到暂存区),添加到暂存区的文件可以撤销,也可以提交到版本库
版本库:最后的存放点,在git内部会对每个版本库存一个状态(功能类似创建了很多的备份,可以随意恢复任何一个版本,当然,git只是存了变化的地方,而非真的是备份)
那么,我们来看看上面运行过的命令
git add . 表示添加当前的所有修改到暂存区 , 如果只提交某个文件的修改,可以给文件名如 git add a.txt
git commit -m "a" 表示将暂存区的修改提交到版本库,形成一个固定的版本保存下来, -m 后面的引号内是 提交的注释说明,可以写“修改了xxxx”。
git status 显示工作区和暂存区的所有修改状态。工作区的是红色的显示,暂存区的是绿色的显示(如下图:只是一个示例说明,不跟着操作)
https://images2015.cnblogs.com/blog/799986/201706/799986-20170609141938590-1143218889.png
我们再 运行一下添加和提交命令,将刚刚对a.txtb.txt的修改提交
https://images2015.cnblogs.com/blog/799986/201706/799986-20170609140308122-1014303372.png
查看版本库 gitlog 下面的黄色打印部分,是每次修改的独一无二的id(你的id和我的肯定也不一样)
https://images2015.cnblogs.com/blog/799986/201706/799986-20170609135916497-1885826698.png
退回某个版本,
这里我们复制最后那个版本号 运行git reset --hart 版本id 来退回
如下图,运行完成就退回了,刚我们创建的 b.txt没有了(退回到了创建以前)
https://images2015.cnblogs.com/blog/799986/201706/799986-20170609140449137-309572482.png
https://images2015.cnblogs.com/blog/799986/201706/799986-20170609140649715-1092837947.png
当然也可以退回到最上面那个>https://images2015.cnblogs.com/blog/799986/201706/799986-20170609140711325-321552896.png
https://images2015.cnblogs.com/blog/799986/201706/799986-20170609140703231-1487430263.png
前面讲了退回到某个版本,那么怎么撤销工作区的修改呢?
使用命令 git checkout -- 文件名 ,可以将该文件的修改撤销到上一次 git add 到暂存区的状态。
比如我们先对a.txt作一下修改。添加了部分内容
https://images2015.cnblogs.com/blog/799986/201706/799986-20170609144221918-967569836.png
然后我运行 git status 看效果,表示已经修改了
https://images2015.cnblogs.com/blog/799986/201706/799986-20170609144319106-940344412.png
然后运行git ceckout -- a.txt 撤销 ,执行完成,就可以看到上一步给a.txt添加的内容被撤销了
https://images2015.cnblogs.com/blog/799986/201706/799986-20170609144437293-1394579395.png
https://images2015.cnblogs.com/blog/799986/201706/799986-20170609144537715-247563760.png
git checkout -- . 可以撤销所有修改,建议不要使用,因为这个会把所有没有 add的修改都撤销,而且不可逆。
push项目到 github网站
前面已经让大家注册了github的账号,如果没有注册的先注册一个
然后登陆,登陆完成以后,点击如下图右上角的 新建 来新建一个仓库
https://images2015.cnblogs.com/blog/799986/201706/799986-20170609153152309-456271584.png
在新建界面中输入仓库名,确定即可
https://images2015.cnblogs.com/blog/799986/201706/799986-20170609153306747-575012050.png
创建之后,会自动跳转进入下面的界面,下图中划线的地方是 提交地址设置 和 提交的 命令行命令。先复制下来放着,后面会用。
https://images2015.cnblogs.com/blog/799986/201706/799986-20170609153454090-332436727.png
电脑端操作了:我们这里使用ssh秘钥链接,需要在电脑端生成秘钥(当然,也有其他方式链接,有兴趣的可搜索“提交文件到 github”看看)
git 的命令行输入:
ssh-keygen -t rsa -C 你的邮箱地址,到有需要输入的地方,直接 enter 确定 ,enter多次,直到执行完成
https://images2015.cnblogs.com/blog/799986/201706/799986-20170609162358278-679224799.png
然后就可以在c盘的用户 administrator文件夹下多了一个 .ssh 的隐藏文件夹
https://images2015.cnblogs.com/blog/799986/201706/799986-20170609162312059-205206163.png
点开文件夹可以看到两个文件。这两个文件是用户 ssh安全安验证的秘钥,.pub文件的公钥(公用上传)。id_rsa是私钥(自己保留)
https://images2015.cnblogs.com/blog/799986/201706/799986-20170609162732059-973704556.png
复制.pub文件内的所有内容。 然后按后续步骤添加到github账号的 ssh设置中
https://images2015.cnblogs.com/blog/799986/201706/799986-20170609162946262-372986780.png
回到github官网点击有右上角头像右边箭头,下拉框中点击 设置
https://images2015.cnblogs.com/blog/799986/201706/799986-20170609163043575-1165435284.png
设置界面中点击ssh and gpg keys ,然后点击newssh key 按钮
https://images2015.cnblogs.com/blog/799986/201706/799986-20170609163146653-38876454.png
https://images2015.cnblogs.com/blog/799986/201706/799986-20170609163321668-891445254.png
点击确定之后需要再输入一次 github的密码,如下图,输入点击确定
https://images2015.cnblogs.com/blog/799986/201706/799986-20170609163440950-2072372538.png
得到如下界面,这样就将当前电脑和 github 实现了 ssh的验证了
https://images2015.cnblogs.com/blog/799986/201706/799986-20170609163541559-1367074622.png
然后回到命令行 ,运行前面 创建仓库的时候 要求大家复制的 那两条代码 ,如下图。(下图红框的地方 是你自己的仓库地址)
https://images2015.cnblogs.com/blog/799986/201706/799986-20170609163810668-1425158225.png
第一次提交中途可能会遇到提示输入 用户名 和 密码 在提示的地方输入 github的 账号 和 密码 即可。
执行完成之后,文件就上传到 github了,按下面步骤查看是否上传成功
如下图点击顺序,就能找到你自己的仓库。
https://images2015.cnblogs.com/blog/799986/201706/799986-20170609164001856-449133061.png
找到仓库后打开它
https://images2015.cnblogs.com/blog/799986/201706/799986-20170609164053825-4421277.png
就可以看到 已上传成功的文件了
https://images2015.cnblogs.com/blog/799986/201706/799986-20170609164145762-1801683129.png
右边的绿色按钮是下载操作。下载项目的地址如下图
https://images2015.cnblogs.com/blog/799986/201706/799986-20170609164917731-53996976.png
如何通过git下载别人的项目
上面布置我们已经设置好了git
那么下面,我们新创建一个文件夹来下载别人的项目
这里我在d 盘的 nodeTest 下 新建了一个 gitProject 文件夹, 下载的别人的项目就会放到这个文件夹中
1、文件夹中空白处右键git bush hare
2、命令行输入git init 初始化
3、 git pull https://github.com/sutianbinde/jQ-win7.git 如需下载别的项目使用如下格式:git pull 项目git地址
https://images2015.cnblogs.com/blog/799986/201706/799986-20170609170130840-1010543091.png
运行后,项目就被下载下来了。我们去文件夹中就能看到项目了 ,那个Index.html就是项目的入口,使用浏览器打开即可查看
https://images2015.cnblogs.com/blog/799986/201706/799986-20170609170606887-992499323.png
打开后可看到一个类似win7桌面系统的界面
https://images2015.cnblogs.com/blog/799986/201706/799986-20170609170735590-810092634.png
学习需要持之以恒,希望跟学的同学跟上进度哦~
好,今天就讲这么多,明天将讲解:node.js事件机制、node异步IO操作、路由。
页:
[1]