国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

使用 Nuxt 構(gòu)建簡單后端接口及數(shù)據(jù)庫數(shù)據(jù)請求

這篇具有很好參考價值的文章主要介紹了使用 Nuxt 構(gòu)建簡單后端接口及數(shù)據(jù)庫數(shù)據(jù)請求。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

寫在前面

本文主要為大家介紹,如何使用 Nuxt 框架實現(xiàn)一個簡單的后端接口,并且從數(shù)據(jù)庫中請求數(shù)據(jù)返回給前端。

實現(xiàn)

創(chuàng)建 serverMiddleware 文件夾

首先我們新建一個名字為?serverMiddleware 文件夾用來存儲接口相關(guān)信息

目錄結(jié)構(gòu)如下:

使用 Nuxt 構(gòu)建簡單后端接口及數(shù)據(jù)庫數(shù)據(jù)請求,數(shù)據(jù)庫

在該文件夾下新建 api.js 寫接口相關(guān)代碼

使用 Nuxt 構(gòu)建簡單后端接口及數(shù)據(jù)庫數(shù)據(jù)請求,數(shù)據(jù)庫

api.js 接口相關(guān)代碼

const mysql = require("mysql2");

export default function (req, res) {
  // 創(chuàng)建 MySQL 連接
  const connection = mysql.createConnection({
    connectionLimit: 10,
    host: "127.0.0.1", //服務(wù)器地址
    user: "root",
    password: "123456", //密碼
    database: "jackson_blog_dev",
  });

  // 執(zhí)行 MySQL 查詢
  connection.query(
    "SELECT * FROM jacksonblogbacked",
    function (err, results, fields) {
      // 關(guān)閉數(shù)據(jù)庫連接
      connection.end();

      if (err) {
        console.error("Error querying database:", err);
        res.status(500).json({ error: "Internal Server Error" });
        return;
      }

      // 發(fā)送查詢結(jié)果作為 JSON 響應(yīng)
      res.setHeader("Content-Type", "application/json");
      res.end(JSON.stringify(results));
    }
  );
}

安裝 mysql2

安裝 mysql2 用于連接本地數(shù)據(jù)庫

npm install mysql2

創(chuàng)建 mysql 連接,并把相應(yīng)信息填寫上

(這一步大家要按照自己的數(shù)據(jù)庫信息)

  // 創(chuàng)建 MySQL 連接
  const connection = mysql.createConnection({
    connectionLimit: 10,
    host: "127.0.0.1", //服務(wù)器地址
    user: "root", //用戶名
    password: "123456", //密碼
    database: "jackson_blog_dev",//數(shù)據(jù)庫名
  });

接下來就是從表中查詢數(shù)據(jù),把數(shù)據(jù)返回出去即可

  // 執(zhí)行 MySQL 查詢
  connection.query(
    "SELECT * FROM jacksonblogbacked",
    function (err, results, fields) {
      // 關(guān)閉數(shù)據(jù)庫連接
      connection.end();

      if (err) {
        console.error("Error querying database:", err);
        res.status(500).json({ error: "Internal Server Error" });
        return;
      }

      // 發(fā)送查詢結(jié)果作為 JSON 響應(yīng)
      res.setHeader("Content-Type", "application/json");
      res.end(JSON.stringify(results));
    }
  );

使用接口

現(xiàn)在我們已經(jīng)在 api.js 中把接口信息寫好了,如何在頁面中使用呢?

初始化接口

nuxt.config 文件中初始化我們剛剛寫好的接口

// nuxt.config.js

export default {
  // 其他配置項...

  serverMiddleware: [
    // 注冊我們的初始化數(shù)據(jù)中間件
    { path: "/api/getData", handler: "~/serverMiddleware/api.js" },
  ]
}

頁面中使用

接口已經(jīng)初始化好了,接下來就是在頁面中使用接口

在 pages/index.vue 中

<template>
  <div>
    <h1>測試mysql連接:{{ message }}</h1>
  </div>
</template>

<script>
export default {
  async asyncData({ $axios }) {
    try {
      // 從服務(wù)器端路由獲取數(shù)據(jù)
      const { data } = await $axios.get("/api/getData");
      console.log("data: ", data);
      // 返回數(shù)據(jù)
      const { title } = data[0];
      return { message: title };
    } catch (error) {
      console.error("Error fetching data:", error);
      // 返回一個默認(rèn)的錯誤消息
      return { message: "Failed to fetch data" };
    }
  },
};
</script>

這里和 vue 不同的是,我們需要使用 asyncData 函數(shù)進行數(shù)據(jù)請求

