2014-09-02 2 views
0

에서 자바 스크립트 파일을 포함, 나는처럼 보이는 내 주요 JS 파일이 있습니다내가 꼭두각시 프로젝트가 꼭두각시 프로젝트

define(["marionette", "handlebars"], function(Marionette, Handlebars){ 
    ... 
}); 

지금 나는 내 큰 응용 프로그램의 구조를 만들고 싶어합니다. 그래서이 함수의 내용을 다른 파일로 분리하고 싶습니다. 어떻게 내가 좋아하는 뭔가를 할 수 있습니다

define(["marionette", "handlebars"], function(Marionette, Handlebars){ 
    include routes.js 
    include menu/model.js 
    include menu/views.js 
    ... 
}); 

내가 require.js가 나를 도울 수 있다고 생각을하지만 난 방법을 모르겠어요. 어떤 아이디어?

답변

2

설명하는 것과 같은 AMD 구조의 파일을 요구하려면 배열의 파일 경로를 지정하고 내 보낸 값을 이와 같이 콜백 인수로 가져올 수 있습니다. 이 AMD의 아주 기본적인 일이기 때문에

define(
    [ 
    "marionette", 
    "handlebars", 
    "routes", 
    "menu/model", 
    "menu/views" 
    ], 
    function(Marionette, Handlebars, Routes, Model, MenuView){ 
    // ... 
}); 

, 당신은 정말 AMD 모듈 (같은이 this one)에 대한 Require.JS의 문서 (here) 및 설명을 읽어야합니다. AMD 구조 등에 대한 많은 정보를 찾을 수 있습니다.

+0

확인. 빠른 대응에 감사드립니다. 그리고 만약 내가 ~ 100/200 그런 파일이 있다면, 이것들을 더 짧게 만드는 방법이 있습니까? – alexarsh

+1

내 견해로는 모듈에 필요한 것만 포함시키는 AMD 구조에는 맞지 않습니다. – gaelgillard

-1

원하는 경우 browserify를 사용하면 require 구문을 사용하여 프런트 엔드 자바 스크립트 모듈을로드 할 수 있습니다. 이 모양입니다.

// library includes 
var Marionette = require('backbone.marionette'); 
var handlebars = require('handlebars'); 

// custom includes 
var routes = require('./routes.js'); 
var models = require('./menu/models.js'); 
var views = require('./menu/views.js'); 


var App = new Marionette.Application(); 

모듈은 반복적으로 포함되며 코드가 적습니다. Common.js 형식을 구현하여 node.js.와 동일한 모양과 느낌을줍니다.