Vue3 Nodejs后台搭建

在nodejs环境中我们可以利用nodejs+express+mysql去创建后台环境

Nodejs: 运行在非浏览器端的JavaScript(Nodejs是运行javascript的环境)。

express: 一款基于Nodejs, 用于快速创建web服务(后台)的框架。

mysql :数据库,持久化存储数据的工具。

1.环境:Nodejs环境 

(可以通过nvm 管理nodejs版本)

检查nodejs 版本           ------------>   node -v 

2.mysql数据库

数据库是一种让数据持久化储存的工具

通过集成环境的环境安装, 例如: phpstudy wamp 使用mysql

3.数据库可视化管理软件

下载Navicat           可以创建数据库以及数据表

以上三个步骤完成就可以开始创建web服务(搭建后台项目)

4.利用express框架快速搭建后台项目

文档地址:Express - 基于 Node.js 平台的 web 应用开发框架 - Express中文文档 | Express中文网

 ----------->  安装nodemon自动执行代码    npm install -g nodemon

-----------> 全局安装express 生成器     npm install -g express -generator

--------> express 项目名

生成一个后台的项目结构

 5.访问URL

 6.设置模板引擎

把 jade 模板 设置成 html 模板

app.set('views', path.join(__dirname, 'views'));

app.set('view engine', 'jade');

------>下载ejs     npm install ejs

修改代码

//把以下代码
// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'jade');



//修改成
// 视图渲染引擎
app.set('views', path.join(__dirname, 'views'));
// 配置Express 视图引擎
app.engine('html', ejs.__express);
app.set('view engine', 'html');

 7.GET 请求

// 写个 GET 请求的测试方式方法
// 地址: http://localhost:3000/api/user/test
// 方式: GET  (可以通过浏览器地址栏测试)
// 参数: page pageSize id
router.get('/test', async (req, res)=>{
   // 接收通过GET方式提交的参数
   let  { page,pageSize,id } = req.query;
   // 判断参数是否有值
   if(page === undefined || pageSize === undefined || id === undefined) {
      res.send({
        code: -1,
        msg: '缺少参数' 
      })
   }else {
      res.send({
        code: 200,
        msg: '获取参数列表成功',
        page,
        pageSize,
        id 
      })
   }
})

 8.POST 请求

npm install body-parser

在入口文件app.js加入以下代码

var bodyParser = require('body-parser') // parse application/x-www-form-urlencoded app.use(bodyParser.urlencoded({ extended: false })) // parse application/json app.use(bodyParser.json())

// 写一个POST 请求的测试方法
// 地址: http://localhost:3000/api/user/example
// 方式: POST  (不能直接通过浏览器地址栏测试,可以通过postman postcode form等)
// 参数: user_name user_pwd
router.post('/example' , async (req,res)=>{
     // 接收通过POST方式提交的参数
     let {user_name, user_pwd } = req.body;
     if(user_name === undefined || user_pwd === undefined) {
         res.send({
            code: -1,
            msg: '缺少参数'
         })
     }
     else {
        res.send({
            code: 200,
            msg: '请求成功。',
            user_name
        })
     }
})

 9.设置cors

------------>设置资源跨域共享                         npm install cors

const cors = require('cors');// 做资源跨域共享 // 设置资源跨域共享 app.use(cors()); 

10.下载 mysql模块

-------> 下载mysql模块           npm  install mysql

数据库配置 

创建    ------------>         database.js

创建  ----------->          db.js 

//创建database.js 文件
//  数据库配置文件
module.exports = {
    mysql :{
        host:'47.93.52.8',
      //user--->填的是你数据库的user
         user:'schools',
     //password--->填的是你数据库的password
        password:'schoolyard123456',
     //  数据库的名称
        database:'schools',
        port:3306
    }
}

 

//配置db.js 文件
module.exports = {
    //调用query方法执行sql语句
    query: function (sql) {
        // 返回操作数据库的promise
        return new Promise((resolve, reject) => {
            // 连接数据库
            pool.getConnection(function (err, connection) {
                // 执行sql语句
                connection.query(sql, function (err, rows) {
                    // 操作失败
                    if(err){
                        reject(err)
                    }
                    // 操作成功
                    else {
                        resolve(rows);
                    }
                    // 释放连接
                    connection.release();
                })
            })
        })
    }
}

 11.常见的sql语句

查询

// 查询db_message这个表格的所有字段 // let sql = `select * from db_message`; // let sql = `select title, content from db_message`;

条件查询

查询db_message这个表格的所有字段

let sql = `select * from db_message where id='${id}'`; // let sql = `select * from db_message where id='${id}' and author= '${author}'`; let sql = `select * from db_message where id='${id}' or author= '${author}'`;

 关键字查询(模糊查询)

 查询db_message这个表格的所有字段

 let sql = `select * from db_message where title like '%${keyword}%' or author like '%${keyword}%'`;

 插入数据

// 查询db_message这个表格的所有字段

let sql = `insert into db_message(title,content,author)values('${title}','${content}','${author}')`;

删除数据 

 根据id 删除db_message这个表格的相应的记录

let sql = `delete from db_message`

let sql = `delete from db_message where id = '${id}'`

  • 17
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
Vue 3是一种流行的JavaScript框架,用于构建用户界面。它采用了一些新的特性和改进,使得开发更加高效和灵活。Node.js是一个基于Chrome V8引擎的JavaScript运行时环境,它可以让你在服务器端运行JavaScript代码。 关于Vue 3和Node.js的结合,你可以使用Vue CLI快速搭建一个Vue 3项目,并且使用Node.js作为后端服务器来处理数据和提供API。下面是一些具体的步骤可以供你参考: 1. 首先,确保你已经安装了Node.js和Vue CLI。你可以在命令行中运行以下命令来检查它们是否已经安装: ```bash node -v vue --version ``` 2. 如果你没有安装Node.js,请到官方网站下载并安装最新版本。安装完成后,你应该能够使用`node -v`命令来查看Node.js的版本号。 3. 如果你没有安装Vue CLI,请打开命令行并运行以下命令来全局安装Vue CLI: ```bash npm install -g @vue/cli ``` 4. 安装完成后,你可以使用`vue --version`命令来查看Vue CLI的版本号。 5. 接下来,使用Vue CLI创建一个新的Vue 3项目。在命令行中运行以下命令: ```bash vue create my-project ``` 这将使用默认的预设选项创建一个新的Vue 3项目。你可以根据需要选择其他预设选项。 6. 进入项目目录: ```bash cd my-project ``` 7. 在项目目录下启动开发服务器: ```bash npm run serve ``` 这将启动一个本地开发服务器,并且你可以在浏览器中访问`http://localhost:8080`来查看你的Vue 3应用。 8. 在`src`目录下创建一个名为`server.js`的文件,用于编写Node.js后端代码。你可以使用Express.js等框架来搭建你的后端。 9. 在`server.js`文件中,你可以定义路由和处理API请求的逻辑。这里有一个简单的示例: ```javascript const express = require('express'); const app = express(); app.get('/api/data', (req, res) => { // 处理API请求逻辑 res.json({ message: 'Hello from the backend!' }); }); app.listen(3000, () => { console.log('Server running on port 3000'); }); ``` 10. 使用以下命令安装Express.js: ```bash npm install express ``` 11. 在命令行中运行以下命令来启动Node.js后端服务器: ```bash node server.js ``` 这将启动一个运行在`http://localhost:3000`的后端服务器。 现在,你的Vue 3前端应用和Node.js后端服务器已经连接起来了。你可以在Vue组件中使用`axios`或`fetch`等工具来发送HTTP请求并与后端进行通信。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值