2014-10-07 6 views
2

저는 define이 모듈을 정의하는 데 사용되고 함수는 익명의 함수이지만 함수 hold에서 'require'는 무엇을하는지 이해합니다. ?정확하게 무엇을 정의합니까 (function (require) {...}) JavaScript에서

define(function(require){...})에 무엇이라도 쓰면 언제 이것을 부르겠습니까? 그의 익명의 기능을 호출하는 법?

제발 도와주세요, 나는 진보 된 JS에 익숙하다.

+2

RequireJS 설명서에서 어떻게 작동하는지 자세히 알아 보았습니까? –

+1

예, 나는 RequireJS에 대해 읽었지만 거기에는 require()를 함수로 사용하고 있으며 인수로 사용하지 않았습니다. 나는 그것이'function (require)'이라는 인자로 전달 될 때 실제로 요구되는 것을 전달한다는 것을 이해하지 못한다. – Pepper

+1

가능한 복제본 [Javascript에서 사용되는 정의 (명확한 것 외에)] (http://stackoverflow.com/questions/10331305/what-is-define-used-for-in-javascript-aside-from- - 명백한) –

답변

2

이것은 requireJs API의 일부이며 바닐라 JS가 아닙니다.

당신은 여기에 전체 문서를 볼 수있는 다음 JS를로드 할 때 이 http://requirejs.org/docs/api.html#define

위의 예에서 "필요"은보다,이 패턴은 당신이 JS를 필요로 할 수 있습니다, 실제로 "필요"코드와 아직 다른 종속성을로드하지만, 이전에 요구 된 파일의 범위 내에서 수행하십시오.

큰 경우이 패턴을 사용하면 앱을 여러 개의 작은 JS 파일로 분리하고 비동기 방식으로로드하여 웹 페이지의로드 프로세스 속도를 높일 수 있습니다.

일부 사람들은 SPDY와 HTTP2가 더 널리 사용되기 위해서는이 모든 것이 덜 필요하다고 주장합니다. 어쨌든 이것은 분명히 코드 설계에서 더 나은 모듈성을 촉진합니다.

+0

'(기능이 (요구한다) { ) var angular = require ('각도') var html = require ('텍스트! ./ productPage.html'); var css = require ('css! ./productPage '); var productDesc = require ('./../productDesc/productDesc '); }); ' 이 코드는'function (require)'에서'require (some text)'와 동일합니까? 그리고 언제이 특정 함수가 html 페이지에서 호출 될 것입니까? – Pepper

+0

동일하지 않습니다. require는 콜백이므로 require의 내부 구현이 이것을 호출 할 준비가되었을 때에 만 호출됩니다. 만약 당신이 단지 (필요하다면) 텍스트를 요구하면, 메소드가 즉시 호출된다는 것을 의미하며, requireJs 코드는 그 시점에서 호출 될 준비가되어 있거나 준비되지 않았을 수 있습니다. –

+0

console.log에서 인쇄가 필요합니다. 다음을 받았습니다. 'function localRequire (deps, callback, errback) { var id, map, requireMod; if (options.enableBuildCallback && 콜백 && isFunction (콜백)) { 콜백 .__ requireJsBuild = true; } (가 대해서 typeof === '문자열'deps) 경우 { 을 경우 (isFunction (콜백)) { // 잘못된 호출 반환 }' – Pepper

관련 문제