> 웹 프론트엔드 > JS 튜토리얼 > node.js는 require() 함수를 사용하여 module_node.js를 로드합니다.

node.js는 require() 함수를 사용하여 module_node.js를 로드합니다.

WBOY
풀어 주다: 2016-05-16 16:30:22
원래의
1687명이 탐색했습니다.

자세한 설명은 댓글에 적을 수 있으니 여기서는 자세히 다루지 않겠습니다. 댓글을 아무것도 아닌 것으로 여기지 마세요.

코드 복사 코드는 다음과 같습니다.

/*노드에서는 require() 함수를 사용하여 모듈을 로드할 수 있습니다.
* require 함수는 파라미터를 사용하며, 파라미터 값은 전체 경로를 포함한 모듈의 파일명일 수도 있고, node에서 제공하는 모듈을 사용할 경우에는 모듈명만 지정하면 됩니다. 요구 기능
* */
//페이지 생성 2.js 코드는 다음과 같습니다
var name="시시 박사";
수출.이름=이름;
//1.js 페이지를 생성합니다. 코드는 다음과 같습니다
var two=require("./2.js");
console.log(two.name);
//출력 결과: 시시 박사
/*
* node에 있는 모든 스크립트 파일은 모듈 파일이므로 1.js도 모듈 파일이고, 해당 파일은 명령줄 창에서 node 명령을 통해 직접 실행되기 때문에 node에 모듈 파일이 정의되어 있습니다. 애플리케이션
* 현재 모듈이 메인 모듈인지 확인하는 방법은 다음과 같습니다
* */
if(모듈===require.main){
console.log("현재 모듈이 메인 모듈입니다.");
}
//출력 결과: 현재 모듈이 메인 모듈
//2.js 코드
var name="시시 박사";
console.log(이름);
수출.이름=이름;
//1.js 코드:
var two=require("./2.js");
var two=require("./2.js");
//두 번 참조되지만 console.log(name)의 출력은 한 번만 실행됩니다.
/*require.resolve(str)
* 노드에서는 이 함수를 사용하여 완전한 절대 경로로 모듈 파일의 파일 이름을 쿼리할 수 있습니다.
* */
var url=require.resolve("./2");
console.log(url);
//출력 결과:E:nodegys2.js
/*require.cache
* 노드에서 이 속성은 로드된 모든 모듈의 캐시 영역을 나타냅니다.
* */
var two=require("./2.js");
var 캐시=require.cache;
console.log(캐시);
/*출력 결과:
* { 'E:\node\gys\1.js':
{ ID: '.',
내보내기: {},
상위: null,
파일 이름: 'E:\node\gys\1.js',
로드됨: 거짓,
어린이: [ [개체] ],
경로:
[ 'E:\노드\gys\node_modules',
'E:\노드\node_modules',
'E:\node_modules' ] },
'E:\node\gys\2.js':
{ ID: 'E:\node\gys\2.js',
수출: { 이름: '시시 박사' },
부모:
{ ID: '.',
내보내기: {},
상위: null,
파일 이름: 'E:\node\gys\1.js',
로드됨: 거짓,
어린이: [개체],
경로: [개체] },
파일 이름: 'E:\node\gys\2.js',
로드됨: 사실,
어린이: [],
경로:
[ 'E:\노드\gys\node_modules',
'E:\노드\node_modules',
'E:\node_modules' ] } }
* */
//2.js 코드
var name="시시 박사";
console.log(이름);
//1.js 코드
//delete 키워드를 사용하여 캐시 영역에 캐시된 모듈 객체를 삭제하면 다음에 모듈을 로드할 때 모듈에 포함된 코드가 다시 실행됩니다. var two=require("./2.js");
var two1=require("./2.js");
console.log("삭제 전")
require.cache 삭제[require.resolve("./2.js")];
console.log("삭제 후");
var two2=require("./2.js");
/*
* 출력 결과:
* 시시박사
*삭제 전
*삭제 후
* 시시박사
* */

이 글은 제가 직접 이해한 내용을 바탕으로 작성되었으며 누락된 부분이 있으면 정정해 주시기 바랍니다.

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