Atom环境下TypeScript开发配置指南

在现代Web开发中,TypeScript因其强类型特性和对ES6+的支持而越来越受欢迎。本文将介绍如何在Atom编辑器中配置TypeScript开发环境,以便更高效地进行项目开发。

前置条件

在开始之前,请确保已经安装了以下软件:

  • Node.js
  • Atom编辑器
  • Typings

接下来,将从IDE的配置和插件开始。

IDE配置与插件

市面上有许多优秀的IDE可供选择,经过一番研究,选择了Atom编辑器,因为它拥有大量的插件,并且是免费的。

Atom编辑器提供了丰富的插件,可以根据需要搜索并安装。本文将重点介绍几个对TypeScript开发有帮助的插件。

这个插件对于TypeScript开发来说几乎是必不可少的。它提供了编译、文件整理、智能提示等功能。如果打算使用TypeScript,那么这个插件是必须要安装的。

这个插件允许隐藏树视图中不必要的文件。当在TypeScript中工作并将其转译为JavaScript时,每个文件至少会产生两个文件:.ts文件和.js文件(还可能有映射文件和.d.ts文件)。树视图中会充满实际上不使用的文件,这会使得寻找所需文件变得非常困难。tree-ignore插件可以帮助隐藏这些不需要的文件。稍后将展示如何配置它。

环境配置

有许多教程介绍了如何创建package.json文件,可以通过搜索找到它们。这里将展示一个基本的配置示例。

打开Git Bash,导航到项目文件夹,然后运行npm init命令。设置过程会引导完成所需的最低配置。

这个文件将包含atom-typescript所需的所有配置。在Atom中打开项目文件夹,按下Ctrl/Command + Shift + P(Windows/Mac),然后输入"tsconfig"。应该能看到命令"Typescript: Create Tsconfig.json Project file"。按下回车键(如果没有反应,请向项目中添加一个空的something.ts文件,然后再试一次,创建tsconfig.json后,可以删除该文件)。

打开tsconfig.json文件,可以看到它的结构非常直观。有许多可用的配置可以在atom-typescript的GitHub页面上找到。以下是经过几个项目后决定使用的配置文件:

{ "compilerOptions": { "target": "es5", "module": "commonjs", "moduleResolution": "node", "isolatedModules": false, "jsx": "react", "experimentalDecorators": true, "emitDecoratorMetadata": true, "declaration": true, "noImplicitAny": false, "removeComments": true, "noLib": false, "preserveConstEnums": true, "suppressImplicitAnyIndexErrors": true, "allowUnreachableCode": false }, "filesGlob": [ "**/*.ts", "**/*.tsx", "!node_modules/**" ], "exclude": [ "src/**/*.d.ts", "index.d.ts", "node_modules", "typings/browser", "typings/browser.d.ts" ], "compileOnSave": true, "buildOnSave": false, "atom": { "rewriteTsconfig": false, "formatOnSave": true }, "formatCodeOptions": { "indentSize": 2, "tabSize": 2, "insertSpaceAfterCommaDelimiter": true, "insertSpaceAfterSemicolonInForStatements": true, "insertSpaceBeforeAndAfterBinaryOperators": true, "insertSpaceAfterKeywordsInControlFlowStatements": true, "insertSpaceAfterFunctionKeywordForAnonymousFunctions": false, "insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis": false, "placeOpenBraceOnNewLineForFunctions": false, "placeOpenBraceOnNewLineForControlBlocks": false } }

这里有几点需要注意:

  • compilerOptions.target - 可以更改为想要使用的任何ES版本。
  • compilerOptions.module - 选择了使用CommonJS,但可以根据atom-typescript文档中的说明自由选择其他模块。
  • compileOnSave / buildOnSave选项
  • atom.formatOnSave选项
  • formattingOptions - 可以在这里查看所有选项以及更多。

正如之前提到的,tree-ignore插件允许隐藏树视图中不需要的文件。要配置要忽略的文件,只需在项目文件夹中添加一个.atomignore文件,并写入想要忽略的文件模式,可以随时修改文件,并添加/删除任何想要的内容。

以下是通常在文件中放置的内容示例:

.git index.js index.d.ts src/*/*/*.js src/*/*/*.d.ts src/*/*.js src/*/*.d.ts src/*.js src/*.d.ts

如所见,将所有源文件放在src目录中。遇到的一个问题是,插件不允许配置深层文件夹模式,这样就可以为src目录看到多个深度的模式。

如果打算在npm上发布项目,应该考虑添加.npmignore文件,以使包尽可能小,不包含任何不需要的文件。

以下是通常在文件中添加的内容示例:

.atomignore node_modules tests typings tsconfig.json typings.json *.ts !*.d.ts .npmignore *.test.js *.test.d.ts

如果使用GIT,并且出于某种原因不想提交某些文件,可以使用.gitignore文件来忽略它们。通常不添加它,因为希望保存所有的项目(即使是node_modules)。有许多文章讨论是否应该这样做,可以做任何想做的。

基本文件和文件夹

添加一个空的index.ts文件并按F6编译。

添加一个src文件夹或任何习惯的名称,这是放置所有源文件的地方。

测试

过去,习惯创建一个不同的文件夹来包含所有的测试文件,但后来读到一篇文章,建议将测试文件放在源文件附近,这样可以更容易地找到它们,并节省了对源文件和测试文件夹结构的双重管理,但同样,可以做任何喜欢的事情。

例如,如果添加了一个文件: src\someClass.ts ,那么该文件的测试文件将是: src\someClass.test.ts 。可以看到,在.npmignore中,忽略了所有匹配"*.test.ts"模式的文件。

使用mocha + sinon + chai编写测试,所以将展示这些配置,如果使用其他测试框架,可以将在这里展示的原则应用到框架上。

将看到typings的ambient安装,因为当写这篇文章时,d.ts文件在Typings仓库中不可用,只有在DefinitelyTyped中。

npm install -g mocha

(对于typings 0.x版本)

typings install dt~mocha --global --save-dev

将其全局安装,以便于访问。可以在官方Mocka页面上找到文档。

"scripts": { "test": "mocha -c -b src/**/*.test.js" }

脚本运行src文件夹内的所有测试文件。如果在"test"文件夹中管理测试文件,只需将src更改为test。

-c代表color,这样测试输出将更易于阅读,-b代表在第一个失败的测试中断,因为想快速失败并修复失败的测试,然后继续下一个。可以根据自己的需要添加/移除标志,具体可以参考文档。

要运行测试,可以在项目文件夹中打开git bash并运行以下命令:

npm test npm install sinon --save-dev

(对于typings 0.x版本)

typings install sinon --save-dev

可以在官方Sinon页面上找到文档。

npm install chai --save-dev

(对于typings 0.x版本)

typings install chai --save-dev

可以在官方Chai页面上找到文档。

运行所有脚本后,将注意到发生了几件事情:

  • package.json文件现在有一个devDependencies部分。
  • 添加了一个typings.json文件,其中包含typings的ambientDevDependencies。
  • 项目中添加了一个typings文件夹,其中包含Chai、Sinon和Mocha的d.ts文件。

就是这样

现在所需要做的就是编写代码。

当需要一个d.ts文件时,只需在Typings仓库中搜索:

typings search something

如果在那里找不到,就在ambient仓库中搜索:

typings search something --abmient

找到后,只需将search关键字替换为install关键字即可安装。

要编译TypeScript文件,请使用F6。

沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485