首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将TypeScript编译为单个JS文件

将TypeScript编译为单个JS文件
EN

Stack Overflow用户
提问于 2012-10-17 11:48:58
回答 6查看 67.4K关注 0票数 54

我有一个关于TypeScript的测试项目,代码可以找到here

当我使用VS2012创建新项目时,会创建一个app.ts文件。当我按照链接所示更改它的内容并添加名为GameModule的新模块时,我得到了编译错误。当我删除app.ts并创建Main.ts时,一切编译正常,但有一个问题-只有Main.ts被编译成Main.js,而GameModule.ts保持未编译。

如何让编译器将所有代码合并到一个JS中?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2012-10-18 15:19:14

您必须使用编译器的命令行参数

--outFile FILE连接并将输出发送到单个文件

示例

代码语言:javascript
复制
 tsc --outFile modules.js main.ts app.ts
票数 45
EN

Stack Overflow用户

发布于 2014-01-06 21:42:39

使用GUI

如果已安装Visual Studio2013和TypeScript扩展,请在解决方案资源管理器中右键单击项目,然后选择Properties。单击TypeScript Build选项卡。选择Combine JavaScript output into file:,然后在选项右侧的输入字段中键入要用于组合文件的名称。请记住,您可以在此字段中使用变量。例如:"$(ProjectDir)dist\js\myCombinedFile.js“。

手动

如果在任何地方都找不到此GUI选项,请手动修改项目配置文件。转到项目文件夹;在解决方案资源管理器中右键单击该项目,然后单击Open folder in File Explorer。在弹出的文件夹中,您将看到几个文件。使用您选择的任何文本编辑器编辑文件myProject.csproj。找到两行代码,如下所示:

代码语言:javascript
复制
<PropertyGroup Condition="'$(Configuration)' == 'Debug'">

代码语言:javascript
复制
<PropertyGroup Condition="'$(Configuration)' == 'Release'">

在子节点的两个树中,为每个父节点添加一个新的子节点:

代码语言:javascript
复制
<TypeScriptOutFile>$(ProjectDir)dist\js\myCombinedFile.js</TypeScriptOutFile>

当您回到Visual Studio时,他会询问您是否重新加载项目。当然,这是为了使更改生效而必须做的事情!

我刚才描述的手动过程就是GUI过程为您做的事情。我对手动过程的想法源于this source

最后

像平常一样构建你的项目。如果它不工作,尝试重新加载您的项目。

票数 46
EN

Stack Overflow用户

发布于 2012-10-18 13:54:16

为此,您不需要任何第三方工具或库。

你可以使用微软的System.Web.Optimization

代码语言:javascript
复制
BundleTable.Bundles.Add(new ScriptBundle("~/scripts/bundle.js").IncludeDirectory("~/scripts/", "*.js", true));

所有*.js文件(编译*.ts文件的结果)都将合并在一起,并可在运行时从以下位置访问:

http:// .../scripts/bundle.js

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

https://stackoverflow.com/questions/12926830

复制
相关文章

相似问题

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