当前位置: 首页 > article >正文

从零开始搭建博客网站-----构建项目

构建项目

视频参考链接

  1. 构建一个项目文件(node为17.16.0版本)
    构建的过程中可能会出现一个选项,选择vue+JavaScript
npm init vite@latest easyblog-front-admin

在这里插入图片描述

  1. 安装相关依赖
cd easyblog-front-admin
npm install

在这里插入图片描述
3. 运行

npm run dev

在这里插入图片描述
在这里插入图片描述
好了,一个vue项目就算新建完成了。

清理一下新建的项目的内容

  1. app.vue
    在这里插入图片描述
  2. 建立路由文件并安装路由
    在这里插入图片描述
  3. 在router下新建index.js文件,并写如下内容
import { createRouter, createWebHistory } from 'vue-router'
const routes = [
    {}
];
//这里不是通过new来创建,通过createRouter 方法创建,使用的模式不是通过mode来定义
const router = createRouter({
    routes,
    history: createWebHistory(),
})

export default router
  1. 修改main.js文件,引用router
    在这里插入图片描述
  2. 配置代码片段补全
    参考链接
    在这里插入图片描述
    需要补全的文件有三个,文件内容如下:
    vue.json
{
		"Print to console": {
		  "prefix": "vue3",
		  "body": [
			"<template>",
			"  <div></div>",
			"</template>",
			"",
			"<script setup>",
			"",
			"</script>",
			"",
			"<style lang=\"scss\" scoped>",
			"</style>",
		],
		  "description": "Log output to console"
		}
	
}

vue-html.json

{
	"el-form模板": {
		"prefix": "el-form",
		"description": "创建el-form",
		"body": [
			"<el-form",
			"  :model=\"formData\"",
			"  :rules=\"rules\"",
			"  ref=\"formDataRef\"",
			"  label-width=\"80px\"",
			">",
			"<!--input输入-->",
			"  <el-form-item label=\"\" prop=\"\" >",
			"    <el-input clearable placeholder=\"提示信息\" v-model=\"formData.\"></el-input>",
			"  </el-form-item>",
			"<!--textarea输入-->",
			"  <el-form-item",
			"    label=\"\"",
			"    prop=\"\"",
			"    clearable",
			"    placeholder=\"提示信息\"",
			"    type=\"textarea\"",
			"    :rows=\"5\"",
			"    :maxlength=\"150\"",
			"    resize=\"none\"",
			"    show-word-limit",
			"    v-model=\"formData.\"",
			"  >",
			"  </el-form-item>",
			"<!-- 单选 -->",
			"  <el-form-item label=\"\" prop=\"\" >",
			"    <el-radio-group v-model=\"formData.\">",
			"      <el-radio :label=\"值1\">显示信息</el-radio>",
			"      <el-radio :label=\"值2\">显示信息</el-radio>",
			"    </el-radio-group>",
			"  </el-form-item>",
			"<!-- 下拉框 -->",
			"  <el-form-item label=\"\" prop=\"\" >",
			"    <el-select clearable  placeholder=\"提示信息\" v-model=\"formData.\" ,>",
			"      <el-option :value=\"值1\" label=\"显示信息\"></el-option>",
			"      <el-option :value=\"值2\" label=\"显示信息\"></el-option>",
			"    </el-select>",
			"  </el-form-item>",
			"</el-form>",
		]
	},
	"el-input模板": {
		"prefix": "el-input",
		"description": "创建el-input",
		"body": [
			"<!--input输入-->",
			"  <el-form-item label=\"\" prop=\"\" >",
			"    <el-input clearable placeholder=\"提示信息\" v-model=\"formData.\"></el-input>",
			"  </el-form-item>",
		]
	},
	"el-textarea模板": {
		"prefix": "el-textarea",
		"description": "创建el-input",
		"body": [
			"<!--textarea输入-->",
			"<el-form-item",
			"   label=\"\"",
			"   prop=\"\"",
			"   clearable",
			"   placeholder=\"提示信息\"",
			"   type=\"textarea\"",
			"   :rows=\"5\"",
			"   :maxlength=\"150\"",
			"   resize=\"none\"",
			"   show-word-limit",
			"   v-model=\"formData.\"",
			" >",
			"</el-form-item>",
		]
	},
	"el-radio模板": {
		"prefix": "el-radio",
		"description": "创建el-radio",
		"body": [
			"<!-- 单选 -->",
			"  <el-form-item label=\"\" prop=\"\" >",
			"    <el-radio-group v-model=\"formData.\">",
			"      <el-radio :label=\"值1\">显示信息</el-radio>",
			"      <el-radio :label=\"值2\">显示信息</el-radio>",
			"    </el-radio-group>",
			"  </el-form-item>",
		]
	},
	"el-select模板": {
		"prefix": "el-select",
		"description": "创建el-select模板",
		"body": [
			"<!-- 下拉框 -->",
			"  <el-form-item label=\"\" prop=\"\" >",
			"    <el-select clearable  placeholder=\"提示信息\" v-model=\"formData.\" ,>",
			"      <el-option :value=\"值1\" label=\"显示信息\"></el-option>",
			"      <el-option :value=\"值2\" label=\"显示信息\"></el-option>",
			"    </el-select>",
			"  </el-form-item>",
		]
	},
}

