은 분명히 modulr에서이 문제를 해결하는 방법은 없다 (modulr이 --ignore=<module_list>
매개 변수 같은 것을 지원하는 경우 예를 들어, 모든. 잘 실행됩니다), 그래서 보이는 봉투라는 이름의 해결 모듈을 만들어야했습니다 같은 :
// ClientInitializer.js
Env = require('shared/Env');
Env.override({ underscore: _ });
,691을 :
// Env.js
var my = {
modules: undefined,
require: require
};
exports.override = function(modules) {
my.modules = modules;
};
exports.require = function(path) {
if (my.modules && my.modules[path]) {
return my.modules[path];
} else {
// my.require(...) is needed instead of simply require(...)
// because simply require(...) will cause a modulr parsing failure
return my.require(path);
}
};
그리고 클라이언트 측에서
는 않는 특정 초기화가
그래서, "공유"모듈을 수행 할 수 있습니다
// SharedModule.js
var _ = require('shared/Env').require('underscore');
을 "공유"모듈이 서버에서 실행중인 경우, 보통은 함수가 호출이 필요합니다. 브라우저에서 실행중인 경우 Env 모듈은 global _ 변수로 응답합니다.
출처
2011-08-09 10:29:48
ivo