• nodejs第三天(核心模块与文件模块,核心模块和文件模块引入的区别,从模块外部访问模块内部,使用exports对象,npm包管理工具package.json文件,模块对象属性,将模块定义分类,npm发布流程,安装淘宝镜像,模块的管理)


    核心模块与文件模块

      ndejs是一个js运行环境,是一个平台。nodejs基于操作系统,封装了一些功能,http,tcp,udp,i/o模块,path,fs,stream等等

      通过nodejs内置的模块,他们就称为核心模块。(他们都是nodejs内置的)http,fs,path等

      文件模块:只要写一个js文件,每一个文件都是模块 。(自己写的js文件都被称为文件模块)

    核心模块和文件模块引入的区别

      核心模块有环境变量做调度

      文件模块需要给出文件路径

    注意:核心模块是nodejs内置的一些功能模块,文件模块是开发人员编写的js文件

    从模块外部访问模块内部成员(运用global,将变量变为全局变量 但是golbal相当于window会造成全局污染)

      在nodejs中一个文件又称为一个模块。从一个模块访问外部模块中变量或方法

      像创建了连个模块,demo1和demo2

      在demo1中声明的ste 方法add()

      在demo2中没有权限访问,如果要访问到的话,就要把变量或方法做成全局属性

      用到golbal来吧str和add函数变为全局属性

      golbal.str="声明变量"

      golbal.add=function(){console.log("函数表达式")}

    使用exports对象

      exports这个对象的属性 可以将模块内的方法,变量抛出m、 并且在其他引入的模块中可见(可使用)

      在demo2中就可以访问到str和add()

      //demo1.js内容

        exports.str="hellow"

        exports.hellow=function(){

          console.log("1111")

        }

      //demo2.js内容

         var demo1=require("./demo1.js")

         console.log(demo1.str)

         demo1.hellow()

    npm包管理工具

      什么是npm?

        node package management:node包管理工具(主要管理模块)

        模块:核心模块,文件模块

         文件模块又分为:自定义模块,第三方模(· 第三方公司的模块)

         npm就是用来管理和安装第三方模块的

       npm命令详解

        1,npm  -v(version:版本)

          npm  -v查看当前npm的版本号

        2,安装模块

          命令:npm install model name(模块名称)

          比如:安装jquery模块

              npm install jquery

             查看npm中模块清单的命令

             npm list 这个命令会列出所有安装的第三方模块

             卸载模块

             npm uninstall mkname(模块名称)

             卸载jquery就是 npm uninstall jquery

             清单指令

             npm list 当前所有的第三方模块列出来

             查看给定模块的信息

             npm info modelName(模块名字)

             指定模块版本安装

             npm install modename@版本号

    package.json文件

      package.json文件作用

        1,用来描述工程信息

        2,描述第三方模块之间的依赖

        注意:1,通过npm init 指令来创建package.json

           2,快速创建package.json文件的命令 npm init -y

              3,给package.json文件增加模块依赖的指令

              npm install 模块名称 --save(将模块增加到当前的package.json中)

    模块对象的属性

      什么是模块对象?

        模块:核心模块(nodejs内置), 第三方模块(第三方组织发布), 自定义模块(开发人员)

        每一个文件在nodejs平台上,每个文件都是一个模块。

        定义了一个models他在模块内就是一个模块对象。每一个模块内定义了一个对象就是model(模块)

        每一个model对象都代表当前模块。使用mode.exports时才能把整个模块文件作为一个对象抛出

        模块对象的属性:exports就是model.exports定义属性。

    将模块定以类的方式抛出

    将模块定义分类

      //class实在ECMAScript2015版本后加入的 es6

        class关键字:确定了一个类型 student以类的概念存在

        //创建一个student类

        student.js内容:

        class stydent {

        //构造函数 是默认自动执行

        //初始化name age 的属性

        //如果在class不写构造函数类会自动初始化一个无参的构造函数

        constructor(n,a){

        this.name = n

        this.age = a 

         }

        //新建一个方法

        add=function(naem,age){

          console.log("this.name"+"今年"+this.age+"岁")  

          }

        }

        //把一个类按模块形式抛出

        moudle.exports=student

        demo.js内容

        //引入

         var student =require(“./student.js”) 

           //通过类student实例化一个对象

           var s1 =new student("tom",3)

           s1.add()

    npm发布流程

      1,创建一个npm账号

      2,登录npm账号

      3,创建工程项目 npm init 包名称 -y

      4,将工程项目包切换到npm

      5,执行命令 npm publish

    安装淘宝镜像

      npm中的淘宝镜像 cnpm

      镜像:把国外的数据放到国内的服务器上。

      cnpm就是把npm平台上的模块功能文件,都放到淘宝的服务器上。国内用户访问就方便了。

      npm install 模块,

      cnpm把npm的功能都复制了一遍,npm的命令在cnpm上都可以使用。

      注:使用 设置淘宝镜像地址

      安装cnpm

      通过npm指令来安装:npm install cnpm -g --registry=https://registry.npm.taobao.org

    模块的管理

      1,从node,modules文件夹下边加载

      2,从package.json文件目录下加载

      3,从全局目录中加载

      注:

  • 相关阅读:
    [实战]MVC5+EF6+MySql企业网盘实战(27)——应用列表
    [实战]MVC5+EF6+MySql企业网盘实战(26)——音乐列表
    [实战]MVC5+EF6+MySql企业网盘实战(25)——种子列表
    [实战]MVC5+EF6+MySql企业网盘实战(24)——视频列表
    [实战]MVC5+EF6+MySql企业网盘实战(23)——文档列表
    [Angularjs]angular ng-repeat与js特效加载先后导致的问题
    [实战]MVC5+EF6+MySql企业网盘实战(22)——图片列表
    [实战]MVC5+EF6+MySql企业网盘实战(21)——网盘操作日志
    await和async在一般处理程序中的使用
    mormot当作内存数据库(缓存)使用
  • 原文地址:https://www.cnblogs.com/songbingqi/p/12068985.html
Copyright © 2020-2023  润新知