>  기사  >  웹 프론트엔드  >  Node.js 모듈 캡슐화 및 Usage_node.js

Node.js 모듈 캡슐화 및 Usage_node.js

WBOY
WBOY원래의
2016-05-16 15:12:051495검색

Node.js에는 C# 클래스 라이브러리와 유사한 일부 기능적 캡슐화도 포함되어 있으며 설치 후 require()를 사용하여 호출을 도입할 수 있습니다.

1. Node.js 모듈 캡슐화

1. censorify라는 폴더를 생성합니다

2. censorify 아래에 censortext.js, package.json, README.md 파일 3개를 생성합니다

1) censortext.js에 특정 단어를 필터링하고 별표로 바꾸는 함수를 입력합니다.

var censoredWorlds=["sad","bad","mad"];
var custormCensoredWords=[];
function censor(inStr)
{
 for(idx in censoredWorlds)
 {
  inStr=inStr.replace(censoredWorlds[idx],"****");
 }
 for(idx in custormCensoredWords)
 {
  inStr=inStr.replace(custormCensoredWords[idx],"****");
 }
 return inStr;
}
 
function addCensoreWorld(world)
{
 custormCensoredWords.push(world);
}
 
function getCensoreWorlds()
{
 return censoredWorlds.concat(custormCensoredWords);
}
exports.censor=censor;
exports.addCensoreWorld=addCensoreWorld;
exports.getCensoreWorlds=getCensoreWorlds;

2) 버전 이름, 기본 명령 등 패키지의 매니페스트 정보를 구성합니다.

{
 "author":"cuiyanwei",
 "name":"censority",
 "version":"0.1.1",
 "description":"Censors words out of text",
 "main":"censortext",
 "dependencies":{
 "express":"latest"
 },
 "enginee":{
 "node":"*"
 }
}

3) 생성된 README.md 파일은 주로 설명입니다

3. 명령줄을 사용하여 패키지 모듈 생성

명령줄을 사용하여 censorify 폴더로 이동한 다음 npm pack 명령을 사용하여 tgz 파일을 패키징하고 생성하여 모듈을 캡슐화합니다.

2. 캡슐화된 모듈 사용

캡슐화된 모듈을 사용하는 방법에는 NPM 레지스트리에 게시하는 방법과 로컬에서 사용하는 방법이 있습니다.

1. readwords라는 폴더를 만듭니다

2. 명령줄에서 readwords 폴더로 이동한 후 캡슐화된 모듈을 설치합니다. NPM 레지스트리에 게시된 직접 npm 설치 이름인 경우 로컬 npm install tgz 파일 경로입니다.

3. 설치가 완료되면 readwords 폴더 아래에 censority 하위 폴더가 포함된 node_modules 폴더가 생성됩니다

4. 테스트할 새 readwords.js 파일을 만듭니다. (잘못 작성하지 않도록 코드 콘솔과 캡슐화된 모듈의 기능에 주의하세요)

var censor=require("censority");
console.log(censor.getCensoreWorlds());
console.log(censor.censor("Some very sad,bad and mad text"));
censor.addCensoreWorld("gloomy");
console.log(censor.getCensoreWorlds());
console.log(censor.censor("A very goolmy day."));

5.

를 사용하세요.

결과를 보려면 명령줄 노드 readwords.js를 사용하여 readwords.js를 호출하세요

위 내용은 이 글의 전체 내용입니다. 모든 분들의 공부에 도움이 되었으면 좋겠습니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.