2014-09-13 4 views
2

나는이 대답을 How to include scripts automatically in a yeoman/grunt project? usemin 플러그인을 통해 scripts 폴더에서 모든 js 파일을 포함시키는 방법을 따랐습니다. grunt-include-source 플러그인을 추가 한 후에는 usemin이 생성 된 스크립트 블록을 올바른 concated + minified 스크립트로 대체하지 못하고 블록이 제거되거나 소스 태그로 채워집니다.Grunt-include-source + usemin이 함께 작동하지 않습니다.

<!-- build:js(.) scripts/vendor.js --> 
<!-- bower:js --> 
<script src="bower_components/es5-shim/es5-shim.js"></script> 
<script src="bower_components/angular/angular.js"></script> 
<script src="bower_components/json3/lib/json3.js"></script> 
<script src="bower_components/angular-resource/angular-resource.js"></script> 
<script src="bower_components/angular-cookies/angular-cookies.js"></script> 
<script src="bower_components/angular-route/angular-route.js"></script> 
<script src="bower_components/angular-bootstrap/ui-bootstrap-tpls.js"></script> 
<!-- endbower --> 
<!-- endbuild --> 

<!-- build:js({.tmp,app}) scripts/scripts.js --> 
<script src="scripts/app.js"></script> 
<script src="scripts/controllers/about.js"></script> 
<script src="scripts/controllers/company/list.js"></script> 
<script src="scripts/controllers/dashboard/main.js"></script> 
... more ... 
<!-- endbuild --> 

내가 사용 : 꿀꿀 거리는 소리 - 포함 - 소스와 꿀꿀 - wiredep 후

<!-- build:js(.) scripts/vendor.js --> 
<!-- bower:js --> 
<!-- endbower --> 
<!-- endbuild --> 

<!-- build:js({.tmp,app}) scripts/scripts.js --> 
<!-- include: "type": "js", "files": "scripts/**/*.js" --> 
<!-- endbuild --> 

이 같은 코드입니다 :

된 index.html에서 원본이 같다 grunt-include-source와 grunt-usemin 이전에 실행되는 grunt-wiredep 플러그인은이 코드가 올바르게 대체됩니다.

출력은 다음과 같아야합니다

<script src="scripts/vendor.1e81ad0a.js"></script> 
<script src="scripts/scripts.1e82ad0a.js"></script> 

그러나 단지입니다 :

<script src="scripts/vendor.1e81ad0a.js"></script> 

<!-- build:js({.tmp,app}) scripts/scripts.js --> 
<script src="scripts/app.js"></script> 
<script src="scripts/controllers/about.js"></script> 
<script src="scripts/controllers/company/list.js"></script> 
<script src="scripts/controllers/dashboard/main.js"></script> 
... more ... 
<!-- endbuild --> 

사람이이 문제에 대한 모든 솔루션을 가지고 있습니까? 사전에

감사합니다, 마이클 작업에

+1

이 문제의 해결 방법을 발견했습니다. 필자는 grunt-include-source 플러그인을 사용하지 않고 [grunt-file-blocks] (https://github.com/rrharvey/grunt-file-blocks/)으로 대체했습니다. 이것은 쓸데없는 - usemin와 완벽하게 작동합니다. –

답변

1

: '복사 : DIST는'좋은 index.html을이 (includesource가 실행 된 후) 실 거예요에서 index.html을 함께 무시받을 수 있도록 HTML의 사본을 언급 다시 앱

copy: { 
     dist: { 
     files: [{ 
      expand: true, 
      dot: true, 
      cwd: '<%= yeoman.app %>', 
      dest: '<%= yeoman.dist %>', 
      src: [ 
      '*.{ico,png,txt}', 
      '.htaccess', 
      //'*.html', 
      'views/{,*/}*.html', 
      'images/{,*/}*.{webp}', 
      'fonts/*' 
      ] 
     } 
관련 문제