首页 > 其他分享 >Vue CLI 和 Vite

Vue CLI 和 Vite

时间:2022-09-30 14:48:12浏览次数:84  
标签:Vue CLI js vue Vite vite log

一、Vue CLI脚手架

1. 安装和使用

1.1 系统全局安装

npm install @vue/cli -g

1.2 升级Vue CLI

如果是比较旧的版本,可以通过下面的命令来升级

npm update @vue/cli -g

1.3 创建项目

通过 vue 的命令来创建项目

vue create '项目的名称'

2. 项目创建过程

通过运行上述vue create '项目名称'命令后,会展示如图的配置选择:图源自 codewhy老师。

image-20220924163711873

二、Vite

1.Vite介绍

Vite(法语意为 "快速的",发音 /vit/,发音同 "veet")是一种新型前端构建工具,能够显著提升前端开发体验。

它主要由两部分组成:

# 启动 vite 服务
vite
# 打包
vite build
# 预览打包后的index.html
vite preview

1.1 用法

Vite 官网上可直接借助vite工具直接生成相应框架的项目、例如:Vue、React等。

npm create vite@latest

yarn create vite

然后按照提示操作即可!

2. Vite 打包基本使用

不使用官方的vite脚手架构建vite项目。从零开始创建 vite项目

2.1 安装

# 为项目局部安装 vite
npm i vite -D
# 为本机全局安装 vite
npm i vite -g

2.2 目录结构

├── mode_modules
├── src
|   ├── css
|   |   ├── theme.css
|   ├── js
|   |   ├── math.js
|   ├── main.js
├── index.html
├── package.json

2.2.1 文件内容

  • theme.css

    body {
      background-color: paleturquoise;
    }
    .title {
      font-size: 24px;
      color: rebeccapurple;
      background-color: palegreen;
      padding: 10px;
    }
    
  • math.js

    console.log('math.js');
    
    export function sum(num1, num2) {
      return num1 + num2;
    }
    
    export function mulity(num1, num2) {
      return num1 * num2;
    }
    
  • main.js

    // 引入 ESmodule模块JS
    // import { sum, mulity } from './js/math.js';
    import { sum, mulity } from './js/math'; // 使用vite后可不加js后缀,因为构建工具自动添加
    
    // 引入 css 样式
    import './css/theme.css';
    
    const H2Element = document.createElement('h2');
    H2Element.className = 'title';
    H2Element.innerHTML = '你好,陈平安';
    
    document.body.appendChild(H2Element);
    
    console.log(sum(1, 8));
    console.log(mulity(1, 8));
    
    console.log('hello,world');
    
  • index.html

    <!DOCTYPE html>
    <html lang="en">
    <head>
      <meta charset="UTF-8">
      <meta http-equiv="X-UA-Compatible" content="IE=edge">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <title>Document</title>
    </head>
    <body>
      <script type="module" src="./src/mian.js"></script>
    </body>
    </html>
    

2.3 运行

  1. 在该项目中局部安装 vite
npm i vite -D
  1. 在终端命令行中运行:
# 执行本地的 vite
npx vite

通过Ctrl+鼠标左键就可进入 vite 创建的本地服务。

  1. html 展示

这样我们使用 ESmodule 引入的JS 和 通过模块引入的 css 都能正常加载。(相比于 webpack,vite自动帮我们处理了 css 样式)

3. 其他资源的打包

3.1 使用 less

3.1.1 新建 style.less

.title {
  text-decoration: underline;
}

3.1.2 引入

// main.js
// 引入 less 样式
import './css/style.less';

当在 main.js 中直接引入.less 文件时,vite 就会报错:

提示你 less 依赖未找到,是否安装它。所以解决方案就是下载less依赖

npm i less -D

安装完后,直接在main.js中 Ctrl+S就可重新更新运行。

3.2 postcss的转换

postcss 为 CSS 规则添加特定厂商的前缀。通过 Autoprefixer 插件自动获取浏览器的流行度和能够支持的属性,并根据这些数据帮你自动为 CSS 规则添加前缀。

Vite 能直接支持postcss的转换,配置 postcss.config.js 的配置文件即可

3.2.1 安装

npm install postcss postcss-preset-env -D

3.2.2 配置

项目根目录下新建postcss.config.js

module.exports = {
  plugins: [
    // 使用 postcss预设
    require('postcss-preset-env')
  ]
};

3.2.3 添加样式

theme.css中添加

body {
  background-color: paleturquoise;
}
.title {
  font-size: 24px;
  color: rebeccapurple;
  background-color: palegreen;
  padding: 10px;
  /* 添加如下样式 */
  user-select: none;
}

