2015-02-07 2 views
0

jquery에서 browserify를 사용하여 jsx 파일을 js 파일로 변환 할 때 여러 소스 -> 대상 매핑을 지정하는 방법이 있습니까?여러 JSX 파일 변환

단일 파일 변환을 지원하는 Gruntfile.js에는 다음과 같은 내용이 있지만 다른 파일에 대한 두 번째 매핑을 지정할 수 있기를 바랍니다. 와일드 카드를 기반으로 단일 결합 된 대상 파일로 매핑 할 수 있다는 것을 알고 있습니다. 그러나 그것은 내가 원하는 것은 아니며, 여러 페이지에 반응 구성 요소를 "모두 또는 아무것도 포함하지"않기를 원합니다. 일부 구성 요소는 몇 페이지에만 적용되며 모든 곳에 포함되어서는 안됩니다.

browserify: { 
      options: { 
       transform: [ require('grunt-react').browserify ] 
      }, 
      //How do I map a second file here without a wild card? 
      client: { 
       src: ['react_components/src/component1.jsx'], 
       dest: 'react_components/build/component1.js' 
      } 
     } 

는 기본적으로 내가 무엇을 기대하는 것은 여러 대상 파일을 생성하기 위해 동일한 작업에서 SRC-이명 령 매핑의 배열을 제공하는 방법입니다 : 위의 JSON 같은

client: [{ 
       src: ['react_components/src/component1.jsx'], 
       dest: 'react_components/build/component1.js' 
      }] 

뭔가를

+0

나는 꿀꿀 - browserify를 사용하지 않는,하지만 작업의 전류 출력은 하나의 번들 파일 겠지? 다른 번들을 출력하려면 별도의 작업이 필요합니다. 원하는 출력을 제공 할 수 있다면 질문을 명확하게 할 수 있습니다. –

+0

예 출력이 단일 번들입니다. 번들마다 별도의 작업을하는 것이 좋습니다. 내 첫 번째 목표는 작업 당 여러 번들을 출력하는 것이지만 지원되지 않을 수도 있습니다 ... – TGH

+0

grunt browserify가 지원할 수도 있지만, 아무것도 배후에서 여러 번 브라우저화된 "번들"을 실행할 것입니다. Browserify는 모두 하나의 목적지에 관한 것입니다. [externa bundles] (https://github.com/substack/browserify-handbook#external-bundles)를 사용하여 여러 번들을 통해 앱을 빌드 할 수 있습니다. –

답변

2

저로서는 browify를 사용하지 않고 grunt-react 및 react-tools를 사용합니다. 정규 표현식을 기반으로, 사용자가 dynamic_mappings을 정의 할 수 있습니다 반응 툴툴 거리는 소리, 이런 식으로 뭔가 :

//Gruntfile.js 
grunt.initConfig({ 
    react: { 
     dynamic_mappings: { 
     files: [ 
      /* Controllers compiling. */ 
      { 
      expand: true, 
      cwd: './app/scripts/controllers/src', 
      src: ['**/*.jsx'], 
      dest: './app/scripts/controllers/dest', 
      ext: '.js' 
      }, 
      /* ui-components compiling */ 
      { 
      expand: true, 
      cwd: './app/scripts/ui-components/src', 
      src: ['**/**.jsx'], 
      dest: './app/scripts/ui-components/dest', 
      ext: '.js' 
      }, 
      /* JSX test compiling */ 
      { 
      expand: true, 
      cwd: './test/ui-components/src', 
      src: ['**/**.jsx'], 
      dest: './test/ui-components/dest', 
       ext: '.test.js' 
      } 
     ] 
     } 
    } 
}); 
+1

좋아요. 고마워요! – TGH

+0

다행입니다. –