node基础 npm、module、exports、require
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的更多相关文章
- node基础再现--module.exports 和exports
实际上,最最基础的方法,最最原始的方法是module.exports,至于exports,是为了方便书写才出来的,应该说,module.exports 包含exports,所工作的范围更加的广泛! m ...
- es6 import export 与 node 中的module.exports exports
1.export a.export 变量 export var name = 'jack';export var age = 18;//等同于 var name = 'jack';var age = ...
- 用法:node模块都具备的方法(exports、module、require、__filename、__dirname)
凡是玩弄nodejs的人,都明白,每一个模块都有exports.module.require.__filename.__dirname的方法 清楚了解方法的用法后,玩转node就等于清楚了日常讲话的内 ...
- Module.exports 和 exports
Module.exports 和 exports 在node中,没有全局作用域,只有模块作用域,外部访问不到内部,内部也访问不到外部,那么模块间如何通信 当加载一个模块的时候,被加载模块的代码在第一次 ...
- nodejs里的module.exports和exports的关系
关于node里面的module.exports和exports的异同,网上已经有很多的资料,很多的文章,很多的博客,看了很多,好像懂了,又好像不懂,过几天又不懂了...大致总结是这样的: //下面这种 ...
- Node.js中exports,module.exports以及require方法
在Node.js中,使用module.exports.f = ...与使用exports.f = ...是一样的,此时exports就是module.exports的一种简写方式.但是,需要注意的是, ...
- Node的require和module.exports
node编程中最重要的思想之一就是模块,在 Node.js 模块系统中,每个文件都被视为独立的模块.这是这个思想,让javascript的大规模工程成为可能.模块化编程在前端大肆盛行,在node中导出 ...
- node (02 CommonJs 和 Nodejs 中自定义模块)顺便讲讲module.exports和exports的区别 dependencies 与 devDependencies 之间的区别
CommonJS 规范的提出,主要是为了弥补当前 JavaScript 没有标准的缺陷.它的终极目标就是:提供一个类似 Python,Ruby 和 Java 语言的标准库,而不只是停留在小脚本程序的阶 ...
- (转)Node.js module.exports与exports
本文转自Node.js module.exports与exports 作者: chemdemo 折腾Node.js有些日子了,下面将陆陆续续记录下使用Node.js的一些细节. 熟悉Node.js的童 ...
随机推荐
- oracle语句insert into select如何加后续插入条件
oracle语句insert into select如何加后续插入条件 2014-01-21 10:48匿名 分类:其他编程语言 | 浏览 2746 次 oracle中有批量插入语句insert i ...
- tomcat健康检查监控脚本
#!/bin/sh#自动监控tomcat脚本并且执行重启操作#获取tomcat_IDTomcatID=`ps -ef|grep tomcat|grep -v "grep"|grep ...
- [国家集训队]JZPFAR
嘟嘟嘟 k-d tree模板之二:查询第k大距离.(所以是怎么上黑的) 因为k-d tree的查询就是暴力嘛,所以我就想到了一个很暴力的做法:每一次查询用一个长度为k的优先队列维护.按距离递增,编号递 ...
- 【转】这五种方法前四种方法只支持IE浏览器,最后一个方法支持当前主流的浏览器(火狐,IE,Chrome,Opera,Safari)
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...
- Unicode(UTF-8, UTF-16)令人混淆的概念(转)
文章转自http://www.cnblogs.com/kingcat/archive/2012/10/16/2726334.html (http://swiftlet.net/archives/cat ...
- springmvc+ajax文件上传
环境:JDK6以上,这里我是用JDK8,mysql57,maven项目 框架环境:spring+springmvc+mybaits或spring+springmvc+mybatis plus 前端代码 ...
- sd错误---2
一道水题 绊了我,居然 愿意很简单 我多打了一遍int main 阴错阳差的 自定义的函数上面 出现了int main 所以 以后想想好思路(是那种很全很全的思路) 再写代码 一定要避免sd错误!!! ...
- jenkins编译jar包 报connection连接错误
原因是因为编译启动连接了注册中心 eureka.client.service-url.defaultZone=http://localhost:8093/eureka/ eureka.client.r ...
- centos 7 安装python3.5.1
系统: [root@localhost ~]# cat /etc/centos-release CentOS Linux release 7.2.1511 (Core) 内核: [root@local ...
- Android Universal Image Loader java.io.FileNotFoundException: http:/xxx/lxx/xxxx.jpg
前段时间在使用ImageLoader异步加载服务端返回的图片时总是出现 java.io.FileNotFoundException: http://xxxx/l046/10046137034b1c0d ...