首页 > 其他分享 >vue 创建项目及初始化开发环境

vue 创建项目及初始化开发环境

时间:2024-07-26 15:22:19浏览次数:5  
标签:初始化 vue Pinia 创建 js pinia 组件 import

创建项目

打开cmd 命令工具、进入需要创建前端项目的文件目录中、执行创建Vue 项目命令

npm create vue


执行过程中,会提示你命名新项目、以及是否会开启一些诸如Typescript 和测试支持之类的可选功能、这里统一敲击回车键选择No即可、当你看到命令行提示done ,标识你已经创建好一个vue前端项目

项目目录说明

项目创建好了、进入项目、看下目录结构:

解释一下目录结构以及相关文件的作用:

  • node_modules: 项目依赖包文件夹,比如通过 npm install 包名 安装的包都会放在这个目录下,因为现在还没有执行 npm install 命令,所以还未生成该文件夹;
  • public: 公共资源目录,用于存放公共资源、如favicon.ico图标等
  • index.html: 首页
  • package.json: 版本管理使用的文件
  • src: 核心文件目录,源码都放在这里面

进入src文件夹,目录如下:

  • assets: 静态资源目录,用于存放样式、图片、字体等
  • components: 组件文件夹,通用组件存放目录
  • App.vue: 主组件,也是入口文件。所有页面都是在app.vue下进行路由切换
  • main.js: 入口javaScript文件

核心文件说明

  • index.html:首页
  • main.js: 主js文件
  • App.vue:主组件
    三者之间的关系如下:

当打开一个vue3 应用、首先看index.html文件、他是首页、代码如下:

再来看main.js文件:

最后看App.vue 组件代码

整合vue-router路由管理器

什么是Vue-router

vue Router 是vue.js 官方提供的路由管理器、他与vue.js 核心深度集成。让构建当夜应用变得轻而易举。

为什么要用Vue Router

在一个标准的单页应用中,仅有一个HTMl 页面被服务器发送到客户端。随后的页面内容都是通过javascipt动态替换生成的。这时候、就需要vue Router 来管理这也些页面的导航和组织

开始设置

在命令行中、执行如下命令,安装vue-router:

安装vue-router

npm install vue-router

配置Router

创建首页

src 目录下创建/pages 文件夹、在此文件夹中存放页面相关的代码、然后/pages文件夹下创建index.vue首页文件、代码如下

设置路由配置

src目录下、新建/router路由文件夹、用于存放路由相关代码,并在此文件下、新建index.js文件、代码如下:

上述代码中、我们先通过import 关键字导入了index.vue组件,以及vue-router路由中的相关方法。然后,我们定义了一个routes数组,用于统一声明所有路由、最后创建路由、并使用export default 关键字 导出了router对象。

使用router-view 组件

<router-view> 是vue Routerd 的一个核心组件、他是一个功能性组件、其主要是根据当前的路由(URL)动态的渲染对应的组件、相当于是一个占位符、他会自动渲染与当前路径相匹配的组件

作用:
  • 1、动态渲染组件: <router-view> 根据当前的 URL,自动渲染与当前路径匹配的组件。
  • 2、嵌套路由: 在有嵌套路由的情况下, 可以用于渲染嵌套的子路由组件。

接下来我们需要在App.vue中添加该组件,用于动态渲染路由对应的组件:

将router 添加到 Vue 实例 中

最后,想要路由生效 、还需要打开/src/main.js文件、将router 导入并添加到Vueapp实例中、应用刚刚声明的路由、最终代码如下:

启动看效果

vite 配置路径别名

为什么要配置 别名

上面在router/index.js 文件中引入index.vue组件时、格式是这样的


import Index from '../pages/frontend/index.vue'

通过.. 来指定上一级目录、然后在定位具体路径下,考虑一个大型项目中,我们经常需要这样的引用,当文件层级很深,那么代码可能会像下面这样:


import Button from '../../../components/Button.vue';

这种相对路径不易于管理和阅读。使用 alias,我们可以将路径简化为:

import Button from '@/components/Button.vue';

这样一来不仅路径更短、更明确,而且移动文件时无需改动 import 路径。

整合tailwindCss

什么是tailwindCss?

