【转载】nodejs,npm,express分别什么?
很多刚刚接触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也不了解的同学可以继续往下看:
什么是包管理?
我们开发程序的时候,经常会选择一些第三方框架来帮助我们专注于实现业务。
那么一旦要选择第三方框架,就一定会存在以下问题:
我要去哪里下载我要的第三方框架?
我要用什么版本?
如何更新我已经使用的第三方框架?
那么包管理器就是为了解决上述问题而存在的。
使用者安装了包管理器以后,只要告诉包管理器,我要用什么框架,什么版本的。剩下来的事,包管理器就全部帮你完成了,帮你下载指定版本的框架到你需要的项目中间并引用,甚至于参与到编译和运行中去。
npm就是这样的一个程序,它提供了我们用于JavaScript开发所需要的各种常见第三方框架的下载。
Express
经常会看到nodejs环境安装中涉及到Express的安装,这个东西也是非常难装的,经常会出现各种各样的问题。
那么Express又是干什么的呢?
对nodejs有一些了解同学一定知道,nodejs本身其实只提供了文件、网络端口监听、字符集等基本的操作。
但是如果要往一个成熟的BS架构服务端上去做的话,似乎还少了些什么?比如路由功能、异常处理等等。
如果我们每次做项目都要把一些BS架构服务端所需要的基本骨架都编写一次,肯定大家都不乐意。
那么Express就帮助你完成了这些事情。
Express是nodejs的一套框架。
对,它只是一套框架,并不是nodejs的真身,没有它我们一样可以做nodejs,只不过——会累一些。。。
Express提供了很多面向服务端骨架的内容,让我们尽可能的直接编写那些属于业务逻辑的代码,降低了对错误处理的难度等等
Express在较新的版本中由两个部分组成:
express
express-generator
前者是负责运行时的框架。
后者是负责生成一个express项目的标准目录结构,开发人员只要按照相应的目录存放相应的文件,express框架就可以顺利的运行起来。
文章为作者原创,转载请注明出处 http://www.zizhusoft.com/note/show.aspx?id=b67b2069-4c15-4008-b0f3-6cdc7be3f2a1 ,谢谢合作
【转载】nodejs,npm,express分别什么?的更多相关文章
- 阿里云centos 安装 nodejs npm express
yum check-update yum install vsftpdvi /etc/vsftpd/vsftpd.conf anonymous_enable=NO service vsftpd sta ...
- 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" ...
- (转 留存)Windows环境下的NodeJS+NPM+GIT+Bower安装配置步骤
Windows环境下的NodeJS+NPM+GIT+Bower安装配置步骤 标签: NodeJSnpmbower 2015-07-17 16:38 3016人阅读 评论(0) 收藏 举报 分类: G ...
- Windows环境下的NodeJS+NPM+Bower安装配置步骤
Windows下的NodeJS安装是比较方便的(v0.6.0版本之后,支持windows native),只需要登陆官网(http://nodejs.org/),便可以看到首页的“INSTALL”按钮 ...
- 阿里云主机Nginx下配置NodeJS、Express和Forever
https://cnodejs.org/topic/5059ce39fd37ea6b2f07e1a3 AngularJS中文社区即运行在阿里云主机上,本站使用Nginx引擎,为了AngularJS,我 ...
- (转)如何制作nodejs,npm “绿色”安装包
摘自:http://blog.chinaunix.net/xmlrpc.php?r=blog/article&uid=8625039&id=3817492 由于公司环境 ...
- nodejs下express+ejs环境搭建
nodejs下express+ejs环境搭建 分类: Nodejs 1.进入需要创建项目的目录 cd F:\nodeCode 2.创建一个带ejs模板工程,工程名为haha e ...
- nodejs之express静态路由、ejs
1.静态路由与ejs使用 /** *1.安装ejs npm install ejs --save-dev * *2.express 里面使用ejs ,安装以后就可以用,不需要引入 * *3.配置exp ...
- Windows 系统下设置Nodejs NPM全局路径
Windows下的Nodejs npm路径是appdata,很不爽,想改回来,但是在cmd下执行以下命令也无效 npm config set cache "D:\nodejs\node_ca ...
- ubuntu14.04下nodejs + npm + bower的安装、调试和部署
1. 简介 本文介绍ubuntu14.04下nodejs+npm+bower的安装.调试和部署 参考文档 https://docs.npmjs.com/getting-started https: ...
随机推荐
- apk下载解决微信扫一扫问题
.btn{display: block;width:100%;padding:10px;border:none;cursor: pointer;outline: none;} .btn-primary ...
- 根据url地址单个或批量下载图片
我们在java开发的时候会遇到通过url地址下载图片的情况.方便起见,我把通过url地址下载图片封装了tool工具类,方便以后使用 1.根据如:http://abc.com/hotels/a.jpg ...
- 关于 vmware虚拟机的一些问题及解决办法备忘
有问题讨论 --- 问题:关于vm虚拟机窗口大小全屏按钮无法全屏 解决:安装vm-tools,重启即可 --- 问题:关于vm虚拟机安装xp,尤其还原ghost出错找不到光驱 解决:进入镜像pe安装 ...
- GetLastError返回值的含义
[0]-操作成功完成. [1]-功能错误. [2]-系统找不到指定的文件. [3]-系统找不到指定的路径. [4]-系统无法打开文件. [5]-拒绝访问. [6]-句柄无效. [7]-存储控制块被损坏 ...
- unity行为树制作AI简单例子(2)
继续昨天的工程,给Monster添加一个空物体命名为AI,在AI添加脚本BehaviorTree,然后就可以打开行为树编辑器进行编辑了 先写好自定义的节点脚本,下面是一个寻找漫游点的行为节点脚本 us ...
- CDN 技术详解(DNS,GSLB,Cache)
CDN 是什么 CDN(Content Delivery Network,内容分发网络),即全网内容加速服务.为了尽可能的避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快.更稳 ...
- jQuery实例——jQuery实现联动下拉列表查询框--转http://www.cnblogs.com/picaso/archive/2012/04/08/2437442.html#undefined
jQuery实例--jQuery实现联动下拉列表查询框 在查询与列表显示的时候经常用到联动列表显示,比如一级选项是国家,二级选项是省,三级是市,这样的联动是联系的实时导出的,比如你不可能选择了四川 ...
- mybatis 与 日志
如上图所示,mybatis默认支持7种日志记录的方式,也可以自己实现Log接口,然后将实现类通过LogFactory注入到日志工厂中. LogFactory是日志模块的入口,外层通过getLog获取L ...
- KnockoutJS中父元素有click绑定引起checked绑定时失效
KnockoutJS中的checked绑定如果父元素有click绑定,会出现状态点击没反应,实际KO的值已经变化的情况. 这种情况下应该在checked绑定的元素上除了阻止事件冒泡,另外还需要额外加上 ...
- 自动化运维:网站svn代码上线更新(flask+saltstack)
阶段性总结: 跌跌撞撞的用了一周左右的时间做完了网站自动升级功能,中间遇到了很多的问题,也学到了很多,在此做一个总结. 1.整体架构: 后台:nginx+uwsgi #nginx提供w ...