diff --git a/template/build/webpack.base.conf.js b/template/build/webpack.base.conf.js index 0f161198d4..c319cf9cd8 100644 --- a/template/build/webpack.base.conf.js +++ b/template/build/webpack.base.conf.js @@ -9,7 +9,7 @@ function resolve (dir) { module.exports = { entry: { - app: './src/main.js' + app: './src/main.ts' }, output: { path: config.build.assetsRoot, @@ -19,7 +19,7 @@ module.exports = { : config.dev.assetsPublicPath }, resolve: { - extensions: ['.js', '.vue', '.json'], + extensions: ['.js', '.vue', '.json', '.ts'], alias: { {{#if_eq build "standalone"}} 'vue$': 'vue/dist/vue.esm.js', @@ -45,6 +45,14 @@ module.exports = { loader: 'vue-loader', options: vueLoaderConfig }, + { + test: /\.ts$/, + loader: 'ts-loader', + include: [resolve('src'), resolve('test')], + options: { + appendTsSuffixTo: [/\.vue$/] + } + }, { test: /\.js$/, loader: 'babel-loader', diff --git a/template/package.json b/template/package.json index 5c420a2a93..bc7d595b78 100644 --- a/template/package.json +++ b/template/package.json @@ -90,6 +90,9 @@ "vue-loader": "^11.1.4", "vue-style-loader": "^2.0.0", "vue-template-compiler": "^2.2.4", + "vue-class-component": "^5.0.0", + "ts-loader": "^2.0.3", + "typescript": "^2.2.1", "webpack": "^2.2.1", "webpack-dev-middleware": "^1.10.0", "webpack-hot-middleware": "^2.16.1", diff --git a/template/src/App.vue b/template/src/App.vue index 74a25d1dfa..6f93704985 100644 --- a/template/src/App.vue +++ b/template/src/App.vue @@ -9,7 +9,7 @@ -