tailwind Css 是一个高度可定制的、使用工具优先的css框架、它使你能够通过组合小型、单一用途的类来构建现代网站界面,而无需些任何css。

为什么使用Tailwind Css

  • 1、 高度可定制:Tailwind CSS 提供了一整套预设样式,但所有这些都是完全可配置的。
  • 2、 实用工具优先:它允许你通过在 HTML 中组合类,而不是自定义 CSS,来迅速构建响应式页面。
  • 3、优化生产环境:Tailwind CSS 在生产环境中会自动移除未使用的样式,这有助于保持 CSS 文件大小最小。

开始安装

执行如下命令、开始安装Tailwind Css


npm install -D tailwindcss postcss autoprefixer

此命令会在你的项目中安装三个依赖、他们分别是:

  • 1、tailwindcss: TailwindCss 框架本身
  • 2、postcss: 一个用于装换css 的工具
  • 3、autoperfixer: 一个postCss 插件、用于自动添加浏览器供应商前缀到CSS 规则中、确保跨浏览器的兼容性

然后再执行如下命令:


npx tailwindcss init -p

此命令用于生成tailwindcss.config.jspostcss.config.js配置文件

配置 模板路径

tailwindcss.config.js文件中添加所有模板文件的路径


/** @type {import('tailwindcss').Config} */
module.exports = {
  content: [
    "./index.html",
    "./src/**/*.{vue,js,ts,jsx,tsx}",
  ],
  theme: {
    extend: {},
  },
  plugins: [],
  
}

将tailwindCss 指令添加到css 文件中

修改main.js 文件、引入main.css:

然后编辑main.css 文件,清空里面初始化项目时自动生成的css代码、在添加如下代码:


@tailwind base;
@tailwind components;
@tailwind utilities;

taillwindCss 官网

整合TailwindCss 组件库:flowbite

Flowbite 是一个基于 Tailwind CSS 创建的组件库,旨在帮助开发者快速构建现代、响应式的 Web 应用界面

开始整合

Flowbite 是基于 Tailwind CSS 构建,因此我们需要先安装 Tailwind CSS、PostCSS 和 Autoprefixer,这项工作在上一小节已经完成了。这里,我们只需要安装 Flowbite 本身就行了。

安装Flowbite

执行如下命令 安装Flowbite


npm install flowbite

tailwindCss.config.js文件中添加flowbite插件


module.exports = {
	省略...
    plugins: [
        require('flowbite/plugin')
    ]

}

另外、还需要在tailwindcss.config.js 文件中、添加js相关的文件、因为页面交互需要js


module.exports = {

    content: [
        "./node_modules/flowbite/**/*.js"
    ]

}

使用flowbite


<script setup>
import { onMounted } from 'vue'
import { initCollapses } from 'flowbite'

// 初始化 flowbit 相关组件
onMounted(() => {
    initCollapses();
})
</script>

解释一下 <script> 中的代码:

onMounted 是一个生命周期钩子(lifecycle hook)。生命周期钩子是 Vue 组件在其生命周期的不同阶段可以调用的函数。onMounted 钩子在组件被挂载到 DOM 之后立即调用。这意味着,当此钩子被触发时,你可以安全地访问和操作组件的 DOM 元素;

initCollapses() 用于初始化 flowbite 的 collapse 组件,有了它,当页面在移动端展示时,点击菜单收缩按钮,可查看隐藏的菜单选项,

整合 element Plus 组件库

安装

执行如下命令、来安装element plus :


npm install element-plus --save

自动导入

Element Plus 有很多组件,而我们实际项目中,并不是每个组件都会被用到。所以,在生产级项目中,比较推荐按需导入组件,而不是在打包的时候,一次性将所以组件都打包进去,导致相关包非常大,页面初次加载很慢的情况发生。
想要实现按需导入组件,你需要安装unplugin-vue-componentsunplugin-auto-import 这两款插件:


npm install -D unpingin-vue-components unpingin-auto-import

然后将下列代码插入到vite 的配置文件vite.config.js中:


import { defineConfig } from 'vite'
import AutoImport from 'unplugin-auto-import/vite'
import Components from 'unplugin-vue-components/vite'
import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'

