vite.config.ts配置

配置路径处理模块

安装ts的类型声明文件

yarn add @types/node -D

通过配置alias来定义路径的别名

  1. resolve: {
  2. alias: {
  3. '@': path.resolve(__dirname, 'src'),
  4. '@coms': path.resolve(__dirname, 'src/components')
  5. }
  6. }

配置自动在浏览器打开

  1. server: {
  2. open: true
  3. }

配置scss全局变量

安装依赖

  1. npm install node-sass sass-loader sass -D
  1. css: {
  2. preprocessorOptions: {
  3. scss: {
  4. additionalData: `@import "@/assets/scss/_theme.scss";`
  5. }
  6. }
  7. }

 vite.config.ts中虽然不对报错但是process.env参数中没有.env配置文件中的参数

配置按需加载

  1. import styleImport from 'vite-plugin-style-import'
  2. plugins: [
  3. vue(),
  4. styleImport({
  5. libs: [{
  6. libraryName: 'vant',
  7. esModule: true,
  8. resolveStyle: (name) => {
  9. return `vant/es/${name}/style/css`;
  10. },
  11. }]
  12. })
  13. ]

完整配置文件如下

  1. import { defineConfig } from 'vite'
  2. import vue from '@vitejs/plugin-vue'
  3. // import styleImport from 'vite-plugin-style-import'
  4. import importToCDN, { autoComplete } from 'vite-plugin-cdn-import'
  5. // 路径处理模块
  6. import path from 'path'
  7.  
  8. // https://vitejs.dev/config/
  9. export default defineConfig({
  10. plugins: [
  11. vue(),
  12. // styleImport({
  13. // libs: [{
  14. // libraryName: 'vant',
  15. // esModule: true,
  16. // resolveStyle: (name) => {
  17. // return `vant/es/${name}/style/css`;
  18. // },
  19. // }]
  20. // }),
  21. importToCDN({
  22. modules: [
  23. autoComplete('vue'),
  24. autoComplete('axios'),
  25. autoComplete('lodash'),
  26. {
  27. name:'vue',
  28. var:'Vue',
  29. path:'https://cdn.jsdelivr.net/npm/vue@next'
  30. },
  31. {
  32. name:'vuex',
  33. var:'Vuex',
  34. path:'https://cdn.jsdelivr.net/npm/vuex@4.0.2/dist/vuex.global.prod.js'
  35. },
  36. {
  37. name:'vue-router',
  38. var:'VueRouter',
  39. path:'https://cdn.jsdelivr.net/npm/vue-router@4.0.10/dist/vue-router.global.prod.js'
  40. },
  41. {
  42. name:'vant',
  43. var:'vant',
  44. css: 'https://cdn.jsdelivr.net/npm/vant@next/lib/index.css',
  45. path:'https://cdn.jsdelivr.net/npm/vant@next/lib/vant.min.js'
  46. }
  47. ]
  48. })
  49. ],
  50. resolve: {
  51. // 定义别名
  52. alias: {
  53. '@': path.resolve(__dirname, 'src'),
  54. '@components': path.resolve(__dirname, 'src/components')
  55. }
  56. },
  57. css: {
  58. preprocessorOptions: {
  59. scss: {
  60. charset: false,
  61. additionalData: `@import "@/assets/scss/_theme.scss";`
  62. },
  63. less: {
  64. javascriptEnabled: true
  65. }
  66. }
  67. },
  68. build: {
  69. target: 'modules',
  70. outDir: 'dist', // 指定输出路径
  71. assetsDir: 'static', // 指定生成静态资源的存放路径
  72. minify: 'terser', // 混淆器,terser构建后文件体积更小
  73. sourcemap: false,
  74. terserOptions: {
  75. compress: {
  76. drop_console: true, // 生产环境移除console
  77. drop_debugger: true // 生产环境移除debugger
  78. }
  79. },
  80. rollupOptions: {
  81. treeshake: false,
  82. output: {
  83. manualChunks (id) {
  84. if (id.includes('node_modules')) {
  85. return id.toString().split('node_modules/')[1].split('/')[0].toString()
  86. }
  87. }
  88. }
  89. }
  90. },
  91. server: {
  92. open: true, // 是否在浏览器打开
  93. port: 8088, // 端口号
  94. host: 'local.xxx.com'
  95. },
  96. // 引入第三方配置
  97. optimizeDeps: {
  98. include: []
  99. }
  100. })

