设为首页 收藏本站
查看: 738|回复: 0

[经验分享] node.js零基础详细教程(3):npm包管理、git github的使用

[复制链接]

尚未签到

发表于 2018-1-12 23:29:53 | 显示全部楼层 |阅读模式
  第三章  建议学习时间4小时  课程共10章
  学习方式:详细阅读,并手动实现相关代码
  学习目标:此教程将教会大家 安装Node、搭建服务器、express、mysql、mongodb、编写后台业务逻辑、编写接口,最后完成一个完整的项目后台,预计共10天课程。
  npm包管理
  什么是npm
  npm是随同NodeJS一起安装的包管理工具,只要安装了node,我们就可以通过命令行使用npm
  启动命令行,运行 npm -v  就可以看到npm的版本号,根据安装的node版本不同,内部集成的npm页不同,只要能显示一个办号,就表示npm可用

  npm作用:

  • 允许用户从NPM服务器下载别人编写的第三方包到本地使用。
  • 允许用户从NPM服务器下载并安装别人编写的命令行程序到本地使用。
  • 允许用户将自己编写的包或命令行程序上传到NPM服务器供别人使用。
  下载别人的第三方包到本地
  使用 npm install 包名
  这里我们在 nodeTest文件运行命令行, 运行 npm install jquery 就可以自动下载jq的最新版本。

  下载成功后,就可以去磁盘文件夹查看,当前目录会多一个  node_modules的文件夹,里面就有jquery的全部文件,如下图的路径,就可以找到jquery.js了。

  使用 npm uninstall 包名  卸载模块
  运行  npm uninstall jquery 以后,在去查看文件,会发现该目录下 node_modules 文件夹中的 jquery已经被删除了。

  安装别人的命令行程序到本地
  这里我们下载  express-generator到本地
  express-generator说明:它是一个node的自动化创建项目工具,可以自动创建一个项目的初始网站,包含一些基本页面,可以通过浏览器访问,以后我们会详细介绍,这里大家先知道它的作用
  命令行运行 npm install -g express-generator

  安装完成后就把 express-generator安装到了全局变量中  (说明:命令行中的 -g 表示该模块安装到全局,如果没有-g就将模块安装到当前目录)

  然后运行   express 项目名   创建一个项目 (这里演示初始化了一个叫做  exTest的项目)

  如何启动这个项目呢?
  1、进入项目目录  cd exTest

  2、安装项目依赖模块
  由于创建的项目中有个自带的pakage.js文件中已经规定了需要引入的模块,这里直接运行 npm install安装依赖
  由于是从国外服务器下载,所以可能会等待一会儿才能安装完成

  出现一长串的安装提示,到下图的状态表示安装完成

  2、运行项目  npm start
  注:如果出现下图的报错提示,表示3000端口被占用,可能有前面运行的http命令行,把其他命令行都关闭再运行这个。

  运行成功是这个状态

  然后通过浏览器输入 http://localhost:3000/ 就可以访问到项目首页了,如下图。

  到这里我们就成功安装了一个库、一个项目构建工具。大家先实现以下再往下看
  GIT的使用
  说明:git只是 代码的版本管理工具,不是nodejs必学类容,大家自行选择是否需要学习。
  介绍:
  为什么要使用版本控制:因为我们在编码过程中,会对软件进行各种修改,而且很可能需要在以后某个时候撤销到以前某个时间编写的样子,我们如果手动复制备份,不仅工程量大,而且不便于管理,这就需要有一个版本控制器,让我们可以自由的将以前写的各个时间段的版本进行保存
  常见的版本控制有以下三种:
  1、微软的cvs    -- 收费,切只能window使用
  2、svn 版本控制良好,但需要一个非本地的服务器(不能本地离线提交版本)
  3、git 新一代的版本控制,可以离线实现版本控制,而且可以结合免费的 github网络仓库管理代码,十分方便
  下载安装
  本课程软件下载 链接:http://pan.baidu.com/s/1kVPxBJT 密码:uziu
  官网下载:https://git-scm.com/downloads

  下载完成后,安装直接下一步、下一步即可,安装完成后,要检测是否安装成功,在桌面空白位置,点击鼠标右键出现图中红框中内容即安装成功

  注册一个github账号
  注:英文网站,可以使用google进行访问,右上角有个翻译按钮可以将网站翻译成中文,另外,注册可以参考如下链接 :http://jingyan.baidu.com/article/455a9950abe0ada167277864.html

  如何运行git:
  建立一个测试文件夹,然后在自己的文件夹右键 点击 git bash hare   我们这里的测试文件是d盘的 nodeTest\gitTest


  首先需要配置一下你的邮箱和用户名
  下面代码可以复制,在命令行中粘贴(注:ctrl+v在命令行不管用,需要右键 -- paste  才能粘贴进去)
  git config --global user.name  "你的用户名"
  git config --global user.email  "邮箱"

  运行 git config --list 可以看到所有的配置项,下部找到 name 和email 看是否配置成功。

  运行 git init初始化,

  然后就可以看到当前目录有一个隐藏的 .git文件夹,(如果隐藏文件看不到的,请自行百度如何查看隐藏文件),这个文件夹中是git的版本控制文件,千万不要去动。

  这样 gitTest文件夹就变成了git可以监控的文件夹了,以后文件夹任意的修改,都会被监控并记录下来
  我们先建一个a.txt文件(注意编码格式最好是 utf-8)
  在里面写入一点儿内容 保存

  然后命令行 输入 git status 可以查看到有记录的对 a.txt的修改

  接下来我们先做几个继续往下的操作,然后在解释这些操作是什么意思
  我们运行 git add .         (注意后面有个空格点)
  然后运行  git commit -m "a"             得到如下结果

  然后修改一下 a.txt中的内容  并保存,在 当前文件夹 创建  b.txt
  (说明:我们对文件修改/提交后 文件 左下角会有绿色的勾表示已经提交。或红色的叹号表示被修改了没提交)

  再命令行 运行   git  status  可以看到如下结果

  理解上面的过程:
  这里需要先弄清楚 git的几个监听区域:工作区、暂存区、版本库
  工作区:你对当前文件做的所有修改,都属于工作区 使用 git status 就可以看到修改的文件。
  暂存区:通过上面 git add . 添加的状态  (后面的 点 表示对当下所有的更改添加到暂存区),添加到暂存区的文件可以撤销,也可以提交到版本库
  版本库:最后的存放点,在git内部会对每个版本库存一个状态(功能类似创建了很多的备份,可以随意恢复任何一个版本,当然,git只是存了变化的地方,而非真的是备份)
  那么,我们来看看上面运行过的命令
  git add .                   表示添加当前的所有修改到暂存区 ,   如果只提交某个文件的修改,可以给文件名  如     git add a.txt
  git commit -m "a"    表示将暂存区的修改提交到版本库,形成一个固定的版本保存下来, -m 后面的引号内是 提交的注释说明,可以写“修改了xxxx”。
  git status                 显示工作区和暂存区的所有修改状态。工作区的是红色的显示,暂存区的是绿色的显示(如下图:只是一个示例说明,不跟着操作)

  我们再 运行一下  添加和提交命令,将刚刚对a.txt  b.txt的修改提交

  查看版本库 git  log                  下面的黄色打印部分,是每次修改的独一无二的id  (你的id和我的肯定也不一样)

  退回某个版本,
  这里我们复制最后那个版本号 运行  git reset --hart 版本id 来退回
  如下图,运行完成就退回了,刚我们创建的 b.txt没有了(退回到了创建以前)



  当然也可以退回到最上面那个>


  前面讲了退回到某个版本,那么怎么撤销工作区的修改呢?
  使用命令    git checkout -- 文件名   ,可以将该文件的修改撤销到上一次 git add 到暂存区的状态。
  比如我们先对a.txt作一下修改。添加了部分内容

  然后我运行 git status 看效果,表示已经修改了

  然后运行git ceckout -- a.txt 撤销 ,执行完成,就可以看到上一步给a.txt添加的内容被撤销了


  git checkout -- . 可以撤销所有修改,建议不要使用,因为这个会把所有没有 add的修改都撤销,而且不可逆。
  push项目到 github网站
  前面已经让大家注册了github的账号,如果没有注册的先注册一个
  然后登陆,登陆完成以后,点击如下图右上角的 新建 来新建一个仓库

  在新建界面中输入仓库名,确定即可

  创建之后,会自动跳转进入下面的界面,下图中划线的地方是 提交地址设置 和 提交的 命令行命令。先复制下来放着,后面会用。

  电脑端操作了:我们这里使用ssh秘钥链接,需要在电脑端生成秘钥(当然,也有其他方式链接,有兴趣的可搜索“提交文件到 github”看看)
  git 的命令行输入:
  ssh-keygen -t rsa -C 你的邮箱地址,到有需要输入的地方,直接 enter 确定 ,enter多次,直到执行完成

  然后就可以在c盘的用户 administrator文件夹下多了一个 .ssh 的隐藏文件夹

  点开文件夹可以看到两个文件。这两个文件是用户 ssh安全安验证的秘钥,.pub文件的公钥(公用上传)。id_rsa是私钥(自己保留)

  复制.pub文件内的所有内容。 然后按后续步骤添加到github账号的 ssh设置中

  回到github官网点击有右上角头像右边箭头,下拉框中点击 设置

  设置界面中点击  ssh and gpg keys ,然后点击  new  ssh key 按钮


  点击确定之后  需要再输入一次 github的密码,如下图,输入点击确定

  得到如下界面,这样就将当前电脑和 github 实现了 ssh的验证了

  然后回到命令行 ,运行前面 创建仓库的时候 要求大家复制的 那两条代码 ,如下图。(下图红框的地方 是你自己的仓库地址)

  第一次提交中途可能会遇到提示输入 用户名 和 密码   在提示的地方输入 github的 账号 和 密码 即可。
  执行完成之后,文件就上传到 github了,按下面步骤查看是否上传成功
  如下图点击顺序,就能找到你自己的仓库。

  找到仓库后打开它

  就可以看到 已上传成功的文件了

  右边的绿色按钮是下载操作。下载项目的地址如下图

  如何通过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地址

  运行后,项目就被下载下来了。我们去文件夹中就能看到项目了 ,那个Index.html就是项目的入口,使用浏览器打开即可查看

  打开后可看到一个类似win7桌面系统的界面

  学习需要持之以恒,希望跟学的同学跟上进度哦~
  好,今天就讲这么多,明天将讲解:node.js事件机制、node异步IO操作、路由。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-434476-1-1.html 上篇帖子: git fetch 更新远程代码到本地仓库 下篇帖子: git工具使用方法及常用命令
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表