zoukankan      html  css  js  c++  java
  • 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系统。其特点是体积小,快速,高性能。

    下载地址

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

    NPM简介

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

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

    C:Usersfuyong>node -v
    v6.10.3
    
    C:Usersfuyong>npm -v
    3.10.10
    

    npm初始化

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

    npm init
    

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

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

    如果每一项参数都使用默认值,则只需要输入:

    npm init --yes

    主要字段的含义如下:

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

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

    • 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
    

     

  • 相关阅读:
    python 的基础 学习 第六天 基础数据类型的操作方法 字典
    python 的基础 学习 第五天 基础数据类型的操作方法
    python 的基础 学习 第四天 基础数据类型
    ASP.NET MVC 入门8、ModelState与数据验证
    ASP.NET MVC 入门7、Hellper与数据的提交与绑定
    ASP.NET MVC 入门6、TempData
    ASP.NET MVC 入门5、View与ViewData
    ASP.NET MVC 入门4、Controller与Action
    ASP.NET MVC 入门3、Routing
    ASP.NET MVC 入门2、项目的目录结构与核心的DLL
  • 原文地址:https://www.cnblogs.com/fu-yong/p/9069329.html
Copyright © 2011-2022 走看看