Node.js里面的内置模块和自定义模块的实现

 更新时间:2021年05月08日 08:40:19   作者:南初️  
这篇文章主要介绍了Node.js里面的内置模块和自定义模块的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

一、Commonjs

  • Commonjs是nodejs中的自定义模块
  • Commonjs规范的提出,弥补javascript没有标准的缺陷,提供一个类似后端语言的标准库,也就是说commonjs是模块化的标准,nodejs就是commonjs模块化的实现。在nodejs中除了http,url,fs等等都是nodejs的内置模块,可以直接使用.
  • commonjs中自定义模块的实现:
  • 在nodejs中将公共的功能抽离为单独的js文件作为模块,在外部是没有办法访问的(类似后端的私有的属性和方法);要想使用模块,就必须在模块里面通过exports或者module.exports暴露属性或者方法。在需要的模块使用require引入模块。

二、模块导出两个方案

方案一

let str={};
module.exports=str;

方案二

let str={};
exports.A=str;

三、自定义模块写法

common.js

// node里面的内置模块和自定义模块
// 模块导出两个方案
let str={};
module.exports=str;
exports.A=str;

// 引入模块得使用require("")加载模块
let todo=require("./todo");//可以省略后缀
console.log(todo);

todo.js

module.exports={
   name:"张三",
   sleep:function(){
       console.log("睡觉");
   }
}

或者

module.exports={
   name:"张三",
   sleep:function(){
       console.log("睡觉");
   }
}
  • node里面的require()加载模块的时候可以直接写名称,但是必须放在依赖下加载,并且还要生成配置文件
  • 终端进入依赖文件,安装配置文件
  • nodejs 可以自动找node_modules文件下的文件 :如果node_modules文件下有文件夹 可在cd进入这个文件 使用命令cnpm init --yes 安装当前文件的package.json文件,直接请求require(“名字”);

案例一

common.js

// 引入模块得使用require("")加载模块
let todo=require("./todo");//可以省略后缀
console.log(todo);

// node里面的require()加载模块的时候可以直接写名称,但是必须放在依赖下加载,并且还要生成配置文件
// 终端进入依赖文件,安装配置文件
let fetch=require("Fetch");
console.log(fetch);
fetch.get("http://www.zjm.com");

Fetch.js

module.exports={
   get(url){
       console.log(url);
   }
}

案例二

common.js

let Axios = require("Axios");
let url = "https://autumnfish.cn/search";
let data = { keywords: '西安' };
const http = require("http");
let app = http.createServer((req, res) => {
   res.writeHead(200, { "Content-Type": "text/html;charset=utf-8" });
   Axios.get(url, { params: data }).then((result) => {
       res.write(result);
       res.end();
   });
});
app.listen(8080)

Axios.js

const http = require("http");
const https=require("https");
//转化方法
let change = (args) => {
   let str = "?";
   for (let key in args) {
       str += key + "=" + args[key];
       str += "&";
   }
   return str.slice(0, str.length - 1);
}
module.exports = {
   get(href, { params }) {
       return new Promise((resolve, reject) => {
           href += change(params);
           https.get(href, (res) => {
               let { statusCode } = res;
               let error;
               if (statusCode != 200) {
                   error = new Error('Request Failed.\n' +
                       `Status Code: ${statusCode}`);
               }
               if (error) {
                   console.error(error.message);
                   // Consume response data to free up memory
                   res.resume();
                   return;
               }
               //设置响应编码
               res.setEncoding("utf8");
               let alldata = "";
               //监听数据
               res.on("data", (info) => {
                   alldata += info;
               })
               res.on("end", () => {
                   let data =alldata;
                   resolve(data);
               })
           });
       });
   },
   post() {

   }
}

到此这篇关于Node.js里面的内置模块和自定义模块的实现的文章就介绍到这了,更多相关Node.js 内置模块和自定义模块内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家! 

相关文章

  • sails框架的学习指南

    sails框架的学习指南

    本文从最基础的sails框架知识开始讲起,通过示例给我们展示了sails框架的各个方面,非常的不错,推荐给小伙伴们
    2014-12-12
  • 如何利用Node.js与JSON搭建简单的动态服务器

    如何利用Node.js与JSON搭建简单的动态服务器

    这篇文章主要给大家介绍了关于如何利用Node.js与JSON搭建简单的动态服务器的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Node.js具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2020-06-06
  • Node.js 文件夹目录结构创建实例代码

    Node.js 文件夹目录结构创建实例代码

    下面小编就为大家带来一篇Node.js 文件夹目录结构创建实例代码。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-07-07
  • 一文详解package.json配置

    一文详解package.json配置

    这篇文章主要为大家介绍了一文详解package.json配置,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-02-02
  • Nest.js系列学习控制器使用示例详解

    Nest.js系列学习控制器使用示例详解

    这篇文章主要为大家介绍了Nest.js系列控制器使用示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-02-02
  • node.js中的fs.writeFileSync方法使用说明

    node.js中的fs.writeFileSync方法使用说明

    这篇文章主要介绍了node.js中的fs.writeFileSync方法使用说明,本文介绍了fs.writeFileSync的方法说明、语法、接收参数、使用实例和实现源码,需要的朋友可以参考下
    2014-12-12
  • 浅析node应用的timing-attack安全漏洞

    浅析node应用的timing-attack安全漏洞

    本篇文章给大家通过原理的原因分析了node应用的timing-attack安全漏洞问题,有兴趣的朋友阅读参考下。
    2018-02-02
  • Node.js 中如何收集和解析命令行参数

    Node.js 中如何收集和解析命令行参数

    这篇文章主要介绍了Node.js 中如何收集和解析命令行参数,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • node.js不得不说的12点内容

    node.js不得不说的12点内容

    本文主要是分享下,个人对node.js的一些认识和理解,希望对大家有所帮助
    2014-07-07
  • nodeJS实现简单网页爬虫功能的实例(分享)

    nodeJS实现简单网页爬虫功能的实例(分享)

    下面小编就为大家带来一篇nodeJS实现简单网页爬虫功能的实例(分享)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06

最新评论