Đối với một ứng dụng trang duy nhất mà tôi đang làm việc trên, tôi có cấu trúc sau:Làm thế nào để sao chép các file ngọc biên soạn vào một thư mục đích bằng grunt
- quận
- css
- js
- lib
- partials
- index.html
- src
- css
- js
- lib
- xem
- partials
- index.jade
Danh bạ dist sẽ được máy chủ tốc hành sử dụng để phục vụ dự án. Tôi có nhiệm vụ grunt tầm thường (sử dụng grunt-contrib sạch, grunt-contrib-copy) để làm sạch quận và sao chép src/css, src/js, src/lib để quận.
Sự cố xảy ra với src/views. Thư mục này chứa các tệp tin ngọc cần được biên dịch thành các tệp html. Sau khi biên soạn, tôi muốn chúng ở số dist (index.html trong phần gốc, partials như subdir).
Hiện tại tôi đang sử dụng nhiệm vụ grunt-contrib-jade để biên dịch và sao chép tệp ngọc bích. Tôi muốn sao chép chúng sang dist, vì tôi không muốn thêm các tập tin html đã biên dịch vào kiểm soát nguồn. Nhưng bây giờ điều này là không thực sự khả thi, vì bạn phải xác định tất cả các tập tin ngọc bích (nay chỉ có một số ít, nhưng điều đó sẽ phát triển):
jade: {
compile: {
options: {
pretty: true
},
files: {
// TODO make one line
'dist/index.html': ['src/views/index.jade'],
'dist/partials/banner.html': ['src/views/partials/banner.jade'],
'dist/partials/dashboard.html': ['src/views/partials/dashboard.jade'],
'dist/partials/navbar.html': ['src/views/partials/navbar.jade'],
'dist/partials/transfer.html': ['src/views/partials/transfer.jade']
}
}
},
Có cách nào để sử dụng grunt-contrib-ngọc tác vụ (hoặc một công cụ khác) với bộ lọc thư mục? Như sau:
jade: {
compile: {
options: {
pretty: true
},
dir: {
'dist': ['src/views']
}
}
}
Bạn đã thử "Định dạng mảng tệp" [được mô tả ở đây] (https://github.com/gruntjs/grunt/wiki/Configuring-tasks) chưa? Ví dụ (sử dụng tác vụ concat) đặt thuộc tính 'dest' thành một thư mục:' tệp: [{src: ['src/bb.js', 'src/bbb.js'], dest: 'dest/b/'}] '. Có khả năng nhiệm vụ 'jade-contrib' cũng hỗ trợ định dạng này. – smithclay
Không hoạt động. Nó sao chép tất cả các tệp vào một tệp có tên '* .html' :) Đã thử 'các tệp: grunt.file.expandMapping ([' **/*. Jade '],' dist ', {cwd:' src/views '}) 'được mô tả trên cùng một trang, nhưng tôi nhận được expandMapping không được xác định. – asgoth