utils
폴더에서 작성한 util.js
파일을 내 Backbone 응용 프로그램에로드하려하지만 RequireJS에 대해 사용하는 구성에 관계없이 파일은 Require로로드됩니다 (가능한 한 Dev 도구에서로드 된 상태로 표시). 그러나 뷰 자체에서는 항상 정의되지 않습니다. 지금까지 필자가 올바르게 파일을 정의한 것처럼 보일 수 있으며, paths
var에 경로를 정의하고, paths
을 정의하고 shim
을 이름을 내보내는 requirejS 구성의 모든 다른 조합을 시도한 것으로 알 수 있습니다. 뷰에서 직접 경로를 선언하는 것 이외에는 정의 할 수 없지만 항상 정의되지는 않습니다.RequireJS 종속성이 정의되지 않았습니다.
js
- views
- controllers
(etc)
- utils
- util.js
내가로드 노력하고있어 파일이 있습니다 :
내 폴더 구조는
util.js
define(function() {
return {
showMessage: function() {
console.log('show message');
}
};
});
을 내가 말했듯이 나는 모든 시도했다 필수 설정의 종류.
require.config({
paths : {
underscore : 'lib/lodash',
backbone : 'lib/backbone-1.0.0',
marionette : 'lib/backbone.marionette-1.1.0',
jquery : 'lib/jquery-2.0.3.min',
//jquery : 'lib/jquery-2.0.3',
tpl : 'lib/tpl',
pnotify : 'lib/jquery.pnotify',
utils : 'utils/util'
},
shim : {
'lib/backbone-localStorage' : ['backbone'],
underscore: {
exports: '_'
},
backbone: {
exports: 'Backbone',
deps: ['jquery','underscore']
},
marionette: {
exports: 'Backbone.Marionette',
deps: ['jquery', 'underscore', 'backbone']
},
pnotify: ['jquery'],
utils: {
exports: 'utils'
}
}
});
require(['app'],function(app){
app.start();
});
을 그리고 호출보기에 내가 (단지 유틸 가져 오기 보여 수정) 한 : 예를 들어, 현재 내가 가지고있는
define([
'utils'
], function (utils) {
"use strict";
return Marionette.Controller.extend({
initialize: function() {
console.log(utils); // undefined
}
});
});
내 다른 백본 모든 코드 (뷰, 모델, 콜렉션 등)은 잘로드되지만이 파일을로드 할 수 없습니다. 내가 여기서 무엇을 놓치고 있니?
그래, RequireJS 구성에 아무것도 넣지 않고 'utils/util'로보기/컨트롤러 콜백으로 전달했지만 아직 정의되지는 않았지만 dev 도구로로드 된 것을 볼 수있다. – kasceled
'utils/util'대신 'utils'로 전달하면 'shim'구성이 아닌 'paths'구성의 기능입니다. 심의 구성을 제거하고 그것을 'utils'로 참조하려고 했습니까? –
최소한의 코드로 문제의 문제점을 나타내는 작업 요령을 만들었습니다. https://gist.github.com/chadxz/10680093 gist는 하위 디렉토리를 허용하지 않기 때문에 각 파일의 위치를 파일 상단의 주석에 넣어야합니다. –