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 ...
随机推荐
- JavaScript var关键字、变量的状态、异常处理、命名规范等介绍
本篇主要介绍var关键字.变量的undefined和null状态.异常处理.命名规范. 目录 1. var 关键字:介绍var关键字的使用. 2. 变量的状态:介绍变量的未定义.已定义未赋值.已定义已 ...
- 破解SQLServer for Linux预览版的3.5GB内存限制 (RHEL篇)
微软发布了SQLServer for Linux,但是安装竟然需要3.5GB内存,这让大部分云主机用户都没办法尝试这个新东西 这篇我将讲解如何破解这个内存限制 要看关键的可以直接跳到第6步,只需要替换 ...
- php批量删除
php批量删除可以实现多条或者全部数据一起删除 新建php文件 显示数据库中内容: <table width="100%" border="1" cell ...
- 设计模式之结构类模式大PK
结构类模式大PK 结构类模式包括适配器模式.桥梁模式.组合模式.装饰模式.门面模式.享元模式和代理模式.之所以称其为结构类模式,是因 ...
- 原生JS实现-星级评分系统
今天我又写了个很酷的实例:星级评分系统(可自定义星星个数.显示信息) sufuStar.star();使用默认值5个星星,默认信息 var msg = [........]; sufuStar.sta ...
- Linux上课笔记--随手记Linux命令
初次接触Linux就是感觉这系统不够友好不够人性化,因为首先接触电脑就是win,图形化界面什么操作都可以清晰看到.随着更多的接触越来越发现Linux的强大,虽然我只是一个小白,可我就是爱上他了.现在就 ...
- .JavaWeb文件上传和FileUpload组件使用
.JavaWeb文件上传 1.自定义上传 文件上传时的表单设计要符合文件提交的方式: 1.提交方式:post 2.表单中有文件上传的表单项:<input type="file" ...
- VS2012+EF6+Mysql配置心路历程
为了学习ORM,选择了EntityFramework,经历了三天两夜的煎熬,N多次错误,在群里高手的帮助下,终于成功,现在将我的心路历程记录下来,一是让自己有个记录,另外就是让其它人少走些弯路. 我的 ...
- .NET面试题系列[4] - C# 基础知识(2)
2 类型转换 面试出现频率:主要考察装箱和拆箱.对于有笔试题的场合也可能会考一些基本的类型转换是否合法. 重要程度:10/10 CLR最重要的特性之一就是类型安全性.在运行时,CLR总是知道一个对象是 ...
- Vue.js——vue-router 60分钟快速入门
概述 vue-router是Vue.js官方的路由插件,它和vue.js是深度集成的,适合用于构建单页面应用.vue的单页面应用是基于路由和组件的,路由用于设定访问路径,并将路径和组件映射起来.传统的 ...