javascript.lson

{
	"dialog弹窗配置": {
		"prefix": "dialogConfig",
		"description": "弹窗config配置",
		"body": [
			"const dialogConfig = reactive({",
			"  show: false,",
			"  title: \"标题\",",
			"  buttons: [",
			"   {",
			"    type: \"danger\",",
			"    text: \"确定\",",
			"    click: (e) => {",
			"      submitForm();",
			"    },",
			"  },",
			" ],",
			"});"
		]
	},
	"watch使用": {
		"prefix": "watch",
		"description": "快速实现watch",
		"body": [
			"watch(() => (newVal, oldVal) => {}, { immediate: true, deep: true });",
		]
	}
}
  1. 创建view文件夹,并且创建Index.js文件,Index文件内容如下
    在这里插入图片描述

完成了一个简单的路由映射

涉及的三个文件如图
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

修改一下配置文件,对路径进行索引配置


内容如下:

import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import path from "path"
// https://vitejs.dev/config/
export default defineConfig({
  plugins: [vue()],
  server: {
    hmr: true,
    port: 3001,
    proxy: {
      '/api': {
        target: "http://localhost:8081/", // 目标代理接口地址
        secure: false,
        changeOrigin: true, // 开启代理,在本地创建一个虚拟服务端
        pathRewrite: {
          '^/api': '/api',
        },
      },
    },
  },
  resolve: {
    // 配置路径别名
    alias: {
      '@': path.resolve(__dirname, './src'),
    },
  },
})

还需要安装path包

 npm install path --save

项目的初始搭建就完成啦!整个过程还算顺利!


http://www.kler.cn/a/145176.html

相关文章:

  • AI 的安全性与合规性:实践中的最佳安全策略
  • Sqoop源码修改:增加落地HDFS文件数与MapTask数量一致性检查
  • 【自学笔记】计算机网络的重点知识点-持续更新
  • buu-pwn1_sctf_2016-好久不见29
  • 在AWS上使用KMS客户端密钥加密S3文件,同时支持PySpark读写和Snowflake导入
  • 【Linux】线程互斥与同步
  • 探索 Linux vim/vi 编辑器:介绍、模式以及基本操作演示
  • 【深度学习】如何选择神经网络的超参数
  • 排查生产环境:MySQLTransactionRollbackException数据库死锁
  • Meta最新视频生成工具:emu video技术报告解读
  • HarmonyOS应用开发者高级认证【题库答案】
  • 使用Java编写串口程序
  • Linux服务器SSH客户端断开后保持程序继续运行的方法
  • 【图像加密】Arnold置乱和混沌加密-MATLAB代码
  • 2分钟快速实现非逻辑卷磁盘扩容
  • Ubuntu 22.04安装vscode
  • Atlassian午餐会直播回顾:如何拓展Jira工作流,加强团队协作?
  • python基础 — 可迭代对象,迭代器和生成器
  • module java.base does not “opens java.io“ to unnamed module
  • 影刀RPA_boss直聘翻页(避坑)
  • 京东数据采集(京东数据运营):怎样快速获取京东市场大数据?
  • Centos 7 环境下 PostgreSQL 14 启用SSL加密
  • 【Linux】系统初始化配置
  • 代码随想录算法训练营第四十六天|139.单词拆分、背包问题总结
  • 电子学会C/C++编程等级考试2023年03月(二级)真题解析
  • Qt 软件调试(二)使用dump捕获崩溃信息