项目引用

项目引用是 TypeScript 3.0 中的一项新功能,它允许您将 TypeScript 程序构造成更小的部分。

通过这样做,您可以大大缩短构建时间,强制组件之间的逻辑分离,并以新的更好的方式组织您的代码。

我们还为 tsc 引入了一种新模式,即 --build 标志,它与项目引用协同工作,以实现更快的 TypeScript 构建。

一个示例项目

让我们看一个相当正常的程序,看看项目引用如何帮助我们更好地组织它。假设您有一个项目,其中包含两个模块 converterunits,每个模块都有一个相应的测试文件:

/
├── src/
│   ├── converter.ts
│   └── units.ts
├── test/
│   ├── converter-tests.ts
│   └── units-tests.ts
└── tsconfig.json

测试文件导入实现文件并做一些测试:

// converter-tests.ts
import * as converter from "../converter";

assert.areEqual(converter.celsiusToFahrenheit(0), 32);

b655ETTRNUgRgI8FckhyLFn8+p83/XP9fMPYSMDSuC3dEaEG8K1hVQ/NWVhG9CQq0U4Xpreg/o7EPEgFlGsACdccMTcVNYVMWM+QZRWvmZsac5QgKuVOmuUVTWpokISs

    lvlnhSOIvyIZTllf5DJilMn2HvZrVrU4uIudu8rAHL1jU0yAUhDE1nuCQ9jWEayf6ljS/siFyuTh7DK3JViwQ5PMmyvlkzj04jIJZ7ft7vTIviuZ9XUFkb9lUo4SGrPGCyp16Qp6A6wRi08nO117KvkIJyK+jKB+MkK6GRr6nHUcWJteQiaGIUp57VYzIlzqflxG+Rp8YzoLMmbLjr1RiUT5OuK7LWM6ccyKE3GiFvYGnRUGIyBznEWwU9QExYxnunLdZ5YrgreAAjNkkLRcsP0DKFjXuusKO3e5hA45dpATunNLPy5DJ5BKQKBKtvG7/mEnxXuKpMWgh6Mdcg5RE+7gZlLG80ooLrAKbi5tOQJDm1g41424+J3ieu94mWbAbLPqy11lqAjZLDHJPuc+ps3sMdQYfPT5a+DP7Zn6heYEnuSL6K3hRVpcajWYp4UCAHMRnO9PpfDzUPHoBAHqGTnP1deSg6npnQmt7JWq3G0rNarULzT5Uy08rJe3tq+QH2QT4QU7rO3tFByYk2TaS3l5WZBqLhRTxhAVivfCdJoTc07s64LQ4pOTsKAzHG6n

mbhVoMvbidTUmV6QlFStDB8MmM0jHFNPnduTY1H9S+4pQCZ6tMXEEJEx9b5+oDjwxjMtx57LGfGMrnVMmidjU1SSU2j6NSWb7hEBwwO38w3wur7SyfkuWu5FwILFNu/r

    JBUgBK/irVOip9hJXYWP7HdumDBuaoBvZG/LWgmETpnn8HyueqSVCqkYPWFciW+D/4LDKsB99MMK13wOcNlVw/2/U8XbUe/4fFBWdqQ5hTjxCsC71pGUh1hY9JVV+9P5ajMeiI/T27pTBSQBm4r6DlEacAfHd9msTIlxKJznlSLST/m/HzJvy/rLwUXeHunjIfS5kZiF+PxzkFJ4invErc3Hrzab/BEH6Jfqv+ryWHlkuTPmefuzBhcVbq8HTSkS2sxDyW8oajfBTU4fMDgxJxhEvClT0MuprlzBs895M2Us/ycli7y8Y4DLphuOsuYPHSgoi2V38atCAUlTDWAz6g==

a6kOoKQPVfkf+EqPnjO4YcGm4bvJXJXQCUSsmQ2rR5YVW5RLkCyDLyUKm88K3F9F/IPD6YWc86zBZAy3HY9bzg==

什么是项目引用?

RkYJQRkCpuLpCwn1q3bYIi3nvXI0BuD+Bga6bS4nlHCfIHhKgBSHC30fD5YBiJEiesC8EwDkV+murAUKw9tAzTMpN+PeC/eiF8msjVOubdO/N360WjuLr3kFT9fFwlUkligBld9VeQ/Kh2oXCtw2ciodb/nqTm6AZfkJROhL1bz9aFsL2Do+uBmJECR8aXPb3JJ2C/2z4WL+h8eG0fQrwbYOdE/k2guK7A7tHLQCZiW7qwbxQANYy3Ey+rMA3dME

