2013-01-22 22 views
6

Tôi đang cố gắng thiết lập grunt để rút gọn một số tệp js trong thư mục src và sao chép chúng vào thư mục xây dựng. Theo sau grunt task documentation, tôi tin rằng cấu hình dưới đây sẽ hoạt động.Grunt đa nhiệm vụ ném lỗi EISDIR khi xây dựng

uglify: { 
    dist: { 
     files: [ 
     { 
      expand: true,  // Enable dynamic expansion. 
      cwd: 'src/js/', // Src matches are relative to this path. 
      src: ['**/?.js'], // Actual pattern(s) to match. 
      dest: 'build/minified/', // Destination path prefix. 
      ext: '.min.js' // Dest filepaths will have this extension. 
     } 
     ] 
    } 
    } 

Khi tôi chạy grunt Tôi nhận được thông báo

Chạy "làm xấu đi: dist" (làm xấu đi) nhiệm vụ Cảnh báo: Không thể ghi "xây dựng/minified" tập tin (Mã lỗi: EISDIR). Sử dụng --force để tiếp tục.

Nếu tôi chuyển định nghĩa để sử dụng đường dẫn tệp thủ công, nó hoạt động tốt. Tài liệu có chính xác không? hoặc tôi đang sử dụng nó sai?

Tôi đang chạy grunt v0.4.0rc2

+0

Tôi đang gặp vấn đề này là tốt. Hmmmm. –

+1

Cập nhật grunt và thay thế 'src: ['**/?. js']' bằng 'src: ['**/*. Js']' – mutil

+0

@mutil - Đúng là vấn đề. Nếu bạn muốn đăng bình luận của mình làm câu trả lời, tôi sẽ chấp nhận nó. Cảm ơn. – madcapnmckay

Trả lời

3

Cập nhật grunt và thay thế src: ['**/?.js'] với src: ['**/*.js']

Để biết thêm thông tin hãy xem hướng dẫn trên globbing patterns.

0

Sửa đổi các chức năng detectDestType trong node_modules/grunt-contrib-copy/nhiệm vụ/copy.js như sau:

var detectDestType = function(dest) { 
    if (grunt.util._.endsWith(dest, path.sep)) { 
     return 'directory'; 
    } else { 
     return 'file'; 
    } 
    }; 

Cần khắc phục vấn đề.

1

Đã có một vấn đề tương tự mà tôi đã nhận được một vấn đề tải các tập tin của cấu trúc:

bower_components/Chart.js/Chart.min.js

Rõ ràng grunt cuộc đấu tranh với các thư mục có chứa .js trong đó. Tôi đã tìm thấy giải pháp khắc phục sự cố của mình: https://github.com/cbas/grunt-rev/issues/29

Về cơ bản bạn xóa các thư mục sự cố một cách rõ ràng trong phần rev.

tức là, công trình này:

rev: { 
     files: { 
      src: [ 
       'dist/**/*.js', 
       '!dist/bower_components/Chart.js', 
      ] 
     } 
    },