TypeScript 是一种由微软开发的自由和开放源代码的编程语言,它是 JavaScript 的一个超集,而且本质上向这个语言添加了可选的静态类型和基于类的面向对象编程。TypeScript 可以在所有浏览器、操作系统、设备上运行,并且可以与任何 web 框架或库一起使用。
TypeScript 作为一个 web 框架,它具有很多优势。首先,它可以帮助开发者快速创建大型应用,因为它具有强大的工具来帮助开发者快速创建应用。此外,TypeScript 还能够帮助开发者避免出错,因为它能够在代码中检测出错误并提供相应的修正方法。此外,TypeScript 还能够帮助开发者创建更好的代码,因为它能够使代码更易于理解、重用、测试和保护。
// 使用 TypeScript 创建 Web 应用 import { createApp } from '@type/app'; const app = createApp(); app.listen(3000);
npm install tsify
browserify main.ts -p [ tsify --noImplicitAny ] > bundle.js
var browserify = require("browserify");
var tsify = require("tsify");
browserify()
.add("main.ts")
.plugin("tsify", { noImplicitAny: true })
.bundle()
.pipe(process.stdout);
更多详细信息:smrq/tsify
npm install duo-typescript
duo --use duo-typescript entry.ts
var 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-typescript
npm install grunt-ts
module.exports = function(grunt) {
grunt.initConfig({
ts: {
default : {
src: ["***.ts"]
}
}
});
grunt.loadNpmTasks("grunt-ts");
grunt.registerTask("default", ["ts"]);
};
更多详细信息:TypeStrong/grunt-ts
npm install gulp-typescript
var 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-typescript
npm install -g jspm@beta
注意:目前jspm的0.16beta版本支持TypeScript
更多详细信息:TypeScriptSamples/jspm
npm install ts-loader --save-dev
module.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的详细信息
或者
更新工程文件,包含本地安装的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">
<!-- Include default props at the bottom -->
<Import
Project="$(MSBuildExtensionsPath32)MicrosoftVisualStudiov$(VisualStudioVersion)TypeScriptMicrosoft.TypeScript.Default.props"
Condition="Exists("$(MSBuildExtensionsPath32)MicrosoftVisualStudiov$(VisualStudioVersion)TypeScriptMicrosoft.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)MicrosoftVisualStudiov$(VisualStudioVersion)TypeScriptMicrosoft.TypeScript.targets"
Condition="Exists("$(MSBuildExtensionsPath32)MicrosoftVisualStudiov$(VisualStudioVersion)TypeScriptMicrosoft.TypeScript.targets")" />
</Project>
关于配置MSBuild编译器选项的更多详细信息,请参考:[在MSBuild里使用编译选项](./Compiler Options in MSBuild.md)
Microsoft.TypeScript.MSBuild
Install
更多详细信息请参考Package Manager Dialog和using nightly builds with NuGet
概述一般来讲,你组织声明文件的方式取决于库是如何被使用的。 在JavaScript里提供了很多库的使用方法,这就需要你书写声明文件...
1. Set基本用法ES6 提供了新的数据结构Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。Set 本身是一个构造函数,用...
转义字符()对JavaScript中JSON.parse的影响按照ECMA262第五版中的解释,JSON是一个提供了stringify和parse方法的内置对象,前者...
Input Number type 属性 Input Number 对象实例返回 number 字段的表单元素类型:var x = document.getElementById("myNumber").t...
HTML DOM - 元素 本节您将要学习的是如何添加、删除和替换 HTML 元素。创建新的 HTML 元素 - appendChild() 如果您需要向 HTML D...