diff --git a/codes/example-17/entry.ts b/codes/example-17/entry.ts new file mode 100644 index 0000000..37f3f4f --- /dev/null +++ b/codes/example-17/entry.ts @@ -0,0 +1,9 @@ +class Message { + constructor(public msg: string) { } + sayHello() { + return "

" + this.msg + "

"; + } +}; + +var greeter = new Message("Hello World!"); +document.body.innerHTML = greeter.sayHello(); diff --git a/codes/example-17/index.html b/codes/example-17/index.html new file mode 100644 index 0000000..a5851ef --- /dev/null +++ b/codes/example-17/index.html @@ -0,0 +1,11 @@ + + + + + Eg17: TypeScript + + + + + + diff --git a/codes/example-17/webpack.config.js b/codes/example-17/webpack.config.js new file mode 100644 index 0000000..92f1bc9 --- /dev/null +++ b/codes/example-17/webpack.config.js @@ -0,0 +1,15 @@ +module.exports = { + entry: './entry.ts', + output: { + filename: 'bundle.js' + }, + resolve: { + extensions: ['', '.webpack.js', '.web.js', '.ts', '.tsx', '.js'] + }, + module: { + loaders: [{ + test: /\.ts$/, + loader: 'ts-loader' + }] + } +}; diff --git a/package.json b/package.json index 260d13a..dd46a68 100644 --- a/package.json +++ b/package.json @@ -42,6 +42,8 @@ "open": "0.0.5", "open-browser-webpack-plugin": "0.0.1", "raw-loader": "^0.5.1", - "style-loader": "^0.13.0" + "style-loader": "^0.13.0", + "ts-loader": "^0.8.1", + "typescript": "^1.8.2" } } diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..e406e81 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,9 @@ +{ + "compilerOptions": { + "target": "es5", + "sourceMap": false + }, + "exclude": [ + "node_modules" + ] +}