【问题标题】:Using external modules in Visual Studio 2015 CTP6 + TypeScript 1.4在 Visual Studio 2015 CTP6 + TypeScript 1.4 中使用外部模块
【发布时间】:2015-09-27 00:29:53
【问题描述】:

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

import a = require("a");

我收到以下错误:

除非提供 '--module' 标志,否则无法编译外部模块。

在以前版本的 Visual Studio 中,有一个带有项目属性的区域,可让您控制某些 TypeScript 配置。它在 Visual Studio 2015 中的什么位置?

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

【问题讨论】:

    标签: typescript visual-studio-2015


    【解决方案1】:

    以下是为每个项目配置 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>
      
    4. 复制整个PropertyGroup 元素,并将其粘贴到.kproj 文件中的某个位置;它需要位于 Project 元素下。

    5. TypeScriptModuleKind 从无修改为您的模块定义。选项为AMDCommonJS

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

    您不应再收到有关包含模块的编译时错误。

    【讨论】:

    • 唷,这是一个棘手的发现,干得好。我希望他们会在以后的版本中使这个更加用户友好。
    • 我编辑了您的答案以添加(大量)格式和一些额外信息,因为我没有使用 AMD,但也遇到了这个错误。请确保我没有改变你的意图。
    • 我添加了这个,但后来我无法使用 TypeScript 1.5 Beta 进行编译,说明找不到对“../Scripts/file.js”的引用。
    • 谢谢,以及启用 amd 这也修复了 vs 2015 RC 在保存时不生成源地图的问题。
    猜你喜欢
    • 2015-07-04
    • 1970-01-01
    • 1970-01-01
    • 2015-08-15
    • 2016-08-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-07
    相关资源
    最近更新 更多