Rumah  >  Artikel  >  hujung hadapan web  >  Cara menggabungkan Node.js dan SQL dengan lapisan halaman untuk mencapai pembangunan laman web dinamik

Cara menggabungkan Node.js dan SQL dengan lapisan halaman untuk mencapai pembangunan laman web dinamik

PHPz
PHPzasal
2023-04-05 10:31:26653semak imbas

Node.js ialah JavaScript yang berjalan di bahagian pelayan.
SQL ialah bahasa pertanyaan berstruktur yang digunakan untuk mengurus pangkalan data hubungan. Kedua-dua teknologi ini digabungkan untuk membolehkan pembangunan laman web dinamik.

Apabila membangunkan tapak web dinamik, kita perlu mewujudkan sambungan dengan pangkalan data dan melaksanakan pernyataan SQL untuk membaca dan menulis data. Dalam Node.js, banyak modul boleh digunakan untuk membantu kami menyambung ke pangkalan data, yang paling popular ialah modul mysql.

Pelapis halaman merujuk kepada membahagikan kod HTML, CSS dan JavaScript bahagian hadapan kepada berbilang peringkat, dengan setiap peringkat mempunyai tanggungjawab kod yang berbeza. Kelebihan ini ialah kod boleh disusun dengan lebih baik dan kebolehselenggaraan kod boleh dipertingkatkan.

Mari perkenalkan cara menggabungkan Node.js dan SQL dengan lapisan halaman untuk membangunkan tapak web dinamik.

1. Struktur projek

Untuk menyusun kod dengan lebih baik, kita perlu membahagikan kod kepada berbilang peringkat. Berikut ialah struktur direktori projek:

myapp/
├── app.js
├── package.json
├── node_modules/
├── public/
│   ├── css/
│   │   └── style.css
│   ├── js/
│   │   ├── main.js
│   │   └── jquery.min.js
│   └── img/
│       └── logo.png
└── views/
    ├── index.html
    ├── header.html
    ├── footer.html
    └── error.html
  • app.js: fail kemasukan projek.
  • package.json: Fail konfigurasi projek.
  • node_modules/: Menyimpan modul yang diperlukan untuk projek.
  • public/: Simpan fail statik seperti CSS, JavaScript dan imej.
  • views/: menyimpan fail templat HTML.

2. Sambungan pangkalan data

Dalam app.js, kita perlu menyambung ke pangkalan data. Kod untuk menggunakan modul mysql untuk menyambung ke pangkalan data MySQL adalah seperti berikut:

const mysql = require('mysql');

// 创建连接
const connection = mysql.createConnection({
  host: 'localhost',  // 数据库主机地址
  user: 'root',       // 数据库用户名
  password: '123456', // 数据库密码
  database: 'myapp'   // 数据库名称
});

// 连接数据库
connection.connect((err) => {
  if (err) {
    console.error('连接数据库失败:', err);
    return;
  }
  console.log('连接数据库成功');
});

// 关闭连接
connection.end((err) => {
  if (err) {
    console.error('关闭连接失败:', err);
    return;
  }
  console.log('关闭连接成功');
});

3 Operasi pangkalan data

Selepas menyambung ke pangkalan data, kami boleh melaksanakan pernyataan SQL ke. membaca dan menulis data. Berikut ialah contoh mudah untuk memasukkan sekeping data ke dalam pangkalan data:

const sql = 'INSERT INTO users SET ?';
const data = { username: 'test', password: '123456' };
connection.query(sql, data, (err, results, fields) => {
  if (err) {
    console.error('插入数据失败:', err);
    return;
  }
  console.log('插入数据成功');
});

Kaedah query digunakan di sini untuk melaksanakan pernyataan SQL. Parameter pertama ialah pernyataan SQL, dan parameter kedua ialah data yang akan dimasukkan, dinyatakan dalam bentuk objek.

4. Lapisan halaman

Dalam direktori views, kami menyimpan fail templat HTML tapak web. Fail templat ini dipaparkan ke halaman HTML akhir oleh enjin templat.

Kami menggunakan enjin templat ejs untuk memaparkan templat HTML. Berikut ialah contoh mudah:

<!-- index.html -->
<!DOCTYPE html>
<html>
<head>
  <title>Node.js 实现 SQL 和页面分层</title>
  <link rel="stylesheet" href="/css/style.css">
</head>
<body>
  <% include header.html %>

  <div class="container">
    <h1>欢迎来到我的网站!</h1>
    <p><%= message %></p>
  </div>

  <% include footer.html %>

  <script src="/js/jquery.min.js"></script>
  <script src="/js/main.js"></script>
</body>
</html>

Seperti yang anda lihat, kod JavaScript dimasukkan menggunakan <% %> dan <%= %> dalam HTML. Arahan include digunakan untuk memperkenalkan fail templat HTML yang lain.

Dalam Node.js, gunakan modul ejs untuk memaparkan templat HTML. Berikut ialah contoh:

const ejs = require('ejs');
const fs = require('fs');

const template = fs.readFileSync('views/index.html', 'utf8');
const data = { message: '欢迎访问我的网站!' };
const html = ejs.render(template, data);

console.log(html);

Kod ini dibaca dalam views/index.html fail templat, menggunakan objek { message: '欢迎访问我的网站!' } untuk memaparkan templat dan akhirnya menjana halaman HTML terakhir.

5. Ringkasan

Melalui pengenalan di atas, kami telah mempelajari cara menggunakan Node.js dan SQL digabungkan dengan lapisan halaman untuk membangunkan tapak web dinamik. Dalam projek sebenar, terdapat lebih banyak teknologi dan alatan yang boleh digunakan, seperti rangka kerja ORM, Webpack, Gulp, dsb., yang boleh meningkatkan kecekapan pembangunan dan kualiti kod.

Atas ialah kandungan terperinci Cara menggabungkan Node.js dan SQL dengan lapisan halaman untuk mencapai pembangunan laman web dinamik. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn