TypeScript
SystemJSでのTypeScript
サーチ…
SystemJSのブラウザでのHello World
systemjsとplugin-typescriptをインストールする
npm install systemjs
npm install plugin-typescript
注:これはまだリリースされていないtypescript 2.0.0コンパイラをインストールします。
TypeScript 1.8では、plugin-typescript 4.0.16を使用する必要があります
hello.ts
ファイルを作成する
export function greeter(person: String) {
return 'Hello, ' + person;
}
hello.html
ファイルを作成する
<!doctype html>
<html>
<head>
<title>Hello World in TypeScript</title>
<script src="node_modules/systemjs/dist/system.src.js"></script>
<script src="config.js"></script>
<script>
window.addEventListener('load', function() {
System.import('./hello.ts').then(function(hello) {
document.body.innerHTML = hello.greeter('World');
});
});
</script>
</head>
<body>
</body>
</html>
config.js
作成 - SystemJS構成ファイル
System.config({
packages: {
"plugin-typescript": {
"main": "plugin.js"
},
"typescript": {
"main": "lib/typescript.js",
"meta": {
"lib/typescript.js": {
"exports": "ts"
}
}
}
},
map: {
"plugin-typescript": "node_modules/plugin-typescript/lib/",
/* NOTE: this is for npm 3 (node 6) */
/* for npm 2, typescript path will be */
/* node_modules/plugin-typescript/node_modules/typescript */
"typescript": "node_modules/typescript/"
},
transpiler: "plugin-typescript",
meta: {
"./hello.ts": {
format: "esm",
loader: "plugin-typescript"
}
},
typescriptOptions: {
typeCheck: 'strict'
}
});
注:タイプチェックが必要ない場合は、 loader: "plugin-typescript"
削除してくださいloader: "plugin-typescript"
およびtypescriptOptions
をconfig.js
から削除してください。また、javascriptコード、特にhtmlの例の<script>
タグのコードをチェックすることはありません。
試して
npm install live-server
./node_modules/.bin/live-server --open=hello.html
生産のためにビルドする
npm install systemjs-builder
build.js
ファイルを作成する:
var Builder = require('systemjs-builder');
var builder = new Builder();
builder.loadConfig('./config.js').then(function() {
builder.bundle('./hello.ts', './hello.js', {minify: true});
});
hello.tsからhello.jsをビルドする
node build.js
実稼働環境で使用する
最初に使用する前にhello.jsをscriptタグでロードするだけです
hello-production.html
ファイル:
<!doctype html>
<html>
<head>
<title>Hello World in TypeScript</title>
<script src="node_modules/systemjs/dist/system.src.js"></script>
<script src="config.js"></script>
<script src="hello.js"></script>
<script>
window.addEventListener('load', function() {
System.import('./hello.ts').then(function(hello) {
document.body.innerHTML = hello.greeter('World');
});
});
</script>
</head>
<body>
</body>
</html>
Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow