Node.js 是一個運行在伺服器端的 JavaScript。
SQL 是一種結構化查詢語言,用於管理關係型資料庫。這兩個技術結合起來可以實現動態網站的開發。
在開發動態網站時候,我們需要與資料庫建立連接,並且執行 SQL 語句來讀寫資料。在 Node.js 中,可以使用許多模組來幫助我們連接資料庫,最受歡迎的是 mysql
模組。
頁面分層指的是將前端的 HTML、CSS 和 JavaScript 程式碼分成多個層次,每個層次的程式碼職責不同。這樣做的好處是可以更好地組織程式碼,提高程式碼可維護性。
下面我們來介紹如何將 Node.js 和 SQL 與頁面分層結合起來實作動態網站的開發。
為了更好地組織程式碼,我們需要將程式碼分成多個層次。以下是專案的目錄結構:
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
:專案的入口檔案。 package.json
:專案的設定檔。 node_modules/
:存放專案所需的模組。 public/
:存放靜態文件,如 CSS、JavaScript 和圖片等。 views/
:存放 HTML 範本檔案。 在 app.js
中,我們需要連接資料庫。使用 mysql
模組連接 MySQL 資料庫的程式碼如下:
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('关闭连接成功'); });
連接資料庫之後,我們就可以執行 SQL 語句來讀寫資料了。以下是一個簡單的例子,在資料庫中插入一條資料:
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('插入数据成功'); });
這裡使用了 query
方法來執行 SQL 語句。第一個參數是 SQL 語句,第二個參數是要插入的數據,以物件的形式表示。
在 views
目錄中,我們存放網站的 HTML 範本檔案。這些模板檔案透過模板引擎來渲染成最終的 HTML 頁面。
我們使用 ejs
模板引擎來渲染 HTML 模板。以下是一個簡單的範例:
<!-- 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>
可以看到,在HTML 中使用<% %>
和<%= %>
來插入JavaScript 程式碼。 include
指令用來引入其他的 HTML 模板檔案。
在 Node.js 中,使用 ejs
模組來渲染 HTML 模板。以下是一個範例:
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);
這段程式碼將 views/index.html
範本檔案讀取進來,使用物件 { message: '歡迎造訪我的網站! ' }
來渲染模板,最終產生最終的 HTML 頁面。
透過以上的介紹,我們學習如何使用 Node.js 和 SQL 與頁面分層結合起來實現動態網站的開發。在實際專案中,還有更多的技術和工具可以使用,如 ORM 框架、Webpack、Gulp 等,可以大幅提高開發效率和程式碼品質。
以上是如何將Node.js和SQL與頁面分層結合實現動態網站開發的詳細內容。更多資訊請關注PHP中文網其他相關文章!