NodeJS2-1环境&调试----CommonJS
CommonJS
- 每个文件是一个模块,有自己的作用域
- 在模块内部module变量代表模块本身
- module.exports属性代表模块对外接口
require规则
- /表示绝对路径,./表示型对于当前文件的(相对路径)
- 支持js,json,node拓展名,不写依次尝试,都找不到就会报错
- 不写路径则认为build-in模块或者各级node_modules内的第三方模块
require特性
- module被加载的时候执行,加载后缓存(只加载一次)
- 一旦出现某和模块被循环加载,就只输出已经执行的部分,还未执行的部分不会输出
require特性1的例子:
02_cusmod.js
console.log('this is a module');
const testVar = 100;
function test(){
console.log(testVar);
}
//对外进行两个输出
module.exports.testVar = testVar
module.exports.testFn = test;
调用它的 04_cache.js
require('./02_cusmod.js');
require('./02_cusmod.js');
如果不是只加载一次的话,那么运行04_cache.js控制台就会输出两次 this is module 这句话
可是
require特性2的例子:(日常要避免出现这种情况)
05_modA.js
module.exports.test = 'A';
const modB = require('./06_modB.js')
console.log('modA的执行结果'+modB.test);
module.exports.test = 'AA'
06_modB.js
module.exports.test = 'B'
const modA = require('./05_modA.js')
console.log('modB的执行' + modA.test);
module.exports.test='BB'
07_main.js
const modA = require('./05_modA.js')
const modB = require('./06_modB.js')//因为modA 里面已经调用了modB,所以这里调用的modB只是从缓存里读出
console.log(modA.test);
console.log(modB.test);
运行结果:
NodeJS2-1环境&调试----CommonJS的更多相关文章
- 如何通过webpack和node来实现多个静态页面html,多个入口,能打包能热加载开发环境调试
demo已经传到了github,地址:https://github.com/13476075014/04.node-vue-project/tree/master/03.singlewebpack: ...
- 20175215 2018-2019-2 第一周Linux虚拟机环境调试及java程序调试学习总结
一.Linux虚拟机的java环境调试 之前直接在终端中使用export直接配置java的运行环境,导致每次终端被重启的时候都要重新配置java的运行环境,直到看到老师的博客Intellj IDEA ...
- 移动端调试 — Pure|微信环境调试方案|App环境调试方案
Pure 详细参见: 中文文档:http://leeluolee.github.io/2014/10/24/use-puer-helpus-developer-frontend/ 源码:https:/ ...
- linux--->lnmp环境调试环境配置
lnmp环境调试环境配置 nginx是一个web服务器,因此nginx的access日志只有对访问页面的记录,不会有php 的 error log信息. nginx把对php的请求发给php-fpm ...
- TI-Davinci开发系列之二使用CCS5.2TI Simulator模拟环境调试DSP程序
上接博文<TI-Davinci开发系列之一CCS5.2的安装及注意事项>. 如何没有实际的开发板或者仿真器,可以使用CCS自带的TISimulator来学习与熟悉CCS开发调试环境.下面是 ...
- Android开发环境——调试器 DDMS相关内容汇总
Android开发环境将分为SDK相关内容.Eclipse ADT相关内容.模拟器AVD相关内容.调试器DDMS相关内容.日志LogCat相关内容.连接驱动ADB相关内容.内存泄露检测工具MAT ...
- web移动端生产环境调试
如果是开发环境,比较容易: 最笨的方法是手机开QQ电脑开QQ把做好的页面传给手机QQ直接打开.. 参考: http://blog.allenm.me/2014/05/mobile-web-debug- ...
- quick cocos2d-x 2.2.4 window环境调试
BabeLua简介 BabeLua是一款基于VS2012/2013(简称VS)的免费开源的Lua集成开发环境,在Lua编辑和调试方面,具有如下功能和特性: ●Lua语法高亮 ●语法检查 ●自动补全 ● ...
- NodeJS2-6环境&调试----debug
13_debug.js //测试的脚本 function test1() { const a = parseInt(Math.random() * 10); const b = parseInt(Ma ...
随机推荐
- MachO文件详解--逆向开发
今天是逆向开发的第5天内容--MachO文件(Mac 和 iOS 平台可执行的文件),在逆向开发中是比较重要的,下面我们着重讲解一下MachO文件的基本内容和使用. 一.MachO概述 1. 概述 M ...
- 如何编译和使用自定义Qt动态链接库 | how to build and use user-defined qt library
本文首发于个人博客https://kezunlin.me/post/cf628dd8/,欢迎阅读! guide to build qt library and use in another proje ...
- sql语句执行步骤详解
目录 一.准备工作 二.SQL逻辑查询语句执行顺序 三.SQL书写习惯 一.准备工作 先来一段伪代码,首先你能看懂么? SELECT DISTINCT <select_list> FROM ...
- 在.NET Core中使用Jwt对API进行认证
在.NET Core中想用给API进行安全认证,最简单的无非就是Jwt,悠然记得一年前写的Jwt Demo,现在拿回来改成.NET Core的,但是在编码上的改变并不大,因为Jwt已经足够强大了.在项 ...
- 影响ES相关度算分的因素
相关性算分 指文档与查询语句间的相关度,通过倒排索引可以获取与查询语句相匹配的文档列表 如何将最符合用户查询需求的文档放到前列呢? 本质问题是一个排序的问题,排序的依据是相关性算分,确定倒排索引哪 ...
- 关于新浪和腾讯短网址API接口的调用
最新新浪t.cn短网址和腾讯url.cn短网址生成api接口,快速生成t.cn及url.cn超短链接,接口都可以正常调用,觉得不错可以收藏一下. 新浪短网址api接口:1. http://yldwz. ...
- 品优购详情页---产品详细信息区域 iteminfo_wrap
产品详细信息区域为整个大盒子命名为: iteminfo_wrap 1号盒子命名为:sku_name 2号盒子命名为:news 3号盒子命名为:summary step1:3个盒子搭建框架,以及完成前两 ...
- python logging模块小记
1.简单的将日志打印到屏幕 import logging logging.debug('This is debug message') logging.info('This is info messa ...
- MVC WebApi 返回字符串
[HttpGet] public HttpResponseMessage GetWebConfigValue(string key) { var response = Request.CreateRe ...
- JS 输出指定范围内的随机数
/* 自定义函数 */ function GetRandomNum(Min,Max){ var Range = Max - Min; var Rand = Math.random(); return( ...