Node简介

客户端的JavaScript是怎样的

  • 什么是 JavaScript?
  • 脚本语言
  • 运行在浏览器中
  • 一般用来做客户端页面的交互(Interactive)

  • JavaScript 的运行环境?
  • 是不是运行在浏览器呢?
  • 不够严谨
  • 运行在浏览器内核中的 JS 引擎(engine)

  • 浏览器中的 JavaScript 可以做什么?
  • 操作DOM(对DOM的增删改、注册事件)
  • AJAX/跨域
  • BOM(页面跳转、历史记录、console.log()、alert())
  • ECMAScript

  • 浏览器中的 JavaScript 不可以做什么?
  • 文件操作(文件和文件夹的CRUD)
  • 没有办法操作系统信息
  • 由于运行环境特殊(我们写的代码是在不认识的人的浏览器中运行)

  • 在开发人员能力相同的情况下编程语言的能力取决于什么?
  • -语言本身?-
  • 语言本身只是提供定义变量,定义函数,定义类型,流程控制,循环结构之类的操作
  • 取决于运行该语言的平台(环境)
  • 对于JS来说,我们常说的JS实际是ES,大部分能力都是由浏览器的执行引擎决定
  • BOM和DOM可以说是浏览器开放出来的接口
  • 比如:Cordova中提供JS调用摄像头,操作本地文件的API

  • Java既是语言也是平台
  • Java运行在Java虚拟机(跨操作系统)
  • PHP既是语言也是平台(跨操作系统)

  • C#语言平台:.NET Framework(Windows)
  • C#可以运行在MONO这样的平台
  • 因为有人需要将C#运行在Linux平台,所有出现了MONO

  • JavaScript 只可以运行在浏览器中吗?
  • 不是
  • 能运行在哪取决于,这个环境有没有特定平台

什么是Node

  • Node 就是 JavaScript 语言在服务器端的运行环境
  • 所谓“运行环境(平台)”有两层意思:
  • 首先,JavaScript 语言通过 Node 在服务器运行,在这个意义上,Node 有点像 JavaScript 虚拟机;
  • 其次,Node 提供大量工具库,使得 JavaScript 语言与操作系统互动(比如读写文件、新建子进程),在这个意义上, Node 又是 JavaScript 的工具库。

为什么是JavaScript

Node的实现结构

Node在当下Web开发领域的应用

哪些公司在用

重点理解

  • Node是一个JavaScript的运行环境(平台),不是一门语言,也不是JavaScript的框架;
  • Node的实现结构;
  • Node可以用来开发服务端应用程序,Web系统;
  • 基于Node的前端工具集

环境配置

安装包的方式安装

  • 安装包下载链接:
  • Mac OSX: darwin
  • Windows:
  • 安装操作:
  • 一路Next

更新版本

  • 操作方式:
  • 重新下载最新的安装包;
  • 覆盖安装即可;
  • 问题:
  • 以前版本安装的很多全局的工具包需要重新安装
  • 无法回滚到之前的版本
  • 无法在多个版本之间切换(很多时候我们要使用特定版本)

NVM工具的使用

Node Version Manager(Node版本管理工具)

由于以后的开发工作可能会在多个Node版本中测试,而且Node的版本也比较多,所以需要这么款工具来管理

安装操作步骤

  1. 下载:nvm-windows
  2. 解压到一个全英文路径
  3. 编辑解压目录下的settings.txt文件(不存在则新建)
  • root 配置为当前 nvm.exe 所在目录
  • path 配置为 node 快捷方式所在的目录
  • arch 配置为当前操作系统的位数(32/64)
  • proxy 不用配置
  1. 配置环境变量 可以通过 window+r : sysdm.cpl
  • NVM_HOME = 当前 nvm.exe 所在目录
  • NVM_SYMLINK = node 快捷方式所在的目录
  • PATH += %NVM_HOME%;%NVM_SYMLINK%;
  • 打开CMD通过set [name]命令查看环境变量是否配置成功
  • PowerShell中是通过dir env:[name]命令
  1. NVM使用说明:
  1. NPM的目录之后使用再配置

配置Python环境

Node中有些第三方的包是以C/C++源码的方式发布的,需要安装后编译
确保全局环境中可以使用python命令

环境变量的概念

环境变量就是操作系统提供的系统级别用于存储变量的地方

  • Windows中环境变量分为系统变量和用户变量
  • 环境变量的变量名是不区分大小写的
  • 特殊值:
  • PATH 变量:只要添加到 PATH 变量中的路径,都可以在任何目录下搜索

Windows下常用的命令行操作

  • 切换当前目录(change directory):cd
  • 创建目录(make directory):mkdir
  • 查看当前目录列表(directory):dir
  • 别名:ls(list)
  • 清空当前控制台:cls
  • 别名:clear
  • 删除文件:del
  • 别名:rm

注意:所有别名必须在新版本的 PowerShell 中使用


快速上手


事件驱动和非阻塞


模块化开发

原文链接:http://blog.wedn.net/node-essential-summary/