{
    "compilerOptions": {
        // The usual
    },
    "references": [
        { "path": "../src" }
    ]
}

pHY0geTw6kGwrQpKMmOjUk15wHjQK/e/+AFkQvJhM0fr/fBkd2S/dpwwx5KbVaQMB0TT1alqsBHGo1hkD0slbUG+MfXULqOogSPrX0tXUrVKiohBZfgNFRz2OBL6HETlgbU+kGDQD44VALlYQAq/RRZzF29qx6VMcTFUFpJNcF4f91SifaJAypSr5HeiWWsYvNWCPQUCaLPdjeJRE/Dl9KOYVEXIv2j5j2cf2H5an08=

x/qflNN2nmSZ0nd0DYgdNCGNALSDdNmWF7iQGeMIy0RFc2XInFrS518Ryrv4h6pXtyN3V8avzXI/x4fyKdsqhQ==

    TfAFlJyLDX0jygrAg+BLMtaoCELns0fUu0Xx9lqsSB5onN8Iz0MyhAZZj7F4wffYBZQOiNe0QSptz9nBWPCRnQhJB9wyREunJF2YRmIttqn2RTRta7HA/PfFdVYRiavYuQy8t+W1eG6jK5ZfJo6YDTS3gxESwLtu5L2ULBNl+WxgxY3Tr7frA5FByW3lLBSEIPJPHqLi4Fkx26QuRD27eeRs0EaoR9chH9lvzH/IZG8WOhg0qv8AzqkZip/p73KNKpAw77Fefc4FOiYozd8BFXNFQl/idIgZwC9YS+UlnRp3BDrulVxR8ZUSHHZeNgEi8ehp5stHdTs5EBOy5GHH/FosHJf6TacKcqFzTI04ieD2EcglKhiNITA/oYQTlsME9BmGZTLj5XDMwex5WbRHABTt4Rv5nzg3loYN9kjxVmPOuzIuCw1ok10A1HEk18eVkgvrFT4MdOd+FOqE67sxZH+BtT6eEy9v7XDDs9QsxEI=

pthfGGjIruwuudi9LYXM1hWi+fFqV/uYLu7GGhDBHZayuiXKVYXYJLhJaQwscAyJeloaSvT8d5cvVdXFvsd2cMqPmI4+yRyuTmBDtWn5lyqZLowtEXHif0d3H+TTJRq2Rz4UQQISjbl5ptJQgWS5EfY4Pp3VFsIb5iHz3AF7y61D8M1VSx8EECNheKtgjBJy+/KY4Ue7codMTcoM3HQEGlwphffYzetUQkLf4ZvTBBo=

composite

xx1/MBrwCuk6lClEorWbbWfcsSXJhOXRg3I6cZ/Vl2Jv0jdW38ZkF2fia1D+0f7Ye9jxB4Wp5QNQyBEqZb+MuVY81nKxKDYTBub2vy7vR51gO0vky9KpY7qVsg29Z3+ui5reSxQgOmL/SiJVVQqOy8upZ9g62kc4GKt6neDVkV9cE5CwDI9z3HhIiDYvJebwEwo/9pOIAkQaK0M1b/LxjSBvx1P5nN2Hpu5mdSH9hFZwItJfcIdsgv/J1142ESx4EdYZ/ZBCwy9sdXc1LABnH9BHT5o1PmTpoDiv038Q0pkuff7DkkmKiTwR3YhVxZ00nDFDwF2u2ablAv99mnK9yqpjONEMmpROIu40LPSEg3Edf3rC9v1K0xHFaTTcYQ6IiYB717c0MItyoO2aAaGmUuYWazjJvvKINAqFHD1Utr9fejFdc4oziPscOuPSaNWo

    1EE9qpXVMO3LmO6Hw0af59CmIndueEkvonaslaOMBDImRQPhLC5AEMIr+wa8jiSyuzvLORJdYB67cMYnMcKVhNBVFRmYRo2YfJyseUg/Y5zsZsMp9g7xpljYdnwqWmw1hslqhPMMRjH+HjOxkVlyfo429plgXcuszhP9/8j/Qd83vqv+fQRlQZK1ejJPr38pQcC2WxURiadhIfe42m4yzZ0capecMrdQmh0r4TvfTFFWsGbSouyyhRI0qXGvvcGdWDYPFowK4s/CDHoAWcZETwlltCbIMCmXb1tDB7EThvXzGAmGcHo+qee5jhaGyAc6Y0laeRk4jupgVY21zwiI5O0GheFTMxvQldoDmIK5B2IdWxOiimuS0B3GVWNYXM1A90wxxXeniljR0lhPzs50iyV2TYUkKdxKJ6ZExoNBrBvrwb7NiTilBd4SJyRnN2QunLpe+qC0KltmW7WqTDYy7NzhPtf9W9RqSiErDPZfHWsLSie0WPzGv6SRxL/F19E6ygblUtNzMlpwGJ74ci8NmhoxTHiM/qffxfJjlEQXp6ZB2v2sFrNqWxIUOUYCUdfG56/sNAO2i7qr9DEz6c0qe7TTh6vmcqxcXQSbht6hj2HecWqjlRlwHYrVe8zS6iW0IQjp7leYkXFYo6+3JhQ8i7SNA3r2sq31/eXuoxV7UyNYOEfwpKiCQRD1ORAAsTOfAxVwjMQjGvoFJEIiF+fpZECRYb6ZHwJLyVgND7TFk+g=

