【问题标题】:VS2015 Typescript compiler not using the proper configVS2015 Typescript 编译器未使用正确的配置
【发布时间】:2015-11-25 20:48:24
【问题描述】:

我有这个 Typescript 项目,必须编译为 AMD 和 ES3。当我修改文件并保存时,保存时编译工作得很好。但是,当我构建我的解决方案时,它会将所有内容重新编译为commonjs(实际上没有提供--module flag,所以我只是假设这是选择的)和ES5。

我已经检查了.csproj 的正确配置

<TypeScriptModuleKind>AMD</TypeScriptModuleKind>

我在根目录和.ts 文件位置添加了tsconfig.json,但没有成功。

我错过了什么?为什么它在保存时使用正确的配置进行编译,但在我构建项目时却没有?此外,我随机得到“构建:除非提供 --module 标志,否则无法编译模块。”错误。

【问题讨论】:

标签: visual-studio typescript visual-studio-2015 typescript1.5


【解决方案1】:

或者你可以选择直接从命令行使用 tsc 编译(可以使用npm install -g typescript 安装),只要你有一个有效的tsconfig.json 文件指定模块系统和目标ES版本。

【讨论】:

  • 是的,从命令行编译可以。我看到一个帖子将所有 *.ts 文件放在一个文本文件中,然后将该文件输入到编译器。虽然,当我调试解决方案时,它会构建项目并覆盖所有已编译的文件。 (stackoverflow.com/a/16433677/981308)
  • 我认为您不需要合并所有 .ts 文件。如果您未在 tsconfig.json 中指定 files 数组,它将隐式包含同一路径中的每个 .ts 文件。如果您指定,它将仅包含您告诉它包含的文件。详情请见:github.com/Microsoft/TypeScript/wiki/tsconfig.json
  • 哦,谢谢,我错过了关于不指定文件数组的部分。我的印象是 tsconfig.json 没有被使用,因为它没有按照我在其中指定的配置进行编译(模块 amd)
【解决方案2】:

我发现存在一个问题(在 tsc 1.6 中已解决)并且必须修改 .csproj。必须更改 PropertyGroup 的条件以指定一个没有平台的情况。

https://github.com/Microsoft/TypeScript/issues/4300

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-02
    • 1970-01-01
    • 2017-07-05
    • 1970-01-01
    相关资源
    最近更新 更多