美文网首页
Nodejs学习记录第二天-CommonJS

Nodejs学习记录第二天-CommonJS

作者: 加拉隆的深渊之核 | 来源:发表于2019-11-13 15:28 被阅读0次

    复习一下昨天的内容

    //引入http模块
    var http=require('http');
    var app=http.createServer(function(req,res){
        //设置请求头
        res.writeHead(200,{"Content-Type":"text/html;charset=utf-8"});
        //输入内容
        res.write('你好 nodejs');
        //结束响应
        res.end();
    })
    app.listen(8002,'127.0.0.1');
    

    今天我们来学习一下如何把nodejs的一些公共模块单独封装出去

    1.我们可以把公共的功能 抽离成为一个单独的 js 文件 作为一个模块,默认情况下面这个模块里面的方法或者属性,外面是没法访问的。如果要让外部可以访问模块里面的方法或者属性,就必须在模块里面通过 exports 或者 module.exports 暴露属性或者方法。

    1. 在需要使用这些模块的文件中,通过 require 的方式引入这个模块。这个时候就可以使用模块里面暴露的属性和方法。

    先建一个tools.js 代码如下:

    var tools={
        add:function(x,y){
            return x+y;
        },
        sayHello:function(){
            return '你好 nodejs'
        }
    }
    

    在这个文件中,我们简单的定义了2个方法
    问题了我们该如何把他暴露出去,给有需要的人使用呢
    module.exports 或者 exports

    那这两者有什么区别呢
    我们看看他的调用方法就知道了

    //exports返回的是模块函数
    exports.tools = tools;
    tools.tools.add(1,2)
    
    //module.exports返回的是模块对象本身,返回的是一个类
    module.exports = tools;
    tools.add(1,2)
    

    在我们开头写的代码里测试

    var tools=require('./tools.js');
    console.log(tools.add(1,2));
    console.log(tools.sayHello());
    

    这里又引出了另外一个问题了,我们写前端是,经常require第三方的控件,也不需要写详细的路径呀,老写路径好烦人

    npm init 生成 package.json
    创建一个node_modules文件夹并且创建一个xixihaha文件夹 如图:

    截屏2019-11-13下午3.22.37.png

    cd到xixihaha的目录下 打开终端运行

    npm init --yes
    

    之后你就会发现多了一个package.json文件


    截屏2019-11-13下午3.24.23.png
    截屏2019-11-13下午3.24.44.png

    当在外边引入xixihaha是

    //xixihaha 在根目录不存在,去node_modules ,找到了xixihaha文件夹。 xixihaha文件夹下面有package.json ,找 package.json 入口文件 "main": "xixhaha.js"
    var xixi = require('xixihaha');
    

    这样就可以不用写路径也能引用找到啦

    不喜勿喷,侵权即删

    相关文章

      网友评论

          本文标题:Nodejs学习记录第二天-CommonJS

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