Visual Studio 2015 CTP 6 - 将 Typescript 输出合并到单个 .js 文件中
Visual Studio 2015 CTP 6 - Combining Typescript output into single .js file
TypeScript 编译器支持使用以下方法将所有输出发送到单个文件:
tsc --out filename.js
在 Visual Studio 2013 中,您可以将这些选项发送到项目属性/TypeScript 构建/输出/合并 JavaScript 输出到文件中的编译器:。
新的 'K' 项目属性似乎没有此选项。是否可以更改 .kproj 文件来执行此操作?
我想避免为此使用 Grunt。
感谢您的帮助!
一开始我对使用 G运行t 有点犹豫,当你习惯 Visual Studio 为你做所有事情时,这似乎是一种倒退。虽然我猜他们不得不放弃对所有东西使用 Visual Studio 因为 ASP.NET 5 将是跨平台的并且不依赖于 Visual Studio.
如果您设置了 G运行t 或 Gulp 任务,您仍然会在错误列表中看到错误。它刚刚来自 Visual Studio.
我用的是grunt-typescript to compile and output the JavaScript to one file. I also had to install typescript本身。通过 packages.json 文件安装它们后,您必须将类似的内容添加到 gruntfile.js
typescript: {
base: {
src: ['path/to/typescript/files/**/*.ts'],
dest: 'where/you/want/your/js/file.js',
options: {
module: 'amd', //or commonjs
}
}
}
和
grunt.loadNpmTasks("grunt-typescript");
我最终将 src 指向我的 TypeScript 参考文件。
然后您可以通过 Visual Studio Task Runner Explorer 在 post 构建中将其获取到 运行。虽然更好的是在所有 TypeScript 文件上设置一个 watch 任务以开始构建,它内置于 g运行t-typescript 但我使用 grunt-contrib-watch 来完成它,因为我也在看Sass 个文件...等等。我使用了 watch 任务,因为您不再需要使用 ASP.NET 5.
手动构建项目
另外如果没试过TSD,看看能找到并下载定义文件真是太好了。使用它比使用 NuGet 获得它们感觉更好,就像对于 JavaScript 库来说,bower 似乎比 NuGet 更好。
我找到了一种不使用 Grunt 或 Gulp 的方法。在您的 Web 应用程序的属性中,在构建选项卡下,您必须 select "Produce outputs on build"。这似乎允许您将项目添加到 project.json 文件中的脚本。然后我添加了
"prebuild": "tsc /typescript/reference/file.ts --out /output.js"
虽然这样做我认为构建过程会变慢,因为它正在创建 NuGet 包。
我还通过卸载项目并编辑 .kproj 使其工作
<PropertyGroup>
<TypeScriptCompileOnSaveEnabled>True</TypeScriptCompileOnSaveEnabled>
<TypeScriptOutFile>output.js</TypeScriptOutFile>
</PropertyGroup>
添加后保存时编译输出到一个文件。虽然我确信这两种方法都不是推荐的方法,而且后一种方法将来可能甚至行不通...
TypeScript 编译器支持使用以下方法将所有输出发送到单个文件: tsc --out filename.js
在 Visual Studio 2013 中,您可以将这些选项发送到项目属性/TypeScript 构建/输出/合并 JavaScript 输出到文件中的编译器:。
新的 'K' 项目属性似乎没有此选项。是否可以更改 .kproj 文件来执行此操作?
我想避免为此使用 Grunt。
感谢您的帮助!
一开始我对使用 G运行t 有点犹豫,当你习惯 Visual Studio 为你做所有事情时,这似乎是一种倒退。虽然我猜他们不得不放弃对所有东西使用 Visual Studio 因为 ASP.NET 5 将是跨平台的并且不依赖于 Visual Studio.
如果您设置了 G运行t 或 Gulp 任务,您仍然会在错误列表中看到错误。它刚刚来自 Visual Studio.
我用的是grunt-typescript to compile and output the JavaScript to one file. I also had to install typescript本身。通过 packages.json 文件安装它们后,您必须将类似的内容添加到 gruntfile.js
typescript: {
base: {
src: ['path/to/typescript/files/**/*.ts'],
dest: 'where/you/want/your/js/file.js',
options: {
module: 'amd', //or commonjs
}
}
}
和
grunt.loadNpmTasks("grunt-typescript");
我最终将 src 指向我的 TypeScript 参考文件。
然后您可以通过 Visual Studio Task Runner Explorer 在 post 构建中将其获取到 运行。虽然更好的是在所有 TypeScript 文件上设置一个 watch 任务以开始构建,它内置于 g运行t-typescript 但我使用 grunt-contrib-watch 来完成它,因为我也在看Sass 个文件...等等。我使用了 watch 任务,因为您不再需要使用 ASP.NET 5.
手动构建项目另外如果没试过TSD,看看能找到并下载定义文件真是太好了。使用它比使用 NuGet 获得它们感觉更好,就像对于 JavaScript 库来说,bower 似乎比 NuGet 更好。
我找到了一种不使用 Grunt 或 Gulp 的方法。在您的 Web 应用程序的属性中,在构建选项卡下,您必须 select "Produce outputs on build"。这似乎允许您将项目添加到 project.json 文件中的脚本。然后我添加了
"prebuild": "tsc /typescript/reference/file.ts --out /output.js"
虽然这样做我认为构建过程会变慢,因为它正在创建 NuGet 包。
我还通过卸载项目并编辑 .kproj 使其工作
<PropertyGroup>
<TypeScriptCompileOnSaveEnabled>True</TypeScriptCompileOnSaveEnabled>
<TypeScriptOutFile>output.js</TypeScriptOutFile>
</PropertyGroup>
添加后保存时编译输出到一个文件。虽然我确信这两种方法都不是推荐的方法,而且后一种方法将来可能甚至行不通...