Node基础篇(概要)的更多相关文章

  1. node基础篇二:模块、路由、全局变量课堂(持续)

    今天继续更新node基础篇,今天主要内容是模块.路由和全局变量. 模块这个概念,在很多语言中都有,现在模块开发已经成为了一种潮流,它能够帮助我们节省很多的时间,当然咱们的node自然也不能缺少,看下例 ...

  2. Node基础篇(文件操作)

    文件操作 相关模块 Node内核提供了很多与文件操作相关的模块,每个模块都提供了一些最基本的操作API,在NPM中也有社区提供的功能包 fs: 基础的文件操作 API path: 提供和路径相关的操作 ...

  3. Node基础篇(模块和NPM)

    核心模块 核心模块的意义 如果只是在服务器运行JavaScript代码,意义并不大,因为无法实现任何功能(读写文件,访问网络). Node 的用处在于它本身还提供的一系列功能模块,用于与操作系统互动. ...

  4. node基础篇一:node介绍、node http、node event 课堂(持续)

    最近工作一直很忙,没时间更新,谅解,这次准备更新一次node教程,本课堂将持续更新,每周坚持更新一到两章,希望对大家有一些小帮助吧: 一.首先什么是node? 1/Node.js 是一个基于 Chro ...

  5. 好未来数据中台 Node.js BFF实践(一):基础篇

    好未来数据中台 Node.js BFF实践系列文章列表: 基础篇 实战篇(TODO) 进阶篇(TODO) 好未来数据中台的Node.js中间层从7月份开始讨论可行性,截止到9月已经支持了4个平台,其中 ...

  6. [WebKit内核] JavaScript引擎深度解析--基础篇(一)字节码生成及语法树的构建详情分析

    [WebKit内核] JavaScript引擎深度解析--基础篇(一)字节码生成及语法树的构建详情分析 标签: webkit内核JavaScriptCore 2015-03-26 23:26 2285 ...

  7. 《量化投资:以MATLAB为工具》连载(2)基础篇-N分钟学会MATLAB(中)

    http://www.matlabsky.com/thread-43937-1-1.html   <量化投资:以MATLAB为工具>连载(3)基础篇-N分钟学会MATLAB(下)     ...

  8. 《量化投资:以MATLAB为工具》连载(1)基础篇-N分钟学会MATLAB(上)

    http://blog.sina.com.cn/s/blog_4cf8aad30102uylf.html <量化投资:以MATLAB为工具>连载(1)基础篇-N分钟学会MATLAB(上) ...

  9. Java多线程系列--“基础篇”11之 生产消费者问题

    概要 本章,会对“生产/消费者问题”进行讨论.涉及到的内容包括:1. 生产/消费者模型2. 生产/消费者实现 转载请注明出处:http://www.cnblogs.com/skywang12345/p ...

随机推荐

  1. HTML kbd键盘元素

    1. 说明 kbd :即Keyboard Input Element(键盘输入元素).表示键盘按键的语义元素,常用于网页上对快捷键.按键说明的场景. 样式规格:内联样式. 为了在页面上突出显示,可以给 ...

  2. Ngrok让你的本地Web应用暴露在公网上

    1.Ngrok介绍 Ngrok是一个反向代理,通过在公共的端点和本地运行的Web服务器之间建立一个安全的通道.Ngrok可捕获和分析所有通道上的流量,便于后期分析和重放.简单来说,利用 Ngrok可以 ...

  3. 创建几个常用table展示方式插件

    这次和大家分享的是自己写的一个table常用几种展示格式的js插件取名为(table-shenniu),样式使用的是bootstrap.min.css,还需要引用jquery.min.js包,这个插件 ...

  4. pt-online-schema-change中update触发器的bug

    pt-online-schema-change在对表进行表结构变更时,会创建三个触发器. 如下文测试案例中的t2表,表结构如下: mysql> show create table t2\G . ...

  5. 从源码浅析MVC的MvcRouteHandler、MvcHandler和MvcHttpHandler

    熟悉WebForm开发的朋友一定都知道,Page类必须实现一个接口,就是IHttpHandler.HttpHandler是一个HTTP请求的真正处理中心,在HttpHandler容器中,ASP.NET ...

  6. Ubuntu 16.04 安装 arm-linux-gcc 嵌入式交叉编译环境 问题汇总

    闲扯: 实习了将近半年一直在做硬件以及底层的驱动,最近要找工作了发现了对linux普遍要求很高,而且工作岗位也非常多,所以最近一些时间在时不时地接触linux. 正文:(我一时兴起开始写博客,准备不充 ...

  7. mysql 远程访问权限

    MySQL默认没有开启远程访问的权限,需要手动打开,步骤如下: 1.通过命令行登录2.mysql>update user set host = '%' where user = 'root';这 ...

  8. 《月之猎人 (Moon Hunters)》主角设计

    原文链接 游戏开发人员,你们好! 我是 Kitfox Games 工作室的总监 Tanya,我们的工作室位于加拿大的蒙特利尔,拥有六名员工. 我们 3 月份发布了<月之猎人>游戏的桌面版, ...

  9. Ognl表达式基本原理和使用方法

    Ognl表达式基本原理和使用方法 1.Ognl表达式语言 1.1.概述 OGNL表达式 OGNL是Object Graphic Navigation Language(对象图导航语言)的缩写,他是一个 ...

  10. ASP.NET Aries 4.0 开源发布:已完成基础功能优化重写

    主要更新: 1:增加AR.Global.GetUser() 方法返回当前登陆者的用户信息. 2:重写AR.Combobox 支持下拉树. 3:调整及扩展Input下拉的配置参数. 4:优化及新增AR. ...