export default defineConfig({
  // ...
  plugins: [
    // ...
    AutoImport({
      resolvers: [ElementPlusResolver()],
    }),
    Components({
      resolvers: [ElementPlusResolver()],
    }),
  ],
})

配置好后、需要什么element 组件、就会自动导入进来

整合全局状态管理库pinia

Pinia 是 Vue 的专属状态管理库,它允许你跨组件或页面共享状态,更详细文档请访问官网地址 。它具备如下特性:

标签:初始化,vue,Pinia,创建,js,pinia,组件,import
From: https://www.cnblogs.com/startscorpio/p/18325408

相关文章

  • 2024-07-26 定义一个vue组件,并使用双向绑定该组件的值
    我写了一个input组件(vue3)<template><div><inputclass="inp":value="modelValue"@input="$emit('update:modelValue',$event.target.value)"/></div></template&......
  • word创建时间怎么改?学会这四个方法不用愁
    在日常的工作和学习中,我们经常会遇到需要修改Word文档创建时间的情况。无论是为了调整文档的归档日期,还是出于某种特定的需求,掌握修改Word文档创建时间的方法都显得尤为重要。今天,我们就来详细探讨四种有效的方式来修改Word文档的创建时间,让你在面对此类问题时不再犯愁。方法......
  • 华为交换机新版系统初始化ssh
    <Huawei>load-moduleweakea<Huawei>install-moduleweakea_V200R021C10SPC600.mod<Huawei>sys[Huawei]undosshserverpublickey[Huawei]undosshservercipher[Huawei]undosshserverhmac[Huawei]undosshserverkey-exchange[Huawei]undosshs......
  • 创建Idea静态代码扫描工具
    背景近期公司框架升级,代码和配置的变动较大。为了保证升级的质量,开发了一个静态代码扫描工具,供所有开发者使用。此工具专注于检查异步方法中线程变量(例如myThreadlocal)的使用情况。项目设置版本JDK1.8IntelliJIDEA2022基于Gradle构建插件项目创建步骤1.新建项目......
  • 基于Springboot + vue + mysql 招生管理系统 设计实现
    目录......
  • 免费分享一套微信小程序投票评选系统(SpringBoot后端+Vue管理端)【论文+源码+SQL脚本
    大家好,我是java1234_小锋老师,看到一个不错的微信小程序投票评选系统(SpringBoot后端+Vue管理端),分享下哈。项目视频演示【免费】微信小程序投票评选系统(SpringBoot后端+Vue管理端)Java毕业设计_哔哩哔哩_bilibili项目介绍社会发展日新月异,用计算机应用实现数据管理功能......
  • windows的nodejs版本控制工具:nvm nodejs以及vue的安装
    首先确保自己的电脑是首次安装nodejs相关的软件,安装nvm之前必须确保电脑无nodejs。1.nvm的安装在github上寻找合适的版本,我安装的是v1.12版本。Releases·coreybutler/nvm-windows·GitHubwindows下就下载如下图所示的nvm-setup.exe文件选择nvm的安装路径选择nodej......
  • A098-Springboot-vue-化妆品推荐系统
    后端(SpringBoot)实现步骤:项目初始化:使用SpringInitializr创建一个新的SpringBoot项目,包括必要的依赖如SpringWeb和SpringDataJPA。数据库设计:设计数据库模型,例如化妆品(品牌、类型、成分等)、用户信息(注册、登录信息)、推荐记录等。可以选择MySQL、PostgreSQL等关系型数......
  • A097-springboot+vue汽车保养
    后端(SpringBoot)SpringBoot应用程序:创建一个基于SpringBoot的后端应用程序,用于处理业务逻辑和数据持久化。RESTfulAPI设计:使用SpringMVC创建RESTfulAPI,用于处理来自前端的请求和响应。API应设计清晰,包括汽车信息的增删改查、保养记录管理、用户信息等功能。数据持......
  • C++自学笔记18(成员初始化列表和初始化对象)
    成员列表初始化创建变量,并将其初始化是创建函数的必要部分。#include<iostream>#include<string>classEntity{private:std::stringm_name;public:Entity(){m_name="nothing"}Entity(conststd::string&name){......