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盘)
-
1 2 3 4 | root: C:\Develop\nvm path: C:\Develop\nodejs arch: 64 proxy: none |
-
-
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文件夹中,请视情况配置路径。
-
使用命令行操作nvm
$ nvm use 你的node版本 //该命令让你选择一个node版本进行使用,会有个nodejs快捷方式在nvm文件夹中。 //表示使用哪个版本的node $ nvm ls //显示你所有的node版本
当然,如果你上面的始终搞不定并不影响你使用。
进入主题
通过上面的安装,可以在命令行中输入
$ node -v //查看当前使用的node版本,装了nvm的话,记住是在nvm use之后操作。 $ npm -v //查看当前npm的使用版本
-
开发Web应用程序
-
做动态网站
-
开发提供数据的服务端API
-
前端开发工具基础
-
Node.js给前端乃至整个开发行业带来一场工业革命
-
demo
//打开cmd,输入 $ node(回车) //进入js的REPL环境,下面就可以写js代码了,试试 console.log("hello world")
-
-
打开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官方提供了一些最基础的包,通过npm来下载
- npm下载来的包统一放在一个文件中方便管理,可以给这个路径也加上环境变量,就可以全盘使用了。
3. Npm
-
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参数走默认配置
//省的填了
-
官网容易被墙,用淘宝的好了。
- https://npm.taobao.org/
三、bower
-
web应用程序依赖项管理工具
-
和npm很像,不过npm一般管理nodejs的包
-
像一些前端的包用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
5、github注册
先在你的github上新建一个仓库,默认,不要自动生成md文件。
我的github
https://github.com/zzc5464
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步