vue3 项目搭建教程(基于create-vue,vite,Vite + Vue)

news2024/11/17 11:50:28

vue3 项目搭建教程(基于create-vue,vite,Vite + Vue)

目录

一、搭建vue3 项目前提条件

二、通过create-vue搭建vue3 项目

三、搭建一个 Vite 项目

四、构建一个 Vite + Vue 项目

五、打开Vue 项目管理器

六、Vite + Vue 项目目录结构

七、Vite.config.ts配置


一、搭建vue3 项目前提条件

前提条件

  • 熟悉命令行
  • 已安装 16.0 或更高版本的 Node.js

 (1)、检查node 和npm版本信息

同时按window+R键,输入cmd,打开命令提示符窗口

输入: node –v (查看本机安装的node版本)

 输入: npm –v (查看本机安装的npm版本)

(2)、升级你的 Node 版本

如果提示没有安装node或Node.js 版本 较低,请升级你的 Node 版本。

详细教程可参阅下面链接文章:

  • Vue3安装配置、开发环境搭建(组件安装卸载)(图文详细)https://blog.csdn.net/weixin_69553582/article/details/129584587

二、通过create-vue搭建vue3 项目

 同时按window+R键,输入cmd,打开命令提示符窗口

进入你准备搭建vue3 项目的相应目录,例如本例目录地址:C:\00program\vue\vuelearn

  • 输入:npm init vue@latest

这一指令将会安装并执行 create-vue,它是 Vue 官方的项目脚手架工具。

 你将会看到一些诸如 TypeScript 和测试支持之类的可选功能提示:

Vue.js - The Progressive JavaScript Framework

√ Project name: ... vueproject1
√ Add TypeScript? ... No / Yes
√ Add JSX Support? ... No / Yes
√ Add Vue Router for Single Page Application development? ... No / Yes
√ Add Pinia for state management? ... No / Yes
√ Add Vitest for Unit Testing? ... No / Yes
√ Add an End-to-End Testing Solution? » No
√ Add ESLint for code quality? ... No / Yes

Scaffolding project in C:\00program\vue\vuelearn\vueproject1...

我们依次输入问题的答案,帮助创建项目:

  • Project name:------》项目名称,默认值:vue-project,可输入想要的项目名称,此处我写的是:vueproject1。
  • Add TypeScript? ------》是否加入TypeScript组件?默认值:No。
  • Add JSX Support? ------》是否加入JSX支持?默认值:No。
  • Add Vue Router for Single Page Application development? ------》是否为单页应用程序开发添加Vue Router路由管理组件?默认值:No。
  • Add Pinia for state management? ------》是否添加Pinia组件来进行状态管理?默认值:No。
  • Add Vitest for Unit testing? ------》是否添加Vitest来进行单元测试?默认值:No。
  • Add an End-to-End Testing Solution?------》是否添加端到端测试?默认值No。
  • Add ESLint for code quality? ------》是否添加ESLint来进行代码质量检查?默认值:No。

如果不确定是否要开启某个功能,你可以直接按下回车键选择 No。

脚手架工程项目在指定位置被创建好。

在项目被创建后,通过以下步骤安装依赖并启动开发服务器:

Done. Now run:
  cd vueproject1
  npm install
  npm run dev

cd进入vueproject1目录后,依次输入以下命令,

  •   npm install
  •   npm run dev

vite服务器启动,显示了项目地址,如下图:

我们在浏览器打开 http://localhost:5173/ 

显示页面如下图: 

 现在已经可以运行起一个 Vue 项目!

请注意,生成的项目中的示例组件使用的是组合式 API 和 <script setup>,而非选项式 API。

当你准备将应用发布到生产环境时,请运行:

  •  npm run build

此命令会在 ./dist 文件夹中为你的应用创建一个生产环境的构建版本。

