Hướng dẫn node js create html file - nút js tạo tệp html

Node.js không chạy trong trình duyệt, do đó bạn sẽ không có sẵn đối tượng document. Trên thực tế, bạn thậm chí sẽ không có một cây Dom nào cả. Nếu bạn hơi bối rối vào thời điểm này, tôi khuyến khích bạn đọc thêm về nó trước khi đi xa hơn.

Có một vài phương pháp bạn có thể chọn để làm những gì bạn muốn.

Phương pháp 1: Phục vụ tệp trực tiếp qua HTTP

Bởi vì bạn đã viết về việc mở tệp trong trình duyệt, tại sao bạn không sử dụng khung sẽ phục vụ tệp trực tiếp dưới dạng dịch vụ HTTP, thay vì có quy trình hai bước? Bằng cách này, mã của bạn sẽ năng động hơn và dễ dàng duy trì [không đề cập đến HTML của bạn luôn cập nhật].

Có rất nhiều khuôn khổ ngoài kia cho điều đó:

  • HTTP [API gốc nút]
  • Liên kết
  • Koa
  • Express [sử dụng kết nối]
  • Sails [xây dựng trên Express]
  • Thiên thạch
  • Tiếp theo
  • Astro
  • etc.

Cách cơ bản nhất bạn có thể làm những gì bạn muốn là:

var http = require['http'];

http.createServer[function [req, res] {
  var html = buildHtml[req];

  res.writeHead[200, {
    'Content-Type': 'text/html',
    'Content-Length': html.length,
    'Expires': new Date[].toUTCString[]
  }];
  res.end[html];
}].listen[8080];

function buildHtml[req] {
  var header = '';
  var body = '';

  // concatenate header string
  // concatenate body string

  return ''
       + '' + header + '' + body + '';
};

Và truy cập HTML này với //localhost:8080 từ trình duyệt của bạn.

[Chỉnh sửa: Bạn cũng có thể phục vụ họ với một máy chủ HTTP nhỏ.]Edit: you could also serve them with a small HTTP server.]

Phương pháp 2: Chỉ tạo tệp

Nếu những gì bạn đang cố gắng làm chỉ đơn giản là tạo ra một số tệp HTML, thì hãy đơn giản. Để thực hiện truy cập IO trên hệ thống tệp, Node có API cho điều đó, được ghi lại ở đây.

var fs = require['fs'];

var fileName = 'path/to/file';
var stream = fs.createWriteStream[fileName];

stream.once['open', function[fd] {
  var html = buildHtml[];

  stream.end[html];
}];

Lưu ý: Hàm buildHtml giống hệt như trong Phương pháp 1. The buildHtml function is exactly the same as in Method 1.

Phương pháp 3: Việc đổ tệp trực tiếp vào stdout

Đây là triển khai Node.js cơ bản nhất và yêu cầu ứng dụng gọi để xử lý đầu ra. Để xuất một cái gì đó trong nút [tức là stdout], cách tốt nhất là sử dụng console.log[message] trong đó

var fs = require['fs'];

var fileName = 'path/to/file';
var stream = fs.createWriteStream[fileName];

stream.once['open', function[fd] {
  var html = buildHtml[];

  stream.end[html];
}];
0 là bất kỳ chuỗi, hoặc đối tượng, v.v.

var html = buildHtml[];

console.log[html];

Lưu ý: Hàm buildHtml giống hệt như trong Phương pháp 1 [một lần nữa] The buildHtml function is exactly the same as in Method 1 [again]

Nếu tập lệnh của bạn được gọi là

var fs = require['fs'];

var fileName = 'path/to/file';
var stream = fs.createWriteStream[fileName];

stream.once['open', function[fd] {
  var html = buildHtml[];

  stream.end[html];
}];
2 [ví dụ], trong hệ thống dựa trên Linux/Unix, chỉ cần làm

$ node html-generator.js > path/to/file

Sự kết luận

Vì nút là một hệ thống mô -đun, bạn thậm chí có thể đặt hàm buildHtml bên trong mô -đun riêng của nó và chỉ cần viết bộ điều hợp để xử lý HTML theo cách bạn muốn. Cái gì đó như

var htmlBuilder = require['path/to/html-builder-module'];

var html = htmlBuilder[options];
...