因为更改了相应的配置文件,重新需要重新运行 npx vite

随后在浏览器中就可看到postcss自动添加的浏览器前缀

3.3 对TypeScript的支持

vite 默认就支持对 .ts 文件。

  • src/ts/log.ts

    export function log(msg) {
      return `${new Date().toLocaleString()}--${msg}`;
    }
    
  • mian.js

    // 引入 ts 文件
    import { log } from './ts/log';
    
    console.log(log('使用TS文件'));
    
  • 浏览器可正常打印出数据。证明默认支持ts文件

3.4 vue文件

Vite 为 Vue 提供第一优先级支持:

3.4.1 在 main.js 中引入vue文件

App.vue

<template>
  <div>
    <h2>在Vite中加载Vue文件</h2>
    <h2>{{ msg }}</h2>
  </div>
</template>

<script>
export default {
  name: 'app',
  data() {
    return {
      msg: 'App.vue'
    };
  }
};
</script>

<style>
h2 {
  color: aliceblue;
}
</style>

main.js

// 引入Vue
// 下载vue依赖 npm i vue -D
import { createApp } from 'vue';
import App from './vue/App.vue';

// vue 代码
createApp(App).mount('#app');

npx vite运行

默认不支持对vue文件的解析,需下载相应的插件@vitejs/plugin-vue

3.4.2 安装插件

npm i @vitejs/plugin-vue -D

3.4.3 配置

项目根目录创建vite.config.js

import vue from '@vitejs/plugin-vue';
import { defineConfig } from 'vite';

export default defineConfig({
  plugins: [
    // 添加对vue文件的支持
    vue()
  ]
});

标签:Vue,CLI,js,vue,Vite,vite,log
From: https://www.cnblogs.com/fuct/p/16744830.html

相关文章

  • MQTT Client
    MQTTClient一、ClientLibraryMQTT官网提供不同应用场景的Client库博主选择下载C语言实现的ClientLibrary:EclipsePahoC,GigHub地址:https://github.com/eclipse/paho.......
  • Vue插件
    Vue插件插件作用插件通常用来为Vue添加全局功能例如:1、添加全局资源:指令/过滤器/过渡等。如vue-touch2、通过全局混入来添加一些组件选项。3、添加Vue实例方法,......
  • Vue实现防抖
    data(){return{//用于保存防抖的定时器timeout:null,}}methods:{//防抖函数debounce(fn,delay){if(this.......
  • 【面试题】888- Vue3.0 高频出现的几道面试题
    1.Vue3.0性能提升主要是通过哪几方面体现的?1.响应式系统提升vue2在初始化的时候,对data中的每个属性使用definepropery调用getter和setter使之变为响应式对象。如果属性值......
  • Vue3 从入门到入土(TypeScript接口)
    前言在上一章,我们就写过简单的接口,本章更深入的了解接口接口是对象的状态(属性)和行为(方法)的抽象(描述)接口以例子来了解,我们有这样的需求定义一个对象存放用......
  • 【尚硅谷】Vue2.x组件化编码学习笔记--渐进式的JS框架
    Vue组件化编码​​一、使用Vue-cli创建项目​​​​1.1说明​​​​1.2创建Vue项目​​​​1.2.1如何修改端口以及自动运行​​​​1.3Vue-cli创建的项目的目录结构​​......
  • Vue面试题27:为什么要使用路由懒加载?(总结自B站up主‘前端杨村长’视频,仅供自用学习)
    这是一道应用题。当打包应用时,JavaScript包会变得非常大,影响页面加载。如果我们能把不同路由对应的组件分割成不同的代码块,然后当路由被访问时才加载对应组件,这样就会更加......
  • new Vue的时候到底做了什么
    Vue加载流程1.初始化的第一阶段是Vue实例也就是vm对象创建前后:首先Vue进行生命周期,事件初始化发生在beforeCreate生命周期函数前,然后进行数据监测和数据代理的初始化,也就是......
  • VUE2速成-5(插件及打包)
    文章目录​​一、Vue的插件大全​​​​二、Vue插件举例​​​​1.轮播图插件(vue-awesome-swiper)​​​​2.UI组件库(ElementUI)​​​​三、vue-cli打包部署​​一、Vue的......
  • VUE2速成-3(路由进一步及Ajax请求)
    文章目录​​一、路由进一步​​​​1.命名路由​​​​2.重定向和别名​​​​3.HTML5History模式​​​​4.导航守卫​​​​4.1全局前置守卫​​​​4.2全局后置......