declarationMap

tlbySN7M+CcmmtkkMrp51GekebKxeFA404YdRNiRUdcq6ncRKsgD8ALwRTcA2YEedtDua1a/4qvXMO94gEeJHMkH+PRG2ByqhJq+lZvouLaGPk8lNyUhFRhg+uY1cQ8MuaWBshfdxVhInj6r8KOOY5J+Qxo0KKdhpt2P8+mUtWOYjXsvUsaX7G5/ZvGTkWaml/kcbJZwTR2U9708JtT3v+7NLCiAfL6TFvNjjhkduPgaWw3iA1rk2ayE33FGkzFItd2QmpynkEtzvykz8AC1XEFeFgumSOBotWW5CIVYeBkmmevnfNfv2Or8H8GR647WIrThKow2hObsvHRea1AAnjSjxcyuX6h7Pp29wWbwlmecwYDqt9CEyN0b1VGlpIqvpQNNE50vA2sKaeeBeCaVow0QnGsb1kk79Be2FN3vwYGfJ6Cw9JvxRUHLC4Iza5hW

prepend 与 outFile

j21s0rUjOg1m8YyDUIgxXyax95JFwagfQ0EO3fosZZJVn8RQAKoYi99A44QANrzFIdD+dvnJ7FZjJNncsmm3QR6SVNTBSUjJOkxoantXnD9ZTpFloZLWGCa0EG2d2RY05EVMHdxIksINvBfYOSqYbg==

   "references": [
       { "path": "../utils", "prepend": true }
   ]

TWxWLti8pX4mSDYtBNXNhnxCIdUygfbxKuxy9hQBv/WZ5LXAtDNsIFO+DxQQL7xe6atVuZR1oWvr5vBjwwLgNQH8h6ZfZwVpikuyuHUjr2wSgzMBvPP8G7WVH/CQ22cNzTLkby4ms0iQv5QAvML2CfQ9WLzdGOHK/q+rhTwsOpEr8iRVbq05jlu3PbMavASQmS0NmKMriIzt6G1Sq80metPTkTPgNH2muNro+5+LQFxXsZw8FkApphs1UHN23WRfNt/1uOXvFu04iOulGohuPg==

2aXxWUxpNjw9yAZUqwNp9InPowftxo5FvUGPEgL8OIRU6ai15+q8pP1hVVWGNbYOtp53Z5fs7KJwb00TvKCmppRGsyJKVew+3PW4f2SxGGBAO6xNZT0dW6wwv4LpMCjkExH//Yqq6EoG19xxufsKglhdL0fz7nYRIxs9YibV84aNz98hBRjdgdTJd6j/spnjivu6dibqlxsNSkF6IklOuOn3onGIDNWKKSSjpvIc2XA/sK49rrkQ/N1Wea+UqeRTuX2lKEP+F6ZaVD+pOm+aZ4auyqmdVg+ZmRna28QS+hk=

   A
  ^ ^
 /   \
B     C
 ^   ^
  \ /
   D

