Procházet zdrojové kódy

typescript替换成ttypscript,这样可以使用paths alias

zhusiqing před 3 roky
rodič
revize
c8e1ff2579
3 změnil soubory, kde provedl 31 přidání a 9 odebrání
  1. 5 2
      package.json
  2. 11 6
      tsconfig.json
  3. 15 1
      yarn.lock

+ 5 - 2
package.json

@@ -21,7 +21,8 @@
   "license": "MIT",
   "scripts": {
     "dev": "cross-env NODE_ENV=development nodemon -e ts --exec ts-node -r tsconfig-paths/register src/app.ts",
-    "compile": "rm -rf ./dist && cross-env NODE_ENV=prod tsc --inlineSourceMap false",
+    "compile": "rm -rf ./dist && cross-env NODE_ENV=prod ttsc --inlineSourceMap false",
+    "start": "yarn run compile && node ./dist/app.js",
     "pm2:start": "yarn run compile && pm2 start ./pm2.config.js",
     "pm2:list": "pm2 list",
     "pm2:stop": "pm2 stop gateway && pm2 delete gateway",
@@ -66,7 +67,9 @@
     "eslint": "^7.32.0",
     "ts-node": "^9.0.0",
     "tsconfig-paths": "^3.9.0",
-    "typescript": "^4.0.3"
+    "ttypescript": "^1.5.12",
+    "typescript": "^4.0.3",
+    "typescript-transform-paths": "^3.3.0"
   },
   "bugs": "http://git.zsqlm.cn/siqing/gateway_koa_ts/issues",
   "homepage": "https://www.zsqlm.cn/",

+ 11 - 6
tsconfig.json

@@ -2,8 +2,9 @@
   "compileOnSave": true,
   "compilerOptions": {
     "outDir": "./dist",
-    "target": "es2017",
-    "module": "commonjs", // 采用commonjs的模块风格
+    "target": "ES2020",
+    "lib": ["ES2020"],
+    "module": "CommonJS", // 采用commonjs的模块风格
     "strict": true, // 启用所有严格类型检查选项
     "noImplicitAny": false, // 隐式any检查
     "allowJs": true,
@@ -31,11 +32,15 @@
     "baseUrl": "./src",
     "paths": {
       "@/*": ["./*"],
-      "@controllers": ["./controllers"],
-      "@services": ["./services"],
+      // "@controllers/*": ["./controllers/*"],
+      "@controllers": ["./controllers/index.ts"],
+      "@services": ["./services/*"],
       "@utils/*": ["./utils/*"],
-      "@config": ["./config"]
-    }
+      "@config": ["./config.ts"]
+    },
+    "plugins": [
+      { "transform": "typescript-transform-paths" }
+    ]
   },
   "include": [
     "./src"

+ 15 - 1
yarn.lock

@@ -2974,7 +2974,7 @@ resolve-path@^1.4.0:
     http-errors "~1.6.2"
     path-is-absolute "1.0.1"
 
-resolve@^1.12.0:
+resolve@>=1.9.0, resolve@^1.12.0:
   version "1.20.0"
   resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975"
   integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==
@@ -3365,6 +3365,13 @@ tsutils@^3.21.0:
   dependencies:
     tslib "^1.8.1"
 
+ttypescript@^1.5.12:
+  version "1.5.12"
+  resolved "https://registry.yarnpkg.com/ttypescript/-/ttypescript-1.5.12.tgz#27a8356d7d4e719d0075a8feb4df14b52384f044"
+  integrity sha512-1ojRyJvpnmgN9kIHmUnQPlEV1gq+VVsxVYjk/NfvMlHSmYxjK5hEvOOU2MQASrbekTUiUM7pR/nXeCc8bzvMOQ==
+  dependencies:
+    resolve ">=1.9.0"
+
 tv4@^1.3.0:
   version "1.3.0"
   resolved "https://registry.yarnpkg.com/tv4/-/tv4-1.3.0.tgz#d020c846fadd50c855abb25ebaecc68fc10f7963"
@@ -3414,6 +3421,13 @@ typedarray@^0.0.6:
   resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
   integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=
 
+typescript-transform-paths@^3.3.0:
+  version "3.3.0"
+  resolved "https://registry.yarnpkg.com/typescript-transform-paths/-/typescript-transform-paths-3.3.0.tgz#fb59a8b101f7f47cefe792398e245d55e8ab21bb"
+  integrity sha512-4JUADV9+o/98Q4EQnXBgImqDMOW0EurnNNtrWPOjxrT0ZwF/bZRHeMC6bsk4e8tfnzu44XBn7qtjZTx8bBd3DA==
+  dependencies:
+    minimatch "^3.0.4"
+
 typescript@^4.0.3:
   version "4.3.5"
   resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.3.5.tgz#4d1c37cc16e893973c45a06886b7113234f119f4"