Bạn phải nghĩ rằng "phía máy chủ" chứ không phải "phía máy khách" khi viết javascript cho node.js; Bạn không ở trong trình duyệt và/hoặc giới hạn trong hộp cát, ngoài động cơ V8.

Đọc thêm, tìm hiểu về NPM. Hi vọng điêu nay co ich.

Node.js như một máy chủ tệp

Mô -đun hệ thống tệp Node.js cho phép bạn làm việc với hệ thống tệp trên máy tính của bạn.

Để bao gồm mô -đun hệ thống tệp, hãy sử dụng phương thức

var fs = require['fs'];

var fileName = 'path/to/file';
var stream = fs.createWriteStream[fileName];

stream.once['open', function[fd] {
  var html = buildHtml[];

  stream.end[html];
}];
4:

Sử dụng phổ biến cho mô -đun hệ thống tệp:

  • Đọc tệp
  • Tạo tập tin
  • Cập nhật tệp
  • Xóa các tập tin
  • Đổi tên tập tin

Đọc tệp

Phương pháp

var fs = require['fs'];

var fileName = 'path/to/file';
var stream = fs.createWriteStream[fileName];

stream.once['open', function[fd] {
  var html = buildHtml[];

  stream.end[html];
}];
5 được sử dụng để đọc các tệp trên máy tính của bạn.

Giả sử chúng ta có tệp HTML sau [nằm trong cùng thư mục với Node.js]:

demofile1.html

Đoạn đầu của tôi.

My Header


My paragraph.



Tạo tệp Node.js đọc tệp HTML và trả về nội dung:

Thí dụ

var http = yêu cầu ['http']; var fs = yêu cầu ['fs']; http.createserver [function [req, res] {& nbsp; fs.readfile ['demofile1.html', function [err, data] & NBSP; []; & nbsp;}];}]. Nghe [8080];
var fs = require['fs'];
http.createServer[function [req, res] {
  fs.readFile['demofile1.html', function[err, data] {
    res.writeHead[200, {'Content-Type': 'text/html'}];
    res.write[data];
    return res.end[];
  }];
}].listen[8080];

Chạy ví dụ »

Lưu mã ở trên trong một tệp có tên là "demo_readfile.js" và bắt đầu tệp:

Bắt đầu demo_readfile.js:

C: \ user \ tên của bạn> node demo_readfile.js

Nếu bạn đã làm theo cùng các bước trên máy tính của mình, bạn sẽ thấy kết quả tương tự như ví dụ: // localhost: 8080

Tạo tập tin

Mô -đun hệ thống tệp có các phương thức tạo tệp mới:

  • var fs = require['fs'];
    
    var fileName = 'path/to/file';
    var stream = fs.createWriteStream[fileName];
    
    stream.once['open', function[fd] {
      var html = buildHtml[];
    
      stream.end[html];
    }];
    
    6
  • var fs = require['fs'];
    
    var fileName = 'path/to/file';
    var stream = fs.createWriteStream[fileName];
    
    stream.once['open', function[fd] {
      var html = buildHtml[];
    
      stream.end[html];
    }];
    
    7
  • var fs = require['fs'];
    
    var fileName = 'path/to/file';
    var stream = fs.createWriteStream[fileName];
    
    stream.once['open', function[fd] {
      var html = buildHtml[];
    
      stream.end[html];
    }];
    
    8

Phương thức

var fs = require['fs'];

var fileName = 'path/to/file';
var stream = fs.createWriteStream[fileName];

stream.once['open', function[fd] {
  var html = buildHtml[];

  stream.end[html];
}];
6 nối nội dung được chỉ định vào một tệp. Nếu tệp không tồn tại, tệp sẽ được tạo:

Thí dụ

var http = yêu cầu ['http']; var fs = yêu cầu ['fs']; http.createserver [function [req, res] {& nbsp; fs.readfile ['demofile1.html', function [err, data] & NBSP; []; & nbsp;}];}]. Nghe [8080];

Chạy ví dụ »

Lưu mã ở trên trong một tệp có tên là "demo_readfile.js" và bắt đầu tệp:
  if [err] throw err;
  console.log['Saved!'];
}];

Chạy ví dụ »

Lưu mã ở trên trong một tệp có tên là "demo_readfile.js" và bắt đầu tệp:

Thí dụ

var http = yêu cầu ['http']; var fs = yêu cầu ['fs']; http.createserver [function [req, res] {& nbsp; fs.readfile ['demofile1.html', function [err, data] & NBSP; []; & nbsp;}];}]. Nghe [8080];

