首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Nodejs入门学习1.md

Nodejs入门学习1.md

作者头像
全栈工程师修炼指南
发布2020-10-23 15:39:10
4850
发布2020-10-23 15:39:10
举报

[TOC] Come on 开始新的征程!

(1) 模块与包

模块:在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护。

为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样每个文件包含的代码就相对较少,很多编程语言都采用这种组织代码的方式。 在Node环境中,一个.js文件就称之为一个模块(module)。

模块/包与CommonJS示例图:

WeiyiGeek.模块包CommonJS
WeiyiGeek.模块包CommonJS

WeiyiGeek.模块包CommonJS

Q:使用模块有什么好处?

  • 提高了代码的可维护性
  • 代码重用
  • 避免函数名和变量名冲突

Tips:相同名字的函数和变量完全可以分别存在不同的模块中,因此我们自己在编写模块时,不必考虑名字会与其他模块冲突。

1.1 模块分类

Nodejs模块基于CommonJ规范分类:

  • 内置模块:系统自带的模块我只需要调用即可;
  • 第三方模块:大佬开发的一些模块我们需要通过npm进行下载安装;https://npmjs.com
  • 自定义模块:我们自定义的模块,即暴露接口然后引用

案例(1):

//采用ES6规范
//######(1)内置模块##########
const os = require('os')  //nodejs API
console.log(os.hostname)  //DESKTOP-OVF3TEN


//#########(2)第三方模块 利用npm或者cnpm下载安装模块包  ############
> 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))  //空白替换 / 2 表示缩进
})


//##############(3) 自定义模块 ###############
//建立一个src文件夹存储自定义模块 ./src/greeting.js
//第一步建立模块
'use strict';
const hello = () =>{
    console.log('Hello ~')
}
//第二步暴露模块 模块名称 = 处理方法
////module.exports = hello; 下面可直接调用hello() = > Demo()
module.exports.hello = hello

//#主调用文件moduel.js
//在使用require()引入模块的时候,请注意模块的相对路径,因为main.js和hello.js位于同一个目录,所以我们用了当前目录.:
const Demo = require('./src/greeting.js')
Demo.hello()  //Hello ~

案例2:自定义模块

//########## src\hello.js ###########
//hello.js文件就是一个模块,模块的名字就是文件名
'use strict';
var s = 'Hello';
function greet(name) {
    console.log(s + ', ' + name + '!');
}
module.exports = greet;  //直接暴露方法名 (注意这点)

//########## module_1.js ###########
'use strict';
// 引入hello模块:
var greet = require('./src/hello');
var s = 'WeiyiGeek';
//成功地引用了hello.js模块中定义的greet()函数
greet(s); // Hello, WeiyiGeek! (注意)

注意:

  • 遇到这个错误,你要检查:模块名是否写对了,模块文件是否存在,相对路径是否写对了;
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-10-10 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • (1) 模块与包
    • 1.1 模块分类
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档