2014-05-12 16 views

Trả lời

24

Tôi không có một cài đặt nút trong tầm tay, nhưng nhìn vào sources có vẻ như chúng cũng cho phép các chuỗi:

mode  : '0644' 

Ứng dụng có hoạt động không?

+0

+1 Điều đó trông giống như một giải pháp hợp lệ, được cung cấp nguồn (giả sử chúng là nguồn và phiên bản phù hợp, v.v.). –

46

Bạn có thể viết chúng như thế này:

mode  : parseInt('0644',8) 

Trong nút và trong các trình duyệt hiện đại (xem compatibility), bạn có thể sử dụng chữ bát phân:

mode  : 0o644 
+0

Tôi thích câu trả lời này vì nó sử dụng một kiểu số nguyên mà làm cho nó tốt hơn cho những thứ như fs.chmod hoặc fs.mkdir, gọi số nguyên trên chế độ. Ngay cả khi họ "hỗ trợ" chuỗi, nó là một ý tưởng tốt để vượt qua chúng các loại dữ liệu mà họ mong đợi. – Michael

25

tôi đi qua vấn đề này trong khi sử dụng nó trong một squence scape:

console.log('\033c'); // Clear screen 

Tất cả tôi phải làm là chuyển đổi nó để Hex

console.log('\x1Bc'); // Clear screen 
+4

Chính xác là vấn đề của tôi! Giải pháp này hoạt động tốt, cảm ơn bạn! – eisbehr

0

Bạn có thể tránh vấn đề này bằng cách sử dụng chế độ vào loại chuỗi.

1 Phương pháp

let mode = "0766"; 
fs.createWriteStream(fileName, { 
     flags : 'a', 
     encoding : 'utf8', 
     mode  : mode 
    }); 

hoặc

2 Phương pháp

fs.createWriteStream(fileName, { 
     flags : 'a', 
     encoding : 'utf8', 
     mode  : "0766" 
    }); 
Các vấn đề liên quan