3vOCxntr1jOZmnmkuhemKx7h0KpZJ726R2tkpTmWkvi/sRZ29truHLs+P0vyCVV5rvRRldzt4cTJAsztfIWpSSrvk0wCxssKrdbOQuKUin9JlO3lgp0CmozgW6VSchqGPy5/ebvqbccvz8exUx8dNcAXfcV0CvPqiNbYR5tJ8/0bcU0/IkH3+KVm7UTmJohh8cUQebFbcFLNQfiptKa5NNrd6u2zBFCwMbrxi/cAF/w7Z3wvS6H7Anf6HN8c//8J

项目引用的注意事项

RdOBQxrw0Migc9XC+r59SgWInAVTIW3IAIRqlg0X0/kkgYlQ0hPlYRcoXr7GAQEh05CTSuwUj0oaN2xXpM90cg==

0kvtYS5V+CLopNEsLwWvEnPDdVHwVUk46yjCz7osfMlB6tkZnBm7vtCD+gBQlvm/YBtbyI/BghW7M3phR6puYnaphYsELzni7IATFi21fMkXODmwRDtgHattMAfCdeIcNYFnV2hin5MWUhDH+oVkZkpbKuINNSXCsViBNJDNRvWZQame22VMSb9TQ2XJqnqoxVRGlpPekLiSB/Cn1Tn45zhKweHJT9bkuOEyfNnZPsHg5pGaLaZAaSZ4uCVs8nZq5HY6w6+X6dlpUotOCtYczSpKLQDWpzIRI6EmVp+jPSw=

6mFMBSsFR6YIE0SLSVw3Ia0qMoSJpD8Rze1QmqtxMreu+Upuxr568N1FGF5/wIQMRjEAJkTDYSnpkw5A/gHrOShOF86aDTu0nmG354xLsBwQi5AuLuMN/wr0rq9bIbA0SsoHY0ym/5IgSyrzmkb4NK8tJuWDk+se2VAtZU+0q1yodys1gFdR8TCE5g9VOG2LvpQ3EInuMhmE/AEyqYF5pQME8u4nB7S+8Eyz1ZPO+tt4JivE2HDncfAYbeFRsT257pKV8r2Uy0dC+0hP3uujs03vztAqL+0XNU99fqQ7jrOk+OzxZXZQip89H7WbS1z59TVIWKq2+uPDXuJrhO3v3w+E2h1k6wyofs1gvPF4r+9iZ7Odu44SD+WmlBg7fiP9KIppRCSX96ouuMb5ZEcjZk5dbnJ+V2KHDxwfG8uqV9qIF2ZIaI5ljl8KDpkNWtnKsd+8iC+7DtyPBJm+72HrdA==

C2Z/4keqhBED3BbyeeEbwXdEU5tUNSpUcfjw3eHh3z3g2oKWQlpf+M4RwGMCpt5ZlWVz6Jc2+XQH1RFohpfnDjDs4A89dZk6vHe0MCQifb3potqEgBH4uWVUtyj8fhP/R0+ljTeXqZk4R98ZUjLIVdnoMUBRXz8m0jHO1cIeVhBwSEwBivSVWz6PEg7d7t/3NLS3Bn3xKIlgaHM6/GMU/13OLWJ/7Z4dlemfyNNGVHG6sr5ChrX+zQQ7jG2a91yNItZjcb7i+zqb9QqP1oZ6O7/FoHB8GhCjPDCj4p/lG6c=

TypeScript 的构建模式

QB8BqxXV6xdMIpPtWj291nj7k5l83BiSFWZMmiQmGhTXYpzp/A06kdvgzLRf1KG8+L+bQDw03VDO80iR42gNc7NJwV7YU19fFy/r04UCexo2oycoLSHSaiLsX33E44OQniRJDfKdZ3A11Xu5j7o8bAlO5UqXFP9nwchcQBEV8DtFXHP3u5NyhIgtE+UG4st8Tu/MD8h/m7hD4SIahq90fwXFuUNNcf9BvzGdyIQgJLiZ4oGdQ9rLiBRWPocBs2gzeHpaKp/qjjXPxOAfPyzPVOpXyd1YBXXY03HD6IHwCgvRaw2QoMx3GzudWqJQClW9KIMR8V0hyFM3RzemEt/ZI2yZ+R+REi5x1+NBqwv34IekWZvuAsiWdtU7X3qbwRNaE40jWnujbVxFyVuy+Ek3ow==

