Node实现CommonJS规范

  -因此node可以使用模块化的方式组织代码结构

简单命令行加减运算

  -代码

  

  命令行执行

  

V8对es6的支持

  -直接支持:const、模版字符串等。

  -严格模式支持:let等

  -根本不支持

  

模块化代码结构

  -Node采用的模块化结构是按照  CommonsJS规范

  -模块与文件是一一对应关系,即加载一个模块,实际上就是加载对应的一个模块系统。

将上述代码进行模块化

  -将计算逻辑提取

    

  -修改代码,使用模块化

  

  -node里面可以使用模块化
  -node模块化使用commonjs,不用define
  -es6自动属性

模块的分类

  -文件模块

    --就是我们自己写的功能块文件

  -核心模块

    --node平台自带的一套基本的功能模块>node平台的API

  -第三方模块

    --社区或第三方个人开发的功能模块,可以直接拿回来用

模块化开发的流程

  -创建模块>new demo.js

  -导出成员>module.exports = {}

  -载入模块>car demo = require()

  -使用模块>demo.method()

模块内全局对象

  -我们在之后的文件操作中必须使用绝对路径

  -__dirname

    --用于获取当前文件所在目录的完整路径

    --在REPL环境无效

  -__filename

    --用来获取当前文件的完整路径

    --在REPL环境同样无效

  -dirname、filename因为在REPL环境中无效,因此认为其是伪全局对象

 

模块内部私有空间

  -不导出,外界就不能访问,不会污染全局

  

模块的定义

  -一个新的JSwe文件就是一个模块

  -一个合格的模块应该是有导出成员的,否则模块就失去了定义的价值

  -模块内部是一个独立(封闭)的作用域>模块与模块之间不会冲突

  -模块之间必须通过导出或导入的方式协同

  -导出方式

     --exports.name = value;

     --module.exprots = {};

Node六-模块化的更多相关文章

  1. Node.js模块化教程

    Node.js模块化教程 下载安装node.js 创建项目结构 |-modules |-module1.js |-module2.js |-module3.js|-app.js|-package.js ...

  2. Node.js 模块化你所需要知道的事

    一.前言 我们知道,Node.js是基于CommonJS规范进行模块化管理的,模块化是面对复杂的业务场景不可或缺的工具,或许你经常使用它,但却从没有系统的了解过,所以今天我们来聊一聊Node.js模块 ...

  3. node.js 模块化

    模块是编写稍大一点点的程序 一般就会将代码模块化 在node.js中每一个文件就是一个模块,而文件路径就是模块名 怎么使用模块? 在编写某个模块是都有三个预先定义(require,exports,mo ...

  4. 鼓捣phantomjs(二) node.js模块化集成

    著作权所有:http://www.cnblogs.com/zeusro/ 引用(爬虫)不给稿费的,切你jj 追忆似屎年华 在上一篇post(http://www.cnblogs.com/zeusro/ ...

  5. Slickflow.NET 开源工作流引擎基础介绍(六)--模块化架构设计和实践

    前言:在集成Slickflow.NET 引擎组件过程中,引擎组件需要将用户,角色等资源数据读取进来,供引擎内部调用:而企业客户都是有自己的组织架构模型,在引入模块化架构设计后,引擎组件的集成性更加友好 ...

  6. 微信小程序笔记<六>模块化 —— module.exports

    微信小程序中所有 js 文件作用域皆为独立的,每一个 js 文件即为一个模块.模块与模块之间的引用通过 module.exports 或 exports 对外暴露接口. 注意: exports 是 m ...

  7. node.js模块化写法入门

    子模块的写法: function SVN(){ console.log('svn initialized'); return this; } function getInstance() { cons ...

  8. node服务器端模块化-commomjs

    modele.js getmodule.js 用exports 返回的是一个对象中的每个属性

  9. ES6和node的模块化

    ES6 模块的设计思想是尽量的静态化,使得编译时就能确定模块的依赖关系,以及输入和输出的变量.CommonJS 和 AMD 模块,都只能在运行时确定这些东西.比如,CommonJS 模块就是对象,输入 ...

随机推荐

  1. 分布式进阶(七)Ubuntu下如何进入 Docker 容器

    如何进入 Docker 容器 英文原文:How to enter a Docker container 在这篇文章里,我将讨论四种连接Docker容器并与其进行交互的方法.例子中所有的代码都可以在Gi ...

  2. C++ Primer 有感(标准库map类型)

    map是键-值对的集合.map类型通常可以理解为关联数组:可以使用键作为下标获取一个值,正如内置数组一样.而关联的本质在于元素的值于某个特定的键相关联,而并非通过元素在数组中的位置获取. 1.map对 ...

  3. XML解析之JAXP案例详解

    根据一个CRUD的案例,对JAXP解析xml技术,进行详细的解释: 首先,已知一个xml文件中的数据如下: <?xml version="1.0" encoding=&quo ...

  4. (NO.00001)iOS游戏SpeedBoy Lite成形记(二十四)

    我们回到Xcode,打开GameScene.m,首先要添加实例变量: CCNode *_trackLine; 为了根据选中的赛道更新_trackLine的位置,我们添加一个显示方法: -(void)s ...

  5. Xp输入法不见了

    早上打开电脑忽然发现以前的输入法(包括搜狗,智能ABC输入法)都不见了,光剩下微软拼音,而且添加输入法的按键是灰色的,不能使用 解决的办法: 打开记事本,输入以下内容:    ___________ ...

  6. hive基本的操作语句(实例简单易懂,create table XX as select XX)

    hive建表语句DML:https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL#LanguageManualDDL-Cr ...

  7. AngularJS进阶(二十一)Angularjs中scope与rootscope区别及联系

    Angularjs中scope与rootscope区别及联系 scope是html和单个controller之间的桥梁,数据绑定就靠他了.rootscope是各个controller中scope的桥梁 ...

  8. 03_Nginx添加新模块

     1 进入nginx安装目录,查看nginx版本及其编译参数: [root@localhost nginx]# ./nginx -V nginx version: nginx/1.8.0 buil ...

  9. mysql导入导出.sql数据

    导入sql的命令:source "路径名"+/mytest_emp_dept.sql 常用source 命令 进入mysql数据库控制台, 如mysql -u root -p my ...

  10. linux内核 container_ofC语言之应用

    之前在剖析内核链表的文章中就有说到这个 container_of宏展开后的应用技巧. //offset(struct list , list);----->展开后((size_t) & ...