首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何编译使用 TypeScript

令人高兴,现在原生 JavaScript 开发者也能享受到 TypeScript 强大特性了。...在注释中使用类型注释 JavaScript 比编写实际 TypeScript 代码要简洁得多,它在任何地方都可以工作,它去除了对于编译需要,并且使得 TypeScript 工具完全是可选。...实际示例 要在 JavaScript 代码中打开 TypeScript 分析,只需将一个带有 @ts-check注释添加到文件开头即可。...不需要编译安装,你甚至不需要一个 TypeScript 配置文件,只需将注释添加到任何需要检测 JavaScript 代码中即可。如果您尝试使用与指定类型不匹配参数调用函数,编辑器将显示警告。...某些第三方 JavaScript 库会在其 npm 模块中包含 TypeScript 类型定义(通常为.d.ts扩展名文件)。

1.9K40
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Node.js项目TypeScript改造指南

    本文讲的是如何将一个旧 Node.js 项目使用 TypeScript 进行改造,包括目录结构调整、TypeScript-ESLint 配置、tsconfig 配置、调试、常见错误处理等。...dist目录,而 TypeScript 需要编译,所以重点要独立出一个源码目录和编译目标目录,推荐目录结构如下,另外,根据不同技术栈还有一堆其他配置文件如 prettier、travis 等等这里就省略了...模板文件提取 由于 TypeScript编译时只能处理 ts、tsx、js、jsx 这几类文件,因此项目中如果用到了一些模板如 json、html 等文件,这些不需要编译,可以提取到 templates...,TypeScript 与 VSCode 都是微软亲儿子,用 TypeScript 你就老老实实用 VSCode 吧,上述步骤以后,ts 文件中会出现大量飘红警告。...更要命,IDE和编译器没有任何报错。如果这个最基本类型检查都解决不了,那我要 TypeScript 何用?

    4.4K20

    Node.js 项目 TypeScript 改造指南

    本文讲的是如何将一个旧 Node.js 项目使用 TypeScript 进行改造,包括目录结构调整、TypeScript-ESLint 配置、tsconfig 配置、调试、常见错误处理等。...dist目录,而 TypeScript 需要编译,所以重点要独立出一个源码目录和编译目标目录,推荐目录结构如下,另外,根据不同技术栈还有一堆其他配置文件如 prettier、travis 等等这里就省略了...模板文件提取 由于 TypeScript编译时只能处理 ts、tsx、js、jsx 这几类文件,因此项目中如果用到了一些模板如 json、html 等文件,这些不需要编译,可以提取到 templates...,TypeScript 与 VSCode 都是微软亲儿子,用 TypeScript 你就老老实实用 VSCode 吧,上述步骤以后,ts 文件中会出现大量飘红警告。...更要命,IDE和编译器没有任何报错。如果这个最基本类型检查都解决不了,那我要 TypeScript 何用?

    8.3K32

    Node.js项目TypeScript改造指南

    本文讲的是如何将一个旧 Node.js 项目使用 TypeScript 进行改造,包括目录结构调整、TypeScript-ESLint 配置、tsconfig 配置、调试、常见错误处理等。...dist目录,而 TypeScript 需要编译,所以重点要独立出一个源码目录和编译目标目录,推荐目录结构如下,另外,根据不同技术栈还有一堆其他配置文件如 prettier、travis 等等这里就省略了...模板文件提取 由于 TypeScript编译时只能处理 ts、tsx、js、jsx 这几类文件,因此项目中如果用到了一些模板如 json、html 等文件,这些不需要编译,可以提取到 templates...,TypeScript 与 VSCode 都是微软亲儿子,用 TypeScript 你就老老实实用 VSCode 吧,上述步骤以后,ts 文件中会出现大量飘红警告。...更要命,IDE和编译器没有任何报错。如果这个最基本类型检查都解决不了,那我要 TypeScript 何用?

    4.6K10

    TS 4.5 最新发布!新扩展名、新语法、新工具类型

    这一种方式存在着一定问题,难以进行细粒度定制,比如我只需要 DOM 一部分和 ESNext 一部分。或者在更新 TS 版本时其内置 lib 声明可能存在 Breaking Change。...条件类型尾递归省略 Tail-Recursion Elimination on Conditional Types 我们使用 TS 类型别名时,常常会遇到需要循环引用类型别名自身情况,TS 编译器会检测到可能存在无限嵌套情况并给出警告...这样一来,TS编译器就不需要去每次单独创建中间变量,也就不再会触发警告了。...这一特性还对 Vue、Svelte、Astro 这一类使用自定义文件(.vue/.svelte/.astro)框架有着特殊意义,通常其模板编译由自己处理,而 script 部分编译则由 TS...这就使得模板部分对导入使用无法被 TS 编译器感知到,需要额外工作。

    1.4K30

    TypeScript入门教程(一)

    本文TypeScript入门文章,将分别从下面四点对TypeScript进行介绍: 1, 什么TypeScript 2, 为什么要使用TypeScript 3, 如何安装TypeScript,Webpack...-g typescript 注意这里全局安装,加上-g参数,这样在其他工程中也能使用 TypeScript 命令行编译工具。...另外,tsc还可以支持一次编译多个文件,或者编译文件夹下所有文件: 一次编译多个文件: tsc 文件1 文件2 编译文件夹下所有ts文件: tsc *.ts 还可以监听文件变化,使用--watch:...也就是说,就算你代码里有错误,你仍然可以使用TypeScript。但在这种情况下,TypeScript警告你代码可能不会按预期执行。...可以让 webpack 使用 TypeScript 标准配置文件 tsconfig.json 编译 TypeScript 代码。

    5.6K550

    教你 30 秒发布一个 TypeScript 包到 NPM

    添加 "declaration": true 到你 tsconfig.json 这行语句告诉 TypsScript 在编译时候为你自动生成 d.ts 文件。...需要注意,当你使用私有的类型时,但是这个类型也外部 API 一部分,这个包使用者就得不到该类型类型推断,TS 编译器也会报警告,这时你只需要在该类型前添加 export 即可。 2....添加 "types": "index.d.ts" 到你 package.json 当其他人导入你时候,这句话就告诉了 TS 编译器到哪里去寻找类型定义文件。...这里 .d.ts 文件和 main 入口指向一个文件夹,所以通常情况下,你 package.json 会包含下面两行: "main": "dist/index.js", "types": "dist.../index.d.ts" (上面默认你在 tsconfig.json 中配置 outDir 指向 dist 目录) 3.

    1.8K20

    「译」面向 JavaScript 开发人员 TSConfig 简介

    TypeScript 一个通过添加类型来提高代码质量和维护效率重大创新,因此毫不奇怪它是目前增长最快语言之一。如果你从未使用编译语言或编译器,TypeScript 可能会让你感到害怕。...或者也许你遇到过复杂 tsconfig.json 文件,而你并不完全理解。这篇博文介绍 TypeScript (TS) 以及如何配置你项目以轻松使用 TypeScript。️...TSConfig 设置tsconfig.json 文件允许你配置 TypeScript 编译如何处理你 TypeScript 代码。...removeComments – 从你编译代码中去除注释。如果你要压缩编译代码,这非常有帮助。...如果没有指定 include,TypeScript 默认将项目目录中所有 .ts、.tsx 和 .d.ts 文件纳入编译

    9910

    TypeScript必知三部曲(一)TypeScript编译方案以及IDE对TS类型检查

    带着这些问题,我们由浅入深介绍TypeScript代码编译两种方案以及我们日常使用IDE进行ts文件类型检查关系,让你今后面对基于ts工程能够做到游刃有余。...那么我们如何使用babel将ts代码编译器es6代码呢?...为什么babel编译会这样处理代码?这不得不提到babel中@babel/preset-typescript如何编译TS代码警告!有一个震惊消息,你可能想坐下来好好听下。...于是,在babel编译方案中,整个体系如下: 主流IDE对TS项目如何进行类型检查 不知道有没有细心读者在使用IDEA时候,会发现如果IDE当前打开TS文件,IDEA右下角会展示一个typescript...接下来剩余两部分,将分别介绍webpack如何编译打包基于TypeScript项目以及TSX如何进行类型检查。

    65220

    从 0 到 1 搭建一个企业级前端开发规范

    当我们安装项目依赖时候,这个文件会自动更新 接下来我们创建以下文件目录 └── src/ ├── index.ts // 项目入口文件 ├── package.json 添加 TypeScript...TypeScript 会在编译代码时,进行严格静态类型检查。...Build项目中, 使用 Webpack Babel 对项目代码进行编译,因此使用 TypeScript 唯一目的仅仅是对项目代码进行类型检查。...因为 tsconfig.json 中编译选项仅仅针对代码类型检查,而不是代码编译,因此不需要让 TypeScript 生成编译文件 以下tsconfig.json中一些设置解释 lib: TS 需要引用库...".js,.jsx,.ts,.tsx"文件 lint:js: 只校验src目录下,后缀名为".js,.jsx,.ts,.tsx"文件中,被修改过文件

    2.8K20

    E聊SDK在TypeScript条件编译(使用js-conditional-compile-loader插件)

    条件编译: 用同一套代码和同样编译构建过程,根据设置条件,选择性地编译指定代码,从而输出不同程序过程 1.背景: E聊SDK需要使用一套TypeScript开发客户端核心代码实现了跨平台支持(...js 代码代码,若直接编译TypeScript 会出错,故我们需要使用ts-loader 将TypeScript 转成JavaScript 代码, 再使用js-conditional-compile-loader...笔者暂未找到TypeScript相关条件编译插件,因此条件编译TypeScript使用unix sed 工具实现. # 去除IFTRUE_WXAPP平台相关代码 sed -e ':a' -e '...*\/\*FITRUE_WXAPP\*\// /g' -i xxx.ts 若是多文件,加入一个for 循环即可 # 去除文件夹echatim 下所有IFTRUE_WXAPP平台相关代码 for f...下面使用TypeScript条件编译工程: E聊SDK客户端核心库代码 E聊sdk(www.echatim.cn):一个免费开源聊天解决方案SDK。

    1.9K00

    Angular12个经典问题,看看你能答对几个?(文末附带Angular测试)

    如何实现不出现编辑器警告自定义类型? 在大多数情况下,第三方库都带有它.d.ts 文件,用于类型定义。...在某些情况下,我们需要通过向现有类型提供一些更多属性来扩展现有类型,或者如果我们需要定义其它类型以避免TypeScript警告。...对于这些情况,我们可以通过创建我们自己“ .d.ts文件来实现定义或扩展类型。...什么Shadow DOM?它如何帮助Angular 2更好地执行? Shadow DOMHTML规范一部分,它允许开发人员封装自己HTML标记,CSS样式和JavaScript。...缺点: 仅适用于HTML和CSS,其它文件类型需要前面的构建步骤 没有watch模式,必须手动完成(bin / ngc-watch.js)并编译所有文件 需要维护AOT版本bootstrap文件使用

    17.3K80

    tsconfig.json 配置文件详解 | 02

    如果项目源码 JavaScript,但是相用 typescript 处理,那配置文件名字jsconfig.json ,和 tsconfig 写法一样。...target 指定编译产物 js 版本 include 指定那些文件需要编译 tsconfig.json 文件可以不必手写,使用 tsc 命令 --init 参数自动生成 tsc --init #...# 2、exclude exclude 属性一个数组,必须与 include 属性一起使用,用来从编译列表中去除指定文件,同样支持和 include 属性相同通配符。...{ "include":["**/*"], // 指定那些文件需要编译 "exclude":["**/*.spec.ts"] // 从编译列表中去除指定文件 } # 3、extends..."include":["src/**/*"], //指定所要编译文件列表 "exclude": ["**/*.spec.ts"]//从编译列表中去除指定文件 } 用 ts 语法声明一个枚举示例

    1.2K10

    一套规范vue3+vite2+ts4前端工程化项目环境

    一套规范vue3+vite2+ts4前端工程化项目环境 webvueblog.github.io/vue3-vite2-… Vue 3 + Typescript + Vite vue3-vite2-ts4...  ts配置文件 └── vite.config.ts       vite配置 复制代码 每个目录作用后文都会提及 ├── src │   ├── router           路由配置 │  ...},      chunkSizeWarningLimit: 1500 // chunk 大小警告限制(以 kbs 为单位) } 复制代码 接入代码规范 ESlint 被称作下一代 JS Linter...官方决定全面采用 ESLint 作为代码检查工具,并创建了一个新项目 typescript-eslint,提供了 TypeScript 文件解析器 @typescript-eslint/parser...和相关配置选项 @typescript-eslint/eslint-plugin 等 使用 scss 来增强 css 语法能力 yarn add sass yarn add stylelint yarn

    55720

    4000字讲清 《深入理解TypeScript》一书 【基础篇】

    Type类型约束、不确定情况下提示、在代码编写阶段就能知道自己错误 这三点我认为最关键点,本身TypeScript能做事情,JavaScript都能做,虽然使用TS要多写很多代码,但是其实真正算下来...有了以上假设,从 JavaScript 迁移,总的来说包括以下步骤: 添加一个 tsconfig.json文件; 把文件扩展名从 .js 改成 .ts,开始使用 any 来减少错误; 开始在 TypeScript...我们建议你创建一个 vendor.d.ts 文件作为开始(.d.ts 文件扩展名指定这个文件一个声明文件),然后我们可以向文件里添加东西。...虽然创建一个声明文件这种快速但是不好方式减小使用 TypeScript 初始阻力重要步骤。...但是,类型断言纯粹一个编译时语法,同时,它也是一种为编译器提供关于如何分析代码方法 类型断言通常被认为有害 在很多情景下,断言能让你更容易从遗留项目中迁移(甚至将其他代码粘贴复制到你项目中)

    1.9K30

    你不知道 「 import type 」

    其实这个特性并不复杂,但是我们需要了解其背后机制和原理,并了解 Babel 和 TypeScript 如何一起工作。...本文主要内容: 什么「 仅仅导入 / 导出声明 」 Babel和TypeScript如何一起工作 正文 首先, 先介绍一下这个特性。...与 import type 相关联,我们提供来一个新编译选项:importsNotUsedAsValues,通过它可以来控制没被使用导入语句将会被如何处理,它名字暂定,但是它提供来三个不同选项...Babel 和 TypeScript 如何一起工作 TypeScript 做了两件事 将静态类型检查添加到 JavaScript 代码中。 将 TS + JS 代码转换为各种JS版本。...Babel方法(特别是transform-typescript插件时): 先删除类型,然后进行转换。 这样,就即可以使用 Babel 所有优点,同时仍然能够提供 ts 文件

    4.3K61

    Angular 2 快速起步 原

    docs/ts/latest/quickstart.html 从官网中提取几个主要步骤 首先安装nodejs ,node js里面有自带npm,也就是安装了node js后也同时安装npm 1...、   新建一个angularjs2文件夹 2、   往项目目录下添加下列包定义与配置文件     (1) package.json          列出了应用依赖,并定义了一些有用脚本...     (2)tsconfig.json           TypeScript编译器配置文件      (3) typings.json           指定TypeScript 定义文件...     (4) systemjs.config.js SystemJS配置文件 3、安装依赖包  打开控制台输入命令npm install 安装过程中如有有红色警告没关系,只要确认在...app.component.ts  应用根组件习惯上命名AppComponent,它是放用户            界面的容器          此组件通过它所关联模板,控制屏幕一部分 (2

    69310
    领券