2013-07-18 1 views
11

yeoman generator-angular로 작업하면 css 및 scripts 파일을 index.html 파일과 동일한 서버에 저장한다고 가정합니다.index.html 내의 CSS/JS 파일에 CDN을 추가하는 자동화 된 [grunt] 작업이 있습니까?

<link rel="stylesheet" href="//mycdn.com/styles/7d151330.main.css"> 
<script src="//mycdn.com/scripts/6f9c9a13.scripts.js"></script> 
<script src="//mycdn.com/scripts/bd6ce9e3.plugins.js"></script> 
<script src="//mycdn.com/scripts/ec88f033.modules.js"></script> 

그러나

<link rel="stylesheet" href="styles/7d151330.main.css"> 
<script src="scripts/6f9c9a13.scripts.js"></script> 
<script src="scripts/bd6ce9e3.plugins.js"></script> 
<script src="scripts/ec88f033.modules.js"></script> 

, 내가 다른 서버에있는 CSS/JS 파일을 호스팅하고 URL 앞에 추가하고 싶습니다 : 그것은처럼 보이는 DIST/index.html 파일을 생성 나는 이것이 YSLOW 베스트 프랙티스라고 생각하며 현재보고있는 stackoverflow 페이지에서 사용하고있다. (https://cdn.sstatic.net/에 그들의 노트를보기 위해 소스보기) grunt-google-cdn 플러그인으로 다른 CDN을 가질 수 없다.

나의 현재 생각

<script src="[INSERTHERE]scripts/ 
<link rel="stylesheet" href="[INSERTHERE]styles/ 

UPDATE를 : 검색을 수행 할 몇 가지 꿀꿀 플러그인이 있습니다/교체 그래서 이것은 최적의 경로가 될 수있는 검색을 수행에 삽입하는 것입니다.

grunt 빌드 중에 추가되는 CDN URL을 가져 오는 추가 제안 사항이 있습니까?

답변

0

이 작업 표준 사용 사례를 들어 https://www.npmjs.org/package/grunt-cdnify , 단지 설정하여 URL에 대한 기본 문자열을한다 - 예 : '//cdn.example.com/'. cdnify 작업은 파일의 모든 로컬 URL을 자동으로 검색하고이 문자열에 접두사를 붙입니다. (자동으로 더블 슬래시를 추가하지 않아도됩니다.)

0

"CDNize"보다 일반적인 용도로는 소스 파일 (HTML 및 기타)을 사전 처리 할 수있는 grunt-preprocess 모듈을 사용할 수 있습니다. 당신이 어떤 변수에 따라 소스 파일을 구축 할 수 있습니다이와

.. 환경에 따라 서로 다른 URL처럼 DEBUG 코드를 추가, 등등 ... 여기

더 많은 정보 : https://github.com/jsoverson/grunt-preprocess

PS : 참조 또 다른 관련 답변 : How to set AngularjJS base URL dynamically based on fetched environment variable?

관련 문제