TypeScript+Vite4+Vue3+Pinia+Vant+Axios H5项目环境搭建

简介: TypeScript+Vite4+Vue3+Pinia+Vant+Axios H5项目环境搭建

个人笔记项目地址:https://github.com/kaimo313/decade-open-source

1、安装node

nvm install 14.18.0
nvm use 14.18.0

2、安装yarn

npm install -g yarn

3、使用vite创建项目

yarn create vite

4、依赖安装搭建h5环境

yarn add -S axios js-cookie lodash nanoid normalize.css pinia qs vant vue-router
yarn add -D @types/node @types/js-cookie @types/lodash @types/qs postcss postcss-modules postcss-pxtorem autoprefixer sass

如果要删除可以使用下面命令

yarn remove xxx

也可以指定对应版本

yarn add axios@0.27.2

5、配置vite.config.js

import { defineConfig } from "vite";
import vue from "@vitejs/plugin-vue";
import { resolve } from "path";
import autoprefixer from 'autoprefixer';
import postCssPxToRem from 'postcss-pxtorem';
// https://vitejs.dev/config/
export default defineConfig({
    plugins: [vue()],
    resolve: {
        // 别名
        alias: {
            "@": resolve(__dirname, "src"),
        },
        // 导入时想要省略的扩展名列表
        extensions: [".js", ".ts", ".jsx", ".tsx", ".vue", ".json", ".mjs"],
    },
    css: {
        // 指定传递给 CSS 预处理器的选项
        preprocessorOptions: {
            scss: {
                // https://sass-lang.cn/documentation/at-rules/use
                // 该@use规则从其他Sass样式表加载mixins,函数和变量,并将多个样式表css组合在一起。加载的样式表@use称为“模块”。Sass还提供了内置模块,其中包含有用的功能。
                // @use编写了最简单的规则@use "<url>",该规则将模块加载到给定的URL。不管加载了多少次,以这种方式加载的任何样式都将仅在编译的CSS输出中包含一次。
                // 默认情况下,模块的名称空间只是其URL的最后一个组成部分,而没有文件扩展名。但是,有时可能想选择一个不同的命名空间-可能想为经常引用的模块使用一个较短的名称,或者可能正在加载具有相同文件名的多个模块。可以通过编写来实现  @use "<url>" as <namespace>。
                // 可以通过编写加载没有名称空间的模块@use "<url>" as *。
                additionalData: `@use "@/assets/styles/global-scss-var.scss" as *;`,
            },
        },
        // https://vitejs.cn/config/#css-postcss
        postcss: {
            plugins: [
                // 样式前缀补全
                autoprefixer({
                    overrideBrowserslist: [
                        "Android 4.1",
                        "iOS 7.1",
                        "Chrome > 31",
                        "ff > 31",
                        "ie >= 8",
                        "> 1%",
                    ],
                    grid: true,
                }),
                {
                    // 去除警告: [WARNING] "@charset" must be the first rule in the file
                    postcssPlugin: "internal:charset-removal",
                    AtRule: {
                        charset: (atRule) => {
                            if (atRule.name === "charset") {
                                atRule.remove();
                            }
                        },
                    },
                },
                // 尺寸适配
                postCssPxToRem({
                    rootValue: 100, // (设计稿/10)1rem的大小 (详见: global.scss中 html{font-size: 26.6666666vw;})
                    propList: ["*"], // 需要转换的属性,这里选择全部都进行转换
                    selectorBlackList: [".norem"], // 过滤掉.norem-开头的class,不进行rem转换
                    exclude: /node_modules/i,
                }),
            ],
        },
    },
    server: {
        port: 8888
    }
});

6、配置tsconfig.json

{
  "compilerOptions": {
    "baseUrl": ".",
    "target": "ESNext",
    "useDefineForClassFields": true,
    "module": "ESNext",
    "moduleResolution": "Node",
    "strict": true,
    "jsx": "preserve",
    "resolveJsonModule": true,
    "isolatedModules": true,
    "esModuleInterop": true,
    "lib": ["ESNext", "DOM"],
    "skipLibCheck": true,
    "noEmit": true,
    "paths": {
        "@/*": ["src/*"],
    },
    "allowSyntheticDefaultImports": true
  },
  "include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue"],
  "references": [{ "path": "./tsconfig.node.json" }]
}


