很多刚刚接触nodejs的初学者,都会经历一个很繁冗的环境安装过程。

一般主要要安装nodejs,npm和express三样东西。那么这三样东西分别是干什么的呢?

本篇文章就大致介绍一下这三样东西分别是干什么的:

nodejs

首先要说的是nodejs,既然我们要装nodejs,那这个其实就没什么好解释的。

nodejs就是运行框架,就像C#和.net,JAVA和JRE一样,nodejs就是nodejs。

所以其实装了nodejs以后,nodejs其实就已经可以编码和运行了。

npm

npm是一个JavaScript的包管理程序。

它的用途和.net中的NuGet,Java中的Maven是同一种作用。

对于不了解NuGet和Maven也不了解的同学可以继续往下看:

什么是包管理?

我们开发程序的时候,经常会选择一些第三方框架来帮助我们专注于实现业务。

那么一旦要选择第三方框架,就一定会存在以下问题:

  1. 我要去哪里下载我要的第三方框架?

  2. 我要用什么版本?

  3. 如何更新我已经使用的第三方框架?

那么包管理器就是为了解决上述问题而存在的。

使用者安装了包管理器以后,只要告诉包管理器,我要用什么框架,什么版本的。剩下来的事,包管理器就全部帮你完成了,帮你下载指定版本的框架到你需要的项目中间并引用,甚至于参与到编译和运行中去。

npm就是这样的一个程序,它提供了我们用于JavaScript开发所需要的各种常见第三方框架的下载。

Express

经常会看到nodejs环境安装中涉及到Express的安装,这个东西也是非常难装的,经常会出现各种各样的问题。

那么Express又是干什么的呢?

对nodejs有一些了解同学一定知道,nodejs本身其实只提供了文件、网络端口监听、字符集等基本的操作。

但是如果要往一个成熟的BS架构服务端上去做的话,似乎还少了些什么?比如路由功能、异常处理等等。

如果我们每次做项目都要把一些BS架构服务端所需要的基本骨架都编写一次,肯定大家都不乐意。

那么Express就帮助你完成了这些事情。

Express是nodejs的一套框架。

对,它只是一套框架,并不是nodejs的真身,没有它我们一样可以做nodejs,只不过——会累一些。。。

Express提供了很多面向服务端骨架的内容,让我们尽可能的直接编写那些属于业务逻辑的代码,降低了对错误处理的难度等等

Express在较新的版本中由两个部分组成:

  1. express

  2. express-generator

前者是负责运行时的框架。

后者是负责生成一个express项目的标准目录结构,开发人员只要按照相应的目录存放相应的文件,express框架就可以顺利的运行起来。

文章为作者原创,转载请注明出处 http://www.zizhusoft.com/note/show.aspx?id=b67b2069-4c15-4008-b0f3-6cdc7be3f2a1  ,谢谢合作

【转载】nodejs,npm,express分别什么?的更多相关文章

  1. 阿里云centos 安装 nodejs npm express

    yum check-update yum install vsftpdvi /etc/vsftpd/vsftpd.conf anonymous_enable=NO service vsftpd sta ...

  2. npm install Error:EPROTO: protocol error, symlink '../mime/cli.js' -> '/vagrant/src/nodejs/node_modules/express/node_modules/send/node_modules/.bin/mime'

    我在ubuntu上使用npm安装依赖是出现下面错误: npm ERR! Linux 3.13.0-101-genericnpm ERR! argv "/usr/bin/nodejs" ...

  3. (转 留存)Windows环境下的NodeJS+NPM+GIT+Bower安装配置步骤

    Windows环境下的NodeJS+NPM+GIT+Bower安装配置步骤 标签: NodeJSnpmbower 2015-07-17 16:38 3016人阅读 评论(0) 收藏 举报  分类: G ...

  4. Windows环境下的NodeJS+NPM+Bower安装配置步骤

    Windows下的NodeJS安装是比较方便的(v0.6.0版本之后,支持windows native),只需要登陆官网(http://nodejs.org/),便可以看到首页的“INSTALL”按钮 ...

  5. 阿里云主机Nginx下配置NodeJS、Express和Forever

    https://cnodejs.org/topic/5059ce39fd37ea6b2f07e1a3 AngularJS中文社区即运行在阿里云主机上,本站使用Nginx引擎,为了AngularJS,我 ...

  6. (转)如何制作nodejs,npm “绿色”安装包

      摘自:http://blog.chinaunix.net/xmlrpc.php?r=blog/article&uid=8625039&id=3817492       由于公司环境 ...

  7. nodejs下express+ejs环境搭建

    nodejs下express+ejs环境搭建   分类: Nodejs 1.进入需要创建项目的目录    cd F:\nodeCode     2.创建一个带ejs模板工程,工程名为haha    e ...

  8. nodejs之express静态路由、ejs

    1.静态路由与ejs使用 /** *1.安装ejs npm install ejs --save-dev * *2.express 里面使用ejs ,安装以后就可以用,不需要引入 * *3.配置exp ...

  9. Windows 系统下设置Nodejs NPM全局路径

    Windows下的Nodejs npm路径是appdata,很不爽,想改回来,但是在cmd下执行以下命令也无效 npm config set cache "D:\nodejs\node_ca ...

  10. ubuntu14.04下nodejs + npm + bower的安装、调试和部署

      1. 简介 本文介绍ubuntu14.04下nodejs+npm+bower的安装.调试和部署 参考文档 https://docs.npmjs.com/getting-started https: ...

随机推荐

  1. CLR via C# 3rd - 07 - Constants and Fields

    1. Constants        A constant is a symbol that has a never-changing value. When defining a constant ...

  2. Android之ProgressBar初步应用

    这里利用 ProgressBar 即时显示下载进度. 途中碰到的问题: 1.主线程中不能打开 URL,和只能在主线程中使用 Toast 等 2.子线程不能修改 UI 3.允许网络协议 4.暂停下载和继 ...

  3. Lae程序员小漫画(二),仅供一乐

    Lae软件开发,快乐程序员!

  4. setInterval和clearInterval

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...

  5. tabelView右滑选择进行删除

    如何使用UITableViewRowAction实现右滑选择呢? 1.在iOS8以前,我们实现tableview中滑动显示删除,置顶,更多等等的按钮时,都需要自己去实现,在iOS8中系统已经写好了,只 ...

  6. 关于vue.js的计算属性练习代码

    参照官网联系如下: <!DOCTYPE html><html lang="en"><head> <meta charset="U ...

  7. cocos2d-x 帧循环不严谨造成场景切换卡顿

    最近在用cocos2d-x做引导界面,2dx版本是2.2.3,场景切换加上了效果,所有资源都已经使用texturepacker打包预加载,但是在实际运行调试中,场景切换相当卡顿. 各种纠结后,无意中将 ...

  8. android 观察者模式

    1:观察者模式:   1:使用场景:一般使用在自定义控件的事件点击监听上面(或者封装方法进行回调) 2:写观察者模式步骤: (1):声明一个接口 (2):接口里面封装一个抽象方法 (3):需要封装一个 ...

  9. unsigned char 类型

    在蓝牙4.0的开发中,很多数据类型都用到了 unsigned char ,我觉得用这个类型的一个原因是相比较于整型,它占的空间更少. 比如: unsigned char a = 1;  // 占1个字 ...

  10. linux下配置lamp时候出现The requested URL /info.php was not found on this server问题

    在经历修改各种配置文件和各种文件权限后,发现了怎么解决 On newer versions of Ubuntu, the document root is set to /var/www/html i ...