三、搭建一个 Vite 项目

  Vite(法语意为 "快速的",发音 /vit/,发音同 "veet")是一种新型前端构建工具,能够显著提升前端开发体验。它主要由两部分组成:

  一个开发服务器,它基于原生 ES 模块,提供了丰富的内建功能,如速度快到惊人的模块热更新(HMR)。

  一套构建指令,它使用 Rollup 打包你的代码,并且它是预配置的,可输出用于生产环境的高度优化过的静态资源。

  Vite 意在提供开箱即用的配置,同时它的 插件 API 和 JavaScript API 带来了高度的可扩展性,并有完整的类型支持。

Vite 浏 览 器 支 持
默认情况下,Vite 的目标是能够 支持原生 ESM script 标签、支持原生 ESM 动态导入 和 import.meta 的浏览器:
ChromeFirefoxSafariEdge
>=87>=78>=14>=88

目前Vite支持的模板预设如下:

JavaScriptvanillavue react preactsvelte lit 
TypeScriptvanilla-tsvue-tsreact-tspreact-tssvelte-tslit-ts

  本文介绍如何在本地搭建 Vue 单页应用。
  创建的项目将使用基于 Vite 的构建设置,并允许我们使用 Vue 的单文件组件 (SFC)。

确保你安装了最新版本的 Node.js,

然后在命令行中运行以下命令

兼容性注意

Vite 需要 Node.js 版本 14.18+,16+。然而,有些模板需要依赖更高的 Node 版本才能正常运行,当你的包管理器发出警告时,请注意升级你的 Node 版本。

 如果你不知道你的node.js的版本是多少,请按照上文所述步骤检测升级node

四、构建一个 Vite + Vue 项目

构建一个 Vite + Vue 项目,npm版本不同时,命令也有所不同:

输入命令:

npm  6.x

  • npm create vite@latest my-vue-app --template vue

n pm 7+, extra double-dash is needed:

  • npm create vite@latest my-vue-app -- --template vue

 y arn

  • yarn create vite my-vue-app --template vue

pnpm 

  • pnpm create vite my-vue-app --template vue

进入你准备搭建 Vite + Vue 项目的相应目录,例如本例目录地址:C:\00program\vue\vuelearn

  • 输入命令:npm create vite@latest vueviteproject1 -- --vue
C:\00program\vue\vuelearn>npm create vite@latest vueviteproject1 -- --vue
? Select a framework: » - Use arrow-keys. Return to submit.
>   Vanilla
    Vue
    React
    Preact
    Lit
    Svelte
    Others

 Select a framework: »------》 选择一个框架

我们选择Vue,回车,显示下一项选项:

? Select a variant: » - Use arrow-keys. Return to submit.
>   JavaScript
    TypeScript
    Customize with create-vue ↗
    Nuxt ↗

 选择一个编程语言: » - 使用箭头键。返回提交。

我们选择TypeScript,回车,显示下一项如图:

C:\00program\vue\vuelearn>npm create vite@latest vueviteproject1 -- --vue
√ Select a framework: » Vue
√ Select a variant: » TypeScript

Scaffolding project in C:\00program\vue\vuelearn\vueviteproject1...

Done. Now run:

  cd vueviteproject1
  npm install
  npm run dev

脚手架项目构建完成 ,需要进入项目目录,输入以下两个命令:

  •   npm install
  •   npm run dev

  • npm run dev
  VITE v4.2.0  ready in 294 ms

  ➜  Local:   http://localhost:5173/
  ➜  Network: use --host to expose
  ➜  press h to show help

 

  Shortcuts快捷方式

  •   press r to restart the server  ------》按 R 重新启动服务器
  •   press u to show server url ------》按你显示服务器网址
  •   press o to open in browser  ------》按 O 在浏览器中打开
  •   press c to clear console  ------》按 C 清除控制台
  •   press q to quit  ------》按 Q 退出

在本地用浏览器打开:http://localhost:5173

