<h1 id="初识nodejs-基本语法" data-anchor-id="q8jd">初识nodejs-基本语法
上一篇文章<<初识nodejs>>,我们要使用nodejs,首先要安装nodejs,安装的东西你可理解为java中的运行环境一样,至于怎么安装,我们最好安装nvm(nodejs version manage),安装的过程也写在了另一篇博客<>(那时懵懂期,回头再修改的详细一点)
后台的平台,他可以为我们提供的很多,我们可以用JavaScript语言进行文件的获取,删除等等文件操作,我们可以用JavaScript开一个本地服务器,我们可以和mongoDB配合来搭建后台,他给我们前端带来了太多的惊喜,让我们深深的迷恋上了它,但正所谓学一个新知识时,我们都需要从简,从基础学起,那么在nodejs环境下,我们的基本语法又是怎样的呢?
支持ES6的,所以在这里你可以尽情的去写,不用考虑浏览器不兼容了(这里是后端,哈哈),安装好了nodejs后,我们在终端输入node,就会进入到nodejs环境,这里我们可以输入:
- console.log();
输出了hello world,我第一次写的时候还以为这是chrome的开发者模式呢,这或许就是chrom v8引擎的作用吧,我们这些简单的指令可以直接在终端中输出,那么如果是运行一大段代码呢?我们可以写个js文件里边,
- hello =
文件中写的程序就能运行出来了,nodejsshi是基于commonJS的,所以当我们的程序变大的时候,就可以使用模块了,nodejs是模块化的,什么是模块,每个模块就是nodejs的每个功能,我们有http模块来提供服务器,有fs模块来提供对文件操作的各种功能,我们写的代码可以分成一个一个的模块,这样可以提高我们代码的复用性,以及减少代码之间的耦合性,可以避免函数名和变量名的冲突.
函数库,而PHP和ruby是通过require,上边也说过,nodejs是基于CommonJS的,在node中我们可以使用require这个关键字来导入模块.例如:
- http = require( fs = require();
自带的,他们都给我们提供各种各样的功能,我们只需要直接require它们就能使用了, 其次,我们也可以自己编写模块,比如你讲一个输出hello的函数单独封装成一个模块,
-
hello ==
函数,然后再另一文件中通过require导入另一个模块,这时再另一个模块中,
- hello = require();
hello.hello();输出hello
方法,在hello.js中
- module.exports=hello;方法,我们在使用它的时候的用法为:
---
hello = require(输出hello
30101e574521e45ef8" target="_blank">node中文社区学习的.
- a ={name: b =输出 小明 小明
b.name=输出 小李 小李
module.exports原本就是一个空对象 exprots是这个对象的一个引用变量 平时我们require进来的就是module.exports对象
搜索,然后使用npm install就可以了,npm是和nodejs捆绑在一起的,
函数" data-anchor-id="rwlx">回调函数
函数是什么呢?我们对于JavaScript中的函数应该不陌生了吧,回到函数就是JavaScript中的函数.当在nodejs中,回调函数是来实现异步调用的,回调函数被称为要去完成的任务,nodejs中很频繁的使用回调函数,nodejs中的所有的API模块都是由回调函数所实现的.由回调函数来实现异步调用,其实就是给你造成一种假象,让你像使用ajax一样让你感觉很顺畅,不堵不堵不堵(嘿嘿嘿)! 我们先提前看一下nodejs在读取文件的时候的一个操作
文件后显示
- 文件
- 文件中的内容不变,
fs = require('fs''input.txt',(err){"程序结束");
输出的内容为:
- 文件
输出的是"程序结束"
函数是什么意思,我们应该能看得出来,第二次的函数是一个回调函数,这就是我们的阻塞和非阻塞IO的区别,当程序执行到异步的读文件时,会先将这个相对耗时多的步骤存入一个事件循环(looping)中,转而去执行下边的程序,等到下边的程序执行完了之后再回去执行回调函数这个它存起来的任务,而在程序执行的时候就给我造成一个感觉,好快!这就是我们异步调用,至少目前我感觉,这个异步调用时nodejs的利器.