Node.js中的模块化

好处:

复用性高,一次定义,多次使用
前端模块化

AMD
AMD的实现需要使用 require.js
CMD
CMD的实现需要使用 sea.js 【 不更新 】
Common.js
Node.js使用了Common.js规范
内置模块引用
自定义模块引用
第三方模块引用
EcmaScript 模块化
es5
module.export / exports
es6
export default / export
export default 默认导出一个 , import xx from xxx
export 批量导出,导出多个, import { xxx } from xxx

Node.js中内置模块使用

  1. 格式: var/let/const 变量名 = require(路径) 内置模块路径就是模块名称
  2. 使用内置模块身上的方法
    const fs = require( 'fs' )

    fs.readFile('../dist/1.txt','utf8',( error,docs ) => {
    console.log( docs )
    })

    request第三方模块

    作用: 数据请求
    使用:

    1. 安装

      npm/cnpm i/install request --dev-save/-D 开发环境安装
      npm/cnpm i/install request --save/-S 生产环境安装

    2. 导入
      let/var/const 变量名 = require( 模块名称 )
    3. 使用

在Node.js文件中进行数据请求,不存在跨域
const request = require( 'request' )

request('https://m.lagou.com/listmore.json',( error,response,body ) => {
// 参数说明: error 错误信息 response 响应结果 body 获取的数据

console.log( body )

})

自定义模块

步骤:
1.创建模块 【 Function / Object / String 】
const name = {
firstName:'show',
lastName: 'lu'
}
2.导出模块
- module.exports = 模块名称 导出一个
- module.exports = {} // 导出多个
const crad = {
sex: 'nan',
age: '18'

};
module.exports = name;

module.exports = {
name,crad
};
3.导入模块
const { name } = require( './name.js' )

const { name,crad } = require( './age.js' )

Nodejs的模块化的更多相关文章

  1. 浅析 Nodejs 模块化

    本文只讨论 CommonJS 规范,不涉及 ESM 我们知道 JavaScript 这门语言诞生之初主要是为了完成网页上表单的一些规则校验以及动画制作,所以布兰登.艾奇(Brendan Eich)只花 ...

  2. 闲聊——浅谈前端js模块化演变

    function时代 前端这几年发展太快了,我学习的速度都跟不上演变的速度了(门派太多了,后台都是大牛公司支撑类似于facebook的react.google的angular,angular的1.0还 ...

  3. Nodejs学习路线图

    前言 用Nodejs已经1年有余,陆陆续续写了48篇关于Nodejs的博客文章,用过的包有上百个.和所有人一样,我也从Web开发开始,然后到包管 理,再到应用系统的开发,最后开源自己的Nodejs项目 ...

  4. nodejs上传图片并显示的例子

    目标 1. 在浏览器地址栏输入“http://demos/start”,进入欢迎页面,页面有一个文件上传表单: 2. 选择一张图片并提交表单,文件被上传到"http://demos/uplo ...

  5. NodeAsp——像开发NodeJS应用一样玩转ASP

    NodeAsp是一套Classic ASP框架,借鉴了NodeJS的模块化思想,让您可以使用全新的理念愉快地书写ASP程序. NodeAsp使用遵循CommonJS规范的require,完全兼容Nod ...

  6. nodeJs学习过程之一个图片上传显示的例子

    目标 1. 在浏览器地址栏输入“http://demos/start”,进入欢迎页面,页面有一个文件上传表单: 2. 选择一张图片并提交表单,文件被上传到"http://demos/uplo ...

  7. nodejs入门学习笔记一——一个完整的http路由服务实现

    开始学习nodejs! 参考书籍:The Node Beginner Book ,所有问题和讨论都围绕本书. 1.学习nodejs需要具备的基础知识: js基本语法,基本上写过前端的都能满足,原生js ...

  8. nodeJs学习路线

    转载自:http://blog.fens.me/nodejs-roadmap/ 前言 用Nodejs已经1年有余,陆陆续续写了48篇关于Nodejs的博客文章,用过的包有上百个. 和全部人一样,我也从 ...

  9. ES6入门十二:Module(模块化)

    webpack4打包配置babel7转码ES6 Module语法与API的使用 import() Module加载实现原理 Commonjs规范的模块与ES6模块的差异 ES6模块与Nodejs模块相 ...

随机推荐

  1. CSS-动画,让图片上的图形有涨起来的效果(逐渐变高)和(逐渐变长)

    效果图: html: <div class="inner3"> <div class="over"> <img src=" ...

  2. Bugku web 计算器

    计算器 打开网页,想输入正确的计算结果发现只输进去一位数??? 遇事不决先F12看一眼源码,发现flag

  3. mybatis中延迟加载Lazy策略

    延迟加载: lazy策略原理:只有在使用查询sql返回的数据是才真正发出sql语句到数据库,否则不发出(主要用在多表的联合查询) 1.一对一延迟加载: 假设数据库中有person表和card表:其中p ...

  4. ORB an efficient alternative to SIFT or SURF

    AbstractFeature matching is at the base of many computer vision problems, such as object recognition ...

  5. 一本通&&洛谷 ——靶型数独——题解

    题目传送 主要是搜索顺序不同导致效率千差万别. 联想人做数独的策略,总是先填可填数最少的那个空,再填选择第二少的...其实这种策略就造就了一个深度浅时分支也较少的搜索树.合适的搜索顺序再配合剪枝==A ...

  6. layer.open()中属性content在IE 8中提示“网页无法显示”

    将图中的${ctx}值为 将${ctx}更改为BASEURI 如图: 若是在IE8上中弹出框中还是显示网页无法显示.可以改为 content:‘http://127.0.0.1:8081/projec ...

  7. LDAP常见错误码

    LDAP_SUCCESS = 0 //成功 LDAP_OPERATIONS_ERROR = 1 //操作错误 LDAP_PROTOCOL_ERROR = 2 //协议错误 LDAP_TIME_LIMI ...

  8. SVM 笔记整理

    支持向量机 一.支持向量机综述 1.研究思路,从最特殊.最简单的情况开始研究 基本的线性的可分 SVM 解决二分类问题,是参数化的模型.定义类标记为 \(+1\) 和 \(-1\)(区别于感知机,感知 ...

  9. tree 命令

    LMXMN117:Mac Driver will.wei$ tree -N >/tmp/savs.txt       (1)tree -a 显示所有文件和目录   (2)tree -d 显示目录 ...

  10. Linux内核调试方法总结之ltrace

    ltrace [用途] 库文件调用跟踪器,Linux内核内建命令,用法类似strace [命令格式] [参数说明][详细说明参考man ltrace帮助文档] -D 打印调试信息 01-DEBUG_G ...