NodeJS基本使用简介

Node.js

 

一、什么是Node?

不是JS文件,也不是一个JS框架
而是Server side Javascript runtime, 服务端的一个JS运行环境
我们可以在NODE运行JS代码
node中只能运行ECMAScript,无法使用 BOM 和 DOM
目前我们的JS是运行在浏览器内核中
就像PHP,是一门脚本语言,它的运行环境就叫PHP,以及java的JDK。
说到底就是一个JS运行环境

 

服务端的环境

  • 比如http://www.xxx.com/index.php,发送到服务器,如果没有php运行时,等于只是把这个文件下载下来。

  • 有了服务端环境则会把这个文件执行完了再返回给你。

  • node则是执行js文件的服务器环境。

  • 采用了chromeV8引擎

  • 在此基础上还包裹了一层api,可以进行文件、网络等操作

版本更迭

Node.js 刚出现的时候, 官方版本 要求尽善尽美,所以更新的很慢。
IO.js 是社区的产物,不是官方的东西,io.js有很多新特性,迭代非常快,社区推进非常快。
15年两者合并,发布node第一个正式版 4.0, 更新速度又慢了。
现在的node社区非常火爆,可以说身为一个合格的前端必须掌握node。

 

二、Node环境搭建

Mac

  • 安装包的方式

  • https://nodejs.org/dist/v5.5.0/node-v5.5.0.pkg

Windows

下载后最好放到纯英文路径,然后一直下一步就好了。

1、Nvm(可选)

  • NVM(Node Version Manager)

  • 用于管理node包,现在可能用得少了,需要的了解一下。

  • 因为NODE版本比较多,开发人员可能依赖很多版本

  • 通过NVM,可以轻松切换于不同的版本之间

  • 首先下载nvm的包,放到全英文路径。(推荐C盘)

  • 不要点nvm.exe,找到setting.txt,打开。

 

root: C:\Develop\nvm 
path: C:\Develop\nodejs 
arch: 64 
proxy: none

 

  

  • 把root中的路径换成你nvm安装位置的路径。

  • path的路径和root保持一致,最后写成nodejs

  • 在nvm文件夹,shift+右键,cmd命令行中输入

  • nvm(回车)

  • 会出现版本信息,以及一些命令提示

 

如果出错

删掉setting.txt,管理员权限运行install.cmd,会弹出一个命令行。

将nvm文件的路径复制到后面(回车)

会新建一个setting.txt文件,内容还是上面一样,如果不是,就挨个填上。

如果还是没有,重复如上步骤。

如果死都不行,往下看环境变量配置。

 

环境变量

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

  • 系统变量和用户变量

    • 系统变量指的是所用当前系统用户共享的变量

    • 自己的电脑一般只有一个用户

    • 建议将自己配置的环境变量放在用户变量中,用户变量比较干净

  • 环境变量的变量名是不区分大小写的

  • 变量间运行相互引用

  • 特殊值:

    • PATH变量(不区分大小写)

    • PATH 相当于一个路径的引用

  • 只要添加到PATH变量中的路径,都可以在任何目录下搜索

 环境变量配置,把这三个变量放到用户变量的path里面,注意分号分割。
 
NVM_HOME=C:\Develop\nvm

$NVM_SYMLINK=C:\Develop\nodejs

NPM_HOME=C:\Develop\nvm\npm
%里面的就是变量名称% PATH=%NVM_HOME%;%NVM_SYMLINK%;%NPM_HOME%

我是放在C盘的Develop文件夹中,请视情况配置路径。

确保你有setting.txt文件,接下来继续。
  • 使用命令行操作nvm

$ nvm use 你的node版本      
//该命令让你选择一个node版本进行使用,会有个nodejs快捷方式在nvm文件夹中。
//表示使用哪个版本的node
$ nvm ls
//显示你所有的node版本

 

当然,如果你上面的始终搞不定并不影响你使用。

进入主题

2. Node.js使用介绍

通过上面的安装,可以在命令行中输入

$ node -v
//查看当前使用的node版本,装了nvm的话,记住是在nvm use之后操作。
$ npm -v
//查看当前npm的使用版本