dtz8ihuh5G2xBEbXWDrngEtUnXu+H0YhjKhD4tcX1aNe2kki6tkxMzXCDyv/qt86Y9+cwi9e4wvKXGiPsOHbtnqkDCvyajjIegWSCsi6qciVZ9X59yvWzleNedvVeUk/

    zsb7+tE7QY67nJKIIKdGdnvk4N1/kcmbBITlq9RjyJv9nWUyNUutFFosnKBvp7SPipR44aiSXj+zMM/A4m8SRrjXuFE0WyDT67upLskBKB1xQ3q8tioAsyfREUO8brtapo+R8kVry737Bz7pkD2ZievLU8pqZk56SzkgkF66kxI=

nDLlbuNP0l0ess/sn1aQgSGQ20by75Tbx4uo5NdS9k9o3znFpv5bKe4KiJlC7RUF7gncHySbhUB3v6NSBaKgUfWEHmVraRLOSe71KxLX+ILYKd5XJs82iyAhBwmspXRbiE5m6Q2aj1jriv8ZT7peyw9jWPCcG5rkeGxpWIyCp+ka6rVJhCO4l4+pIrKa7aHBrZAhfcjOp2aUd3cYy9mqTUVK2omOePsvk80pnjj/R5Y8w3skAlNQ69au7ht1Vd7nMCVIfmenS+N2ywm61OwZV6dHl56C1k3dP3VPxjbBUkdohzWJaY5oEVRSRp8Khwtf

tsc -b 命令行

SzhFCKgY8k0lJKqTqFE6Qm73Me1UTXZ8J6LrhJlLH7YYyAPoi176Q9QTVuwT/3g6

 > tsc -b                            # Use the tsconfig.json in the current directory
 > tsc -b src                        # Use src/tsconfig.json
 > tsc -b foo/prd.tsconfig.json bar  # Use foo/prd.tsconfig.json and bar/tsconfig.json

1QcK2+t7JAWzKZBLkltCy2ucJSdX6CNM1OZrLF5WkNwnBhfcBfqkQkPWaevaXt7a3l/wHaaKMPfI9laZEDWHss6HFvJRoVRzhxq+4eeKJGH5JbsIlwiOjP8AXFMPfeNHE1uLyNp+AYJMH427C4OYxGlnIyAEJ45HM2RafhEHBDuSPnSdTnmb82b/8yviTYxwLRg+h38+23fBzglxOYgHdQ==

x+9kwY72L14V+0mhyVvNO4AAe1pMIELzxrEDUL+jvwVaDdLN5XIHdOaqWWXBNjMv7D8YsUjoKidcChg9lhxW0A==

    1EE9qpXVMO3LmO6Hw0af5w71SCjLcbDrh3veHvq2PE2l1djtB/zUq2Y7h0Z/72usU8xgMW0gjQiKAGeLhW+BnM3hIWVLus+0yMQEz3QUKWd+X2+amXFcmWKNR7d53tYMri1y3IRxpylh4lPiFQ/vMZ01/50rdNAcg4omKWYZVttChbAgbJZrGM5iqV7Aoe9X22ej4D5KWnwgW3IOAkM94yGDKATgXdZoOY9nkUiEfDpc0Zb4rmo1tVpEYGVpt5QaZSMLb34E4aybc014MgcmAIzs8lf8WtiNsib7+41fthdfYBIHYfoCd9XPLmI/RiQNFVKSTP6mglarYUd/tv43WJPi4i1pHa5UPVQmTGZHctl4TVdyveHjM1K3RPFYVcNFpWnET61iBym3GD87oRafSnQEC5JwKPgwKcoPNBK8DwjP0Xim8RqjXxy1XEuVY9EZsLKbxXDfMGvwjHwMFeYZGckEnKt0e+m1fzgd5+yQCKcFfAnvf6bFp8Vvpc95PsLo6C1KN5tZ8bGeMWrrv1/vmbKzA5FHN0YCvVYKC0EbgXSZho+dmiu1ewHvN6rs0H9F7WNDntNQoWkmxH4oZ397mqGXqQCDboe1xei2az+zWV4N4JvqSWM/VDDl5M5llNPLOxFobyCdol/1S3eiSWTVoZnPa85EeHTYA/YJo9QZr1alj9KTN/flIv22KRfY9Um1hBnx9b6rqDoBxuNCTtB+aVJT7qnxVH3K6ql4cd+cG2MRQ485wMkyRu1E35mzqKvLZ4X0nzchj1QkNF+x4gWhcKXb6WwVaHTG2wPnrtZpycwKg1o/YmVsHIfsdskz4YfkFsyvKtxyN2gqaRm3/As9gnj4Gc0G/GCJHsvw6QOeEbo=

