module

模块、包:可以认为是一个代码包,package,提供特定的功能(暴露给外界接口,让外界调用)

exports

输出、导出:导出模块中的各种类型的变量,以及各种方法,导出之后,才可以被外界访问。

require

包含、引入:引入一个模块之后,可以使用模块中导出的各个变量以及方法。

npm

nodejs包管理:即模块管理,专门用于下载和安装模块,以及模块所需的依赖

示例1--使用module、exports、require

有demo.js和test.js两个文件,处于同级目录下。

demo.js

// exports.a = 10;
// exports.say = function(v){
// console.log(v);
// } // 等价于:
module.exports = {
a:10,
say:function(v){
console.log(v);
}
}

  

test.js

const demo = require("./demo.js")
//等价于 const demo = require("./demo")
console.log(demo.a);
demo.say("hello world");

  

使用require的时候,注意:

  1、如果是自定义的模块,那么就要在模块名之前加上表示路径的符号,如果是同级目录,就加"./",如果是上级目录,就加"../",即要加绝对路径或者相对路径。

  2、如果是全局模块(即模块的路径是在根目录的node_modules目录下),那么就不要写绝对路径或者相对路径,直接写模块名即可。

  3、后缀".js"可以省略

所以,如果觉得使用require的时候,写路径太麻烦,可以将demo.js放到node_modules目录下。之后,demo.js就成为了全局模块了。

使用npm

npm和php的composer功能一样。

常用的命令:

  npm install package-name

  npm uninstall package-name

  npm update package-name

  npm publish

  npm login

  npm adduser

node基础 npm、module、exports、require的更多相关文章

  1. node基础再现--module.exports 和exports

    实际上,最最基础的方法,最最原始的方法是module.exports,至于exports,是为了方便书写才出来的,应该说,module.exports 包含exports,所工作的范围更加的广泛! m ...

  2. es6 import export 与 node 中的module.exports exports

    1.export a.export 变量 export var name = 'jack';export var age = 18;//等同于 var name = 'jack';var age = ...

  3. 用法:node模块都具备的方法(exports、module、require、__filename、__dirname)

    凡是玩弄nodejs的人,都明白,每一个模块都有exports.module.require.__filename.__dirname的方法 清楚了解方法的用法后,玩转node就等于清楚了日常讲话的内 ...

  4. Module.exports 和 exports

    Module.exports 和 exports 在node中,没有全局作用域,只有模块作用域,外部访问不到内部,内部也访问不到外部,那么模块间如何通信 当加载一个模块的时候,被加载模块的代码在第一次 ...

  5. nodejs里的module.exports和exports的关系

    关于node里面的module.exports和exports的异同,网上已经有很多的资料,很多的文章,很多的博客,看了很多,好像懂了,又好像不懂,过几天又不懂了...大致总结是这样的: //下面这种 ...

  6. Node.js中exports,module.exports以及require方法

    在Node.js中,使用module.exports.f = ...与使用exports.f = ...是一样的,此时exports就是module.exports的一种简写方式.但是,需要注意的是, ...

  7. Node的require和module.exports

    node编程中最重要的思想之一就是模块,在 Node.js 模块系统中,每个文件都被视为独立的模块.这是这个思想,让javascript的大规模工程成为可能.模块化编程在前端大肆盛行,在node中导出 ...

  8. node (02 CommonJs 和 Nodejs 中自定义模块)顺便讲讲module.exports和exports的区别 dependencies 与 devDependencies 之间的区别

    CommonJS 规范的提出,主要是为了弥补当前 JavaScript 没有标准的缺陷.它的终极目标就是:提供一个类似 Python,Ruby 和 Java 语言的标准库,而不只是停留在小脚本程序的阶 ...

  9. (转)Node.js module.exports与exports

    本文转自Node.js module.exports与exports 作者: chemdemo 折腾Node.js有些日子了,下面将陆陆续续记录下使用Node.js的一些细节. 熟悉Node.js的童 ...

随机推荐

  1. ethereum/EIPs-191 Signed Data Standard

    https://github.com/ethereum/EIPs/blob/master/EIPS/eip-191.md eip title author status type category c ...

  2. 遗传算法MATLAB工具包简介

    下面介绍的函数都是Sheriffed大学遗传算法工具包内的常用函数 复制矩阵 B=rep(A,RepN) 1 A表示要被复制的矩阵,RepN包含每个方向的复制次数,RepN(1)代表纵向复制次数,Re ...

  3. CTS 如何处理 gating clock 和 generated clock

    1. CTS 时会将 ICG cell 作为 implicit nostop pin 处理,直接穿透,以 ICG cell 后面的 sink 点作为真正的 sink 来长 tree 2. CTS 时会 ...

  4. nginx的反向代理proxy_pass指令

    1. 首先什么是代理服务器?客户机发送请求时,不会直接发送到目的主机,而是先被代理服务器收到,代理服务器收到客服机的请求后,再向目的机发出,目的机就会返回数据给客户机,在返回给客户机之前,会被代理服务 ...

  5. js深度克隆对象

    js深度克隆对象 js深度克隆对象简单的记录一下,如下代码: var obj = { typeOf: function(obj) { const toString = Object.prototype ...

  6. postfix 邮件服务的安装及详解

    该实验系统:cetnos 6.5 sendmail:性能好,设置复杂,适合老手 qmail:体积小260+k ,模块化.需要做二次开发,适合对邮件性能有要求的 postfix:前身是sendmail, ...

  7. STM32F103C8架构

    通常咱们拿到芯片的datasheet第一点需要关注的就是芯片的系统架构.下图就是STM32F103的系统架构图: 首先cortex内核是ARM公司的数字电路流片的产品,数字电路也就是逻辑电路经过FPG ...

  8. java 面向对象String类

    1.String类:String 是不可变字符序列 1) char charAt(int index)返回字符串中第 index 个字符. 2) boolean equalsIgnoreCase(St ...

  9. java 面向对象基本知识

    1.继承 使用extends实现继承 只有单继承 子类继承父类,可以得到父类的全部属性和方法 (除了父类的构造方法),但不见得可以直接访问(比如,父类私有的属性和方法).  instanceof是二元 ...

  10. Omi框架学习之旅 - 插件机制之omi-finger 及原理说明

    以前那篇我写的alloyfinger源码解读那篇帖子,就说过这是一个很好用的手势库,hammer能做的,他都能做到, 而且源码只有350来行代码,很容易看懂. 那么怎么把这么好的库作为omi库的一个插 ...