2.1 Node用途

  1. 开发Web应用程序

  • 做动态网站

  • 开发提供数据的服务端API

  1. 前端开发工具基础

  • Node.js给前端乃至整个开发行业带来一场工业革命

  • demo

//打开cmd,输入
$ node(回车)
//进入js的REPL环境,下面就可以写js代码了,试试
console.log("hello world")
  • 当然我们肯定是在IDE中把代码写好,然后用node执行。(就像java)。

  • 打开cmd,cd到你写的js文件目录。通过node +文件名执行

$ node 文件名
  • 以下是一个监听端口的服务
// 可以用来创建一个HTTP服务器
var http = require('http');

// 创建一个服务
var server = http.createServer(function(request, response) {
  // // 只要有人来了就会执行此函数
  // console.log(request.url);
  // // 处理请求和响应
  // response.writeHead(200, {
  //   'Content-Type': 'text/html', // 告诉客户端我给你的是HTML
  //   'key1': 'value1'
  // });
  // // 往响应体中放数据(只能是字符串)
  // response.write('<h1>HAHAHA</h1>');
  // response.end(); // 结束了回去吧
});
// 启动服务
server.listen(8080, function(error) {
  console.log('成功监听8080端口');
});
  • 就是用了一些node的api,可以监听8080端口。(不用看懂,只是体验)

 

  • Node.js是一个轻内核(本身没有什么功能)的东东,所有的功能都要功能包提供
  • node官方提供了一些最基础的包,通过npm来下载
  • npm下载来的包统一放在一个文件中方便管理,可以给这个路径也加上环境变量,就可以全盘使用了。

 

3. Npm

什么是NPM

https://www.npmjs.com/

  • Node Package Manager

  • Node应用程序依赖包的管理工具

  • 具有安装卸载更新之类的操作

为什么使用NPM

  • 官方+民间包,前端使用的所有包 很多

  • 场景:我需要用一个A,A依赖B,B依赖C (bootstrap==>jQuery)

  • 常见的包管理工具都有循环依赖的功能

  • 你只需记住你要什么东西

常见的NPM操作

// 安装一个包,默认安装最新稳定版本

$ npm install 包/库的名字    //安装一个包或库,默认最新稳定版

//如果你要下特定版本的库   
$ npm install 包/库的名字@1.1.2 //@+版本号

$ npm install 包/库的名字 --save    
//将这个包的名字保存到package.json中的dependencies中,表示生产阶段
//别人拿到你的项目后通过npm install就可以下载项目中依赖的所有包
$ npm install 包/库的名字 --save--dev
//表示开发阶段用的包

// 初始化操作,给项目添加一个配置文件

$ npm init 
//会问你一些问题,按着提示写,完了会生成package,json文件

$ npm init --yes
// --yes参数走默认配置
//省的填了
  • 更多的操作看官网

三、bower

什么是Bower

  • http://bower.io/

  • web应用程序依赖项管理工具

  • 和npm很像,不过npm一般管理nodejs的包

  • 像一些前端的包用bower管理

  • 就是重复的轮子

为什么使用Bower

  • 装逼

Bower配置

$ npm install -g bower // -g:global 全局环境中安装

修改npm全局路径,就是在用户目录下添加.npmrc文件,然后里面写nvm所在的根目录

//里面写nvm所在的根目录\npm-cache,其他不要变
cache=C:\Develop\nvm\npm-cache
prefix=C:\Develop\nvm\npm
//把这个文件放到用户目录,注释的文字不要复制黏贴

bower没啥用,我甚至都不想开个新网页来介绍它

gulp 自动化构建工具

通过npm下载的包,可以通过一些nodejs代码实现sass自动编译啊,js文件加密等等

传送门:

 http://www.cnblogs.com/zzc5464/p/gulp.html

 

 想了解github的同学直接看以下!

4、Git

http://www.cnblogs.com/zzc5464/p/git_github.html

5github注册

 

 

 

 

 

 

先在你的github上新建一个仓库,默认,不要自动生成md文件。

 

 

 

 

我的github

https://github.com/zzc5464

 

posted @ 2017-08-16 18:47  张志潮  阅读(462)  评论(0编辑  收藏  举报