vue3.0+vite+ts项目搭建--vite.config.ts配置(三)的更多相关文章

  1. vue3.0+vite+ts项目搭建--基础配置(二)

    集成vue-router 使用yarn yarn add vue-router@next --save 安装完成之后在src目录下创建文件夹router/index.ts,创建完成之后需要在Vue-R ...

  2. vue3.0+vite+ts项目搭建(报错处理)

    报错一 warning package.json: No license field$ vue-tsc --noEmit && vite build 解决方案,添加这两行,只添加一个是 ...

  3. vue3.0+vite+ts项目搭建-分环境打包(四)

    分环境打包配置 新建.env.dev(或者.env) VITE_NODE_ENV = 'dev' VITE_HOST = 'http://local.host.com' 执行yarn dev ,控制台 ...

  4. vue3.0+vite+ts项目搭建--初始化项目(一)

    vite 初始化项目 使用npm npm init vite@latest 使用yarn yarn create vite 使用pnpm pnpx create-vite 根据提示输入项目名称,选择v ...

  5. vue3.0脚手架 创建项目

    1.下载node最新稳定版本,并且安装 2.安装好之后,在cmd或者terminal下, 使用npm -v 查看当前npm版本,验证是否安装成功 3.安装成功后,运行 npm i -g @vue/cl ...

  6. vue2.0 安装及项目搭建(一)

    基本环境安装 1.安装node:从node.js官网下载并安装node.测试:win+R(打开命令行)-------输入cmd-------敲入node -v.如果出现相应版本号,即安装成功: 2.测 ...

  7. spring5.0源码项目搭建

    一.准备相应环境以及下载spring项目 Ps:此处只讲解安装gradle 1.JDK安装 2.Idea安装 3.gradle安装 Gradle下载路径:https://services.gradle ...

  8. 企业应用架构研究系列二十七:Vue3.0 之环境的搭建与Vue Antd Admin探索

    开发前端需要准备一些开发工具,这些工具怎么安装就不详细描写了,度娘一些很多很多.主要把核心的开发工具列表一些,这些资源也是非常容易找到和安装的. Node 安装:https://nodejs.org/ ...

  9. vue3.0+vite+ts项目搭建-postcss-pxtorem 实现移动自适应(五)

    这里不考虑大屏,所以不做amfe-flexible的配置 首先是安装依赖 yarn add postcss-loader postcss-pxtorem -D yarn add autoprefixe ...

随机推荐

  1. 『学了就忘』Linux系统管理 — 81、进程管理介绍

    目录 1.进程与线程的概念 2.什么是进程管理 3.进程管理的作用 4.Linux进程的几种状态 5.进程与线程的关系 (1)线程与进程的关系 (2)总结 1.进程与线程的概念 来源百度百科: 进程( ...

  2. Samba 源码解析之SMBclient命令流

    smbclient提供了类似FTP式的共享文件操作功能, 本篇从源码角度讲解smbclient的实现,smbclient命令的具体使用可通过help命令和互联网查到大量资料. 以下从源码角度分析一个s ...

  3. LightningChart .NET v.10.2.1已经发布了!

    LightningChart .NET v.10.2.1已经发布了! 了解更多关于兼容性和优化方面的最新改进. 主要改进 我们很高兴地宣布LightningChart .NET产品系列的第三个主要版本 ...

  4. java 输入输出IO 转换流-字符编码

    编码和其产生的问题: 计算机中储存的信息都是用二进制数表示的,而我们在屏幕上看到的数字.英文.标点符号.汉字等字符是二进制数转换之后的结果. 按照某种规则,将字符存储到计算机中,称为编码 .反之,将存 ...

  5. IDEA把Main方法打包成jar包

    创建一个maven项目 写一个main方法 Module:选择main方法所在的模块,我这里只有一个模块 所以默认选中 Main Class:选择main方法所在的类 Directory for ME ...

  6. java判断一个字符串是否为数字(整型、int)

    引入commons-lang 的jar包 /** * 判断是否是数字类型 * @param str * @return 如果为空返回false 匹配返回true */ public static bo ...

  7. nanogui之更新子模块glfw3.3.2踩坑总结

    nanogui源码下载: A . https://github.com/wjakob/nanogui B . https://github.com/dalerank/nanogui B是fork的A, ...

  8. ubuntu下AF_INET和AF_INET6的值

    关于 演示环境 $ uname -a Linux xxxxxxx 5.4.0-47-generic #51-Ubuntu SMP Fri Sep 4 19:50:52 UTC 2020 x86_64 ...

  9. 【LeetCode】Balanced Binary Tree 算法优化 解题报告

    Balanced Binary Tree Better Solution [LeetCode] https://leetcode.com/submissions/detail/40087813/ To ...

  10. 【LeetCode】101. Symmetric Tree 对称二叉树(Java & Python)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 DFS BFS 日期 [LeetCode] 题目地址 ...