TypeScript 构建工具整合

TypeScript 构建工具整合

与其它构建工具整合Browserify安装npm install tsify

使用命令行交互browserify main.ts -p [ tsify --noImplicitAny ] > bundle.js

使用APIvar browserify = require("browserify");

var tsify = require("tsify");

browserify()

.add('main.ts')

.plugin('tsify', { noImplicitAny: true })

.bundle()

.pipe(process.stdout);

更多详细信息:smrq/tsifyDuo安装npm install duo-typescript

使用命令行交互duo --use duo-typescript entry.ts

使用APIvar Duo = require('duo');

var fs = require('fs')

var path = require('path')

var typescript = require('duo-typescript');

var out = path.join(__dirname, "output.js")

Duo(__dirname)

.entry('entry.ts')

.use(typescript())

.run(function (err, results) {

if (err) throw err;

// Write compiled result to output file

fs.writeFileSync(out, results.code);

});

更多详细信息:frankwallis/duo-typescriptGrunt安装npm install grunt-ts

基本Gruntfile.jsmodule.exports = function(grunt) {

grunt.initConfig({

ts: {

default : {

src: ["*/.ts", "!node_modules/*/.ts"]

}

}

});

grunt.loadNpmTasks("grunt-ts");

grunt.registerTask("default", ["ts"]);

};

更多详细信息:TypeStrong/grunt-tsgulp安装npm install gulp-typescript

基本gulpfile.jsvar gulp = require("gulp");

var ts = require("gulp-typescript");

gulp.task("default", function () {

var tsResult = gulp.src("src/*.ts")

.pipe(ts({

noImplicitAny: true,

out: "output.js"

}));

return tsResult.js.pipe(gulp.dest('built/local'));

});

更多详细信息:ivogabe/gulp-typescriptjspm安装npm install -g jspm@beta

注意:目前jspm的0.16beta版本支持TypeScript更多详细信息:TypeScriptSamples/jspmwebpack安装npm install ts-loader --save-dev

基本webpack.config.jsmodule.exports = {

entry: "./src/index.tsx",

output: {

filename: "bundle.js"

},

resolve: {

// Add '.ts' and '.tsx' as a resolvable extension.

extensions: ["", ".webpack.js", ".web.js", ".ts", ".tsx", ".js"]

},

module: {

loaders: [

// all files with a '.ts' or '.tsx' extension will be handled by 'ts-loader'

{ test: /.tsx?$/, loader: "ts-loader" }

]

}

};

查看更多关于ts-loader的详细信息或者awesome-typescript-loaderMSBuild更新工程文件,包含本地安装的Microsoft.TypeScript.Default.props(在顶端)和Microsoft.TypeScript.targets(在底部)文件:<?xml version="1.0" encoding="utf-8"?>

<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"&gt;

<!-- Include default props at the bottom -->

<Import

Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.Default.props"

Condition="Exists('$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.Default.props')" />

<!-- TypeScript configurations go here -->

<PropertyGroup Condition="'$(Configuration)' == 'Debug'">

<TypeScriptRemoveComments>false</TypeScriptRemoveComments>

<TypeScriptSourceMap>true</TypeScriptSourceMap>

</PropertyGroup>

<PropertyGroup Condition="'$(Configuration)' == 'Release'">

<TypeScriptRemoveComments>true</TypeScriptRemoveComments>

<TypeScriptSourceMap>false</TypeScriptSourceMap>

</PropertyGroup>

<!-- Include default targets at the bottom -->

<Import

Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.targets"

Condition="Exists('$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.targets')" />

</Project>

关于配置MSBuild编译器选项的更多详细信息,请参考:[在MSBuild里使用编译选项](./Compiler Options in MSBuild.md)NuGet右键点击 -> Manage NuGet Packages查找Microsoft.TypeScript.MSBuild点击Install安装完成后,Rebuild。更多详细信息请参考Package Manager Dialog和using nightly builds with NuGet