Element UI + NodeJs(Express) 全栈开发后台管理界面+项目1

news/2024/7/10 1:55:45 标签: mongoose, vue, elementui, node, express

Element UI + NodeJs(Express)全栈开发后台管理界面

准备工作

1、Element-UI 官网

2、创建项目

1、vue create element-admin
2、选择Manually select features
3、后面一般是默认第一个配置或者回车就行
4、最后安装成功
5、vue add element
6、选择Fully import
7、npm run serve > App running at: - Local http://localhost:8081/
8、显示页面 > 即可成功
9、开始自己写页面,开发项目

image-20210325214912745

image-20210325215213940

配置路由

1、router > index.js

import Vue from 'vue'
import VueRouter from 'vue-router'
import ListArticle from '../views/ListArticle.vue'
import CreateArticle from '../views/CreateArticle.vue'
import EditArticle from '../views/EditArticle.vue'


Vue.use(VueRouter)

const routes = [
  {
    path: '/',
    name: 'Home',
    redirect:'/articles/index'
  },
  {
    path: '/articles/index',
    name: 'list-article ',
    component: ListArticle
  },
  {
    path: '/articles/create',
    name: 'create-article ',
    component: CreateArticle
  },
  {
    path: '/articles/:id/edit',
    name: 'edit-article',
    component: EditArticle
  }
]

const router = new VueRouter({
  routes
})

export default router

2、main.js

import Vue from 'vue'
import App from './App.vue'
import router from './router'
import './plugins/element.js'

Vue.config.productionTip = false

import axios from 'axios'
Vue.prototype.$http=axios.create({
   baseURL:'http://localhost:3001/api'
})

new Vue({
  router,
  render: h => h(App)
}).$mount('#app')

3、App.vue

<!-- 左边 -->
<el-aside width="200px" style="background-color: rgb(238, 241, 246)">
    <el-menu router  :default-openeds="['1']">
        <el-submenu index="1">
            <template slot="title"><i class="el-icon-tickets"></i> 内容管理</template>
            <el-menu-item index="/articles/index">文章列表</el-menu-item>
            <el-menu-item index="/articles/create">新建文章</el-menu-item>
        </el-submenu>
    </el-menu>
</el-aside>
<!-- 左边 -->
<el-main>
		<router-view></router-view>
</el-main>

server

1、安装框架

npm i express@next mongoose cors

2、编写index.js

3、启动

nodemon server

4、安装 mongoose

5、ajax请求库

npm i axios

6、解决某一步报错

原因是没有安装本地mongoose数据库,只是安装了项目依赖的mongoose

image-20210327123142204

mongoose_138">mongoose

1、官网 如下图点击下载

image-20210327114459622

2、Mac OSX 平台安装 MongoDB

3、接下来我们使用 curl 命令来下载安装:

# 进入 /usr/local
cd /usr/local

# 下载
sudo curl -O https://fastdl.mongodb.org/osx/mongodb-osx-ssl-x86_64-4.0.9.tgz

# 解压
sudo tar -zxvf mongodb-osx-ssl-x86_64-4.0.9.tgz

# 重命名为 mongodb 目录

sudo mv mongodb-osx-x86_64-4.0.9/ mongodb

安装完成后,我们可以把 MongoDB 的二进制命令文件目录(安装目录/bin)添加到 PATH 路径中:

export PATH=/usr/local/mongodb/bin:$PATH

创建日志及数据存放的目录:

  • 数据存放路径:

    sudo mkdir -p /usr/local/var/mongodb
    
  • 日志文件路径:

    sudo mkdir -p /usr/local/var/log/mongodb
    

接下来要确保当前用户对以上两个目录有读写的权限:

sudo chown runoob /usr/local/var/mongodb
sudo chown runoob /usr/local/var/log/mongodb

以上 runoob 是我电脑上对用户,你这边需要根据你当前对用户名来修改。

接下来我们使用以下命令在后台启动 mongodb:

mongod --dbpath /usr/local/var/mongodb --logpath /usr/local/var/log/mongodb/mongo.log --fork
  • –dbpath 设置数据存放目录
  • –logpath 设置日志存放目录
  • –fork 在后台运行

如果不想在后端运行,而是在控制台上查看运行过程可以直接设置配置文件启动:

mongod --config /usr/local/etc/mongod.conf

查看 mongod 服务是否启动:

ps aux | grep -v grep | grep mongod

使用以上命令如果看到有 mongod 的记录表示运行成功。

4、启动后我们可以使用 mongo 命令打开一个终端:

