首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ts构建有时无法正确构建ts模块

ts构建有时无法正确构建ts模块
EN

Stack Overflow用户
提问于 2016-05-03 17:52:24
回答 1查看 106关注 0票数 0

我有一个项目,里面有一些打字稿。有时,typescript不能正确构建;它使用错误的模块系统,将导出的成员分配给某个导出对象,而不是使用require.js的define

为了让它重新构建,我摇动项目设置的TS build选项卡,然后正确的构建就出来了。

是什么导致了这种情况?我的猜测是csproj文件控制构建,尽管我不知道具体是如何控制的。

我的csproj中与typescript相关的条目包括

代码语言:javascript
复制
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.Default.props" Condition="Exists('$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.Default.props')" />

  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'">
    <TypeScriptTarget>ES5</TypeScriptTarget>
    <TypeScriptJSXEmit>None</TypeScriptJSXEmit>
    <TypeScriptCompileOnSaveEnabled>True</TypeScriptCompileOnSaveEnabled>
    <TypeScriptNoImplicitAny>True</TypeScriptNoImplicitAny>
    <TypeScriptModuleKind>AMD</TypeScriptModuleKind>
    <TypeScriptRemoveComments>False</TypeScriptRemoveComments>
    <TypeScriptOutFile />
    <TypeScriptOutDir />
    <TypeScriptGeneratesDeclarations>False</TypeScriptGeneratesDeclarations>
    <TypeScriptNoEmitOnError>True</TypeScriptNoEmitOnError>
    <TypeScriptSourceMap>True</TypeScriptSourceMap>
    <TypeScriptMapRoot />
    <TypeScriptSourceRoot />
  </PropertyGroup>
  <Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.targets" Condition="Exists('$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.targets')" />

除了单击设置选项卡中的按钮和复选框之外,我如何才能以其他方式控制ts构建,以及我应该具体更改什么才能使我的构建始终生成AMD样式的模块?

EN

回答 1

Stack Overflow用户

发布于 2016-05-03 18:40:31

也许您正在将构建配置更改为发布模式,而不是为其设置的调试模式?或者你有一些其他的工具试图编译你的TypeScript,而不是遵循Visual Studio的项目文件约定,而是默认使用标准设置?

我很想尝试将您的配置移至tsconfig.json文件中,并将其从您的Visual Studio项目设置中删除。这应该使它非常明确(对于.json,无论您的构建设置如何,它总是被设置的,并且总是可以被任何编译TS的工具理解),并且作为一个很好的副作用,它也使它独立于Visual Studio。

https://www.typescriptlang.org/docs/handbook/tsconfig.json.html有一个关于这种格式的指南。我预计这可能只是将上面的现有设置直接转录成JSON的问题。

要获得您正在寻找的特定AMD模块行为,只需确保在JSON的compilerOptions对象中包含'module': 'amd'即可。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37000950

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档