[TOC] Come on 开始新的征程!
(1) 模块与包 模块:在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护。
为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样每个文件包含的代码就相对较少,很多编程语言都采用这种组织代码的方式。 在Node环境中,一个.js文件就称之为一个模块(module)。
模块/包与CommonJS示例图:
weiyigeek.top-模块包CommonJS
Q:使用模块有什么好处?
提高了代码的可维护性
代码重用
避免函数名和变量名冲突
Tips:相同名字的函数和变量完全可以分别存在不同的模块中,因此我们自己在编写模块时,不必考虑名字会与其他模块冲突。
1.1 模块分类 Nodejs模块基于CommonJ规范分类:
内置模块:系统自带的模块我只需要调用即可;
第三方模块:大佬开发的一些模块我们需要通过npm进行下载安装;https://npmjs.com
自定义模块:我们自定义的模块,即暴露接口然后引用
案例(1):
[TOC] Come on 开始新的征程!
(1) 模块与包 模块:在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护。
为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样每个文件包含的代码就相对较少,很多编程语言都采用这种组织代码的方式。 在Node环境中,一个.js文件就称之为一个模块(module)。
模块/包与CommonJS示例图:
weiyigeek.top-模块包CommonJS
Q:使用模块有什么好处?
提高了代码的可维护性
代码重用
避免函数名和变量名冲突
Tips:相同名字的函数和变量完全可以分别存在不同的模块中,因此我们自己在编写模块时,不必考虑名字会与其他模块冲突。
1.1 模块分类 Nodejs模块基于CommonJ规范分类:
内置模块:系统自带的模块我只需要调用即可;
第三方模块:大佬开发的一些模块我们需要通过npm进行下载安装;https://npmjs.com
自定义模块:我们自定义的模块,即暴露接口然后引用
案例(1):1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 const os = require ('os' ) console .log(os.hostname) > npm init #在项目中创建配置文件 > npm install request --save #会建立 node_modules 文件夹存放模块包,配置里面也将写入dependencies; const request = require ('request' )request({ url:'https://api.douban.com/v2/movie/top250' , json: true },(error,Response,body)=>{ console .log(JSON .stringify(body, null , 2 )) }) 'use strict' ;const hello = () => { console .log('Hello ~' ) } module .exports.hello = helloconst Demo = require ('./src/greeting.js' )Demo.hello()
案例2:自定义模块1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 'use strict' ;var s = 'Hello' ;function greet (name ) { console .log(s + ', ' + name + '!' ); } module .exports = greet; 'use strict' ;var greet = require ('./src/hello' );var s = 'WeiyiGeek' ;greet(s);
注意:
遇到这个错误,你要检查:模块名是否写对了,模块文件是否存在,相对路径是否写对了;