我有一个关于TypeScript的测试项目,代码可以找到here。
当我使用VS2012创建新项目时,会创建一个app.ts文件。当我按照链接所示更改它的内容并添加名为GameModule的新模块时,我得到了编译错误。当我删除app.ts并创建Main.ts时,一切编译正常,但有一个问题-只有Main.ts被编译成Main.js,而GameModule.ts保持未编译。
如何让编译器将所有代码合并到一个JS中?
发布于 2012-10-18 15:19:14
您必须使用编译器的命令行参数
--outFile FILE连接并将输出发送到单个文件
示例
tsc --outFile modules.js main.ts app.ts发布于 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。找到两行代码,如下所示:
<PropertyGroup Condition="'$(Configuration)' == 'Debug'">和
<PropertyGroup Condition="'$(Configuration)' == 'Release'">在子节点的两个树中,为每个父节点添加一个新的子节点:
<TypeScriptOutFile>$(ProjectDir)dist\js\myCombinedFile.js</TypeScriptOutFile>当您回到Visual Studio时,他会询问您是否重新加载项目。当然,这是为了使更改生效而必须做的事情!
我刚才描述的手动过程就是GUI过程为您做的事情。我对手动过程的想法源于this source。
最后
像平常一样构建你的项目。如果它不工作,尝试重新加载您的项目。
发布于 2012-10-18 13:54:16
为此,您不需要任何第三方工具或库。
你可以使用微软的System.Web.Optimization
BundleTable.Bundles.Add(new ScriptBundle("~/scripts/bundle.js").IncludeDirectory("~/scripts/", "*.js", true));所有*.js文件(编译*.ts文件的结果)都将合并在一起,并可在运行时从以下位置访问:
http:// .../scripts/bundle.js
https://stackoverflow.com/questions/12926830
复制相似问题