首页 > 其他分享 >Vite4+Typescript+Vue3+Pinia 从零搭建(2) - tsconfig配置

Vite4+Typescript+Vue3+Pinia 从零搭建(2) - tsconfig配置

时间:2023-11-09 19:34:43浏览次数:43  
标签:文件 Typescript src ts 编译 Pinia Vue3 true tsconfig

tsconfig配置

项目代码同步至码云 weiz-vue3-template
关于tsconfig的配置字段可查看其他文档,如 typeScript tsconfig配置详解

tsconfig.json

文件修改如下:

{
  "compilerOptions": {
    "target": "ESNext", // 将代码编译为最新版本的 JS
    "useDefineForClassFields": true,
    "module": "ESNext", // 使用 ES Module 格式打包编译后的文件
    "lib": ["ESNext", "DOM", "DOM.Iterable"], // 引入 ES 最新特性和 DOM 接口的类型定义
    "skipLibCheck": true, // 跳过对 .d.ts 文件的类型检查
    "esModuleInterop": true, // 允许使用 import 引入使用 export = 导出的内容
    "sourceMap": true, // 用来指定编译时是否生成.map文件
    "allowJs": false, // 是否允许使用js
    "baseUrl": ".", // 查询的基础路径
    "paths": { // 路径映射,配合别名使用
      "@/*": ["src/*"],
      "@build/*": ["build/*"],
      "#/*": ["types/*"]
    },

    /* Bundler mode */
    "moduleResolution": "node", // 使用 Node/bundler 的模块解析策略
    "allowImportingTsExtensions": true,
    "resolveJsonModule": true, // 允许引入 JSON 文件
    "isolatedModules": true, // 要求所有文件都是 ES Module 模块。
    "noEmit": true, // 不输出文件,即编译后不会生成任何js文件
    "jsx": "preserve", // 保留原始的 JSX 代码,不进行编译

    /* Linting */
    "strict": true, // 开启所有严格的类型检查
    "noUnusedLocals": true, // 报告未使用的局部变量的错误
    "noUnusedParameters": true, // 报告函数中未使用参数的错误
    "noFallthroughCasesInSwitch": true // 确保switch语句中的任何非空情况都包含
  },
  "include": [ // 需要检测的文件
    "src/**/*.ts",
    "src/**/*.d.ts",
    "src/**/*.tsx",
    "src/**/*.vue",
    "mock/*.ts",
    "types/*.d.ts",
    "vite.config.ts"
  ], 
  "exclude": [ // 不需要检测的文件
    "dist",
    "**/*.js",
    "node_modules"
  ],
  "references": [{ "path": "./tsconfig.node.json" }] // 为文件进行不同配置
}

tsconfig.node.json

修改文件如下:

{
  "compilerOptions": {
    "composite": true, // 对于引用项目必须设置该属性
    "skipLibCheck": true, // 跳过对 .d.ts 文件的类型检查
    "module": "ESNext", // 使用 ES Module 格式打包编译后的文件
    "moduleResolution": "Node", // 使用 Node/bundler 的模块解析策略
    "allowSyntheticDefaultImports": true // 允许使用 import 导入使用 export = 导出的默认内容 
  },
  "include": ["vite.config.ts"]
}

标签:文件,Typescript,src,ts,编译,Pinia,Vue3,true,tsconfig
From: https://www.cnblogs.com/weizwz/p/17822608.html

相关文章

  • Vite4+Typescript+Vue3+Pinia 从零搭建(1) - 项目初始化
    项目初始化项目代码同步至码云weiz-vue3-template前提准备1.node版本Node.js版本>=12,如果有老项目需要旧版本的,推荐用nvm管理node版本。PSC:\Users\Administrator>nvm--version1.1.11PSC:\Users\Administrator>nvmlist*16.20.2(Currentlyusing64-bit......
  • 11 9 学习vue3
    今天创建了vue项目,了解了vue项目的目录如下: vue的组件分为组合式api和选项式api ①创建了组件内容如下:<scriptsetup>import{articleGetAllService,articleSearchService}from'@/api/article.js'//定义响应式数据import{ref}from'vue';constarticleList=re......
  • 记录--vue3 setup 中国省市区三级联动options最简洁写法,无需任何库
    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助在写页面的时候,发现表单里面有一个省市区的options组件要写,因为表单很多地方都会用到这个地址选择,我便以为很简单嘛。虽然很简单的一个功能,但是网络上能搜索到的教程大多都是需要配合elementUI等各种UI库的......
  • vue3中生命周期函数
    前言:Vue.js由于其丰富的API和灵活易用等特性,能够帮助我们快速构建单页应用程序,,是目前最受欢迎的javascript框架之一。再过去几年里,我们一直停留在Vue2.x的学习和实践,而当下Vue3.0是Vue.js的最新版本,很多大厂已经开始转型Vue3.0。所以,我们必须紧跟时代步伐,熟练掌握并深刻理解Vue......
  • vue3中使用qrcode生成二维码
    安装npminstall--saveqrcode.vueoryarnaddqrcode.vue组件中使用<scriptsetuplang="ts">import{useUiSetStore}from'@store/modules/uiSettings'//导入二维码组件importQrcodeVuefrom'qrcode.vue'constui=useUiSetStore()......
  • vue2,vue3的优缺点
    vue2:优点:vue2比较成熟,所以具有比较完善的第三方的插件和库的支持,和技术资源的支持和解决方案d的社区等缺点:对ts语法的支持有限vue2中difff算法遍历dom树的关系,优化程度较低vue3:优点:引入一些高级的api优化了diff算法,使得性能更好,包更小对ts的语法支持更好......
  • uni-app vue3 获取元素报错问题
    关于uniapp中vue3使用uni.createSelectorQuery()时的this指向及查询结果说明_前端_谁凉了时光旧了少年-华为云开发者联盟(csdn.net)......
  • vue3 使用elementUI饿了么el-table组件 动态循环自定义表头列数据
     在vue3上使用el-table组件自定义循环表头列;<el-table:data="list"v-loading="loading"border>      <!--@selection-change="handleSelectionChange"-->      <!--<el-table-columntype="selection"wi......
  • vue3异步组件
    父组件中,子组件的加载一般是按照先后顺序加载的,子组件加载后才会加载父组件。一个页面的子组件很多,由于会先加载子组件,那么父组件可能会出现比较长的白屏等待时间大型项目,可能需要拆分应用为更小的块,并仅在需要时再从服务器加载相关组件Vue提供defineAsyncComponent方法:import......
  • vue3异步组件
    父组件中,子组件的加载一般是按照先后顺序加载的,子组件加载后才会加载父组件。一个页面的子组件很多,由于会先加载子组件,那么父组件可能会出现比较长的白屏等待时间大型项目,可能需要拆分应用为更小的块,并仅在需要时再从服务器加载相关组件Vue提供defineAsyncComponent方法:import......