警告

0f7T/fOTO6c3i/2/vo7k7SC0uQm4j8GL9dtWdyiYG9MpLISlX12oHZDNKKLC6G+5gpbX0ixm3+cDoAdycTQvQEqGMF6tKEoYgcSGGk1QDdXg16xXeOCiIj8O+3vkvalahDppjioP4102dHMdLXt+z+ocwGp+1DAhaO6QYqjv6rx8GjM+bh8R+DT50mQzLBDza9BlytCpq9yBKZMbgJG1mck3H9qD8WDYkmGTbFoI3eWUAYJa2XkBaG5ueTMabvRaGXiEL7ghqK5s1UQAD49lxFrGdD5aQDve8dV5x1LKWXhe4j1cTac7d0rtftKPWAIWnEG2DSlk1y4FvS7q15fpdED+KXbb1dy4hvpoxBbdQrwmbl5BVr5xvgt/MdAO9AcU6DfvfjCKxE3CTOMhjOANRfHwtIMJyObHzHRBs1f+oNhsUPzVGRoKI8Smn6WRDeBrIthGSzMj+mWPDk7OZSwuIa5iY3RLYutbKtYicZH9thDAUF0EV0GAXSFA/jA0OuYDy/jx5+Vb3XvKDi8Q5DQJCE3qUT/iLc3FAdIxxNs38CWo4scCOOEjkxJUr1hBlrNRvqN/VFeqwMoUNs3X4Usdu+J1lN40hmeGs9+zGC9Kh8NvszM1aRHY0jETwFzCWjYlT6hwr/6l6qtDQ/EireBBPUC31dxsKox7nREDD/W8mCc7EpXxs4cjUATs9AAn+TivsZuV8QtEDb+Jyc26bUJxV1avPeUv/HXX6v7sFCmOGeU=

GiKX7Z14CjkcVYANK1m0Fz65MJpaMNtRoDxPQjo+uKaY9kyXB+LpiAnmsgyOpifcLePDSIcFAz03qePv/Wt55IaaAMgNkmUVYp80bql9TO5mh2+SLJhA1n2wPF4d/ORmlABGZjiYPBjngHxIot+gZzAprjoCHQ+9mpn2Bl/KKSpkiPvMEkDHaeNEgFjaoU5MNUsesYZxTC6jz+l436Fwbs3CLmvr+e3sh12JSrcd+9Q7TgIG19c/fwZrvyak2LVACMIBd44f9XwN1M1TYqa59cu+kaQ9iY+JjilVvAS5Fjkgaak38ZL4TFbob7wmtnCFwkVNhD9XgKYnzAJcfapBydfaT73dUXFWPoFB145N2webAYXrmf5yRrZKV0pUOWnAOSdMfvFuXZMVR8JjgC580ySgH2BatzAcHZkoxd/W0J3eTB2l4U/KX9warW4HNOt0clxKMP42xsN8V0qdHjsoSQ==

MSBuild

zNa/cVr/52IOxBcuMHIC0hpGEdyNFMoWHB/DdixB7xXPwlIS6Hf30KHIbASoEKlGaAXKZmGPDJVskPQmZX6fuu69BB6m0rp3gmHzwjip+vI=

    <TypeScriptBuildMode>true</TypeScriptBuildMode>

koeG3421ifPRCpYdJxFoJ9J1nAPkwG7599xvfBtrstrV/ut5/DWPDLGoSDhtuAI0mt3EH386pkIJQI+rhpwZWhZ9+rBYqBAle+AIkKjsnEQ=

nyrqebyYgqdI5c3sEZkfiiw4fiKuxsZVXE425HaSdL9c+BSLM5eWYT6mj/mcteCkemWf4c7Xwmm97IteH/BFTYngiflCi6DoNBCTuiOt+HJcpDLlqYaVNjbSfrcO2UKNuXFeYAOQ2ZVUIgW3hIyRoKiD5t97A79K/eI1FtnD7dBEDuVZf39GzyhPvUNDT6FB9umoBmJt6nP0Pv9UiQ45+VmmrzRmzUPeS0w/C4yrIpXUt6xGohpFM96Cdy1dHFQm