Chạy ví dụ »

Lưu mã ở trên trong một tệp có tên là "demo_readfile.js" và bắt đầu tệp:
  if [err] throw err;
  console.log['Saved!'];
}];

Chạy ví dụ »

Lưu mã ở trên trong một tệp có tên là "demo_readfile.js" và bắt đầu tệp:

Thí dụ

var http = yêu cầu ['http']; var fs = yêu cầu ['fs']; http.createserver [function [req, res] {& nbsp; fs.readfile ['demofile1.html', function [err, data] & NBSP; []; & nbsp;}];}]. Nghe [8080];

Chạy ví dụ »

Lưu mã ở trên trong một tệp có tên là "demo_readfile.js" và bắt đầu tệp:
  if [err] throw err;
  console.log['Saved!'];
}];

Bắt đầu demo_readfile.js:

C: \ user \ tên của bạn> node demo_readfile.js

Nếu bạn đã làm theo cùng các bước trên máy tính của mình, bạn sẽ thấy kết quả tương tự như ví dụ: // localhost: 8080

  • var fs = require['fs'];
    
    var fileName = 'path/to/file';
    var stream = fs.createWriteStream[fileName];
    
    stream.once['open', function[fd] {
      var html = buildHtml[];
    
      stream.end[html];
    }];
    
    6
  • var fs = require['fs'];
    
    var fileName = 'path/to/file';
    var stream = fs.createWriteStream[fileName];
    
    stream.once['open', function[fd] {
      var html = buildHtml[];
    
      stream.end[html];
    }];
    
    8

Tạo tập tin

Thí dụ

var http = yêu cầu ['http']; var fs = yêu cầu ['fs']; http.createserver [function [req, res] {& nbsp; fs.readfile ['demofile1.html', function [err, data] & NBSP; []; & nbsp;}];}]. Nghe [8080];

Chạy ví dụ »

Lưu mã ở trên trong một tệp có tên là "demo_readfile.js" và bắt đầu tệp:
  if [err] throw err;
  console.log['Updated!'];
}];

Chạy ví dụ »

Lưu mã ở trên trong một tệp có tên là "demo_readfile.js" và bắt đầu tệp:

Thí dụ

var http = yêu cầu ['http']; var fs = yêu cầu ['fs']; http.createserver [function [req, res] {& nbsp; fs.readfile ['demofile1.html', function [err, data] & NBSP; []; & nbsp;}];}]. Nghe [8080];

Chạy ví dụ »

Lưu mã ở trên trong một tệp có tên là "demo_readfile.js" và bắt đầu tệp:
  if [err] throw err;
  console.log['Replaced!'];
}];

Chạy ví dụ »

Lưu mã ở trên trong một tệp có tên là "demo_readfile.js" và bắt đầu tệp:

Bắt đầu demo_readfile.js:

C: \ user \ tên của bạn> node demo_readfile.js

Thí dụ

var http = yêu cầu ['http']; var fs = yêu cầu ['fs']; http.createserver [function [req, res] {& nbsp; fs.readfile ['demofile1.html', function [err, data] & NBSP; []; & nbsp;}];}]. Nghe [8080];

Chạy ví dụ »

Lưu mã ở trên trong một tệp có tên là "demo_readfile.js" và bắt đầu tệp:
  if [err] throw err;
  console.log['File deleted!'];
}];

Chạy ví dụ »

Lưu mã ở trên trong một tệp có tên là "demo_readfile.js" và bắt đầu tệp:

Bắt đầu demo_readfile.js:

C: \ user \ tên của bạn> node demo_readfile.js

Thí dụ

var http = yêu cầu ['http']; var fs = yêu cầu ['fs']; http.createserver [function [req, res] {& nbsp; fs.readfile ['demofile1.html', function [err, data] & NBSP; []; & nbsp;}];}]. Nghe [8080];

Chạy ví dụ »

Lưu mã ở trên trong một tệp có tên là "demo_readfile.js" và bắt đầu tệp:
  if [err] throw err;
  console.log['File Renamed!'];
}];

Chạy ví dụ »

Lưu mã ở trên trong một tệp có tên là "demo_readfile.js" và bắt đầu tệp:

Bắt đầu demo_readfile.js:

C: \ user \ tên của bạn> node demo_readfile.js


Bài Viết Liên Quan

Chủ Đề