2016-10-24 1 views
-1

을 필요로 사용하여로드 할 수 없습니다 npm install) 그리고 내 .js 파일에서 다음과 같이 모듈을로드합니다 : var Backbone = require('backbone') 잘 작동합니다.은 ( <p></p>은 내가 종속성을 설치 nodejs 응용 프로그램 프로젝트를 .. Backbone.DOMStorage 내가 자바 스크립트로 비교적 새로운 해요 및 세계를 nodejs 내가 붙어 있기 때문에 내가 도움이 필요 키워드

그런데 내가 ... 내가 npm install https://github.com/mikeedwards/Backbone.DOMStorage했다

을 Backbone.DOMStorage (https://github.com/mikeedwards/Backbone.DOMStorage) 모듈을 설치하려고 및 설치 확인했다 (JS 파일이 node_modules 폴더에 존재),하지만 난 그것을로드하려고 할 때 이 모듈을 찾아로드하지 못했습니다 require('Backbone.DOMStorage') ... 나는 많은 검색 후 이해 한 것과

, 플러그인이 CommonJS을 준수하지 않는 것 같다 .. 그래서

내가 할 수이 스크립트를 변환 할 수있는 방법 다른 모듈처럼 사용 하시겠습니까 ??

감사합니다.

답변

0

4 가지 방법으로 원하는 것을 보여 드리겠습니다.

첫 번째 방법

그것의이 같은 HTML 페이지에 추가해야하는 이유입니다 JS 플러그인. 포함 Backbone.js 갖는 후 Backbone.domStorage 포함 :

<script type="text/javascript" src="backbone.js"></script> 
<script type="text/javascript" src="backbone.domStorage.js"></script> 

window.SomeCollection = Backbone.Collection.extend({ 

    localStorage: new Backbone.LocalStorage("SomeLocalCollection"), // Unique name within your app. 

    // ... everything else is normal. 
같은 사용을

});

두 번째 방법 browserify를 사용하는 경우.

npm install backbone.localstorage를 사용하여 설치하고 모듈이 필요합니다.

<script type="text/javascript" src="lib/require.js"></script> 

RequireJS의 설정 :

require.config({ 
    paths: { 
     jquery: "lib/jquery", 
     underscore: "lib/underscore", 
     backbone: "lib/backbone", 
     localstorage: "lib/backbone.localStorage" 
    } 
}); 
Backbone.LocalStorage = require("backbone.localstorage"); 

세 번째 방법

RequireJS

은 RequireJS 포함 (210) 모듈로 컬렉션을 정의 방법

다운로드 JS GitHub의에서 파일과 라이브러리 파일 디렉토리에 넣어 후이를 요구 등

require(["SomeCollection"], function(SomeCollection) { 
    // ready to use SomeCollection 
}); 

:

define("SomeCollection", ["localstorage"], function() { 
    var SomeCollection = Backbone.Collection.extend({ 
     localStorage: new Backbone.LocalStorage("SomeCollection") // Unique name within your app. 
    }); 

    return SomeCollection; 
}); 

이 컬렉션을 필요 우리 js 파일은 다음과 같습니다.

var domStorage = requier('yourLibPath/backbone.domStorage.js'); 
+0

요 ur 응답하지만 모든 파일을 단일 파일 (app.js)로 묶는 데 browserify를 사용하고 있습니다. 첫 번째 해결책은 불가능합니다. 두 번째 해결책은 좋을 수도 있지만'backbone.domStorage'에서는 작동하지 않습니다. 그것은'backbone.localstorage'와 함께 작동하지만, 지원되지 않는 세션 저장소가 필요합니다. 세 번째 방법은 불가능합니다. requireJ를 사용하고 싶지 않습니다. 어떻게하면 2 차 솔루션과 함께 작동시킬 수 있습니까 ?? – LoSTxMiND

+0

그냥 backbone.domStorage.js를 다운로드하고 다음과 같이 요구하십시오. var domStorage = requier ('lib 파일 경로/backbone.domStorage.js'); –

+0

@LoSTxMiND 답변을 –