问题标签 [typescript1.8]

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 投票
1 回答
1026 浏览

javascript - Typescript 1.8 - JS 文件中的 ES2015 导入

我想在现有的 Babel 项目上开始使用 Typescript。我的目标是能够将打字稿添加到构建过程中,而对现有代码的修改尽可能少。出于这个原因,我决定链接 typescript(针对 ES2015)和 Babel。有了 ts1.8 的 js 文件支持,我想我终于可以保持一切原样,然后一个一个地转换文件。但这是我遇到的第一个问题:
error TS8003: 'export=' can only be used in a .ts file.

Typescript 不允许 es2015 导出语法:
export default 'foo';.
我们使用 es2015 语法进行导入/导出,我不想为旧的 commonJS 符号更改它。有没有办法让打字稿允许它?

这是一个演示该问题的最小示例:

你好.js

tsconfig.json

命令行(使用 typescript 1.8)

tsc --outDir ../out

结果

hello.js(1,1): error TS8003: 'export=' can only be used in a .ts file.

0 投票
1 回答
462 浏览

typescript - Visual Studio Code“除非提供'--module'标志,否则无法编译模块”错误

我正在使用 Visual Studio Code 0.10.6 编译一个 TypeScript 1.8 (beta) 项目。编辑器显示“除非提供 '--module' 标志,否则无法编译模块”错误:

除非提供了“--module”标志,否则无法编译模块

但是,我对module我的财产有价值tsconfig.json

该项目编译没有错误(我正在使用gulp-typescript编译我的 TypeScript 文件),并且我已经多次重新启动编辑器。

为什么 Visual Studio Code 显示此错误,即使我的代码编译时没有错误?

0 投票
1 回答
230 浏览

typescript - Visual Studio 1.8 更新后停止发布 ts 编译的 js 文件

我有一个 VS 2015 TS 项目。它一直在正常发布,这意味着 typescript 文件包含在项目中,但不包含 *.js 文件,但 js 文件已按预期发布。

但是,更新到 1.8 beta 后,*.js 文件不再发布。

毫无意义,我什至不确定更新是否是问题所在,但我没有其他解释。该项目没有进行其他更改。我昨天更新了,实际上在 *.js 停止发布之前做了几次成功的发布。

其他 js 文件被发布,但不是那些从 ts 编译的文件。

如果我在项目中包含已编译的 js(以及源代码控制),那么它会正确发布。

我只是想确保我没有在这里搞砸什么。

0 投票
1 回答
882 浏览

typescript - 编译TS失败,因为它无法删除源代码管理中的js文件

这是对这个问题的跟进。

我已将所有生成的文件添加到 Vs 项目中,并且发布成功。但是,当我构建项目时,我收到 38 个错误,告诉我 VS “无法删除 *.js,因为访问路径被拒绝”。换句话说,源代码控制对所有这些文件都设置了只读锁定,并且无法自动解锁它们。

除了手动检查每个已编译的 javascript 文件以便编译器可以正常工作之外,我没有看到任何解决方法。

0 投票
0 回答
34 浏览

typescript - 使用输出路径获取测试项目以导入源

Typescript 最佳实践在 1.x 中快速变化,我不再确定什么是实现我想要的好方法:

  • 我的来源位于src/并用于outDir输出到built/.
  • 我的测试位于,test/我正在考虑将它们输出到built/or 或built/tests/.

我的测试着眼于test/**/*.ts, src/**/*.ts, typings/**/*.d.ts。为了让它正确导入我的资源,我必须这样做:

当然,在 nodejs 中运行输出文件现在会失败,因为在输出中,sourcefile.js与我的测试位于同一(或父)目录中。

有没有一种好方法可以让单独的 TypeScript 文件夹认为它们彼此位于同一目录中?我应该使用 a--declaration作为中间步骤吗?如果是这样,放在哪里。

0 投票
1 回答
1004 浏览

typescript - 类型定义文件中的 Typescript 编译错误

我尝试将现有的 ES6 代码库迁移到 TypeScript 1.8。为了平滑路径,我尝试应用以下 typescript 编译器设置:

编译后,tsc我在类型定义文件中有大量编译错误。

例子:

类型定义由 维护typings

希望有人能给我提示我的环境有什么问题。

0 投票
1 回答
425 浏览

visual-studio - Visual Studio 定位 systemjs 打字稿定义,但无法在编译时定位它们

我在 Visual Studio 中有一个 TypeScript 项目,通过 systemjs 安装了模块。我有以下代码:

应用程序.ts

例如,悬停 Aurelia 并按 F12(转到定义)会打开aurelia-framework.d.tssystemjs 安装的正确文件。但是,当我单击构建时,我得到以下输出:

这是我的 tsconfig 供参考。

tsconfig.json

0 投票
1 回答
252 浏览

angularjs - 使用 SystemJS 加载组合的模块化打字稿文件

我一直在关注基本的Angular2 实现。使用 TypeScript v1.8 应该可以使用带有 outfile 的系统模块,这样我们就可以生成一个组合文件而不是多个 javascript 文件。我在 SystemJS 尝试加载组合文件时遇到问题,因为我不知道它需要什么参数(我尝试了各种组合......)但我没有收到任何控制台错误并且 AngularJS 没有初始化。

这是转译的输出文件

这是我的 tsconfig

这是html代码

0 投票
2 回答
9000 浏览

typescript - TypeScript constructor

i tried to create a class with two constructors and find out that TypeScript are not allowing that, but it allow overloading of constructor, well I tried it to and get an error :

Build: Overload signature is not compatible with function implementation.

My code:

I have two question, first one, why can't I overloading the constructor, I guess I'm doing something wrong.

But my second question, and more interacting is, i know i constructor that get optional values. Can I, (not with the code inside the method!), create a condition on my constructor that can verify that one of the two given value have to exist, while in the signature boot are optional, like so:

Thanks.

0 投票
1 回答
774 浏览

typescript - 中型大型打字稿项目:构建性能问题

在过去的 6 个月里,我一直在使用 typescript,我发现我的代码每天都在增长,而且构建时间也越来越长。

实际上构建整个项目需要将近 20 秒,但时间还在增长。

我需要找到一个解决方案来拆分项目并缩短构建时间。我使用 gulp 创建了一个自定义构建过程,我使用“--outfile 和--declaration --module system”从其他项目中引用该项目(在 typescript 1.8 中支持),但似乎将这些选项一起使用会使编译器非常非常慢。

此外,依赖链中的最后一个项目并没有变得更快,即使它要编译的文件要少得多

关于性能,打字稿在哪里遭受的损失更大?性能损失主要是由使用 *.d.ts 引起的吗?

无论如何,最后的问题是: 提高中/大型项目编译性能的最佳实践是什么?