2016-06-23 6 views
7

개발 워크 플로우와 잘 어울리는 훌륭한 프로덕션 워크 플로를 파악하려고합니다. 필요에 따라 1MB의 외부 라이브러리를 빌드에서 제외시킨 다음 CDN을 사용하여 별도로 호스트합니다. 그래서 우리는 이것을 가지고 있습니다 :CDN을 통해 호스팅되는 SystemJS 및 외부 종속성을 사용한 제작 워크 플로우

<script src="jspm_packages/system.js"></script> 
<script src="config.js"></script> 
<script src="build.js"></script> 
<script> 
    System.import('app/main.js'); 
</script> 

main.js의 모든 것은 이미 build.js에 포함되어 있기 때문에 무시됩니다. 이것이 바로 개발이 끝난 건물로 돌아갈 때가되었다는 것을 의미하지만 이전에 build.js를 삭제해야합니다. 우리는이 작업을 수행 할 때, 우리는 줄을 추가해야합니다

builder.buildStatic('app/main.js', 'build.js', { 
    externals: ['jquery'], 
    globalName: 'App', 
    globalDeps: { 
    'jquery': 'jQuery' 
    } 
}); 

:

그래서 지금은 생산을 위해 외부 종속성을 분리 할

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.2 jquery.min.js"></script> 
<script src="jspm_packages/system.js"></script> 
<script src="config.js"></script> 
<script src="build.js"></script> 
<script> 
    System.import('app/main.js'); 
</script> 

즉, 우리는 다시 전환 할 때 개발 빌드에서 jQuery는 main.js에 두 번 번들로 제공됩니까? 그런 다음 SystemJS에서 미리보기가 :

System.config({ 
    bundles: { 
     'build/core': ['jquery'] 
    } 
}); 
System.import('app/main.js'); 

지금처럼 우리가 jQuery를 호스트 할 CDN을 사용하지 않는 것이를 사용하는 방법을 확실하지. JSPM은 패키지 관리를 제공하기 때문에 훌륭하지만, 프로덕션에서 패키지를 외부 적으로 사용하기 때문에 위대한 패키지입니다. 따라서 어쨌든 스크립트 태그를 페이지에 포함시켜야한다면 JSPM의 목적을 처음부터 무시하지 않아도됩니까?

멋지고 쉬운 개발/제작 워크 플로우를 만드는 방법에 대한 아이디어, 우리가 코드를 변경하지 않아도되는 두 가지 사이를 전환하고 싶을 때의 아이디어는 무엇입니까? 이전에 두 가지를 실행하는 페이지에 HTML의 어떤 종류를 변경할 필요없이,

$ 실행 NPM 생산

$ 실행 NPM 개발

이 : 우리는 같은 것을 원한다. 저는 여러 SystemJS 및 JSPM 워크 플로우를 조사한 결과 모든 문제를 해결할 수없는 것으로 보입니다.

어디서나 SystemJS를 사용하고 있습니까? 아니면 아직 실험 기술로 간주되고 있습니까? HTTP/2에 새로 추가 될 표준이 있으며 모듈을 동적으로로드 할 것입니다. SystemJS로 전환하거나 먼지가 남았습니까?

답변

-1

이전에는 systemJS를 사용하지 않았지만 jquery 작업을 위해 CDN을 매핑합니까?

map: { 
    ... 
    '@angular': 'https://npmcdn.com/@angular', 
    'rxjs': 'https://npmcdn.com/[email protected]', 
    'jquery': 'http://jquery.cdn' 
} 

이런 식으로 뭔가가 당신을 위해 문제를 해결 하는가

: 즉, 당신은을 통해 각도 및 rxjs의 CDN을 사용할 수 있습니까? 내가 수집 한 것은 jquery를 전역으로 사용할 수없고 가져올 필요가 있음을 의미하지만이 워크 플로로 이동하면 도움이 될 수 있습니다.