1.js
/*
* 模块的使用和加载机制
* */
/*
* 一个文件就是一个模块
* 每个模块都有自己的作用域
*
* 我们使用var来声明变量,他是当前模块下的变量,并不是全局的(global)变量
* */
var a= 100;
console.log(a);
global.a=200;
console.log(a);
console.log(global.a);
console.log("=========__filename:==============");
//__filename:当前文件被解析后的绝对路径
console.log(__filename);
console.log("==========模块加载系统=============");
/*
* 模块加载系统
*
* require('./模块');
* */
require("./2.js");
/*
* 模块加载机制:
* 路径:
* 绝对路径 F:/node/腾讯课堂/module/2.js
* 相对路径:
* require("2.js"); 注意:这样不加 ./ 是加载node中的核心模块,或者是node_modules
* require("./2"); 注意:1.首先按照加载模块名称的文件进行查找
* 2.如果没有查找到,则会在模块文件名称后面加上.js的后缀,进行查找
* 3.如果还没有找到,则会在模块文件名称后加上.json的后缀,进行查找
* 4.如果还没有找到,则会在模块文件名称后加上.node的后缀,进行查找
* 查找机制是按照:先文件名称 -> .js -> .json -> .node
* */
console.log("========绝对路径=============");
require("F:/node/腾讯课堂/module/2.js");
console.log("========相对路径=============");
//require("2.js"); //注意:这样不加 ./ 是加载node中的核心模块,或者是node_modules
//require("./2"); //注意:1.首先按照加载模块名称的文件进行查找
// 2.如果没有查找到,则会在模块文件名称后面加上.js的后缀,进行查找
// 3.如果还没有找到,则会在模块文件名称后加上.json的后缀,进行查找
// 4.如果还没有找到,则会在模块文件名称后加上.node的后缀,进行查找
2.js
console.log("这是2.js模块");
2
console.log("这是没有后缀的2文件");