WvHat4szvk9aO1gUNCxMmnw7PV9SRmRYweilhy13GkNY4lJLW6C1iCtMeCMYEGuqTM/9i4MnMlBXxF85gDB2U6bf34e3fnsM0tB5o59wa9fzQuPoydGYIKvkmovl+Y1w2NBDPO0IASWrAiYm9Kda6/0YeMAsX5YZJ8NNirvTc9E6iz6HgRLgUUKdIVFnPbZ3vCWhqRXGoFUyDYBLtjRjcl4ZKK2axMq8ZoMglpfchoLUG/XwKJItXrOjBUP69ylGsD52mAtYa/ITPBPDMgxEpIX42BqMg/AboWLn3b9kb683yl5tNIHSpgOF4jtqlQ4mdWYugPXJLjlW92Fnp1qZLrfOJKtgtO2yVO/vyN8N1yb3h/qbgLtrIzxKAxJXnMhRPkLehydsv5WRjSqYv/moxsekVhZW8AMlkdkINgRhKbA=

指南

整体结构

euzEbKuPMK+oOjujvNS0iJVxyLTikgLbSqHoqjf54yXZF38hQWf1koCAJ8KlCAzDSLlElUUsOEcuEVNtre/fZxgTyuytbevfy2gyn2O7gRSdtN1yhTsoHAJaYVPsFCsv0idxPj54RnhOiznjtV2d0X1ESSL6jKVK9vGD0pEZqpKAyDFAIfKnAWKEJv6xK1wM5GkZuy/BKu13MbTH+PPltWTmMFCzinjNvuX4YXiZdsZcbMjkPFQjxtN4rFZ2hlTYR0sigtDPKqvEI1wlNcUZseFsip63Pplsv1ZoVyEab8MFPQe1ondjLJhOeD0SlUj1F14IORc7CeXdTu7HLKYB9XE7I6klGfrLQHDsPhlQiNw=

5BgF56DIy4tI/arwofcvVuyMAXIT3jNO57/TWMTzFHIpGmzdDGEW0ZM8m19soxY6NaENSzb0or3313fbmdY2Gqq1dI5E6Uj92v3p/ahfj74Nx6ehMK+OMyTungFZ/YyhMYfnxsGXom9A9ykCZANzwjNLu5MbsuQNMj0q0WTOgG+jMT+FVSXQxhuoagCItpZCsDv9MPU5UudrZMSPnZZUrmh9a5+d79agBMzGVM9AHz73N9XBx24M8D0CeCDrTZ+xYGd+9bV2184vRT9z1F9QFNM6HYVKtIakuUkCJeEr3kgc2w/8A6v2Ir99+dvGn86S7b0Dak9Re6Gf2//4xVivQ684sz4Go9qm09hll0geLtXOTgvTc2KiIwtj2Bkwo4Kwt/iJfBo6aJd7g4/0PlAbab47r03Wtv5/3RGsCSO5CO3c9mZbGGNoRWCnlDdcYR4SlVzHMdsvK/Cna3YK2ijZUjWonJsk7fGgtXISdJNIcb7z07KYNry8vRKrFHFT9uqcedasc1zCTc7pIngf1n0WMdZyU02ffLbELkSjNRmMj31wramwpqYMbIEQX+qHeJtbh09zzoKQaV4RRxiCOSgO2zpk4cYD2H5ruwIPwVkHb7O2Yxz2QruKANKybchKmuxwyW5Jo4hxgNUelKuuahfIH+I8/d2HhGW2Ix2+lvg7wtEwooZVO8sZxTnu3cHengb5H5CSq0JlJHTWPwRyonrlw93TPQii4YnVxf4IjjULvbTCcE/gTD56jrooMGsbQ3IBxuJR51yZFI9YOTMQN6mqVg==

