2015-12-09 17 views
10

पर स्क्रिप्ट फ़ोल्डर में एचटीएमएल फाइलों की प्रतिलिपि बनाएँ, मैं योनि में कोणीय जनरेटर का उपयोग करता हूं। Gruntfile.js में, /app/views में प्रत्येक HTML फ़ाइल को dist/views पर कॉपी किया गया है। लेकिन मैं अपने निर्देश टेम्पलेट को उसी फ़ोल्डर में निर्देश के रूप में रखना चाहता हूं।ग्रंट,

उदाहरण:

/app/scripts/widgets/mywidget.directive.js 
/app/scripts/widgets/mywidget.tmpl.html 

जब मैं परियोजना का निर्माण, मैं html फ़ाइल के रूप में ऊपर एक ही फ़ोल्डर संरचना में समाप्त करना चाहते हैं।

यह शायद gruntfile.js में प्रतिलिपि अनुभाग में किया जाना चाहिए।

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

मैं src सरणी में इस जोड़ने की कोशिश की:

'<%= yeoman.dist %>/scripts/{,*/}*.tmpl.html' 

काम नहीं किया था। कोई विचार?

उत्तर

3

आप सभी .tmpl.html को ऐप/स्क्रिप्ट/* से dist/स्क्रिप्ट/* तक ले जा सकते हैं। नीचे की तरह gruntfile के लिए कोड संशोधन का उपयोग कर।

files: [{ 
      expand: true, 
      dot: true, 
      cwd: '<%= yeoman.app %>', 
      dest: '<%= yeoman.dist %>', 
      src: [ 
      '*.{ico,png,txt}', 
      '*.html', 
      'views/{,*/}*.html' 
      ] 
     }, { 
      // This block handles copying the .tmpl.html from app/scripts to dist/scripts 
      expand: true, 
      cwd: '<%= yeoman.app %>/scripts', 
      dest: '<%= yeoman.dist %>/scripts', 
      src: '{,*/}*.tmpl.html' 
     } 
     ... 

आप usemin ब्लॉक करने के लिए नई निर्देशिका जोड़ने के लिए और साथ ही यह सुनिश्चित करने के filerev अपडेट यह आपके टेम्पलेट में डाल करना चाहते करने जा रहे हैं

usemin: { 
     html: ['<%= yeoman.dist %>/{,*/}*.html', 
      '<%= yeoman.dist %>/scripts/{,*/}*.html'], 
     ... 

तुम भी htmlmin के लिए निर्देशिका जोड़ने के लिए चाहते हो सकता है hTML करने के लिए

htmlmin: { 
    dist: { 
    ... 
    files: [ 
     { 
     expand: true, 
     cwd: '<%= yeoman.dist %>', 
     src: ['*.html', 'views/{,*/}*.html', 'scripts/{,*/}*.html'], 
     dest: '<%= yeoman.dist %>' 
     } 
    ] 
    } 

UPDATED इन लिपियों अब 01 से किसी भी .tmpl.html चलती प्रतिबिंबित कम करें करने के लिएसे dist/scripts/*/। यदि आपकी फ़ोल्डर संरचना स्क्रिप्ट के अंदर एक से अधिक स्तर की गहरी है, तो {,*/}*.html से **/*.html

+0

लेकिन यह केवल स्क्रिप्ट/विजेट के साथ काम करता है? मैं नीचे/नीचे स्क्रिप्ट के फ़ाइल संरचना में किसी भी स्तर पर tmpl.html प्राप्त करने में सक्षम होना चाहता हूं। – Per

+0

मैंने अपडेट किए हैं जो मुझे लगता है कि आप जो सोच रहे हैं उसे कवर करना चाहिए –

1

यह सामान्य व्यवहार है, कि निर्माण के बाद सभी फ़ाइलों को डिस्ट-फ़ोल्डर में कॉपी किया गया है, क्योंकि यह मानक बिल्ड-आउटपुट-फ़ोल्डर है।
आप क्या कर सकते हैं, इस तरह config बदलने के लिए है:

copy: { 
     main: { 
      files: [{ 
       src: ['img/**'], 
       dest: 'dist/img/', 
       filter: 'isFile', 
       expand: true, 
       flatten: true 
      }, { 
       src: ['pdf/**'], 
       dest: 'dist/pdf/', 
       filter: 'isFile', 
       expand: true, 
       flatten: true 
      },{ 
       src: ['error/**'], 
       dest: 'dist/error/', 
       filter: 'isFile', 
       expand: true, 
       flatten: true 
      }, { 
       src: ['fonts/**'], 
       dest: 'dist/fonts/', 
       filter: 'isFile', 
       expand: true, 
       flatten: true 
      } 
     } 
    } 

इस दृष्टिकोण जिले फ़ोल्डर के भीतर पुरानी संरचना बरकरार रखता है। लेकिन मैं सोच रहा हूं, आप अपने सभी टेम्पलेट्स को एक साथ बनाने और पैक करने के लिए HTMLmin का उपयोग क्यों नहीं करते हैं ...

संबंधित मुद्दे