Hướng dẫn how do i link node js to html? - làm cách nào để liên kết nút js với html?

Ứng dụng NodeJS của tôi rất đơn giản, nhưng tôi gặp khó khăn trong việc liên kết tệp JavaScript của mình với nó. Thông thường, bạn sẽ chỉ đặt kịch bản vào tiêu đề. Điều đó không hoạt động với Node, rõ ràng, đã cố gắng liên kết nó thông qua SendFile và một số phương pháp khác, nhưng không có phương pháp nào hoạt động.

Show

JavaScript của tôi chỉ đơn giản là:

var express = require('express');
var app = express();


app.get('/',function(req, res) {
    res.sendFile(__dirname + '/index.html');
    res.send()
});
app.listen(8888)

HTML của tôi cũng đơn giản:



    Charter
    
    
    


    

Những gì tôi muốn làm là liên kết một tệp khác,



    Charter
    
    
    


    
1. Tôi không biết làm thế nào để làm điều đó mà không có điển hình '


Mô-đun URL tích hợp

Mô -đun URL chia một địa chỉ web thành các phần có thể đọc được.

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



    Charter
    
    
    


    
2:

var url = yêu cầu ('url');

Phân tích một địa chỉ với phương thức



    Charter
    
    
    


    
3 và nó sẽ trả về một đối tượng URL với từng phần của địa chỉ dưới dạng thuộc tính:

Thí dụ

Chia một địa chỉ web thành các phần có thể đọc được:

var url = yêu cầu ('url'); var adr = 'http: // localhost: 8080/default.htm? Năm = 2017 & tháng = tháng 2'; var q = url.parse (adr, true);
var adr = 'http://localhost:8080/default.htm?year=2017&month=february';
var q = url.parse(adr, true);

Console.log (q.host); // trả về 'localhost: 8080' console.log (q.pathname); // trả về '/default.htm'console.log(q.Search); // Trả về '? Năm = 2017 & tháng = tháng 2'
console.log(q.pathname); //returns '/default.htm'
console.log(q.search); //returns '?year=2017&month=february'

var qdata = q.Query; // trả về một đối tượng: {năm: 2017, tháng: 'tháng 2'} console.log (qdata.month); // trả lại 'tháng hai'
console.log(qdata.month); //returns 'february'

Chạy ví dụ »


Máy chủ tệp Node.js

Bây giờ chúng ta biết cách phân tích cú pháp chuỗi truy vấn và trong chương trước, chúng ta đã học cách làm cho Node.js hoạt động như một máy chủ tệp. Hãy để chúng tôi kết hợp cả hai và phục vụ tệp được khách hàng yêu cầu.

Tạo hai tệp HTML và lưu chúng trong cùng một thư mục với các tệp Node.js của bạn.

summer.html

Summeri yêu mặt trời!


Summer


I love the sun!



winter.html

Winteri yêu tuyết!


Winter


I love the snow!





Tạo tệp Node.js mở tệp được yêu cầu và trả về nội dung cho máy khách. Nếu có bất cứ điều gì sai, hãy ném lỗi 404:

demo_fileserver.js:

var http = yêu cầu ('http'); var url = yêu cầu ('url'); var fs = yêu cầu ('fs');
var url = require('url');
var fs = require('fs');

