【转载】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: ...
随机推荐
- 【 D3.js 进阶系列 — 6.1 】 缩放的应用(Zoom)
缩放(Zoom)是另一种重要的可视化操作,主要是使用鼠标的滚轮进行. 1. zoom 的定义 缩放是由 d3.behavior.zoom() 定义的. var zoom = d3.behavior.z ...
- windows下Bullet 2.82编译安装(Bullet Physics开发环境配置)
平台:Win7,VS2010 1. Bullet库的组织 下图是Bullet_User_Manual中的截图: 从中可见,Bullet的LinearMath(线性数学模块),其上是BulletColl ...
- IIS 发布 异常信息 AspNetInitClrHostFailureModule 的解决办法
昨天在一个客户那里使用Server 2008服务器配置IIS,都配置好之后竟然出现了错误信息,以前没有遇到过 "AspNetInitClrHostFailureModule",于是 ...
- hibernate一级缓存
理解 Hibernate 一级缓存 Hibernate 一级缓存默认是打开,不需要任何的配置.实际上,你无法强制禁止它的使用. 如果你理解了一级缓存实际上和会话是关联的,就很容易理解一级缓存.总所周知 ...
- Java实验四
20145113 Java实验四 快捷键 之前没怎么记ISDEA的快捷键,但是熟练使用快捷键可以带来很多的便利,于是先开始学习一些常用的快捷键,就采用它默认的快捷键,这样后期就不会出现冲突,一些and ...
- java中文乱码分析整理
在JavaWeb应用开发中,经常会出现页面中本该显示中文的地方却是乱码的情况.究其原因,主要是由于在Web组件之间.或Web组件与浏览器.与数据库所使用的字符集标准不统一,Web应用程序运行过程中,中 ...
- ubuntu 安装git服务器
ubuntu14.04安装git,搭建环境 1.sudo apt-get install git 2.生成key ssh-keygen -t rsa 3.保存其他用户,创建的ssh用户密码 cd .s ...
- DP(Dynamic programming)——尽力学习之中(2016 HUAS ACM 暑假集训-5)
这周不打算按照以往的方式更新博客,而是采用整体的方式.一是因为学的太少,没东西写:二是这篇博客会经常更新的.如题,DP——尽力学习之中. ------------------------------- ...
- easyui datagrid 动态添加columns属性
公司在项目设计的时候,有一个需求,就是查出来的表的字段不唯一,一张表的字段可能是三个,也可能是五个,但是却要把它显示到页面,这个给我做ui的带来一点麻烦.因为以前一般用easyui 的datagrid ...
- fdisk,mount.label
########fdisk ll /dev/sda* df -TH fdisk -cul fdisk -cu ~~n~~p~~+1G~~ partx -a /dev/sda ########EXT4 ...