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. iOS热更新-8种实现方式

    一.JSPatch 热更新时,从服务器拉去js脚本.理论上可以修改和新建所有的模块,但是不建议这样做. 建议 用来做紧急的小需求和 修复严重的线上bug. 二.lua脚本 比如: wax.热更新时,从 ...

  2. PC分配盘符的时候发现==》RPC盘符不可用

    服务器汇总:http://www.cnblogs.com/dunitian/p/4822808.html#iis 服务器异常: http://www.cnblogs.com/dunitian/p/45 ...

  3. const,static,extern 简介

    const,static,extern 简介 一.const与宏的区别: const简介:之前常用的字符串常量,一般是抽成宏,但是苹果不推荐我们抽成宏,推荐我们使用const常量. 执行时刻:宏是预编 ...

  4. .NET Core的文件系统[5]:扩展文件系统构建一个简易版“云盘”

    FileProvider构建了一个抽象文件系统,作为它的两个具体实现,PhysicalFileProvider和EmbeddedFileProvider则分别为我们构建了一个物理文件系统和程序集内嵌文 ...

  5. [数据结构]——二叉树(Binary Tree)、二叉搜索树(Binary Search Tree)及其衍生算法

    二叉树(Binary Tree)是最简单的树形数据结构,然而却十分精妙.其衍生出各种算法,以致于占据了数据结构的半壁江山.STL中大名顶顶的关联容器--集合(set).映射(map)便是使用二叉树实现 ...

  6. JDBC Tutorials: Commit or Rollback transaction in finally block

    http://skeletoncoder.blogspot.com/2006/10/jdbc-tutorials-commit-or-rollback.html JDBC Tutorials: Com ...

  7. DevExpress - 使用 GaugeControl 标尺组件制作抽奖程序 附源码

    前不久,公司举办了15周年庆,其中添加了一个抽奖环节,要从在读学员中随机抽取幸运学员,当然,这个任务就分到了我这里. 最后的效果如下,启动有个欢迎页面,数据是来自Excel的,点击开始则上面的学号及姓 ...

  8. MongoDB基础

    1.概念及特点 说明:由于部分语句中$ 符号无法正常显示,使用¥代表 概念 MongoDB是一个基于文档的分布式的开源的NoSQL数据库,文档的结构为BSON形式,每一个文档都有一个唯一的Object ...

  9. ASP.NET Linux部署(2) - MS Owin + WebApi + Mono + Jexus

    ASP.NET Linux部署(2) - MS Owin + WebApi + Mono + Jexus 本文承接我的上一篇博文: ASP.NET 5 Linux部署,那篇文章主要是针对最新的ASP. ...

  10. mysql 外键约束备注

    梳理mysql外键约束的知识点. 1.mysql外键约束只对InnoDb引擎有效: 2.创建外键约束如下: DROP TABLE IF EXISTS t_demo_product; CREATE TA ...