2016-12-25 4 views
3

잠시 동안 찾고 있었지만 문제에 대한 해결책을 찾지 못했습니다. 나는 require.js을 사용하고 내가 r.jsrequirejs 최적화 중 플러그인 종속성을 제외하는 방법

requirejs.optimize({ 
    baseURL: '/js', 
    name: 'main', 
    ... 
}) 
를 사용하여 하나의 빌드에 모든 모듈을 최적화 할 때 문제가 발생

define(['Plugin!data', 'dependency'], function(data, dep) { 
    ... 
} 

모듈의 일부를 동적으로 데이터를로드하는 플러그인을 사용하고 있습니다

옵티마이 저는 플러그인을 통해 데이터를로드하려고 시도합니다. 그걸 피할 ​​수있는 방법이 있습니까?

예 : 당신은 모듈을 제외 할 빌드 구성에 exclude을 사용할 수 있습니다

답변

1

... 형식 플러그인 아무것도 통과하지 최적화를 이야기하는 방법에 대해 설명합니다. 예를 들어 :

({ 
    baseUrl: "js", 
    dir: "build", 
    removeCombined: true, 
    optimize: "none", 
    modules: [ 
     { 
      name: "built", 
      create: true, 
      include: [ 
       "modA", 
      ], 
      exclude: [ 
       "text!./x.json", 
      ], 
     }, 
    ], 
}) 

이 생각의 문제가 exclude에는 패턴 일치하지 않습니다 당신은 큰 코드베이스에 약간의 문제가 될 수있는, 개별적으로 각 모듈을 나열 할 필요가 오게됩니다.

({ 
    baseUrl: "js", 
    dir: "build", 
    removeCombined: true, 
    optimize: "none", 
    modules: [ 
     { 
      name: "built", 
      create: true, 
      include: [ 
       "modA", 
      ], 
     }, 
    ], 
    // Use onBuildWrite to exclude modules loaded through plugin. 
    onBuildWrite: function (moduleName, path, contents) { 
     if (moduleName.lastIndexOf("text!", 0) === 0) { 
      return ""; 
     } 
     return contents; 
    }, 
}) 
:

또 다른 방법은 모든 모듈이 text!로 시작 제거 onBuildWrite을 사용하는 것입니다