2016-11-28 2 views
-2

단순히 문자열을제대로 CommonJS 방법

function reverseString(str) { 
    var reversed = " "; 
    for (var i = str.length - 1; i >= 0; i--) { 
     reversed += str[i]; 
    } 
    return reversed; 
} 
module.exports.reverseString = reverseString; 

를 반전 util.js라는 파일에 함수를 가져 오는 방법에 대한 혼란 스러워요 내가 다른 파일이 액세스하려는를 사용하여 가져 오는 방법 이 전화 번호는 입니다. server.js

이것은 내가 지금까지 가지고있는 것입니다.

var util = require('./util'); 

util.reverseString(); 




var reversed = reverseString(req.body); 
res.send(reversed); 
} else { 
res.status(400).end() 
} 
}); 

나는 노드 모듈을 확인하는 우편 배달부를 사용하고,하지만 난 그것을 실행할 때 이전에 그것을 테스트 때문에,

TypeError: Cannot read property 'length' of undefined 

내가 역 코드가 작동 알고 얻을, 그래서 내 수입은 가정 부정확하다. 그러나 이것을 알아내는 데 큰 도움이 될 것입니다.

답변

2

reverseString 함수는 string 유형의 인수 (배열 일 수도 있음)와이 동일한 함수를 인수에 대해 반복하려고합니다.

그러나이 함수를 호출하는 동안 매개 변수를 전달하지 않으므로 str 인수는 undefined로 설정됩니다. 이

1

이 오류 thowing되도록

undefined는 (내 대답은 ES5를 대상으로합니다. 좀 더 shorthands 기본 수출라는 이름의 수출과 같은 ES6에있다) 길이 속성이 없습니다. 그런 다음

module.exports = reverseString; 

:

단일 수출 사용할 수 있습니다

var reverseString = require('./util'); 

reverseString("bobba"); 

//shorthand: 
require('./util')("bobba"); 

을 또는 명명 된 수출의 객체 반환 : 그런 다음

module.exports = { reverseString: reverseString }; 

:

var utils = require('./util'); 
utils.reverseString("bobba"); 

// shorthand: 
require('./util').reverseString("bobba"); 
,691을
1

변수로 가져온 이후 함수가있는 라이브러리를 참조해야합니다.

var util = require('./util'); 

// util.reverseString(); // this does nothing 

var req = { body: 'some string' }; 
var reversed = util.reverseString(req.body); // ref util here 
관련 문제