美文网首页我爱编程
node入门(一)

node入门(一)

作者: 萘小蒽 | 来源:发表于2018-06-10 11:21 被阅读51次
  • 什么是node?

js作为脚本语言,就需要解析器,在HTML文件中引入的js,浏览器就可以作为解析器。而需要独立运行的js文件,NODEJS就是js独立运行的解析器。
例如在HTML文件中的js,js负责操作dom,浏览器提供dom之类的内置对象。 而运行在node中的js用来操作磁盘中的文件,或者搭建http服务器,node提供fs,http等内置对象。

  • 什么是node的模块?

在稍大的程序中,为了方便维护,通常都会将代码拆分到不同的js文件中,每一个JS文件都是模块,而文件路径就是模块名。


在编写模块时,都会有require,exports,module,三个预先定义好的变量课提供使用。


1.require ——用于引入别的模块,方法如下:

var foo1 = require('./foo');

var foo2 = require('./foo.js');

var foo3 = require('/home/user/foo');

var foo4 = require('/home/user/foo.js');

以上写法都是引入磁盘里的相同的模块,其中.js文件后缀可省略。其中Json文件也可以引入。

var foo4 = require('/home/user/foo.json');

当传递给require的是node的内置模块名称,将做路径解析,直接放回内部模块的到处对象,例如require('fs')


2.exports ——用于到处模块共有方法和属性

别的模块通过上面的require函数使用当前模块时,得到的就是当前模块的exports对象,一下例子中到处了一个共有方法。

//foo.js
exports.hello = function(){
   console.log("hello world!")
};

接着,我们和require结合起来,先创建一个和foo.js目录同级的index.js文件,在index.js文件中应用foo.js

//index.js
//引用foo.js文件的导出对象
var foo = require('./foo.js')
//执行hello
foo.hello();

编写完成了,打开cmd,在你的编写目录下运行index.js

  node index.js
  hello world!

3.module——访问当前模块的的相关信息

通常用于替换当前模块的导出对象,例如模块导出对象默认是一个普通的对象,我想替换成一个函数,方法如下:

module.exports = function(){
    console.log("hello world!");
};

以上代码中,模块默认导出对象呗替换为函数。
在开发过程中,一种作法是把各个模块对象化,模块导出对象替换成自定义独享。如下:、

//user.js
function User(AGname){
  this.name = AGname;
this.say = function(){
console.log("你好,我是隔壁"+this.name)
    }
}
//将模块导出对象替换为User;
module.exports = User;
//index.js
引用user.js导出模块
var user = require('./user.js');
//创建一个user对象
var user1 = new User("老王")
user1.say(); 

你可以自行创建index.js和user.js这两个文件,将上面的代码拷贝到对应的文件,自己运行一下,这里,index.js就是模块的入口,也就是这个工程的主模块。


  • 模块初始化

一个模块中的JS代码仅在模块第一次被使用时执行一次,并在执行过程中初始化模块的导出对象。之后,缓存起来的导出对象被重复利用。

1.使用NodeJs内置模块

NodeJs内置了很多常用模块,你可以在 nodejs中文网上看到最新稳定版的API,下面举个栗子来说明如何使用NodeJs的内置模块。

//引用NodeJs内置模块文件系统模块fs
var fs=require('fs');
//在当前目录下创建一个名为“dir”的文件夹,如果已存在,则报错
fs.mkdirSync('dir');

NodeJs的内置模块直接通过模块名称引用即可


2.使用第三方模块

在开发过程中我们常常会用到第三方模块,而起到作用的就是npm了。栗子如下:

1,初始化工程并生成package.json文件
$ npm init
2,安装第三方模块xxx(所谓的插件)
$ npm install xxx --save 
此时,你会在当前目录可以看到,多了一个文件夹node_modules,打开node_modules,多了一个fs-extra的文件夹,这就是我们从npm上下载的第三方模块fs-extra.我们可以开始使用了xxx模块了。

Tips: 一个工程中,我们往往不只引入一个模块,只要package.json存在,你就可以使用npm install命令引入所有你需要的模块


相关文章

网友评论

    本文标题:node入门(一)

    本文链接:https://www.haomeiwen.com/subject/clefeftx.html