目录
相关文章
|
5天前
|
JavaScript 安全 前端开发
Gzm Design:开源神器!用 Vue3、Vite4、TypeScript 革新海报设计,免费开源的海报设计器,主流技术打造,轻松高效
海报设计在各个领域都有着广泛的应用,无论是商业广告、活动宣传还是个人创意表达。今天要给大家介绍一款免费开源的海报设计器——Gzm Design,它基于最新的主流技术开发,为用户提供了丰富的功能,让海报设计变得轻松又高效。
117 64
|
10天前
|
前端开发 JavaScript Java
【03】Java+若依+vue.js技术栈实现钱包积分管理系统项目-若依框架搭建-服务端-后台管理-整体搭建-优雅草卓伊凡商业项目实战
【03】Java+若依+vue.js技术栈实现钱包积分管理系统项目-若依框架搭建-服务端-后台管理-整体搭建-优雅草卓伊凡商业项目实战
57 13
【03】Java+若依+vue.js技术栈实现钱包积分管理系统项目-若依框架搭建-服务端-后台管理-整体搭建-优雅草卓伊凡商业项目实战
|
11天前
|
人工智能 JavaScript 关系型数据库
【02】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-ui设计图figmaUI设计准备-figma汉化插件-mysql数据库设计-优雅草卓伊凡商业项目实战
【02】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-ui设计图figmaUI设计准备-figma汉化插件-mysql数据库设计-优雅草卓伊凡商业项目实战
57 14
【02】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-ui设计图figmaUI设计准备-figma汉化插件-mysql数据库设计-优雅草卓伊凡商业项目实战
|
9天前
|
SQL JavaScript 安全
【04】Java+若依+vue.js技术栈实现钱包积分管理系统项目-若依框架二次开发准备工作-以及建立初步后端目录菜单列-优雅草卓伊凡商业项目实战
【04】Java+若依+vue.js技术栈实现钱包积分管理系统项目-若依框架二次开发准备工作-以及建立初步后端目录菜单列-优雅草卓伊凡商业项目实战
47 11
【04】Java+若依+vue.js技术栈实现钱包积分管理系统项目-若依框架二次开发准备工作-以及建立初步后端目录菜单列-优雅草卓伊凡商业项目实战
|
13天前
|
人工智能 JavaScript 安全
【01】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-需求改为思维导图-设计数据库-确定基础架构和设计-优雅草卓伊凡商业项目实战
【01】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-需求改为思维导图-设计数据库-确定基础架构和设计-优雅草卓伊凡商业项目实战
57 13
【01】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-需求改为思维导图-设计数据库-确定基础架构和设计-优雅草卓伊凡商业项目实战
|
4月前
|
JavaScript 容器
乾坤qiankun框架搭建 主应用为vue3的项目。
乾坤qiankun框架搭建 主应用为vue3的项目。
300 2
|
12天前
|
监控 JavaScript 前端开发
ry-vue-flowable-xg:震撼来袭!这款基于 Vue 和 Flowable 的企业级工程项目管理项目,你绝不能错过
基于 Vue 和 Flowable 的企业级工程项目管理平台,免费开源且高度定制化。它覆盖投标管理、进度控制、财务核算等全流程需求,提供流程设计、部署、监控和任务管理等功能,适用于企业办公、生产制造、金融服务等多个场景,助力企业提升效率与竞争力。
66 12
|
30天前
|
资源调度 JavaScript 前端开发
创建vue3项目步骤以及安装第三方插件步骤【保姆级教程】
这是一篇关于创建Vue项目的详细指南,涵盖从环境搭建到项目部署的全过程。
163 1
|
3月前
|
数据采集 监控 JavaScript
在 Vue 项目中使用预渲染技术
【10月更文挑战第23天】在 Vue 项目中使用预渲染技术是提升 SEO 效果的有效途径之一。通过选择合适的预渲染工具,正确配置和运行预渲染操作,结合其他 SEO 策略,可以实现更好的搜索引擎优化效果。同时,需要不断地监控和优化预渲染效果,以适应不断变化的搜索引擎环境和用户需求。
|
3月前
|
JavaScript 前端开发
如何在 Vue 项目中配置 Tree Shaking?
通过以上针对 Webpack 或 Rollup 的配置方法,就可以在 Vue 项目中有效地启用 Tree Shaking,从而优化项目的打包体积,提高项目的性能和加载速度。在实际配置过程中,需要根据项目的具体情况和需求,对配置进行适当的调整和优化。

热门文章

最新文章