代碼注釋里已經描述的非常的清晰,這里就不多廢話了,直接奉上代碼:
			/*
			 * 在node中所有的腳本文件都是一個模塊文件,因此1.js也是一個模塊文件,又由于該文件是在命令行窗口中通過node命令被直接運行的,因此在node中該模塊文件被定義為應用程序的主模塊
			 * 可以用如下的方法檢測出當前的模塊是否是主模塊
			 * */
			if(module===require.main){
			    console.log("當前模塊時主模塊");
			}
			//輸出結果:當前模塊時主模塊
			//2.js代碼
			var name="思思博士";
			console.log(name);
			exports.name=name;
			//1.js代碼:
			var two=require("./2.js");
			var two=require("./2.js");
			//雖然引用了2次,但是只是執行了1次console.log(name)的輸出.
			/*require.resolve(str)
			 * 在node中,可以使用這個函數來查詢某個模塊文件的帶有完整絕對路徑的文件名.
			 * */
			var url=require.resolve("./2");
			console.log(url);
			//輸出結果:E:/node/gys/2.js
			/*require.cache
			 * 在node中,這個屬性代表了所有已被加載模塊的緩存區.
			 * */
			var two=require("./2.js");
			var cache=require.cache;
			console.log(cache);
			/*輸出結果:
			 * { 'E://node//gys//1.js':
			 { id: '.',
			 exports: {},
			 parent: null,
			 filename: 'E://node//gys//1.js',
			 loaded: false,
			 children: [ [Object] ],
			 paths:
			 [ 'E://node//gys//node_modules',
			 'E://node//node_modules',
			 'E://node_modules' ] },
			 'E://node//gys//2.js':
			 { id: 'E://node//gys//2.js',
			 exports: { name: '思思博士' },
			 parent:
			 { id: '.',
			 exports: {},
			 parent: null,
			 filename: 'E://node//gys//1.js',
			 loaded: false,
			 children: [Object],
			 paths: [Object] },
			 filename: 'E://node//gys//2.js',
			 loaded: true,
			 children: [],
			 paths:
			 [ 'E://node//gys//node_modules',
			 'E://node//node_modules',
			 'E://node_modules' ] } }
			 * */
			
			//2.js代碼
			var name="思思博士";
			console.log(name);
			//1.js代碼
			//當使用delete關鍵字刪除緩存區中緩存的某個模塊對象后,下次加載該模塊時將重新運行該模塊中的代碼.使用代碼:
			var two=require("./2.js");
			var two1=require("./2.js");
			console.log("刪除前")
			delete require.cache[require.resolve("./2.js")];
			console.log("刪除后");
			var two2=require("./2.js");
			/*
			 * 輸出結果:
			 * 思思博士
			 * 刪除前
			 * 刪除后
			 * 思思博士
			 * */
小伙伴們是否清楚了node.js中require的使用方法了呢,如有疑問,請留言。
新聞熱點
疑難解答
圖片精選