2014-11-20 4 views
2

나는 Browserify를 처음 사용하기 때문에 근본적으로 어리석은 아이디어처럼 들리는 경우 사전에 사과드립니다.Browserify with global modules

컨텍스트 :. 나는 하나의 글로벌 네임 스페이스와 모듈 형 설계를 사용하여 내 웹 응용 프로그램을 쓰고있다 (I 수동으로 모두 함께 JS 파일과 I을 연결하기위한 꿀꿀 거리는 소리를 사용하는의는 ns 말과 모듈은 ns.moduleA 같은 네임 스페이스를 통해 액세스 할 수 (연결 순서) 종속성을 관리합니다 .Browrightify를 발견 한 후 코드베이스를 마이 그 레이션하고 싶습니다.

그러나 프로젝트는 많은 라이브러리에 따라 다르지만 상당수는 AMD에서 제대로 작동하지 않는 것으로 보입니다 또는 CJS (github issue 목록에 따라)를 사용하고 browserify-shim과 같은 솔루션을 통해 조사한 후에는 상당한 고통을 겪고있는 것 같습니다.

제안 된 솔루션 : 모든 종속 라이브러리를 연결하여 libs.js에 고정 시키므로 라이브러리가 모두 전역 네임 스페이스에 노출되어 보편적으로 액세스 할 수 있습니다. 그렇다면 내 코드에 대해서는 require에 대해 걱정할 필요가 없으며 그대로 사용하십시오. 예를 들어, jQuery의 경우 var $ = require('jquery'); $('a').b(); 대신에 $('a').b()을 사용하면됩니다. 이것이 Browserify가 당신을위한 모든 의존성을 관리한다는 철학에 대한 것이지만, 기존의 솔루션을 사용하는 것보다 외부 라이브러리를 직접 관리하는 것이 훨씬 쉬운 것처럼 보입니다.

질문 : 좋은 방법입니까? (나는 의심 스럽습니다), 그리고 왜?

감사합니다.

답변