就可以看到刚才创建的基于Vite + Vue.js的项目欢迎页面,如图所示。


五、打开Vue 项目管理器

同时按window+R键,输入cmd,打开命令提示符窗口,进入 Vue 项目所在目录,例如:

C:\00program\vue\vuelearn\vueviteproject1

  •  输入vue ui

打开Vue 项目管理器界面(vue ui会自动打开其网址:http://localhost:8000/project/select)

六、Vite + Vue 项目目录结构

vueviteproject1项目(基于Vite + Vue项目)│

├── .vscode 目录。
│   ├── v
│   ├── v
│   └── v

├── node_modules 目录 (vue 项目的文件依赖存放在这个文件夹。)
│   ├── 所有在package.json中定义的第三方包都会被自动下载,保存在该文件夹下。
│   ├── v
│   └── v


├── public 目录:存放项目公共资源。如网站LOGO等。
│           │     通常我们不需要对public文件夹内的资源做任何修改。
│           │     后续在构建打包时,public内容会直接放到dist文件夹内plugins插件资源;
│   ├── v
│   ├── v
│   └── v


├── src  目录 ​:存放 vue 项目的源代码。其下的各个文件(文件夹)分别为:
│   ├── assets 目录 ​:资源文件,存放 css,图片等资源。
│   ├── ​component​ 目录 ​:组件文件夹,存放 vue 的公共组件(核心)
│           │                            (注册于全局,在整个项目中通过关键词便可直接输出)。
│           │
│   ├── ​​router 目录 ​:用来存放 ​index.js​,用来配置路由,定义各个页面对应的URL。
│   ├── ​store 目录 ​:组件文件夹,存放 vue 的公共组件
│   ├── ​​views​ 目录:放主体页面,vue 文件是可以用来充当路由 view 的。
│   ├── ​tool​:用来存放工具类 js,
│           │                  将 js 代码封装好放入这个文件夹可以全局调用
│           │                  (如api.js​,​http.js​ 是对 http 方法和 api 方法的封装)。
│   ├──    main.js​:是项目的入口文件,初始化 vue 实例,并引入所需要的插件。
│   ├──​    app.vue:是项目的主组件,所有页面都是在该组件下进行切换的。
│   ├──
│   └── v


├── package.json  存放项目的依赖配置
├── .gitignore。
├── tsconfig.json
├── tsconfig.node.json
├──index.html
└──vite.config.ts

  • node_modules文件夹,文件夹中往往会有几百个文件夹,Node项目所用到的第三方包特别多,也特别大。这些文件是由$ npm install命令产生的。所有在package.json中定义的第三方包都会被自动下载,保存在该文件夹下。
  • src文件夹是核心源代码的所在目录,展开后如下所示(不同版本的vue-cli生成的目录会稍有不同,不过核心都是一样的),正常开发的时候一般只修改​ src​ 文件夹下的文件。
  • dist —— 项目构建打包后的默认输出目录。
  • index.html 与项目根目录,在一个 Vite 项目中,index.html 在项目最外层而不是在 public 文件夹内。这是有意而为之的:在开发期间 Vite 是一个服务器,而 index.html 是该 Vite 项目的入口文件。

Vite 将 index.html 视为源码和模块图的一部分。Vite 解析 <script type="module" src="..."> ,这个标签指向你的 JavaScript 源码。甚至内联引入 JavaScript 的 <script type="module"> 和引用 CSS 的 <link href> 也能利用 Vite 特有的功能被解析。另外,index.html 中的 URL 将被自动转换,因此不再需要 %PUBLIC_URL% 占位符了。

与静态 HTTP 服务器类似,Vite 也有 “根目录” 的概念,即服务文件的位置,在接下来的文档中你将看到它会以 <root> 代称。源码中的绝对 URL 路径将以项目的 “根” 作为基础来解析,因此你可以像在普通的静态文件服务器上一样编写代码(并且功能更强大!)。Vite 还能够处理依赖关系,解析处于根目录外的文件位置,这使得它即使在基于 monorepo 的方案中也十分有用。

Vite 也支持多个 .html 作入口点的 多页面应用模式。

七、Vite.config.ts配置

转载地址:https://huaweicloud.csdn.net/638ee192dacf622b8df8d725.html

1.配置和pinia,router,axios,ref,reactive引入等等
2.配置代理
3.配置.ts,.vue,.tsx等等文件别名
4.配置antdV按需加载
5.配置antdV主题色+全局引入less+全局颜色变量
6.配置vue使用tsx写法
7.配置测试环境保留打印

import { defineConfig, loadEnv } from 'vite'
import type { UserConfig, ConfigEnv } from 'vite'
import vue from '@vitejs/plugin-vue'
import vueJsx from '@vitejs/plugin-vue-jsx' //tsx插件引入
import AutoImport from 'unplugin-auto-import/vite' //自动引入ref,reactive等等等
// 配置antd-v按需加载
import Components from 'unplugin-vue-components/vite'
import { AntDesignVueResolver } from 'unplugin-vue-components/resolvers'
// import path from 'path';
import { resolve, join } from 'path'
import { wrapperEnv } from './build/utils'

// defineConfig 工具函数,这样不用 jsdoc 注解也可以获取类型提示
export default defineConfig(({ command, mode }: ConfigEnv): UserConfig => {
  console.log(command, mode, '===')
  const root = process.cwd()
  const env = loadEnv(mode, root) // 环境变量对象
  console.log('环境变量------', env)
  console.log('文件路径( process.cwd())------', root)
  console.log('文件路径(dirname)------', __dirname + '/src')
  const { VITE_DROP_CONSOLE } = wrapperEnv(env)

  // // dev 独有配置
  return {
    root, //项目根目录(index.html 文件所在的位置) 默认: process.cwd()
    base: '/', //  开发或生产环境服务的公共基础路径:默认'/'   1、绝对 URL 路径名: /foo/;  2、完整的 URL: https://foo.com/; 3、空字符串或 ./(用于开发环境)
    publicDir: resolve(__dirname, './dist'), //默认'public'  作为静态资源服务的文件夹  (打包public文件夹会没有,里面得东西会直接编译在dist文件下)
    assetsInclude: resolve(__dirname, './src/assets'), // 静态资源处理

    // ******插件配置******
    plugins: [
      vue(),
      vueJsx(),
      AutoImport({
        imports: [
          'vue',
          'vue-router',
          'pinia',
          {
            axios: [
              ['default', 'axios'] // import { default as axios } from 'axios',
            ]
          }
        ],
        dts: 'types/auto-import.d.ts' //生成全局引入的文件
      }),
      Components({
        resolvers: [
          AntDesignVueResolver({
            importStyle: 'less' //修改antdv主题色
          })
        ]
      })
    ], //配置插件
    // ******开发服务器配置******
    server: {
      https: true, //(使用https)启用 TLS + HTTP/2。注意:当 server.proxy 选项 也被使用时,将会仅使用 TLS
      host: true, // 监听所有地址
      port: 8080, //指定开发服务器端口:默认3000
      open: true, //启动时自动在浏览器中打开
      cors: false, //为开发服务器配置 CORS
      proxy: {
        //配置自定义代理规则
        // 字符串简写写法
        '/jpi': 'http://192.168.1.97:4567',
        '/api': {
          target: 'http://192.168.1.97:108',
          changeOrigin: true, //是否跨域
          rewrite: path => path.replace(/^\/api/, '')
        }
      }
      // hmr: {
      //   overlay: false
      // }
    },
    // ******项目构建配置******
    build: {
      target: 'modules', //设置最终构建的浏览器兼容目标  //es2015(编译成es5) | modules
      outDir: 'dist', // 构建得包名  默认:dist
      assetsDir: 'assets', // 静态资源得存放路径文件名  assets
      sourcemap: false, //构建后是否生成 source map 文件
      brotliSize: false, // 启用/禁用 brotli 压缩大小报告。 禁用该功能可能会提高大型项目的构建性能
      minify: 'esbuild', // 项目压缩 :boolean | 'terser' | 'esbuild'
      chunkSizeWarningLimit: 1000, //chunk 大小警告的限制(以 kbs 为单位)默认:500
      cssTarget: 'chrome61' //防止 vite 将 rgba() 颜色转化为 #RGBA 十六进制符号的形式  (要兼容的场景是安卓微信中的 webview 时,它不支持 CSS 中的 #RGBA 十六进制颜色符号)
    },
    // ******resolver配置******
    resolve: {
      alias: {
        // 别名配置
        // 键必须以斜线开始和结束
        '@': resolve(__dirname, 'src'),
        components: resolve(__dirname, './src/components'),
        assets: resolve(__dirname, './src/assets'),
        '#': resolve(__dirname, 'types'),
        build: resolve(__dirname, 'build')
      }
    },
    // ******打印+debugger清除配置******
    // 测试环境保留打印
    esbuild: {
      pure: VITE_DROP_CONSOLE ? ['console.log', 'debugger'] : []
    },

    css: {
      // 全局变量+全局引入less+配置antdv主题色
      preprocessorOptions: {
        less: {
          javascriptEnabled: true,
          // 全局变量使用:@primary-color
          modifyVars: {
            'primary-color': '#1890ff', // 全局主色
            'link-color': ' #1890ff', // 链接色
            'success-color': ' #52c41a', // 成功色
            'warning-color': ' #faad14', // 警告色
            'error-color': ' #f5222d', // 错误色
            'font-size-base': ' 14px', // 主字号
            'heading-color': ' rgba(0, 0, 0, 0.85)', // 标题色
            'text-color': ' rgba(0, 0, 0, 0.65)', // 主文本色
            'text-color-secondary': ' rgba(0, 0, 0, 0.45)', // 次文本色
            'disabled-color': ' rgba(0, 0, 0, 0.25)', // 失效色
            'border-radius-base': ' 2px', // 组件/浮层圆角
            'border-color-base': ' #d9d9d9', // 边框色
            'box-shadow-base': ' 0 2px 8px rgba(0, 0, 0, 0.15)' // 浮层阴影
          }
        }
      }
    }
  }
})

创建基于Webpack的Vue.js项目

vue3 项目搭建教程(基于create-vue,vite,Vite + Vue)
vue3 项目创建(UI图形化界面方式,可视化操作Vue项目,vue ui)

     推荐阅读:

30

Vue3安装配置、开发环境搭建(组件安装卸载)(图文详细)
29​​​

SVG实例详解系列(一)(svg概述、位图和矢量图区别(图解)、SVG应用实例)

28​​​

查看jdk安装路径,在windows上实现多个java jdk的共存解决办法,安装java19后终端乱码的解决

27bba02a1c4617422c9fbccbf5325850d9.png​​​

别具一格,原创唯美浪漫情人节表白专辑,(复制就可用)(html5,css3,svg)表白爱心代码(1)

26fea225cb9ec14b60b2d1b797dd8278a2.png​​​

2023年春节祝福第二弹——送你一只守护兔,让它温暖每一个你【html5 css3】画会动的小兔子,炫酷充电,字体特

251f53fb9c6e8b4482813326affe6a82ff.png​​​

2023春节祝福系列第一弹(上)(放飞祈福孔明灯,祝福大家身体健康)(附完整源代码及资源免费下载)

246176c4061c72430eb100750af6fc4d0e.png​​​

HTML+CSS+svg绘制精美彩色闪灯圣诞树,HTML+CSS+Js实时新年时间倒数倒计时(附源代码)

2317b403c4307c4141b8544d02f95ea06c.png​​​

​草莓熊python绘图(春节版,圣诞倒数雪花版)附源代码

225d409c8f397a45c986ca2af7b7e725c9.png​​​

【程序人生】卡塔尔世界杯元素python海龟绘图(附源代码),世界杯主题前端特效5个(附源码)

210a4256d5e96d4624bdca36433237080b.png​​​

python爱心源代码集锦(18款)

204d9032c9cdf54f5f9193e45e4532898c.png​​​

巴斯光年python turtle绘图__附源代码

19074cd3c255224c5aa21ff18fdc25053c.png​​​

Three.js实例详解___旋转的精灵女孩(附完整代码和资源)(一)

18daecd7067e7c45abb875fc7a1a469f23.png​​​

​草莓熊python turtle绘图代码(玫瑰花版)附源代码

17fe88b78e78694570bf2d850ce83b1f69.png​​​

立体多层玫瑰绘图源码__玫瑰花python 绘图源码集锦

16c5feeb25880d49c085b808bf4e041c86.png​​​

皮卡丘python turtle海龟绘图(电力球版)附源代码

1538266b5036414624875447abd5311e4d.png​​​

【CSDN云IDE】个人使用体验和建议(含超详细操作教程)(python、webGL方向)

1403ed644f9b1d411ba41c59e0a5bdcc61.png​​​

草莓熊python turtle绘图(风车版)附源代码

1309e08f86f127431cbfdfe395aa2f8bc9.png​​​

用代码过中秋,python海龟月饼你要不要尝一口?

1240e8b4631e2b486bab2a4ebb5bc9f410.png​​​

《 Python List 列表全实例详解系列(一)》__系列总目录、列表概念

11938bc5a8bb454a41bfe0d4185da845dc.jpeg​​​

用代码写出浪漫__合集(python、matplotlib、Matlab、java绘制爱心、玫瑰花、前端特效玫瑰、爱心)

100f09e73712d149ff90f0048a096596c6.png​​​

Python函数方法实例详解全集(更新中...)

993d65dbd09604c4a8ed2c01df0eebc38.png​​​

matplotlib 自带绘图样式效果展示速查(28种,全)

8aa17177aec9b4e5eb19b5d9675302de8.png​​​

手机屏幕坏了____怎么把里面的资料导出(18种方法)

71750390dd9da4b39938a23ab447c6fb6.jpeg​​​

2023年3月TIOBE 指数头条:编程语言 Go 进入 TIOBE 指数前 10 名,多家权威机构____编程语言排行榜__薪酬状

6dc8796ddccbf4aec98ac5d3e09001348.jpeg​​​

Python中Print()函数的用法___实例详解(全,例多)

51ab685d264ed4ae5b510dc7fbd0d1e55.jpeg​​​

色彩颜色对照表(一)(16进制、RGB、CMYK、HSV、中英文名)

480007dbf51944725bf9cf4cfc75c5a13.png​​​

Node.js (v19.1.0npm 8.19.3) vue.js安装配置教程(超详细)

3c6374d75c29942f2aa577ce9c5c2e12b.png​​​

Tomcat 启动闪退问题解决集(八大类详细)

25218ac5338014f389c21bdf1bfa1c599.png​​​

Tomcat端口配置(详细)

1fffa2098008b4dc68c00a172f67c538d.png​​​

tomcat11、tomcat10 安装配置(Windows环境)(详细图文)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/409893.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Vue.js笔记------事件

一、事件与事件流 1、事件与事件流 【事件】 JavaScript中的事件&#xff0c;可以理解就是在HTML文档或者浏览器中发生的一种交互操作&#xff0c;使得网页具备互动性。常见的有加载事件、鼠标事件。 【事件流】 由于DOM是一个树结构&#xff0c;如果在父子节点绑定事件时候&am…

前端使用xlsx导出数据生成Excel文件

xlsx的使用安装 xlsx引入 xlsx需要导出的数据源将数据源转成需要的二维数组定义 Excel 表头将定义好的表头添加到 body 中1 创建虚拟的 workbook2 将二维数组转成 sheet!merges 设置单元格合并!cols 设置列宽!rows 设置行高3 向 workbook 中添加 sheet4 导出 workbook 完整示例…

JavaWeb 简单的图书管理系统(jsp+servlet)

关于与需要的文件下载字体颜色分类:黑色 表示正文蓝色 表示一个超链接&#xff0c;点击可以跳转页面橙色 表示一级标题或项目的包名绿色 表示子级内容中含有代码或解释的标题紫色 表示一个代码块的标题红色 表示()外的文件是()内文件的子类,实现类或依赖浅灰 表示解释或其类型高…

Vue封装Axios实现全局的loading自动显示效果

在 vue 项目中&#xff0c;我们通常会使用 Axios 库来与后台进行数据交互。而当我们发起 ajax 请求时&#xff0c;常常需要在页面上显示一个加载框&#xff08;Loading 效果&#xff09;&#xff0c;然后等数据返回后自动将其隐藏。要实现这个功能&#xff0c;我们可以在每次请…

尚品汇前台项目总结

这是我的第一篇个人博客&#xff0c;主要是对我学习前端过程中的一些主记录。由于我在江苏&#xff0c;从2022年过完年&#xff0c;一直到年中&#xff0c;疫情反反复复&#xff0c;又正是大三&#xff0c;马上面临就业难题&#xff0c;我选择了前端。 从html,css,js基础,webAP…

15个awk的经典实战案例

目录 一、插入几个新字段 二、格式化个空白 三、筛选IPV4地址 命令及结果 第一种查询方式 第二种查询方式 第三种查询方式 四、读取.ini配置文件中的某段 命令及结果 第一种查询方式 第二种查询方式 五、根据某字段去重 命令及结果 第一种方式 第二种方式 六、…

你是这样的 CSS,19个唯美的边框

作者&#xff1a;niemvuilaptrin 译者&#xff1a;前端小智 来源&#xff1a;medium 有梦想&#xff0c;有干货&#xff0c;微信搜索 【大迁世界】 关注这个在凌晨还在刷碗的刷碗智。 本文 GitHub https://github.com/qq449245884/xiaozhi 已收录&#xff0c;有一线大厂面试完整…

Vue之插槽

1. 插槽是什么 插槽就是子组件中的提供给父组件使用的一个占位符&#xff0c;用 表示&#xff0c;父组件可以在这个占位符中填充任何模板代码&#xff0c;如 HTML、组件等&#xff0c;填充的内容会替换子组件的标签。简单理解就是子组件中留下个“坑”&#xff0c;父组件可以使…

STM32入门教程课程简介(B站江科大自化协学习记录)

课程简介 STM32最小系统板面包板硬件平台 硬件设备 STM32面包板入门套件 Windows电脑 万用表、示波器、镊子、剪刀等 软件介绍 Keil MDK 5.24.1 是一款嵌入式软件开发工具&#xff0c;它提供了一个完整的开发环境&#xff0c;包括编译器、调试器和仿真器。它支持各种微控制…

微信小程序富文本解析器rich-text、web-view、wxParse、mp-html、towxml对比

微信小程序解析富文本html大概有几种方式&#xff0c;我用过的有这三种rich-text、web-view、wxParse、mp-html&#xff0c;各有各的优缺点&#xff0c;接下来聊一聊。 一、rich-text 二、web-view 三、wxParse 四、mp-html 五、towxml 一、rich-text rich-text富文本组件…

XSS漏洞攻防

目录XSS攻击简介XSS攻击的危害XSS攻击分类XSS产生原因实战靶场搭建构造xss攻击脚本弹窗警告页面嵌套页面重定向弹窗警告并重定向图片标签利用绕开过滤的脚本存储型xss基本演示访问恶意代码&#xff08;网站种马&#xff09;XSS获取键盘记录XSS盲打htmlspecialchars()函数自动xs…

SpringBoot - ZooKeeper

SpringBoot - ZooKeeper1、Curator框架的集成2、构建zookeeper客户端3、Master选举3.1、LeaderSelector3.2、LeaderLatch4、成员组注册5、节点监听1、Curator框架的集成 <dependency><groupId>org.apache.curator</groupId><artifactId>curator-recip…

博客系统前端实现

目录 1.预期效果 2.实现博客列表页 3.实现博客正文页 4.实现博客登录页 5.实现博客编辑页面 1.预期效果 对前端html,css,js有大致的了解后,现在我们实现了一个博客系统的前端页面.一共分为四个页面没分别是:登陆页面,博客列表页,博客正文页,博客编辑页 我们看下四个界面…

功能:vue:浏览器打印小票、打印参数配置

一、需求说明 1、要实现点击打印小票按钮&#xff0c;弹出预览弹框&#xff0c;点击弹框里面的打印&#xff0c;则实现浏览器打印预览&#xff0c;以及浏览器打印。 2、根据对应需求可以做步骤的加减&#xff0c;本例多了一个本地预览。 3、环境&#xff1a;pc端打印、chrome浏…

在 TypeScript 中导入 JavaScript 包,解决声明文件报错问题

前言 如果你在 TypeScript 中引入了一个纯 JavaScript 包&#xff0c;那很有可能会看到这样的报错&#xff1a; Could not find a declaration file for module ‘koumoul/vjsf/lib/VJsf’. ‘c:/*/node_modules/koumoul/vjsf/lib/VJsf.js’ implicitly has an ‘any’ type. …

uniapp拍照+上传后台 + pc端上传后台

uniapp 一、拍照&#xff0c;拿到本地路径 首先调用uniapp的api实现拍照 uni.chooseImage({sourceType: [camera,album],//拍照或是打开系统相册选择照片count: 3, //最多三张success(res) {if (Array.isArray(res.tempFilePaths)) {//最多选择三张&#xff0c;如果多选删掉…

新安webpack插件后编译报错compiler.plugin is not a function

安装使用generate-asset-webpack-plugin时报错TypeError&#xff1a;compiler.plugin is not a function&#xff0c;网上搜索了一下大概就是webpack5与这些插件不匹配。推荐的方法几乎都是换一个适配的插件版本&#xff0c;但我所需要的这个插件在npm上最近更新时间是7年前&am…

Vue 之 插件 轮播组件 vue-awesome-swiper 的简单使用整理

Vue 之 插件 轮播组件 vue-awesome-swiper 的简单使用整理 目录 Vue 之 插件 轮播组件 vue-awesome-swiper 的简单使用整理 一、简单介绍 二、安装 vue-awesome-swiper 三、引入&#xff08;全局或局部引入&#xff09; 四、简单使用 一、简单介绍 Vue 开发的一些知识整理…

八个步骤实现一个Web项目(在线聊天室)

实现一个在线网页的聊天室 Hello&#xff0c;今天给大家带来的是我的一个Web项目的开发过程的相关步骤&#xff0c;这个项目实现的功能是一个Web在线聊天室&#xff0c;简单的来说就是实现在网页版的聊天框&#xff0c;能够实现对于用户信息进行注册&#xff0c;登录&#xff…

vue3、ts如何封装 axios,使用mock.js

今天我们一起来看一看 vue3ts如何优雅的封装axios&#xff0c;并结合 mock.js 实现敏捷开发&#xff1b; 但是我们要注意区分 Axios 和 Ajax &#xff1a; Ajax 是一种技术统称&#xff0c;技术内容包括&#xff1a;HTML 或 XHTML, CSS, JavaScript, DOM, XML, XSLT, 以及最重要…