当前位置:   article > 正文

Vite 3.x + Vue 3.x + TypeScript 4.x + Element Plus + Pinia 搭建项目_pnpm配置路径别名

pnpm配置路径别名

前言

学习如逆水行舟,不进则退。

一、环境准备

①、安装 node

node 官网下载地址:下载 | Node.js 中文网

安装过程很简单,基本一键 next 到底就行。安装之后使用 node -v 查看当前版本。

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

将 Node.js 升级到最新的稳定版本:

  1. # 使用 nvm 安装最新稳定版 Node.js
  2. nvm install stable

②、VSCode 安装扩展插件 Volar

注意:使用 Volar时,需禁用 Vetur

二、初始化项目

  1. # npm
  2. npm create vite@latest
  3. # yarn
  4. yarn create vite
  5. # pnpm
  6. pnpm create vite

然后按照终端提示操作,输入项目名称,选择模板,具体如截图所示:

或者,你还可以通过附加的命令行选项直接指定项目名称和你想要的模板。例如,要构建一个 Vite + Vue 项目,运行:

  1. # npm 6.x
  2. npm create vite@latest my-vue-app --template vue-ts
  3. # npm 7+ (需要额外的双横线)
  4. npm create vite@latest my-vue-app -- --template vue-ts
  5. # yarn
  6. yarn create vite my-vue-app --template vue-ts
  7. # pnpm
  8. pnpm create vite my-vue-app --template vue-ts

 初始化完成后,依次运行如下命令,启动项目。 

  1. cd vite-vue-app
  2. yarn
  3. yarn dev

 浏览器访问 http://127.0.0.1:5173/

 如上图,Vite + Vue3 + TypeScript 简单的项目骨架搭建完毕。

三、修改 Vite 配置文件

①、路径别名配置,使用 @ 代替 src

a. vite 配置

关于 Vite 更多配置项及用法,请查看 Vite 官网 Configuring Vite | Vite

  1. // vite.config.ts
  2. import { defineConfig } from 'vite'
  3. import vue from '@vitejs/plugin-vue'
  4. import { resolve } from 'path'
  5. export default defineConfig({
  6. plugins: [vue()],
  7. resolve: {
  8. alias: {
  9. '@': resolve(__dirname, 'src') // 相对路径别名配置,使用 @ 代替 src
  10. }
  11. }
  12. })

b. 安装 @types/node

上述 vite.config.ts 文件中,编译器报错:找不到模块“path”或其相应的类型声明。

安装 Node 的TypeScript 类型描述文件即可解决报错。

  1. # npm
  2. npm install @types/node --save-dev
  3. # yarn
  4. yarn add @types/node --dev

 c.  TypeScript 编译配置

因为 TypeScript 特殊的 import 方式,需要配置允许默认导入的方式,还有路径别名的配置。

  1. // tsconfig.json
  2. {
  3. "compilerOptions": {
  4. "target": "ESNext",
  5. "useDefineForClassFields": true,
  6. "module": "ESNext",
  7. "moduleResolution": "Node",
  8. "strict": true,
  9. "jsx": "preserve",
  10. "sourceMap": true,
  11. "resolveJsonModule": true,
  12. "isolatedModules": true,
  13. "esModuleInterop": true,
  14. "lib": ["ESNext", "DOM"],
  15. "skipLibCheck": true,
  16. "baseUrl": "./", // 解析非相对模块的基地址,默认是当前目录
  17. "paths": { //路径映射,相对于baseUrl
  18. "@/*": ["src/*"]
  19. },
  20. "allowSyntheticDefaultImports": true // 允许默认导入
  21. },
  22. "include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue"],
  23. "references": [{ "path": "./tsconfig.node.json" }]
  24. }

d. 别名使用

  1. // App.vue
  2. import HelloWorld from './components/HelloWorld.vue'
  3. // 改为:
  4. import HelloWorld from '@/components/HelloWorld.vue'

②、服务启动端口


                
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/码创造者/article/detail/814235
推荐阅读