에 자바 스크립트 네임 스페이스의 내가 그런 공간 있다고 가정 해 봅시다 :분할 여러 파일
var myNamespace = {
foo: function() {
},
bar: function() {
}
};
별도로 foo
및 bar
을 정의 파일에이 코드를 분할하는 가장 좋은 방법은 무엇입니까?
로딩 시간이 걱정되지 않습니다. 배포하기 전에 파일을 다시 하나의 파일로 연결합니다.
에 자바 스크립트 네임 스페이스의 내가 그런 공간 있다고 가정 해 봅시다 :분할 여러 파일
var myNamespace = {
foo: function() {
},
bar: function() {
}
};
별도로 foo
및 bar
을 정의 파일에이 코드를 분할하는 가장 좋은 방법은 무엇입니까?
로딩 시간이 걱정되지 않습니다. 배포하기 전에 파일을 다시 하나의 파일로 연결합니다.
:
if(myNameSpace === undefined) {
var myNameSpace = {};
}
파일 1 :
myNamespace.foo = function()...
파일 2 이 패턴을 따르십시오 :
(function(nameSpace) {
nameSpace.foo = function() { ... };
})(window.nameSpace = window.nameSpace || {});
이렇게하면로드 순서는 중요하지 않습니다.
간단한은 다음과 같이 별도의 파일에 정의
파일 1 :
var myNamspace = {};
파일을 2 :
myNamespace.foo = function()...
파일 3 :
myNamespace.boo = function()...
은 그냥 확인 올바른 순서로 파일을로드하십시오. 각 파일에서
myNamespace.bar = function()...
// File1:
// top level namespace here:
var myNamespace = myNamespace || {};
// File2:
myNamespace.foo = function() {
// some code here...
}
(function (NS) {
NS.Uber = function Uber() {
this.super = new NS.Super(); // yes, it works!
}; //
}(NS = NS || {}));
// ------------- other file -----------------
(function (NS) {
NS.Super = function Super() {
this.uber = new NS.Uber(); // yes, it will also work!
}; //
}(NS = NS || {}));
// -------------- application code ------------
var uber = new NS.Uber();
console.log(uber.super);
var super = new NS.Super();
console.log(super.uber);
: 각 파일의 시작에서
훌륭한 질문에 투표하십시오. 좋은 걸 가르쳐 줬어. –
또한 언급 : http://stackoverflow.com/a/4130511/895245 –