Node基础篇(概要)
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的前端工具集
环境配置
安装包的方式安装
更新版本
- 操作方式:
- 重新下载最新的安装包;
- 覆盖安装即可;
- 问题:
- 以前版本安装的很多全局的工具包需要重新安装
- 无法回滚到之前的版本
- 无法在多个版本之间切换(很多时候我们要使用特定版本)
NVM工具的使用
Node Version Manager(Node版本管理工具)
由于以后的开发工作可能会在多个Node版本中测试,而且Node的版本也比较多,所以需要这么款工具来管理
安装操作步骤
- 下载:nvm-windows
- 解压到一个全英文路径
- 编辑解压目录下的
settings.txt
文件(不存在则新建)
root 配置为当前 nvm.exe 所在目录
path 配置为 node 快捷方式所在的目录
arch 配置为当前操作系统的位数(32/64)
proxy 不用配置
- 配置环境变量 可以通过 window+r : sysdm.cpl
NVM_HOME = 当前 nvm.exe 所在目录
NVM_SYMLINK = node 快捷方式所在的目录
PATH += %NVM_HOME%;%NVM_SYMLINK%;
- 打开CMD通过
set [name]
命令查看环境变量是否配置成功 - PowerShell中是通过
dir env:[name]
命令
- NVM使用说明:
- 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基础篇(概要)的更多相关文章
- node基础篇二:模块、路由、全局变量课堂(持续)
今天继续更新node基础篇,今天主要内容是模块.路由和全局变量. 模块这个概念,在很多语言中都有,现在模块开发已经成为了一种潮流,它能够帮助我们节省很多的时间,当然咱们的node自然也不能缺少,看下例 ...
- Node基础篇(文件操作)
文件操作 相关模块 Node内核提供了很多与文件操作相关的模块,每个模块都提供了一些最基本的操作API,在NPM中也有社区提供的功能包 fs: 基础的文件操作 API path: 提供和路径相关的操作 ...
- Node基础篇(模块和NPM)
核心模块 核心模块的意义 如果只是在服务器运行JavaScript代码,意义并不大,因为无法实现任何功能(读写文件,访问网络). Node 的用处在于它本身还提供的一系列功能模块,用于与操作系统互动. ...
- node基础篇一:node介绍、node http、node event 课堂(持续)
最近工作一直很忙,没时间更新,谅解,这次准备更新一次node教程,本课堂将持续更新,每周坚持更新一到两章,希望对大家有一些小帮助吧: 一.首先什么是node? 1/Node.js 是一个基于 Chro ...
- 好未来数据中台 Node.js BFF实践(一):基础篇
好未来数据中台 Node.js BFF实践系列文章列表: 基础篇 实战篇(TODO) 进阶篇(TODO) 好未来数据中台的Node.js中间层从7月份开始讨论可行性,截止到9月已经支持了4个平台,其中 ...
- [WebKit内核] JavaScript引擎深度解析--基础篇(一)字节码生成及语法树的构建详情分析
[WebKit内核] JavaScript引擎深度解析--基础篇(一)字节码生成及语法树的构建详情分析 标签: webkit内核JavaScriptCore 2015-03-26 23:26 2285 ...
- 《量化投资:以MATLAB为工具》连载(2)基础篇-N分钟学会MATLAB(中)
http://www.matlabsky.com/thread-43937-1-1.html <量化投资:以MATLAB为工具>连载(3)基础篇-N分钟学会MATLAB(下) ...
- 《量化投资:以MATLAB为工具》连载(1)基础篇-N分钟学会MATLAB(上)
http://blog.sina.com.cn/s/blog_4cf8aad30102uylf.html <量化投资:以MATLAB为工具>连载(1)基础篇-N分钟学会MATLAB(上) ...
- Java多线程系列--“基础篇”11之 生产消费者问题
概要 本章,会对“生产/消费者问题”进行讨论.涉及到的内容包括:1. 生产/消费者模型2. 生产/消费者实现 转载请注明出处:http://www.cnblogs.com/skywang12345/p ...
随机推荐
- C语言 · 奇偶判断
问题描述 能被2整除的数称为偶数,不能被2整除的数称为奇数.给一个整数x,判断x是奇数还是偶数. 输入格式 输入包括一个整数x,0<=x<=100000000. 输出格式 如果x是奇数,则 ...
- wordpress多站点配置
wordpress作为全球第一的个人博客搭建平台一直在国内外有着较高的人气,从3.0版本开始就已经支持多站点的搭建.该功能可以让子站点运行主站点的程序,不需要再每个站点分别存放网站程序.最近更新的4. ...
- GitHub实战系列汇总篇
基础: 1.GitHub实战系列~1.环境部署+创建第一个文件 2015-12-9 http://www.cnblogs.com/dunitian/p/5034624.html 2.GitHub实战系 ...
- Dreamweaver 扩展开发:C-level extensibility and the JavaScript interpreter
The C code in your library must interact with the Dreamweaver JavaScript interpreter at the followin ...
- 前端学Markdown
前面的话 我个人理解,Markdown就是一个富文本编辑器语言,类似于sass对于css的功能,Markdown也可以叫做HTML预处理器,只不过它是一门轻量级的标记语言,可以更简单的实现HTML ...
- 如何利用ETW(Event Tracing for Windows)记录日志
ETW是Event Tracing for Windows的简称,它是Windows提供的原生的事件跟踪日志系统.由于采用内核(Kernel)层面的缓冲和日志记录机制,所以ETW提供了一种非常高效的事 ...
- const extern static 终极指南
const extern static 终极指南 不管是从事哪种语言的开发工作,const extern static 这三个关键字的用法和原理都是我们必须明白的.本文将对此做出非常详细的讲解. co ...
- Jquery(1)
鼠标点击事件: <input type="button" value="测试" onclick="test()" /> < ...
- Angularjs参考框架地址
1.Table(Grid)参考地址 https://github.com/samu/angular-table https://github.com/daniel-nagy/md-data-table ...
- JAVA面试题
在这里我将收录我面试过程中遇到的一些好玩的面试题目 第一个面试题:ABC问题,有三个线程,工作的内容分别是打印出"A""B""C",需要做的 ...