最近在看node的教学视频,就跟着总结一点node的入门概念和一点注意事项,希望能帮到小白。
首先看看什么是 Node.js?
在官方里的概念:Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine.
(完全看不懂~~~好吧有中文的大家自己找找)
Node.js 可以解析JS代码(没有浏览器安全级别的限制)提供很多系统级别的(底层)API,如:
- 文件的读写
- 进程的管理
- 网络通信
- ……
准备 Node.js
使用nvm(Node Version Manager)来安装并维护多个Node.js的版本
1、项目地址:
https://github.com/creationix/nvm/blob/master/README.md
windows安装:http://blog.csdn.net/tyro_java/article/details/51232458
2、配置加速镜像:
export NVM_NODEJS_ORG_MIRROR=https://npm.taobao.org/mirrors/node
命令行中的体验
1、在node命令行中可以运行代码吗?no,输入命令行输入node打开Node.js执行环境后可以运行代码;想退出Node.js运行环境按两次ctrl+c;如果想运行js文件要在命令行里打:node 文件路径;
2、在node命令行里调用 window, process 两个对象?no,后台这是操作文档,操作字符串了
3、安装nodemon, 实时侦测文件的变化,安装:cnpm install -g nodemon;运行:nodemon 文件路径
4、安装全局就是:可以在任何目录下都可以用它,不是全局只能在当然录下用;
有时候为什么安装到全局了;本地还要安装呢?安装全局保证任何目录下都可以运行可以用包的命令,本地安装为了包在本地可能会引用require包的一些方法;
模块/包与CommonJS
![](https://img.haomeiwen.com/i8644402/edc7f0f6fe0c88aa.png)
CommonJS规范:
定义:就是定义一个js文件那就是模块了;
暴露接口:就是module.exports.xxx = 模块里面的某个接口;
引用:就是require;
模块分为:
![](https://img.haomeiwen.com/i8644402/2521d26ebce2e192.png)
NPM-包管理工具
Node.js 常用模块介绍
一、Nodejs内置模块:
特点:不需要安装,直接使用;
http
写个例子:简单的开启了一个端口号为7777的服务器;
const http = require('http');
var server = http.createServer((request,response)=>{
response.write('china')
response.end()
})
server.listen(7777, ()=>{
console.log('开启了端口7777')
})
当我命令nodemon 文件路径;就可以启动服务;
URL
url.parse(urlString[, parseQueryString[, slashesDenoteHost]])
url.format(urlObject)
url.resolve(from, to)
Query String
querystring.escape(str)
querystring.parse(str[, sep[, eq[, options]]])
querystring.stringify(obj[, sep[, eq[, options]]])
querystring.unescape(str)
gulp
sass
......
小例子:
request:作用请求接口返回数据;
安装:cnpm install request;自动建立一个node_module文件夹下载依赖包;
// request
var request = require('request');
request('https://baidu.com/', function (error, response, body) {
console.log(JSON.parse(body));
});
当我命令nodemon 文件路径;就可以获取数据了;
三、自定义模块:分三步
1、定义:就是定义一个js文件那就是模块了;
2、暴露接口:就是module.exports.xxx = 模块里面的某个接口;
注意:
在CommonJS规范里,exports = module.exports
暴露的时候有两种写法:
![](https://img.haomeiwen.com/i8644402/b699a952f45caea1.png)
更加注意的是还有一种错误的写法:
![](https://img.haomeiwen.com/i8644402/ffaf997eb469abab.png)
3、引用:就是require;
![](https://img.haomeiwen.com/i8644402/0d34bcfbb64a2412.png)
最后说一下模块访问引用的时候注意层次关系;内层文件夹可以引用外层第三方模块;外层不能引用内层第三方模块;好了前期注意点就总结到这里,
网友评论