文檔如下:異步數(shù)據(jù) - NuxtJS | Nuxt.js 中文網(wǎng)

直接使用 Nuxt 內(nèi)置的?$axios 進行接口請求,無需再安裝 axios 就可以使用

我們拿到數(shù)據(jù)后直接以對象的形式返回到頁面就可以使用了

      // 返回數(shù)據(jù)
      const { title } = data[0];
      return { message: title };

效果如下

使用 Nuxt 構(gòu)建簡單后端接口及數(shù)據(jù)庫數(shù)據(jù)請求,數(shù)據(jù)庫

總結(jié)

首先在 Nuxt 中實現(xiàn)后端接口數(shù)據(jù)請求,然后創(chuàng)建好接口文件,進行接口配置,最后在頁面中使用 asyncData 函數(shù)進行接口請求即可。

以上就是如何使用 Nuxt 框架實現(xiàn)一個簡單的后端接口所有內(nèi)容,如果你感覺寫的還不錯對你有幫助的話,可以點個贊支持一下,你的支持就是作者最大的動力?!

源碼

所有代碼都已經(jīng)提交到 GitHub

GitHub:chenyajun-create/nuxt-mysql (github.com)文章來源地址http://www.zghlxwxcb.cn/news/detail-834215.html

到了這里,關(guān)于使用 Nuxt 構(gòu)建簡單后端接口及數(shù)據(jù)庫數(shù)據(jù)請求的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • SQL server數(shù)據(jù)庫簡單的使用存儲過程

    SQL server數(shù)據(jù)庫簡單的使用存儲過程,入門級別 ?--刪除存儲過程 --drop proc AddProc--此為存儲過程的名字 --go ?--創(chuàng)建存儲過程 create proc AddProc--此為存儲過程的名字,前面帶#的為臨時的存儲過程 @str nvarchar(10)--可選參數(shù),如果沒有參數(shù) as 可不用寫 as? declare @n int --存儲過程內(nèi)部需

    2024年02月06日
    瀏覽(105)
  • 使用Docker構(gòu)建的MySQL主從架構(gòu):高可用性數(shù)據(jù)庫解決方案

    MySQL主從架構(gòu),我們已經(jīng)在vmware虛擬機上實踐過了,接下來我們一起探討在docker中如何使用MySQL主從架構(gòu)。 ??個人主頁:我是沐風(fēng)曉月 ??個人簡介:大家好,我是沐風(fēng)曉月,阿里云社區(qū)博客專家???? ?? 座右銘: 先努力成長自己,再幫助更多的人 ,一起加油進步??????

    2024年02月08日
    瀏覽(16)
  • 向量數(shù)據(jù)庫:usearch的簡單使用+實現(xiàn)圖片檢索應(yīng)用

    向量數(shù)據(jù)庫:usearch的簡單使用+實現(xiàn)圖片檢索應(yīng)用

    usearch是快速開源搜索和聚類引擎×,用于C++、C、Python、JavaScript、Rust、Java、Objective-C、Swift、C#、GoLang和Wolfram ??中的向量和??字符串× 一個簡單的例子(注:本例子在運行時向index中不斷添加項目,并將最后的index持久化為一個文件,在運行時由于添加項目內(nèi)存占用會不斷增

    2024年02月02日
    瀏覽(97)
  • C#學(xué)習(xí)系列之登錄界面的簡單數(shù)據(jù)庫使用

    C#學(xué)習(xí)系列之登錄界面的簡單數(shù)據(jù)庫使用

    最近在練習(xí)界面的處理,在編寫某登錄界面的過程中采用到數(shù)據(jù)庫的使用,簡單的用戶名與密碼登錄,在自己安裝、創(chuàng)建數(shù)據(jù)庫的表后,采用C#調(diào)用數(shù)據(jù)庫,卻一直會出現(xiàn)異常。因為在使用過程中采用了is_validation=1,反倒限制了try-catch的異常具體報錯。通過此篇來記錄一下數(shù)

    2024年02月04日
    瀏覽(24)
  • NET Core 6.0 webapi 簡單使用+連接數(shù)據(jù)庫

    NET Core 6.0 webapi 簡單使用+連接數(shù)據(jù)庫

    ASP.NET core NET core 6.0 如何使用 在 Program.cs里面 添加對應(yīng)注釋 效果: Microsoft.EntityFrameworkCore.Sqlite Microsoft.EntityFrameworkCore.Sqlite.Core Newtonsoft.Json:用于Json格式轉(zhuǎn)換 添加測試Api Tips:這里用到ORM查詢語法 EntityFramework EF 常用增刪改查語句 運行結(jié)果

    2024年02月09日
    瀏覽(24)
  • Android使用kotlin+協(xié)程+room數(shù)據(jù)庫的簡單應(yīng)用

    Android使用kotlin+協(xié)程+room數(shù)據(jù)庫的簡單應(yīng)用

    前言:一般主線程(UI線程)中是不能執(zhí)行創(chuàng)建數(shù)據(jù)這些操作的,因為等待時間長。所以協(xié)程就是為了解決這個問題出現(xiàn)。 第一步:在模塊級的build.gradle中引入 ? 好了前期工作ok,正式編寫room吧! 第二步:創(chuàng)建表實體 ?第三部:編寫對應(yīng)的Dao接口 ?第四步:創(chuàng)建數(shù)據(jù)庫信息

    2024年02月13日
    瀏覽(24)
  • Neo4j數(shù)據(jù)庫介紹及簡單使用

    Neo4j數(shù)據(jù)庫介紹及簡單使用

    圖數(shù)據(jù)庫是一種專門設(shè)計用于存儲和管理圖形數(shù)據(jù)的數(shù)據(jù)庫類型。在圖數(shù)據(jù)庫中,數(shù)據(jù)以圖的形式表示,其中節(jié)點表示實體,邊表示實體之間的關(guān)系。這種表示方式非常適合處理具有復(fù)雜關(guān)系的數(shù)據(jù),如社交網(wǎng)絡(luò)、推薦系統(tǒng)、網(wǎng)絡(luò)拓?fù)?、生物信息學(xué)等領(lǐng)域的數(shù)據(jù)。 圖數(shù)據(jù)庫通

    2024年02月04日
    瀏覽(23)
  • 如何使用python實現(xiàn)簡單爬取網(wǎng)頁數(shù)據(jù)并導(dǎo)入MySQL中的數(shù)據(jù)庫

    前言:要使用 Python 爬取網(wǎng)頁數(shù)據(jù)并將數(shù)據(jù)導(dǎo)入 MySQL 數(shù)據(jù)庫,您需要使用 Requests 庫進行網(wǎng)頁抓取,使用 BeautifulSoup 庫對抓取到的 HTML 進行解析,并使用 PyMySQL 庫與 MySQL 進行交互。 以下是一個簡單的示例: 1. ?安裝所需庫: ``` ``` 2. ?導(dǎo)入所需庫: ``` ``` 3. ?建立數(shù)據(jù)庫連接:

    2024年02月04日
    瀏覽(23)
  • 【JavaSE專欄90】用最簡單的方法,使用 JDBC 連接 MySQL 數(shù)據(jù)庫

    【JavaSE專欄90】用最簡單的方法,使用 JDBC 連接 MySQL 數(shù)據(jù)庫

    作者主頁 :Designer 小鄭 作者簡介 :3年JAVA全棧開發(fā)經(jīng)驗,專注JAVA技術(shù)、系統(tǒng)定制、遠(yuǎn)程指導(dǎo),致力于企業(yè)數(shù)字化轉(zhuǎn)型,CSDN學(xué)院、藍橋云課認(rèn)證講師。 主打方向 :Vue、SpringBoot、微信小程序 本文講解了如何使用 JDBC 連接 MySQL 數(shù)據(jù)庫,并給出了樣例代碼。JDBC 是 Java 語言訪問

    2024年02月11日
    瀏覽(25)
  • MySQL筆記——MySQL數(shù)據(jù)庫介紹以及在Linux里面安裝MySQL數(shù)據(jù)庫,對MySQL數(shù)據(jù)庫的簡單操作,MySQL的外接應(yīng)用程序使用說明

    MySQL筆記——MySQL數(shù)據(jù)庫介紹以及在Linux里面安裝MySQL數(shù)據(jù)庫,對MySQL數(shù)據(jù)庫的簡單操作,MySQL的外接應(yīng)用程序使用說明

    MySQL筆記——MySQL數(shù)據(jù)庫介紹以及在Linux里面安裝MySQL數(shù)據(jù)庫,對MySQL數(shù)據(jù)庫的簡單操作,MySQL的外接應(yīng)用程序使用說明 MySQL筆記——表的分組查詢、表的分頁查詢、表的約束、數(shù)據(jù)庫設(shè)計 MySQL案例——多表查詢以及嵌套查詢 MySQL筆記——數(shù)據(jù)庫當(dāng)中的事務(wù)以及Java實現(xiàn)對數(shù)據(jù)庫進

    2024年01月16日
    瀏覽(54)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包