惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Y
Y Combinator Blog
V
V2EX
Jina AI
Jina AI
爱范儿
爱范儿
M
MIT News - Artificial intelligence
量子位
L
LangChain Blog
Google DeepMind News
Google DeepMind News
酷 壳 – CoolShell
酷 壳 – CoolShell
罗磊的独立博客
腾讯CDC
MongoDB | Blog
MongoDB | Blog
P
Proofpoint News Feed
宝玉的分享
宝玉的分享
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Last Week in AI
Last Week in AI
H
Hackread – Cybersecurity News, Data Breaches, AI and More
F
Fortinet All Blogs
The GitHub Blog
The GitHub Blog
Engineering at Meta
Engineering at Meta
博客园 - 聂微东
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Vercel News
Vercel News
T
The Blog of Author Tim Ferriss

博客园 - ddrsql

从“黑盒”到“全景”:在.NET中拥抱OpenTelemetry与SigNoz的可观测工具 关于git分支堆叠 记录团队使用git合并代码丢失 记一次对老服务改造 国产麒麟(Kylin-Server-10)系统无外网环境安装docker vue3学习之axios、mockjs、nswag vue3学习之tabler组件Layout布局 Framework升级到Core以及Dapper支持达梦数据库 Avalonia集成Prism与Abp Avalonia中使用EF增删改查DM数据库 Linux中使用原生Wpf之Avalonia WPF通过wine适配统信uos系统 单体仓库下通过helm优雅的将微服务部署到k8s DevOps 前端项目(angular、vue、react)打包静态资源生成一份Docker镜像支持部署不同环境 VS使用IIS调试(非附加进程).net core、.net framework程序 k8s集群通过nginx-ingress做tcp、udp 4层网络转发 DevOps .net core Jenkins持续集成Linux、Docker、K8S swaggerui集成oauth implicit redis cluster集群web管理工具 relumin Jenkins配置AD域认证
vue3学习之BootstrapVueNext
ddrsql · 2023-04-18 · via 博客园 - ddrsql

创建一个 Vue 应用

vue3快速上手

npm get registry
#设置淘宝镜像
npm config set registry http://registry.npm.taobao.org

#创建一个 Vue 应用
npm init vue@latest

✔ Project name: … <your-project-name>
#TS,是 JavaScript 的超集,简单来说就是:JS 有的 TS 都有
✔ Add TypeScript? … No / Yes
#JSX是一种Javascript的语法扩展,JSX = Javascript + XML,即在Javascript里面写XML,因为JSX的这个特性,所以他即具备了Javascript的灵活性,同时又兼具html的语义化和直观性。
✔ Add JSX Support? … No / Yes
#Vue Router 是 Vue.js 的官方路由
✔ Add Vue Router for Single Page Application development? … No / Yes
#Pinia 是 Vue 的专属状态管理库,它允许你跨组件或页面共享状态。
✔ Add Pinia for state management? … No / Yes
#Vitest 正是一个针对此目标设计的单元测试框架
✔ Add Vitest for Unit testing? … No / Yes
#Cypress 是一个基于浏览器的运行器,支持组件测试。
✔ Add an End-to-End Testing Solution? » - Use arrow-keys. Return to submit.
>   No
    Cypress
    Playwright
#ESLint是一个用来识别 ECMAScript 并且按照规则给出报告的代码检测工具,使用它可以避免低级错误和统一代码的风格。
✔ Add ESLint for code quality? … No / Yes
#prettier是一个用于代码格式化的插件,可对前端大部分文件代码按照一定规则进行美化。
✔ Add Prettier for code formatting? … No / Yes

Scaffolding project in ./<your-project-name>...
Done.

#安装依赖、运行
npm install
npm run dev

添加 bootstrap-vue-next

vue3 bootstrap5

安装BootstrapVueNext

npm i bootstrap bootstrap-vue-next

#unplugin-vue-components生成components.d.ts自动引用Components
npm i unplugin-vue-components -D

组件添加

// vite.config.js/ts
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import Components from 'unplugin-vue-components/vite'
import { BootstrapVueNextResolver } from 'unplugin-vue-components/resolvers'

export default defineConfig({
  plugins: [
    vue(),
    Components({
      resolvers: [BootstrapVueNextResolver()]
    })
  ]
})

导入 CSS

// main.js/ts
import 'bootstrap/dist/css/bootstrap.css'
import 'bootstrap-vue-next/dist/bootstrap-vue-next.css'

如果使用 TypeScript,您将需要添加components.d.ts到includetsconfig.json 中的组件

// tsconfig.app.json
{
  "include": ["components.d.ts"],
}

修改AboutView.vue内容

<script lang="ts">
export default {
  name: "App",
  components: {
  },
  data() {
    return {
      name: 'BootstrapVue',
      show: true
    }
  },
  watch: {
    show(newVal) {
      console.log('Alert is now ' + (newVal ? 'visible' : 'hidden'))
    }
  },
  methods: {
    toggle() {
      console.log('Toggle button clicked')
      this.show = !this.show
    },
    dismissed() {
      console.log('Alert dismissed')
    }
  }
}

</script>
<template>
  <div>
    <!-- <BButton></BButton> -->
    <BButton size="sm" @click="toggle">
      {{ show ? 'Hide' : 'Show' }} Alert
    </BButton>
    <BAlert
      v-model="show"
      class="mt-3"
      dismissible
      @dismissed="dismissed"
    >
      Hello {{ name }}!
    </BAlert>
</div>
</template>

运行效果