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. Android混合开发之WebView与Javascript交互

    前言: 最近公司的App为了加快开发效率选择了一部分功能采用H5开发,从目前市面的大部分App来讲,大致分成Native App.Web App.Hybrid App三种方式,个人觉得目前以Hybri ...

  2. .net 分布式架构之任务调度平台

    开源地址:http://git.oschina.net/chejiangyi/Dyd.BaseService.TaskManager .net 任务调度平台 用于.net dll,exe的任务的挂载, ...

  3. 文档对象模型DOM通俗讲解

    转自:http://www.jb51.net/article/42671.htm 在开始之前先说一点,DOM是非常容易理解的,但是大家说的太官方,让人很是难于理解,我们就用非常简单的语言翻译一遍.加深 ...

  4. Git使用详细教程(二)

    分支 其实在项目clone下来后就有一个分支,叫做master分支.新建分支的步骤:右键项目→Git→Repository...→Branches... master分支应该是最稳定的,开发的时候,建 ...

  5. 【python之路5】学习小结

    一.编程语言 java C语言 C++ C# Python 二.python语言的种类 Cpython:python的官方版本,使用最为广泛,实现将python(py文件)转换为字节码文件(pyc文件 ...

  6. 支付宝web支付

    过程 1. 用户下单 2. 商户后台产生订单 3. 请求支付宝web支付页面(将订单信息返回给用户---放在form里面---隐藏起来-----并通过脚本自动提交此form到支付宝web支付页) 4. ...

  7. deepsooncms在Ubuntu 14.04上部署教程

    deepsooncms在Ubuntu 14.04上部署教程 一.安装mono1.在命令行运行sudo apt-key adv --keyserver keyserver.ubuntu.com --re ...

  8. JavaScript进阶之路——认识和使用Promise,重构你的Js代码

    一转眼,这2015年上半年就过去了,差不多一个月没有写博客了,"罪过罪过"啊~~.进入了七月份,也就意味着我们上半年苦逼的单身生活结束了,从此刻起,我们要打起十二分的精神,开始下半 ...

  9. 新手如何在gdb中存活

    网络上已经有很多gdb调试的文章了,为什么我还要写这篇文章呢,因为本文是写给gdb新手的,目的就是通过一个简单的例子来让新手很快上手.一旦上手入门了,其他的问题就可以自己去搜索搞定了.右边是gdb的L ...

  10. 在ASP.NET MVC5中实现具有服务器端过滤、排序和分页的GridView

    背景 在前一篇文章<[初学者指南]在ASP.NET MVC 5中创建GridView>中,我们学习了如何在 ASP.NET MVC 中实现 GridView,类似于 ASP.NET web ...