vue框架大概要学多久(前端vue要学5天就会方法)

express + vue +mysql 搭建项目

PHPer 2022-10-23 208 0 1
项目有bug,前端老是报错,这个文章只是用来参考 20221024 0136

神膘护体小月半 发布于 2021-09-15

创建目录

  • 为了方便管理项目,创建根目录,内部分成两部分,server 和 view
  • server 用来搭建 express 框架
  • view 用来搭建 vue 框架

搭建 express 框架

  • 全局安装 express 脚手架,并检测是否安装成功
npm install express-generator -g
  • 检测是否安装成功
express --version
  • 在 server 文件夹中创建 express 项目
express 项目名称
  • 目录结构
    • bin 目录下的 www 文件用来启动项目
    • public 目录用来存放静态文件
    • router 目录用来存放路由文件,对应资源和引入路径的问题
    • view 目录用来存放模板引擎文件
    • app.js 文件是整个项目的入口文件

8bfea07bad_normal.png

  • 安装依赖、启动项目
npm install
npm start
  • 默认访问 localhost:3000
  • 如果出现下面的内容,说明启动成功

732aef6e5b_normal.png

  • 初始化的脚手架中,router 目录下存在 user.js,用来加入自己的接口内容
router.get('/', function(req, res, next) {
  res.send('respond with a resource');
});
  • 在根目录 app.js 中,有关 user.js 的配置为
var usersRouter = require('./routes/users');

app.use('/users', usersRouter);
  • 此时在浏览器中访问路由 users,如果出现 respond with a resource 说明脚手架搭建成功

edebf2dbc8_normal.png

搭建 vue 框架

  • 全局安装脚手架
npm install -g @vue/cli
  • 检测是否安装成功
vue -V
  • 在 view 文件夹中创建 vue 项目
vue create 项目名称
  • 目录结构
    • assess 目录用来存放静态文件
    • components 目录用来存放公共组件
    • App.vue 根组件
    • main.js 项目入口
  • 设置跨域
    • express 项目默认在 3000 端口启动,所以视图层的 vue 框架中需要设置跨域
 devServer: {
    host: 'localhost',
    port: 8000,
    proxy: {
      '/api': {
        target: 'http://localhost:3000',
        changeOrigin: true,
        pathRewrite: {
          "/api": ""
        }
      }
    },

  },
  • 启动项目
npm install
npm run serve

连接数据库

  • express 项目中新建文件夹 modules 用来存放模块化设置的文件
  • modules 文件夹中新建 handel.js 对数据进行处理的模块封装
// 引入mysql
var mysql = require('mysql')
// 引入mysql连接配置
var connection = mysql.createConnection({
  host: 'localhost',
  user: 'root',
  password: 'root',
  database: 'testdata'
});
var userData = {
  // 查询所有数据
  queryAll: function (req, res, next) {
    let queryAll = 'SELECT * FROM userdata'
    connection.query(queryAll, function (err, result) {
      if (result != '') {
        res.json({
          code: '200',
          msg: '全部查找成功',
          data: result
        })
      } else {
        res.json({
          code: '1',
          msg: '操作失败'
        })
      }
    })
  },
}
module.exports = userData
  • routes 文件夹中的 index.js 封装接口
var express = require('express');
var router = express.Router();

// 引入自己封装的连接
var user = require('../modules/handel')

/* GET home page. */
router.get('/', function (req, res, next) {
  res.render('index', { title: 'Express' });
});

router.get('/queryAll', function (req, res, next) {
  user.queryAll(req, res, next)
})

module.exports = router;

操作数据

  • 在 vue 中使用
axios
  .get("/api/queryAll")
  .then((res) => {
    console.log("获取res", res);
  })
  .catch((err) => {
    console.log("获取报错", err);
  });
  • 如果能获取到数据,说明在本地搭建的数据视图互通的接口调试成功

77ea85b0fa_normal.png...

立即注册

更新于:2022-10-24 01:37:03
    您需要登录后才可以评论。 立即注册
    相关内容

    Centos7利用yum安装apache+mysql8+php7 一篇搞定!

    excel 列索引(数字)转列名-修正亲测版20200414

    前端优化之lazy-load Chris__Liu

    vue框架大概要学多久(前端vue要学5天就会方法)

    带你玩转vue——开发工具的选择vscode

    VS Code——Live Server的简介、安装与使用

    fatal: unable to access ‘https://github.com/nhn/raphael.git/‘: Op...

    fatal: unable to connect to gitee.com: gitee.com[0: 180.97.125.228]: e...

    git提交或克隆报错fatal: unable to access ‘https://github.com/tata20191...

    Docker Desktop requires Windows 10 Pro/Enterprise/Home (18363+)

    vue-router.esm.js?8c4f:2065 Uncaught (in promise) NavigationDuplicate...

    express + vue +mysql 搭建项目

    Vue + NodeJS + MySQL 搭建文章后台管理系统

    vue中在.vue文件中定义全局变量 全局函数及使用

    Identifier * is not in camel case - 代码规范性问题

    实战案例丨Vscode开发第一个Vue+Element Plus示例

    学习JS,TS,Vue等等语言做一个信息分享的小平台

    什么是 JWT -- JSON WEB TOKEN

    vue中 router.beforeEach() 的用法

    <router-view v-if=“isRouterAlive“> 刷新当前页面 - Vue2

    createError.js?2d83:16 Uncaught (in promise) Error: Request failed wi...

    vue axios跨域 Request Method: OPTIONS问题

    Vue报错 Errors compiling template: ****** : Interpolation inside attr...

    图片上传402 (Payment Required) 看具体js是这行xhr.send(formData); 报错

    这个符号`是怎么打出来的

    this.$router.push跳转时页面不刷新的问题

    vue 刷新当前页面或者跳转页面时候刷新

    vue项目如何刷新当前页面

    让 vue项目在Linux后台持久运行 npm run dev

    vue+element-ui表格列元素添加链接

    sockjs-node/info?t= net::ERR_CONNECTION_TIMED_OUT

    js快速将字符串数组转化为数字数组(互换)

    Vue中checkbox的v-model初值设置为数组才对

    vue element 中使用a标签报错的问题

    Vue 中使用 router-link 后,URL 变化但是页面不刷新,Vue获取后台传过来的值

    vue:报错“Extra semicolon“解决

    vue中的各种报错整理

    vscode 运行 vue localhost 拒绝了我们的连接请求。使用visual Studio Code...

    推荐内容

    分享几个好用的bt搜索bt资源下载网址网站

    影视电影剧集动漫综艺bt资源在线播放网址网站推荐分享

    全网最新bt磁力搜索引擎bt资源bt网站网址分享

    人气美女女优百度指数排行榜(波多野结衣,苍井空,三上悠亚,深田咏美,桥本有菜,北条...

    最强人造人深田咏美,业界的社交女王

    人生起起落落的三上悠亚,成名前的清纯风,怎么搭配出来的?

    业内第一大长腿,桥本有菜的腿究竟有多长

    波多野结衣,岛国业界著作最多的超级劳模

    日本AV界NO.1,苍井空是多少宅男的疯狂?

    美女女优视频混剪 This Girl-Laza Morgan

    怎样使用V2Ray代理和SSTap玩如魔兽世界/绝地求生/LOL台服/战地3/黑色沙漠/彩...

    sstap游戏代理教程 从此玩如魔兽世界/绝地求生/LOL台服/战地3/黑色沙漠/彩虹六...

    影视电影剧集动漫综艺bt资源在线播放网址网站推荐分享