Node.js基础

Node简介

根据官方文档能够知道,node就是一个给予谷歌v8引擎的一个javascript的运行时,能够理解为运行js的一个虚拟机。他使用的是一个 事件驱动,非阻塞I/O模型 ,他是将js的运行环境搬到了服务器端,和客户端没有一点关系。是一个纯服务端的东西,node只是为js提供了一个平台。node里面其实还分了两块,一是封装了v8引擎,目的是为了执行es(如定义变量,定义函数等),另一个提供了大量的工具库,是帮助node实现各类功能的,提供了一些之前js的环境办不到的事情,好比文件操做,网络操做,操做系统的操做。
    既然node是一个平台(所谓的平台就是用来运行特定语言的),也就意味着node是用来运行语言的,那么java也是语言,node能运行java吗?据nodejs创始人Ryan Dahl回忆,他最初是选择了Ruby这门语言,可是Ruby这门语言的虚拟机效率不怎么样最终放弃了,按照这种思路,貌似node将java的虚拟机集成进来应该能够运行java,但node做者最终选择了javascript。这样js就实现了在服务端运行的可能,js运行在node平台上(分为v8部分,用来执行es,和大量的工具库组件(API)称之为libuv,提供了之前js的环境办不到的事,如文件操做,网络操做等等)。
知道了什么是node,应该还要清楚node在web中有什么用途?
    (1)node能够接受客户端用户的全部请求,而且可以快速的给出响应,所以node能够用来作网站。
    (2)node能够做为一个中间层来来分发调用数据接口,好比有一个网站数据是有java提供的,咱们可让node做为一个中间曾,来接受用户的请求,而后经过node来调用java数据接口,获取到数据后直接在node层面作html的瓶装,而后将渲染好的页面直接给用户。为何要这样作,直接请求java接口不行吗,这是由于node被称之为高性能的web服务器,在并发和抗压方面都比传统的平台要好不少,所以这样一包装能够极大的减轻服务器的开发。
    经过上面的两点,能够总结出,node在web中要么从前端页面到后端服务全包了,一个是只作其中的一点。
    一言以蔽之,node就是一个javascript的运行环境(平台),他不是一门语言,也不是javascript的框架。能够用来开发服务端应用程序,web系统。其特色是体积小,快速,高性能。javascript

 

下载地址html

https://nodejs.org/en/download/

NPM简介

简单的说,npm就是JavaScript的包管理工具。相似Java语法中的maven,gradle,python中的pip。前端

npm是和Nodejs一块儿并存的,只要安装了Nodejs,npm也安装好了,安装好Nodejs以后。打开终端,执行以下命令,检查是否安装成功java

C:\Users\fuyong>node -v
v6.10.3

C:\Users\fuyong>npm -v
3.10.10

npm初始化

在去下载包以前,首先先让当前项目的包进行初始化操做,进入项目目录,执行命令:node

npm init

运行这个命令后,它会询问一些关于包的基本信息,根据实际状况回答便可。若是不喜欢这种方式,可使用npm init --yes命令直接使用默认的配置来建立package.json文件,最后根据须要修改建立好的package.json文件便可。python

{
  "name": "01-studynpm",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC"
}

若是每一项参数都使用默认值,则只须要输入:jquery

npm init --yes

主要字段的含义以下:webpack

  • name: 模块名, 模块的名称有以下要求:web

    • 所有小写
    • 只能是一个词语,没有空格
    • 容许使用破折号和下划线做为单词分隔符
  • version: 模块版本信息npm

  • description:关于模块功能的简单描述,若是这个字段为空的话,默认会从当前目录的READMD.mdREADME文件读取第一行内容做为它的默认值。

  • main: 模块被引入后,首先加载的文件,默认为index.js

  • scripts: 定义一些经常使用命令入口

关于最后一个英文的意思,咱们能够证实,当我执行npm init以后,会自动的生成package.json的文件。

安装模块

使用npm install会读取package.json文件来安装模块。安装的模块分为两类
dependenciesdevDependencies,分别对应生产环境须要的安装包和开发环境须要的安装包。

一样在安装模块的时候,能够经过指定参数来修改package.json文件,以jquery和webpack作例子

npm install jquery --save

npm install webpack --save-dev

执行以上命令,即可以安装对应的包到执行命令的当前目录,并建立一个node_modules的文件夹,而后把须要安装的安装包下载到里面。

打开package.json文件会发现:

如需下载不一样版本的模块

npm install jquery@2.0.1 --save

如需卸载模块

npm uninstall jquery --save

使用cnpm(淘宝镜像)

使用npm下载依赖时,因为是从国外的网站上下载内容,因此可能常常会出现不稳定的状况,因此须要下载cnpm代替npm,cnpm是国内淘宝的作的,在国内使用稳定。 

1.下载cnpm

使用npm下载依赖时,因为是从国外的网站上下载内容,因此可能常常会出现不稳定的状况,因此须要下载cnpm代替npm,cnpm是国内淘宝的作的,在国内使用稳定。 

$ npm install -g cnpm --registry=https://registry.npm.taobao.org

2.使用cpm

cnpm install jquery --save
相关文章
相关标签/搜索