问题标签 [tsc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
5305 浏览

typescript - TS2307:找不到模块“离子/离子”

尝试tsc与我的 ionic2 项目一起使用时,我在打字稿文件上收到以下错误。

错误: TS2307: Cannot find module 'ionic/ionic'


编码:


我的 tsconfig.json 文件:


我的 npm -g 列表:

0 投票
1 回答
1790 浏览

javascript - tsc out 创建空的输出文件

我有一个简单的 hello world 文件test.ts,其内容如下:

当我运行命令tsc test.ts --module amd --out bla.js时,test.js会创建一个包含正确内容的文件,但bla.js也会创建一个空文件。

我希望test.tsbla.js. 是什么导致了这种行为?

0 投票
1 回答
316 浏览

vim - 无法删除 leafgarland-vim TypeScript experimentalDecorator 警告

我安装了leafgarland-vim插件,当我保存.ts文件时,我总是收到以下警告:

VIM 内的警告截图

我尝试添加let g:typescript_compiler_options="--experimentalDecorators"到我的~/.vimrc中,并且在第一次输入“:”之后,我还从 vim 内部输入了该命令。我什至可以做到:echo g:typescript_compiler_options,它会返回--experimentalDecorators。然而,每次我去保存时,我都会收到这个错误。

我怎样才能让这个错误消失?--experimentalDecorators只是似乎没有完成它的工作。

编辑: 我从 vim 内部尝试了这个:
:let g:typescript_compiler_options = '--dnwejuidbnwejudbn'
代码仍然编译,并带有相同的警告。我不认为let g:typescript_compiler_options实际上在做任何事情。

编辑2: 显然这些设置实际上都没有做任何事情

编辑3: 与此同时,这个黑客摆脱了警告: 在此处输入图像描述

0 投票
2 回答
969 浏览

typescript - 使用全局 tsc 参数在 vscode 中设置构建任务

我们有以下项目结构

我们正在尝试在 VSCode 中配置一个任务,允许按照这个结构进行编译......

而且我们无法使其工作,因为没有--filesGlob参数,或任何其他传递正则表达式来编译许多文件的方式。任何其他允许此工作流程的方法?

0 投票
2 回答
1746 浏览

typescript - VS Code:在保存文件时观看打字稿

在 Visual Studio Code 中,我在 tsconfig.json 的代码中有以下代码

如您所见,该watch选项为真。好吧,看起来这还不足以像 atom-typescript 一样将 .ts 文件编译为 .js 。基本上,新编译的.js在保存.ts时应该在.ts文件的同一目录下。

另外,我想避免在我的根项目中使用 gulp,因为我已经将 gulpfile.coffee 用于其他方式。有人有线索吗?

0 投票
2 回答
3606 浏览

javascript - 为什么 Typescript 编译器不会将 .ts 更改为 .js?

在下图中左侧的文件夹中,您可以看到我的/src Typescript(蓝色)使用 tsc 编译成我的/dist(紫色)Javascript。

在此处输入图像描述

您可以在左侧的源文件中看到引用 .ts 模块文件的源文件,它没有被编译为引用右侧的 .js 模块文件。

为什么不?如果 tsc 不转换引用,Javascript 怎么可能运行?

第二个问题:然后我尝试手动将编译的引用从.ts更改为.js并运行node dist/server.js但我收到错误cannot find module tools/typescriptImport.js'。为什么节点在正确引用时找不到模块(您可以在最右边看到它是一个模块)?

0 投票
3 回答
1876 浏览

reactjs - 如何将 Relay 查询从 TypeScript 转换为 ES5?

我正在用 TypeScript 编写一个网络应用程序。该应用程序使用 Facebook 的 React 和 Relay。我的 TypeScript 源代码使用 TypeScript 编译器 TSC 编译成 ES6 代码。然后,使用 Babel 将 ES6 代码转换为 ES5 代码。为了让 Relay 在浏览器中工作,Babel 插件需要转换 Relay GraphQL 查询:https ://facebook.github.io/relay/docs/guides-babel-plugin.html 。问题是,因为 TSC 首先转换这些查询,Babel Relay 插件不再识别它们,所以它们不会被转换成浏览器可以理解的东西,所以浏览器会抛出一个错误:

未捕获的不变违规:RelayQL:运行时意外调用。要么未设置 Babel 转换,要么未能识别此调用站点。确保它被逐字用作 Relay.QL.

我的 TypeScript 源代码:

...这被 TSC 编译成这样的东西:

... 而不是这样的(因为 Babel Relay 插件无法正常工作):

这是因为 Babel Relay 插件无法识别转换后的版本,因此它不会将查询转换为浏览器可以理解的内容。

如何使这项工作?

0 投票
3 回答
28122 浏览

typescript - 静音/忽略来自 TypeScript tsc 的 TS2307 错误

tsc有没有办法从 TypeScript编译器中消除 TS2307 错误?

由于我们的代码库中有许多TS2307 错误,因此很难发现真正的/新的错误和警告。

更新

当外部模块在import其类型定义.d.ts不存在的情况下被编辑时,会发生此错误。

我知道,tsd但对于我们使用的许多库,不存在类型定义。

0 投票
0 回答
1588 浏览

typescript - 让 typescript 编译器和 live-server 一起玩得很好?

我正在使用 Angular2 和 typescript,但我在开发过程中遇到了挫折。

tsc -w用来监视文件更改并立即编译。这可能需要 2 或 3 秒才能完成,因为它会编译所有引用已更改文件的文件。

我正在使用live-server . --ignorePattern=.*\.ts这样实时服务器可以监视非 ts 文件更改并更新浏览器以反映更改。tsc理想情况下,它应该在编译完成后强制浏览器更新。

最终发生的事情是,tsc它将立即在更改时构建一个 .ts 文件并发出它的 .js 和 .js.map 文件。这将触发live-server更新。然后tsc将重新编译所有import更改了 .ts 文件的文件并发出它们的所有 .js 和 .js.map 文件。这需要将近 2 秒的时间。之后live-server再次刷新浏览器。

如果我将我的live-server行更改为live-server . --wait=3000 --ignore-pattern=.*\.tsthen 它在 js 文件的第二次发射后等待 3 秒,这意味着它等待整整 5 秒(2 秒编译引用更改文件的文件 + 3 额外等待)如果如果背靠背进行了一系列小的更改。它会一直编译回我的boot.js文件。

是否有任何tsc选项/标志我可以用来只发出一次编译文件?我不想只发出一个 .js 文件,但我愿意接受其他解决方案。

0 投票
0 回答
85 浏览

typescript - 如何从 typescript jspm 项目创建类型化文件(d.ts)?

我用 TypeScript 编写 jspm 项目。它运行良好,生活愉快。

现在我想为我的模块创建一个d.ts文件。

tsc -d我的tsconfig.json不起作用,因为tsc无法从jspm.

jspm并且ts( plugin-typescript) 也没有该选项。

我应该怎么办?