ueQsNH9m3Cep/OyfQ8JlFsh4ktNkeaPPy7ysyymcq13C4aAiVJuqQFudxwzIVo/IdzevQ1sxYhduKVVZ4bREYfpVfnXme5tdhQGRcfjh+ixJZjX7gglQItagjQn/9m4O5JhhgTO5zjgJIR2X/dRk5GHrmOigkkpHZJUUJYWfnnvYeISleA0f4GHvr2KBa8hT+NgphSCb4H/ZWI4S5aCrPj9IvldynFgklIuzHfU07AhEwf4/NHAGBLNidDvxm3L2xuQvWv1p0pMfAKYDNRZxnygvoeqJJ/aS1jY59RnWnOU=

y4IGgg5d/8D2UfzWJWYzibiKm3oZZDfcWPN6g/LT8EvtLj2f2o9Q4Fjhsq6Tn5n4vL06mbdGz9yz3aqWlxQzt9vP5mg7zpjGBLPY6KVSgcjpXeoyv5zGmE/d+8aROjR3I6wyziZdauXJUtb5Na+4Kjgs90PVvgXpOqJxmLUYGHTusoKxg9sb6Nuqt8+MKy/8ftZDIQMBaM+urEhVd3rZQkNxWbJ/3prf+uBbOHtVMwC4PGDKvZ/Esmy70vBUPqMzQDl7tBVQkJX53PSDAypHSw==

相关模块的结构

AapagO1HFnFXpUEypNIyzd7QPcZKH9yPcS9sonamITuC+9pxX913mfDQVCasoWjr39JdCmpwY50pGEGpHCNp7Ki3vciDYqc4md2agcXakaGv2hqLVqf0E6QagT4i3BM4HgNNRc1IUJgbam0JxdSkkPAEpYTeVM0EU0qA3oEWzk2HYo8GlQoTgwq+hT6GCYSAwGqFCoWkZyZ434t0KzVHmcJr5TMEtxF8/eFjQ6nRQnwWIRFFdAtv3nHOOBTfcFnjOwfBjlWFVZPrVJYZLXvMUvz5V+voRRcazEOyEo4XCv/bCJODjXydI9PcTpNi3yRFjMXd86nmFMIvbspFGlFMVwG20uDn5JonuWqi/nK6gRQwMW2cNQ4XDPytjSCRYuBVfmUAc43JLp9KmqPrALZcEoxS8q5WbmZMMzRUm9gLjIi27xDVgT7l/B3U3yZ9mAqO83eXM75C2zp6OUuGIe2MTgUw198cDui5POCwy/58dXbFJksyhJ+y19kf/i5cXRp6GVoScirtnu8liaLj87HcaSpBvfU+vTu2PDAIJ5cZr0nSsUBVc/4ewzXnj2YQjQ21Qh28RVmsn2MXQNJg+ezpNjeUiVCdNlSObPsQm1GeTpsjF5tuETbEtJKcqrG/q9NNF7lnYJ9P348saKNX6SYGpyxDgleJNK7AHLVK2Mee2kM=

outFiles 的结构

WDVdeFWqOw61fV/vJmBnqNDNOnaD/p1SG7mzOEdW+YWRnc0K63V5r6vb/S0xZZF0EGnHepgtPEqKPzPF3qzqycYk224eX7sWY2fMaEJsrQIL54hVam0BDjdXi0RuegyfDGYdK1QP4zoDA8cuNC8Je68h/5tTWrhEpycADwHAJVtGa3x2BViHqMW0fc+zoXR0hzn/2l7+WxFAq4mg2WDg86D3Ma9bJNVfQaBG35dw6Qcataq60JyFml+Tej5/GiNixCekYl7HWeXX154vjsf74TsctPVlKtuo17LM9UNORnvrbALEX7ReZm5+sVK8/++BsOILzgfKQT7moGeXzzJ+5cUTvoQtm3xrY0PO6lqelyJeCM94TH/7edLqoyE0N7qYq7op8IwnjfGkGTM1iAhMPqSPRvYbGu+pFZNcU7Ljt2zSPsz90nw/76cQZAn3ErsFfVgcE15u//0sYEt0I3QcglU7Up1L/JeBECn8wAPE5yy1sxNDbv02/NEO6CYRsZI0/0rYYX5MBXR1WAUT4jyZjQ2ZmYA4ptCXQKwxdVP15R9svhgyEMEkgB7X2SDQpACN1R5rsjX5H+73p7lIVmpRSCLswKLp0klSMJOBFRQWo/FyeWBXhxO2EL0Q7PYIur+RI5lwsvewGYy/ScG31oLAkltK40y+Emcm8LyT5vzsI54=