zhangyu пре 5 година
родитељ
комит
750e460280
3 измењених фајлова са 32 додато и 1 уклоњено
  1. 9 1
      build/webpack.base.conf.js
  2. 5 0
      package.json
  3. 18 0
      tsconfig.json

+ 9 - 1
build/webpack.base.conf.js

@@ -24,7 +24,7 @@ module.exports = {
             : config.dev.assetsPublicPath
     },
     resolve: {
-        extensions: ['.js', '.vue', '.json'],
+        extensions: ['.ts', '.js', '.vue', '.json'],
         alias: {
             'vue$': 'vue/dist/vue.esm.js',
             '@': resolve('src'),
@@ -46,6 +46,14 @@ module.exports = {
                 options: vueLoaderConfig
             },
             {
+                test: /\.tsx?$/,
+                loader: 'ts-loader',
+                exclude: /node_modules/,
+                options: {
+                  appendTsSuffixTo: [/\.vue$/],
+                }
+            },
+            {
                 test: /\.js$/,
                 loader: 'babel-loader',
                 include: [resolve('src'), resolve('test'), resolve('node_modules/webpack-dev-server/client')]

+ 5 - 0
package.json

@@ -25,6 +25,9 @@
         "vuex": "^3.1.1"
     },
     "devDependencies": {
+        "@sybotan-web/base": "^2.0.35",
+        "@sybotan-web/draw": "^2.0.38",
+        "@sybotan-web/graphy": "^2.0.45",
         "ajv": "^6.9.1",
         "autoprefixer": "^7.1.2",
         "babel-core": "^6.22.1",
@@ -57,6 +60,8 @@
         "semver": "^5.3.0",
         "shelljs": "^0.7.6",
         "swiper": "^4.0.0",
+        "ts-loader": "^6.0.4",
+        "typescript": "^3.5.3",
         "uglifyjs-webpack-plugin": "^1.1.1",
         "url-loader": "^1.1.2",
         "vue-loader": "^13.3.0",

+ 18 - 0
tsconfig.json

@@ -0,0 +1,18 @@
+{
+  "compilerOptions": {
+    //语法编译为es5语法
+    "target": "es5",
+    //模块采用import语法且不作转换,转换工作交给gulp任务中的webpack2
+    "module": "es2015",
+    //用NPM模式加载
+    "moduleResolution": "node",
+    //对于没有Export的库进行兼容
+    "allowSyntheticDefaultImports": true,
+    //开启修饰器模式
+    "experimentalDecorators": true,
+    //识别基本的系统类库
+    "lib": [ "dom", "es5", "es2015", "es2015.promise" ],
+    "strict": true
+  },
+  "include": [ "./src/**/*" ]
+}