zoukankan      html  css  js  c++  java
  • Node.js 模块和包管理器NPM

    Node.js模块可以让文件导入其他 Node.js 文件公开的功能。
    一个 Node.js文件就是一个模块,这个文件可能是JavaScript 代码、JSON 或者编译过的C/C++ 扩展。

    导出有两种方式。

    方式一:使用module.exports导出指定对象

    新建一个module1.js文件,导出

    const user = {
        userName: 'admin',
        password: '123'
    };
    
    module.exports = user;

    新建一个getModule1.js文件,导入

    const user = require('./module1');
    console.log(user.userName, user.password); //admin 123

    方式二:将导出的对象添加为 exports 的属性

    新建一个module2.js文件,导出

    const user = {
        userName: 'admin',
        password: '123'
    };
    exports.user = user;
    /*
    上面也可写成这样:
    exports.user = {
        userName: 'admin',
        password: '123'
    };
    */
    exports.age = 22;

    新建一个getModule2.js文件,导入

    const user = require('./module2').user;
    const age = require('./module2').age;
    console.log(user.userName, user.password); //admin 123
    console.log(age); //22
    
    //也可以写成这样
    const items = require('./module2');
    console.log(items.user.userName, items.user.password); //admin 123
    console.log(items.age); //22

    包是在模块基础上更深一步的抽象,将某个独立的功能封装起来,用于发布、更新、依赖管理和版本控制。

    最简单的包是一个作为文件夹的模块。
    建立一个文件夹person,在里面建立一个文件index.js

    class Person{   
        constructor(name){
            this.name = name;
        }
        sayName(){
            console.log(this.name);
        }
    }
    module.exports = Person;

    在person上一层建立一个文件getPerson.js引用包

    const Person = require('./Person');
    const person = new Person("aa");
    person.sayName(); //aa

    NPM

    NPM是随同NodeJS一起安装的默认包管理工具,通过NPM可以安装、共享、分发代码,管理项目依赖关系。

    在cmd命令提示符下输入npm -v,可以显示版本号:

    C:Userslc>npm -v
    6.14.11

    安装包分为本地安装和全局安装。

    本地安装,安装位置在当前目录的node_modules子目录下(所以输入命令之前先cd切换到项目目录路径)

    npm install <package-name>

    引用包:

    const  xx = require('package-name')

    全局安装,安装位置可通过 npm root -g 查询,Windows下在“C:Users本机用户名AppDataRoaming pm ode_modules”

    npm install -g <package-name>

    更新单个包

    npm update <package-name>

    CNPM

    CNPM是淘宝推出的npmjs.org 镜像,可代替官方版本。
    输入下面命令安装:

    npm install -g cnpm --registry=https://registry.npm.taobao.org

    查看版本:

    cnpm -v
  • 相关阅读:
    366. Find Leaves of Binary Tree输出层数相同的叶子节点
    716. Max Stack实现一个最大stack
    515. Find Largest Value in Each Tree Row查找一行中的最大值
    364. Nested List Weight Sum II 大小反向的括号加权求和
    156. Binary Tree Upside Down反转二叉树
    698. Partition to K Equal Sum Subsets 数组分成和相同的k组
    244. Shortest Word Distance II 实现数组中的最短距离单词
    187. Repeated DNA Sequences重复的DNA子串序列
    java之hibernate之基于主键的双向一对一关联映射
    java之hibernate之基于主键的单向一对一关联映射
  • 原文地址:https://www.cnblogs.com/gdjlc/p/14561383.html
Copyright © 2011-2022 走看看