$ cd /usr/local/mongodb/bin 
$ ./mongo
MongoDB shell version v4.0.9
connecting to: mongodb://127.0.0.1:27017/?gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("3c12bf4f-695c-48b2-b160-8420110ccdcf") }
MongoDB server version: 4.0.9
……
> 1 + 1
2
> 

5、发现第四步报错、输入mongo,报如下错误:

root@instance-tbbjrcnc:/# mongo
MongoDB shell version v4.0.12
connecting to: mongodb://127.0.0.1:27017/?gssapiServiceName=mongodb
2019-08-12T10:40:58.930+0800 E QUERY    [js] Error: couldn't connect to server 127.0.0.1:27017, connection attempt failed: SocketException: Error connecting to 127.0.0.1:27017 :: caused by :: Connection refused :
connect@src/mongo/shell/mongo.js:344:17
@(connect):2:6
exception: connect failed

原因是mongo没有启动

解决方式:

1、cd /usr/local/mongodb/bin 
创建目录 /data/db
就是在bin的同级目录创建data文件夹,data文件夹里面在创建db文件夹

2、sudo ./mongod  -dbpath /data/db/
sudo ./mongod  -dbpath /usr/local/mongodb/data/db
然后db文件夹会出现很多文件,表示成功,不要关闭终端!

3、新建一个终端
$ cd /usr/local/mongodb/bin 
$ ./mongo
Welcome to the MongoDB shell.
····
---
> 1+1
2
> 
启动成功!!!

image-20210327121422448

本地开启

1、cd /usr/local/mongodb/bin

2、sudo ./mongod -dbpath /usr/local/mongodb/data/db

3、./mongo

4、npm run dev

5、nodemon server

实际页面

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


http://www.niftyadmin.cn/n/1385208.html

相关文章

2012 07 30

我要飞得更高 if (hDisplay->started) { /* Shut off the video display */ type V4L2_BUF_TYPE_VIDEO_OUTPUT; if (ioctl(hDisplay->fd, VIDIOC_STREAMOFF, &type) -1) { Dmai_err1("VIDIOC_STREAMOFF failed (%s)\n&…

Android学习笔记--universal_image_loader图片加载框架

昨天学习了universal_image_loader图片加载框架&#xff0c;今天把所学的和大家分享一下&#xff0c; 首先需要新建一个APP文件继承与Application 代码如下 1 package com.wuxianedu.auniversalimageloader;2 3 import android.app.Application;4 import android.graphics.Bitm…

工厂模式的实例解读:

工厂模式的解读: #region 店铺详情 /// <summary> /// Supporters the detail. /// </summary> /// <returns></returns> public ActionResult ShopDedail() { return View(); } public ActionResult ShopDedailHelper() { ShopBussiness shop…

Div布局案例

通常看到这个页面&#xff0c;会想到它是有几块组成的。 第一块&#xff0c;分销佣金。 第二块&#xff0c;包括代言、商品、二维码 其中代言又是左右结构。 于是乎基本的div结构就出来了。 <div class"row_1"></div><div class"row_2">…

人工智能实验课系列

chapter1 设计农夫、狼、山羊、白菜都在河的左岸&#xff0c;现在要把它们运送到河的右岸去&#xff0c;农夫有条船&#xff0c;过河时&#xff0c;除农夫外船上至多能载狼、山羊、白菜中的一种。狼要吃山羊&#xff0c;山羊要吃白菜&#xff0c;除非农夫在那里。规划出一个确…

IIS7.5配置 PHP5.2

偶尔搞一下php&#xff0c;有现成的IIS&#xff0c;也就懒得装其他的开发套装之类的东东。于是就下载php的安装包&#xff0c;解压&#xff0c;直接配置IIS,然后就可以运行php程序了。步骤如下&#xff0c;留着备用&#xff1a;php我目前用的是5.2.17 的版本&#xff0c;下载地…

Python 学习笔记 - socket(粘包及其处理方式)

前面学习了基本的最原始的单线程的socket的原理&#xff0c;下面学习一个新的知识点-粘包。由于我们接受的命令是recv(1024),那么如果当另一端发送的数据大于1024个字节的时候&#xff0c;他就会出现粘包的问题。每次只能发送1024个字节&#xff0c;如果我们直接放在一个循环里…

为什么CPU需要时钟这种概念?

本文同时发表在https://github.com/zhangyachen/zhangyachen.github.io/issues/132 最近在研究计算机里的基本逻辑电路&#xff0c;想到一个问题&#xff1a;为什么CPU需要时钟这样的概念&#xff1f; 首先考虑如下逻辑电路&#xff1a; 当AB1时&#xff0c;Q0。当输入信号发生…