http.createserver (function (req, res) {& nbsp; var q = url.parse (req.url, true); & nbsp; var filename = "." err, dữ liệu) {& nbsp; & nbsp; & nbsp; if (err) {& nbsp; & nbsp; & nbsp; ; & nbsp; & nbsp; & nbsp; return res.end ("404 không tìm thấy"); html '}); & nbsp; & nbsp; & nbsp; res.write (dữ liệu);
  var q = url.parse(req.url, true);
  var filename = "." + q.pathname;
  fs.readFile(filename, function(err, data) {
    if (err) {
      res.writeHead(404, {'Content-Type': 'text/html'});
      return res.end("404 Not Found");
    } 
    res.writeHead(200, {'Content-Type': 'text/html'});
    res.write(data);
    return res.end();
  });
}).listen(8080);

Hãy nhớ bắt đầu tệp:

Bắt đầu demo_fileserver.js:

C: \ Users \ Your Name> Node demo_fileserver.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 hai kết quả khác nhau khi mở hai địa chỉ sau:

http://localhost:8080/summer.html

Sẽ tạo ra kết quả này:

http://localhost:8080/winter.html

Sẽ tạo ra kết quả này:



Giới thiệu

Trong Node.js và Ứng dụng Express,



    Charter
    
    
    


    
4 có thể được sử dụng để cung cấp các tệp. Việc cung cấp các tệp HTML bằng cách sử dụng Express có thể hữu ích khi bạn cần một giải pháp để phục vụ các trang tĩnh.

Lưu ý: Trước khi Express 4.8.0,



    Charter
    
    
    


    
5 đã được hỗ trợ. Phiên bản viết thường này của


    Charter
    
    
    


    
4 đã bị phản đối.
Prior to Express 4.8.0,


    Charter
    
    
    


    
5 was supported. This lowercase version of


    Charter
    
    
    


    
4 has since been deprecated.

Trong bài viết này, bạn sẽ học cách sử dụng



    Charter
    
    
    


    
4.

Điều kiện tiên quyết

Để hoàn thành hướng dẫn này, bạn sẽ cần:

  • Node.js được cài đặt cục bộ, bạn có thể làm bằng cách theo cách cài đặt Node.js và tạo môi trường phát triển cục bộ.

Hướng dẫn này đã được xác minh bằng nút v16.0.0,



    Charter
    
    
    


    
8 v7.11.1 và


    Charter
    
    
    


    
9 v4.17.1.

Bước 1 - Thiết lập dự án

Đầu tiên, hãy mở cửa sổ thiết bị đầu cuối của bạn và tạo một thư mục dự án mới:

  1. mkdir express-sendfile-example

Sau đó, điều hướng đến thư mục mới được tạo:

  1. cd express-sendfile-example

Tại thời điểm này, bạn có thể khởi tạo một dự án NPM mới:

  1. npm init -y

Tiếp theo, bạn sẽ cần cài đặt gói



    Charter
    
    
    


    
9:

  1. npm install

Tại thời điểm này, bạn có một dự án mới sẵn sàng sử dụng Express.

Tạo tệp

  1. mkdir express-sendfile-example
1 mới và mở nó với Trình chỉnh sửa mã của bạn:

server.js

const express = require('express');

const app = express();
const port = process.env.PORT || 8080;

// sendFile will go here

app.listen(port);
console.log('Server started at http://localhost:' + port);

Xem lại cửa sổ thiết bị đầu cuối của bạn và chạy ứng dụng của bạn:

  1. node server.js

Sau khi xác minh dự án của bạn đang hoạt động như mong đợi, bạn có thể sử dụng



    Charter
    
    
    


    
4.

Bước 2 - Sử dụng Charter
4

Xem lại

  1. mkdir express-sendfile-example
1 với Trình chỉnh sửa mã của bạn và thêm
  1. mkdir express-sendfile-example
5,
  1. mkdir express-sendfile-example
6 và


    Charter
    
    
    


    
4:

server.js

const express = require('express');
const path = require('path');

const app = express();
const port = process.env.PORT || 8080;

// sendFile will go here
app.get('/', function(req, res) {
  res.sendFile(path.join(__dirname, '/index.html'));
});

app.listen(port);
console.log('Server started at http://localhost:' + port);

Khi một yêu cầu được thực hiện cho máy chủ, một tệp

  1. mkdir express-sendfile-example
8 được phục vụ.

Tạo tệp

  1. mkdir express-sendfile-example
8 mới và mở nó với Trình chỉnh sửa mã của bạn:

index.html

DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Sample Sitetitle>
  <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
  <style>
    body { padding-top: 50px; }
  style>
head>
<body>

  <div class="container">
    <div class="jumbotron">
      <h2>res.sendFile() Works!h2>
    div>
  div>
    
body>
html>

Mã này sẽ hiển thị thông báo:

  1. cd express-sendfile-example
0.

Lưu ý: Hướng dẫn này sử dụng bootstrapcdn để tạo kiểu, nhưng nó không bắt buộc. This tutorial makes use of BootstrapCDN for styling, but it is not required.

Lưu các thay đổi của bạn. Sau đó, mở cửa sổ đầu cuối của bạn và chạy lại máy chủ.

  1. node server.js

Với máy chủ đang chạy, hãy truy cập

  1. cd express-sendfile-example
1 trong trình duyệt web:

Hướng dẫn how do i link node js to html? - làm cách nào để liên kết nút js với html?

Ứng dụng của bạn hiện sử dụng



    Charter
    
    
    


    
4 để phục vụ các tệp HTML.

Sự kết luận

Trong bài viết này, bạn đã học cách sử dụng



    Charter
    
    
    


    
4.

Tiếp tục học tập của bạn với học cách sử dụng bộ định tuyến Express 4.0 và cách truy xuất URL và đăng các tham số với Express.

Làm thế nào để bạn liên kết nút JS với HTML?

Đối với trang HTML, chúng tôi phải sử dụng URL, vì vậy, trong mô -đun Node JS, URL URL đã được sử dụng để chúng tôi phải thêm mô -đun này vào tệp chương trình của chúng tôi.Và sau đó chúng ta có thể nhận được đường dẫn của URL yêu cầu như hình dưới đây.var url = yêu cầu ("url");đường dẫn var = url.use URL so for that in Node JS “url” module has been used so we have to add this module in our program file. And then we can get the path of request URL as shown below. var url=require("url"); var path=url.

Tôi có thể sử dụng HTML với Node JS không?

Kết luận: Với các hoạt động IO tệp đơn giản, chúng tôi có thể đọc tệp HTML trong Node.js và bằng cách sử dụng các mô -đun đơn giản, chúng tôi có thể gửi phản hồi HTML trở lại máy khách.With simple File IO operations we can read HTML file in Node. js and by using simple modules, we can send a HTML response back to client.

Làm cách nào để hiển thị tệp HTML nút JS?

Kết xuất tệp HTML trong nút ...
Bước 1: Cài đặt Express.Tạo một thư mục mới và khởi tạo một dự án nút mới bằng lệnh sau.....
Bước 2: Sử dụng hàm sendFile ().....
Bước 3: Kết xuất HTML trong Express.....
Bước 4: Kết xuất HTML động bằng công cụ tạo khuôn ..

Làm cách nào để viết mã HTML trong nút JS?

Doctype html> ' +' ' + header +' ' + body +' ';};Và truy cập HTML này với http: // localhost: 8080 từ trình duyệt của bạn ...
HTTP (API gốc nút).
Connect..
Thể hiện (sử dụng kết nối).
Cánh buồm (xây dựng trên Express).
Meteor..
Astro..