2013-04-28 49 views
10

Tôi đang xây dựng một máy phát điện một phần bao gồm giàn giáo từ một dự án khác được tạo ra với exec. Tùy thuộc vào đầu vào của người dùng, tôi cần di chuyển hoặc xóa các phần của giàn giáo này.Tôi nên di chuyển hoặc xóa tệp trong Trình tạo Yeoman như thế nào?

Ngay bây giờ tôi đang làm nó với nút của fs.child_process.spawnshelljs, nhưng nhìn thấy như các máy phát điện Yo có mkdir, write, template, và copy, tôi tự hỏi nếu có một cách Yo để di chuyển hoặc xóa các tập tin và thư mục.

Trả lời

5

tôi chỉ sử dụng rimraf như thế này:

MyGenerator.prototype.removeDir = function removeDir() { 
    var cb = this.async(), 
     self = this; 

    rimraf('path/to/dir', function() { 
     self.log.info('Removing dir'); 
     cb(); 
    }); 
}; 

Hãy nhớ thêm rimraf như một sự phụ thuộc trong tập tin package.json của bạn. Không chắc chắn nếu có một chức năng được xây dựng trong này nhưng điều này đã làm việc tốt cho tôi cho đến nay.

+0

Đó là một cách tốt quá. Đã bình chọn cho bạn nhưng để cho điều này vẫn chưa được trả lời cho đến khi có một cách để làm điều đó. – RobW

+2

Có phải là một chức năng được xây dựng trong, tôi tự hỏi tại sao nó không được ghi lại mặc dù đặc biệt kể từ khi RC 1.0 là ra ngay bây giờ. – javiervd

1

Hiện tại Yeoman hỗ trợ điều này thông qua API fs, là cài đặt hệ thống tệp trong bộ nhớ.

this.fs.move('source/file', 'dest/file'); this.fs.copy('source', 'dest');

File System Docs

1

Vẫn không thành văn bản, nhưng đây là phương pháp xóa (chỉ hoạt động đối với tôi):

this.fs.delete('file/to/delete'); 

Link: Yeoman issue 1505

Các vấn đề liên quan