在Visual Studio 2015 CTP6 + TypeScript 1.4中使用外部模块

jgo*_*jgo 7 typescript visual-studio-2015

我正在试图弄清楚如何导入模块.当我在.ts文件的顶部写一个语句,例如:

import a = require("a");
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

除非提供了"--module"标志,否则无法编译外部模块.

在以前版本的Visual Studio中,有一个区域具有Project的属性,允许您控制某些TypeScript配置.这位于Visual Studio 2015中的哪个位置?

有谁知道如何启用导入外部模块?

jgo*_*jgo 5

以下是为每个项目配置typescript的步骤:

  1. 卸载您的项目.如果您的项目基于MVC 6模板,您会发现MSBuild配置非常少.

  2. 导航至: C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\TypeScript*

    *这假设您在默认位置安装了VS.

  3. 找到该Microsoft.TypeScript.Default.props文件并将其打开.不需要提升特权,我们只会从中读取.

    它应该看起来像:

    <?xml version="1.0" encoding="utf-8" ?>
    <Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
      <PropertyGroup>
        <TypeScriptTarget>ES5</TypeScriptTarget>
        <TypeScriptCompileOnSaveEnabled>true</TypeScriptCompileOnSaveEnabled>
        <TypeScriptNoImplicitAny>false</TypeScriptNoImplicitAny>
        <TypeScriptModuleKind>none</TypeScriptModuleKind>
        <TypeScriptRemoveComments>false</TypeScriptRemoveComments>
        <TypeScriptOutFile></TypeScriptOutFile>
        <TypeScriptOutDir></TypeScriptOutDir>
        <TypeScriptGeneratesDeclarations>false</TypeScriptGeneratesDeclarations>
        <TypeScriptSourceMap>true</TypeScriptSourceMap>
        <TypeScriptMapRoot></TypeScriptMapRoot>
        <TypeScriptSourceRoot></TypeScriptSourceRoot>
        <TypeScriptNoEmitOnError>true</TypeScriptNoEmitOnError>
      </PropertyGroup>
    </Project>
    
    Run Code Online (Sandbox Code Playgroud)
  4. 复制整个PropertyGroup元素,并将其粘贴到.kproj文件中的某个位置; 它需要在Project元素下.

  5. TypeScriptModuleKindfrom从修改为模块定义.选项是AMDCommonJS.

  6. 保存.kproj文件,然后重新加载项目.

您不应再遇到包含模块的编译时错误.