From 324a521646632702f4877f4975dcd6038326c40a Mon Sep 17 00:00:00 2001 From: ClarkXia Date: Thu, 30 Nov 2023 06:43:37 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20@=20alibaba/?= =?UTF-8?q?ice@4e5de5f180e67bd4fa39b01f30b8108e4a86df11=20=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 404.html | 12 ++++++------ ...styles.231593a2.css => styles.e5275410.css} | 2 +- ...1dd9d6.da737e36.js => 031dd9d6.2113fb2e.js} | 2 +- ...09599a.9e62fcea.js => 0d09599a.f4f1211f.js} | 2 +- assets/js/17896441.e56796c9.js | 1 - assets/js/17896441.fcf00445.js | 1 + ...db2dc3.859413fa.js => 17db2dc3.3b470c95.js} | 2 +- ...93df5a.9b3953eb.js => 1893df5a.0d58bc48.js} | 2 +- ...3b5d6c.cd59a358.js => 193b5d6c.e0c0064b.js} | 2 +- assets/js/1a4e3797.4b8a0695.js | 1 + assets/js/1a4e3797.8e91d02e.js | 1 - assets/js/1be78505.954afb34.js | 1 + assets/js/1be78505.af632256.js | 1 - assets/js/1c4cfb0f.e872aa42.js | 1 + assets/js/1c4cfb0f.ee7607f0.js | 1 - assets/js/23944e90.03db60b7.js | 1 - assets/js/23944e90.30dc95dc.js | 1 + assets/js/289.d24d849c.js | 1 - assets/js/338e89cb.162a2514.js | 1 - assets/js/338e89cb.64980816.js | 1 + ...3dd66f.2663b37a.js => 363dd66f.2f58893e.js} | 2 +- ...312b2f.55ee314c.js => 43312b2f.eccf6864.js} | 2 +- assets/js/44d4f378.7899ccd9.js | 1 + assets/js/44d4f378.88274f25.js | 1 - ...75551f.2df3889b.js => 4575551f.403879ed.js} | 2 +- assets/js/46b87924.69b531ac.js | 1 + assets/js/49854b32.926a9091.js | 1 - assets/js/49854b32.b4ac8119.js | 1 + ...662f9a.3921879c.js => 4d662f9a.54d47725.js} | 2 +- assets/js/5d05f1ff.522f8c85.js | 1 + assets/js/5d05f1ff.f6795154.js | 1 - ...d450b3.b7a364e9.js => 5fd450b3.0cf71e09.js} | 2 +- ...e3f552.f6c614c6.js => 66e3f552.8f8fe7a7.js} | 2 +- ...e31e61.d5bde5a0.js => 67e31e61.dba5b78d.js} | 2 +- ...87bae7.fbe5c759.js => 6a87bae7.cca202db.js} | 2 +- ...40b0b7.36aad71d.js => 6b40b0b7.5719ef77.js} | 2 +- ...5af1b3.1af3c30a.js => 715af1b3.29d1f72d.js} | 2 +- ...adbca9.75c2c2cf.js => 74adbca9.0305ac9f.js} | 2 +- ...b8a635.e2de3b94.js => 74b8a635.1624c058.js} | 2 +- ...d0892a.8294096a.js => 76d0892a.516e63b7.js} | 2 +- assets/js/77459567.38f53ade.js | 1 - assets/js/77459567.745559f2.js | 1 + ...1cb304.002b16ad.js => 781cb304.f3ef914a.js} | 2 +- ...b5ff00.9d260e5f.js => 81b5ff00.e5f50089.js} | 2 +- ...77f74b.61118d29.js => 8477f74b.bfb83c56.js} | 2 +- ...856734.7af78285.js => 90856734.8edc5502.js} | 2 +- assets/js/935f2afb.739aba5f.js | 1 - assets/js/935f2afb.b6f7ff7a.js | 1 + assets/js/9425.cf33d202.js | 1 + ...e1e3da.87205e9f.js => 9ae1e3da.7caf04d6.js} | 2 +- ...04c059.8c3bbedc.js => 9c04c059.cca9aa25.js} | 2 +- ...d8a0d2.27ac2f0e.js => 9dd8a0d2.01b26e8e.js} | 2 +- ...7c23c1.fe6aefe6.js => a07c23c1.35d6961f.js} | 2 +- assets/js/a511789c.73b73f72.js | 1 - assets/js/a511789c.747d4802.js | 1 + ...84e4e3.4bca8d5f.js => ae84e4e3.df9058a6.js} | 2 +- assets/js/b0169109.35d53265.js | 1 + assets/js/b0169109.a6ea974c.js | 1 - ...aecc44.8e8e35f5.js => b1aecc44.b7efc4be.js} | 2 +- ...b43d9d.708ef56b.js => b1b43d9d.abcffa68.js} | 2 +- assets/js/b3b89c0b.bc2e48fe.js | 1 + assets/js/b3b89c0b.fe9f9a25.js | 1 - ...483f69.2fb299e0.js => b5483f69.f957f055.js} | 2 +- ...e89f3e.a7257df0.js => b9e89f3e.9b297e95.js} | 2 +- ...fc8760.8141004c.js => b9fc8760.e2015aa8.js} | 2 +- assets/js/d0b53a7a.5cae437a.js | 1 + assets/js/d0b53a7a.73e0b072.js | 1 - ...3dad6c.c0c6bca9.js => dd3dad6c.e0180f3d.js} | 2 +- ...12290d.1ddf59cd.js => df12290d.a3834268.js} | 2 +- ...78baf7.d386e108.js => e878baf7.22f0fbaa.js} | 2 +- assets/js/ecec4b98.6e26031a.js | 1 + assets/js/ecec4b98.a0fa0863.js | 1 - ...60f34f.6108c6c6.js => ef60f34f.e54a53b2.js} | 2 +- assets/js/ef7f90c0.709425ef.js | 1 - assets/js/ef7f90c0.a6582a78.js | 1 + ...e6d8fc.84b8a460.js => fde6d8fc.cdc91ec8.js} | 2 +- assets/js/main.505c2acf.js | 2 ++ ...ICENSE.txt => main.505c2acf.js.LICENSE.txt} | 0 assets/js/main.c3d0bb1c.js | 2 -- assets/js/runtime~main.391270bc.js | 1 - assets/js/runtime~main.f207e376.js | 1 + component/index.html | 10 +++++----- docs/guide/about/index.html | 12 ++++++------ docs/guide/advance/index.html | 10 +++++----- docs/guide/advanced/antd/index.html | 12 ++++++------ docs/guide/advanced/auth/index.html | 12 ++++++------ docs/guide/advanced/code-splitting/index.html | 12 ++++++------ .../guide/advanced/css-assets-local/index.html | 12 ++++++------ docs/guide/advanced/deploy/index.html | 12 ++++++------ docs/guide/advanced/faas/index.html | 12 ++++++------ docs/guide/advanced/fusion/index.html | 12 ++++++------ docs/guide/advanced/i18n/index.html | 12 ++++++------ docs/guide/advanced/icestark/index.html | 12 ++++++------ .../advanced/integrate-from-rax/index.html | 12 ++++++------ docs/guide/advanced/jsx-plus/index.html | 12 ++++++------ docs/guide/advanced/keep-alive/index.html | 12 ++++++------ docs/guide/advanced/micro-frontends/index.html | 12 ++++++------ docs/guide/advanced/rax-compat/index.html | 14 +++++++------- docs/guide/advanced/request/index.html | 14 +++++++------- docs/guide/advanced/store/index.html | 14 +++++++------- docs/guide/advanced/unit-test/index.html | 12 ++++++------ docs/guide/advanced/unocss/index.html | 16 ++++++++++++++++ .../advanced/update-from-icejs2/index.html | 14 +++++++------- docs/guide/basic/api/index.html | 14 +++++++------- docs/guide/basic/app/index.html | 12 ++++++------ docs/guide/basic/appear/index.html | 12 ++++++------ docs/guide/basic/assets/index.html | 12 ++++++------ docs/guide/basic/cli/index.html | 12 ++++++------ docs/guide/basic/config/index.html | 14 +++++++------- docs/guide/basic/data-loader/index.html | 12 ++++++------ docs/guide/basic/development/index.html | 12 ++++++------ docs/guide/basic/directory/index.html | 12 ++++++------ docs/guide/basic/document/index.html | 12 ++++++------ docs/guide/basic/env/index.html | 12 ++++++------ docs/guide/basic/mock/index.html | 12 ++++++------ docs/guide/basic/page/index.html | 12 ++++++------ docs/guide/basic/router/index.html | 12 ++++++------ docs/guide/basic/ssg/index.html | 12 ++++++------ docs/guide/basic/ssr/index.html | 12 ++++++------ docs/guide/basic/style/index.html | 12 ++++++------ docs/guide/miniapp/api/index.html | 12 ++++++------ docs/guide/miniapp/app-config/index.html | 12 ++++++------ docs/guide/miniapp/component-use/index.html | 12 ++++++------ .../miniapp/native-lifecycle-events/index.html | 12 ++++++------ docs/guide/miniapp/project-config/index.html | 12 ++++++------ docs/guide/miniapp/router/index.html | 12 ++++++------ docs/guide/miniapp/start/index.html | 12 ++++++------ docs/guide/miniapp/use-html/index.html | 18 +++++++++--------- docs/guide/plugins/plugin-dev/index.html | 12 ++++++------ docs/guide/plugins/plugin-list/index.html | 12 ++++++------ docs/guide/practice/index.html | 12 ++++++------ docs/guide/start/index.html | 12 ++++++------ docs/icestark/index.html | 10 +++++----- docs/materials/index.html | 10 +++++----- index.html | 12 ++++++------ search-index.json | 2 +- search/index.html | 12 ++++++------ sitemap.xml | 2 +- 138 files changed, 413 insertions(+), 396 deletions(-) rename assets/css/{styles.231593a2.css => styles.e5275410.css} (83%) rename assets/js/{031dd9d6.da737e36.js => 031dd9d6.2113fb2e.js} (99%) rename assets/js/{0d09599a.9e62fcea.js => 0d09599a.f4f1211f.js} (99%) delete mode 100644 assets/js/17896441.e56796c9.js create mode 100644 assets/js/17896441.fcf00445.js rename assets/js/{17db2dc3.859413fa.js => 17db2dc3.3b470c95.js} (99%) rename assets/js/{1893df5a.9b3953eb.js => 1893df5a.0d58bc48.js} (97%) rename assets/js/{193b5d6c.cd59a358.js => 193b5d6c.e0c0064b.js} (99%) create mode 100644 assets/js/1a4e3797.4b8a0695.js delete mode 100644 assets/js/1a4e3797.8e91d02e.js create mode 100644 assets/js/1be78505.954afb34.js delete mode 100644 assets/js/1be78505.af632256.js create mode 100644 assets/js/1c4cfb0f.e872aa42.js delete mode 100644 assets/js/1c4cfb0f.ee7607f0.js delete mode 100644 assets/js/23944e90.03db60b7.js create mode 100644 assets/js/23944e90.30dc95dc.js delete mode 100644 assets/js/289.d24d849c.js delete mode 100644 assets/js/338e89cb.162a2514.js create mode 100644 assets/js/338e89cb.64980816.js rename assets/js/{363dd66f.2663b37a.js => 363dd66f.2f58893e.js} (99%) rename assets/js/{43312b2f.55ee314c.js => 43312b2f.eccf6864.js} (65%) create mode 100644 assets/js/44d4f378.7899ccd9.js delete mode 100644 assets/js/44d4f378.88274f25.js rename assets/js/{4575551f.2df3889b.js => 4575551f.403879ed.js} (98%) create mode 100644 assets/js/46b87924.69b531ac.js delete mode 100644 assets/js/49854b32.926a9091.js create mode 100644 assets/js/49854b32.b4ac8119.js rename assets/js/{4d662f9a.3921879c.js => 4d662f9a.54d47725.js} (99%) create mode 100644 assets/js/5d05f1ff.522f8c85.js delete mode 100644 assets/js/5d05f1ff.f6795154.js rename assets/js/{5fd450b3.b7a364e9.js => 5fd450b3.0cf71e09.js} (99%) rename assets/js/{66e3f552.f6c614c6.js => 66e3f552.8f8fe7a7.js} (99%) rename assets/js/{67e31e61.d5bde5a0.js => 67e31e61.dba5b78d.js} (99%) rename assets/js/{6a87bae7.fbe5c759.js => 6a87bae7.cca202db.js} (99%) rename assets/js/{6b40b0b7.36aad71d.js => 6b40b0b7.5719ef77.js} (99%) rename assets/js/{715af1b3.1af3c30a.js => 715af1b3.29d1f72d.js} (99%) rename assets/js/{74adbca9.75c2c2cf.js => 74adbca9.0305ac9f.js} (98%) rename assets/js/{74b8a635.e2de3b94.js => 74b8a635.1624c058.js} (99%) rename assets/js/{76d0892a.8294096a.js => 76d0892a.516e63b7.js} (99%) delete mode 100644 assets/js/77459567.38f53ade.js create mode 100644 assets/js/77459567.745559f2.js rename assets/js/{781cb304.002b16ad.js => 781cb304.f3ef914a.js} (51%) rename assets/js/{81b5ff00.9d260e5f.js => 81b5ff00.e5f50089.js} (99%) rename assets/js/{8477f74b.61118d29.js => 8477f74b.bfb83c56.js} (99%) rename assets/js/{90856734.7af78285.js => 90856734.8edc5502.js} (99%) delete mode 100644 assets/js/935f2afb.739aba5f.js create mode 100644 assets/js/935f2afb.b6f7ff7a.js create mode 100644 assets/js/9425.cf33d202.js rename assets/js/{9ae1e3da.87205e9f.js => 9ae1e3da.7caf04d6.js} (99%) rename assets/js/{9c04c059.8c3bbedc.js => 9c04c059.cca9aa25.js} (98%) rename assets/js/{9dd8a0d2.27ac2f0e.js => 9dd8a0d2.01b26e8e.js} (98%) rename assets/js/{a07c23c1.fe6aefe6.js => a07c23c1.35d6961f.js} (99%) delete mode 100644 assets/js/a511789c.73b73f72.js create mode 100644 assets/js/a511789c.747d4802.js rename assets/js/{ae84e4e3.4bca8d5f.js => ae84e4e3.df9058a6.js} (99%) create mode 100644 assets/js/b0169109.35d53265.js delete mode 100644 assets/js/b0169109.a6ea974c.js rename assets/js/{b1aecc44.8e8e35f5.js => b1aecc44.b7efc4be.js} (98%) rename assets/js/{b1b43d9d.708ef56b.js => b1b43d9d.abcffa68.js} (99%) create mode 100644 assets/js/b3b89c0b.bc2e48fe.js delete mode 100644 assets/js/b3b89c0b.fe9f9a25.js rename assets/js/{b5483f69.2fb299e0.js => b5483f69.f957f055.js} (99%) rename assets/js/{b9e89f3e.a7257df0.js => b9e89f3e.9b297e95.js} (97%) rename assets/js/{b9fc8760.8141004c.js => b9fc8760.e2015aa8.js} (99%) create mode 100644 assets/js/d0b53a7a.5cae437a.js delete mode 100644 assets/js/d0b53a7a.73e0b072.js rename assets/js/{dd3dad6c.c0c6bca9.js => dd3dad6c.e0180f3d.js} (99%) rename assets/js/{df12290d.1ddf59cd.js => df12290d.a3834268.js} (99%) rename assets/js/{e878baf7.d386e108.js => e878baf7.22f0fbaa.js} (99%) create mode 100644 assets/js/ecec4b98.6e26031a.js delete mode 100644 assets/js/ecec4b98.a0fa0863.js rename assets/js/{ef60f34f.6108c6c6.js => ef60f34f.e54a53b2.js} (97%) delete mode 100644 assets/js/ef7f90c0.709425ef.js create mode 100644 assets/js/ef7f90c0.a6582a78.js rename assets/js/{fde6d8fc.84b8a460.js => fde6d8fc.cdc91ec8.js} (99%) create mode 100644 assets/js/main.505c2acf.js rename assets/js/{main.c3d0bb1c.js.LICENSE.txt => main.505c2acf.js.LICENSE.txt} (100%) delete mode 100644 assets/js/main.c3d0bb1c.js delete mode 100644 assets/js/runtime~main.391270bc.js create mode 100644 assets/js/runtime~main.f207e376.js create mode 100644 docs/guide/advanced/unocss/index.html diff --git a/404.html b/404.html index 7ae3c82fdb..91cdc68cf1 100644 --- a/404.html +++ b/404.html @@ -3,14 +3,14 @@ -找不到页面 | 飞冰 ICE - - +找不到页面 | 飞冰 ICE + +
-
跳到主要内容

找不到页面

我们找不到您要找的页面。

请联系原始链接来源网站的所有者,并告知他们链接已损坏。

- - +
跳到主要内容

找不到页面

我们找不到您要找的页面。

请联系原始链接来源网站的所有者,并告知他们链接已损坏。

+ + \ No newline at end of file diff --git a/assets/css/styles.231593a2.css b/assets/css/styles.e5275410.css similarity index 83% rename from assets/css/styles.231593a2.css rename to assets/css/styles.e5275410.css index 09c4729cb3..4d0c2a3362 100644 --- a/assets/css/styles.231593a2.css +++ b/assets/css/styles.e5275410.css @@ -1 +1 @@ -.col,.container{padding:0 var(--ifm-spacing-horizontal);width:100%}.markdown>h2,.markdown>h3,.markdown>h4,.markdown>h5,.markdown>h6{margin-bottom:calc(var(--ifm-heading-vertical-rhythm-bottom)*var(--ifm-leading))}.markdown li,body{word-wrap:break-word}body,ol ol,ol ul,ul ol,ul ul{margin:0}pre,table{overflow:auto}blockquote,pre{margin:0 0 var(--ifm-spacing-vertical)}.breadcrumbs__link,.button{transition-timing-function:var(--ifm-transition-timing-default)}.button,code{vertical-align:middle}.button--outline.button--active,.button--outline:active,.button--outline:hover,:root{--ifm-button-color:var(--ifm-font-color-base-inverse)}.avatar__photo,.card,.text--truncate{overflow:hidden}.menu__link:hover,a{transition:color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.navbar--dark,:root{--ifm-navbar-link-hover-color:var(--ifm-color-primary)}.menu,.navbar-sidebar{overflow-x:hidden}:root,html[data-theme=dark]{--ifm-color-emphasis-500:var(--ifm-color-gray-500)}.toggleButton_PY6P,html{-webkit-tap-highlight-color:transparent}*,.loadingRing_WYLK div{box-sizing:border-box}.clean-list,.containsTaskList_HMgI,.details_GcAu>summary,.dropdown__menu,.menu__list{list-style:none}.button_HqJd,.hitPath_SwDo,.hitTitle_F6em,.text--truncate{text-overflow:ellipsis;white-space:nowrap}.button,.button_HqJd,.dropdown__link,.text--truncate{white-space:nowrap}:root{--ifm-color-scheme:light;--ifm-dark-value:10%;--ifm-darker-value:15%;--ifm-darkest-value:30%;--ifm-light-value:15%;--ifm-lighter-value:30%;--ifm-lightest-value:50%;--ifm-contrast-background-value:90%;--ifm-contrast-foreground-value:70%;--ifm-contrast-background-dark-value:70%;--ifm-contrast-foreground-dark-value:90%;--ifm-color-primary:#3578e5;--ifm-color-secondary:#ebedf0;--ifm-color-success:#00a400;--ifm-color-info:#54c7ec;--ifm-color-warning:#ffba00;--ifm-color-danger:#fa383e;--ifm-color-primary-dark:#306cce;--ifm-color-primary-darker:#2d66c3;--ifm-color-primary-darkest:#2554a0;--ifm-color-primary-light:#538ce9;--ifm-color-primary-lighter:#72a1ed;--ifm-color-primary-lightest:#9abcf2;--ifm-color-primary-contrast-background:#ebf2fc;--ifm-color-primary-contrast-foreground:#102445;--ifm-color-secondary-dark:#d4d5d8;--ifm-color-secondary-darker:#c8c9cc;--ifm-color-secondary-darkest:#a4a6a8;--ifm-color-secondary-light:#eef0f2;--ifm-color-secondary-lighter:#f1f2f5;--ifm-color-secondary-lightest:#f5f6f8;--ifm-color-secondary-contrast-background:#fdfdfe;--ifm-color-secondary-contrast-foreground:#474748;--ifm-color-success-dark:#009400;--ifm-color-success-darker:#008b00;--ifm-color-success-darkest:#007300;--ifm-color-success-light:#26b226;--ifm-color-success-lighter:#4dbf4d;--ifm-color-success-lightest:#80d280;--ifm-color-success-contrast-background:#e6f6e6;--ifm-color-success-contrast-foreground:#003100;--ifm-color-info-dark:#4cb3d4;--ifm-color-info-darker:#47a9c9;--ifm-color-info-darkest:#3b8ba5;--ifm-color-info-light:#6ecfef;--ifm-color-info-lighter:#87d8f2;--ifm-color-info-lightest:#aae3f6;--ifm-color-info-contrast-background:#eef9fd;--ifm-color-info-contrast-foreground:#193c47;--ifm-color-warning-dark:#e6a700;--ifm-color-warning-darker:#d99e00;--ifm-color-warning-darkest:#b38200;--ifm-color-warning-light:#ffc426;--ifm-color-warning-lighter:#ffcf4d;--ifm-color-warning-lightest:#ffdd80;--ifm-color-warning-contrast-background:#fff8e6;--ifm-color-warning-contrast-foreground:#4d3800;--ifm-color-danger-dark:#e13238;--ifm-color-danger-darker:#d53035;--ifm-color-danger-darkest:#af272b;--ifm-color-danger-light:#fb565b;--ifm-color-danger-lighter:#fb7478;--ifm-color-danger-lightest:#fd9c9f;--ifm-color-danger-contrast-background:#ffebec;--ifm-color-danger-contrast-foreground:#4b1113;--ifm-color-white:#fff;--ifm-color-black:#000;--ifm-color-gray-0:var(--ifm-color-white);--ifm-color-gray-100:#f5f6f7;--ifm-color-gray-200:#ebedf0;--ifm-color-gray-300:#dadde1;--ifm-color-gray-400:#ccd0d5;--ifm-color-gray-500:#bec3c9;--ifm-color-gray-600:#8d949e;--ifm-color-gray-700:#606770;--ifm-color-gray-800:#444950;--ifm-color-gray-900:#1c1e21;--ifm-color-gray-1000:var(--ifm-color-black);--ifm-color-emphasis-0:var(--ifm-color-gray-0);--ifm-color-emphasis-100:var(--ifm-color-gray-100);--ifm-color-emphasis-200:var(--ifm-color-gray-200);--ifm-color-emphasis-300:var(--ifm-color-gray-300);--ifm-color-emphasis-400:var(--ifm-color-gray-400);--ifm-color-emphasis-600:var(--ifm-color-gray-600);--ifm-color-emphasis-700:var(--ifm-color-gray-700);--ifm-color-emphasis-800:var(--ifm-color-gray-800);--ifm-color-emphasis-900:var(--ifm-color-gray-900);--ifm-color-emphasis-1000:var(--ifm-color-gray-1000);--ifm-color-content:var(--ifm-color-emphasis-900);--ifm-color-content-inverse:var(--ifm-color-emphasis-0);--ifm-color-content-secondary:#525860;--ifm-background-color:transparent;--ifm-background-surface-color:var(--ifm-color-content-inverse);--ifm-global-border-width:1px;--ifm-global-radius:0.4rem;--ifm-hover-overlay:rgba(0,0,0,.05);--ifm-font-color-base:var(--ifm-color-content);--ifm-font-color-base-inverse:var(--ifm-color-content-inverse);--ifm-font-color-secondary:var(--ifm-color-content-secondary);--ifm-font-family-base:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--ifm-font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--ifm-font-size-base:100%;--ifm-font-weight-light:300;--ifm-font-weight-normal:400;--ifm-font-weight-semibold:500;--ifm-font-weight-bold:700;--ifm-font-weight-base:var(--ifm-font-weight-normal);--ifm-line-height-base:1.65;--ifm-global-spacing:1rem;--ifm-spacing-vertical:var(--ifm-global-spacing);--ifm-spacing-horizontal:var(--ifm-global-spacing);--ifm-transition-fast:200ms;--ifm-transition-slow:400ms;--ifm-transition-timing-default:cubic-bezier(0.08,0.52,0.52,1);--ifm-global-shadow-lw:0 1px 2px 0 rgba(0,0,0,.1);--ifm-global-shadow-md:0 5px 40px rgba(0,0,0,.2);--ifm-global-shadow-tl:0 12px 28px 0 rgba(0,0,0,.2),0 2px 4px 0 rgba(0,0,0,.1);--ifm-z-index-dropdown:100;--ifm-z-index-fixed:200;--ifm-z-index-overlay:400;--ifm-container-width:1140px;--ifm-container-width-xl:1320px;--ifm-code-background:#f6f7f8;--ifm-code-border-radius:var(--ifm-global-radius);--ifm-code-font-size:90%;--ifm-code-padding-horizontal:0.1rem;--ifm-code-padding-vertical:0.1rem;--ifm-pre-background:var(--ifm-code-background);--ifm-pre-border-radius:var(--ifm-code-border-radius);--ifm-pre-color:inherit;--ifm-pre-line-height:1.45;--ifm-pre-padding:1rem;--ifm-heading-color:inherit;--ifm-heading-margin-top:0;--ifm-heading-margin-bottom:var(--ifm-spacing-vertical);--ifm-heading-font-family:var(--ifm-font-family-base);--ifm-heading-font-weight:var(--ifm-font-weight-bold);--ifm-heading-line-height:1.25;--ifm-h1-font-size:2rem;--ifm-h2-font-size:1.5rem;--ifm-h3-font-size:1.25rem;--ifm-h4-font-size:1rem;--ifm-h5-font-size:0.875rem;--ifm-h6-font-size:0.85rem;--ifm-image-alignment-padding:1.25rem;--ifm-leading-desktop:1.25;--ifm-leading:calc(var(--ifm-leading-desktop)*1rem);--ifm-list-left-padding:2rem;--ifm-list-margin:1rem;--ifm-list-item-margin:0.25rem;--ifm-list-paragraph-margin:1rem;--ifm-table-cell-padding:0.75rem;--ifm-table-background:transparent;--ifm-table-stripe-background:rgba(0,0,0,.03);--ifm-table-border-width:1px;--ifm-table-border-color:var(--ifm-color-emphasis-300);--ifm-table-head-background:inherit;--ifm-table-head-color:inherit;--ifm-table-head-font-weight:var(--ifm-font-weight-bold);--ifm-table-cell-color:inherit;--ifm-link-color:var(--ifm-color-primary);--ifm-link-decoration:none;--ifm-link-hover-color:var(--ifm-link-color);--ifm-link-hover-decoration:underline;--ifm-paragraph-margin-bottom:var(--ifm-leading);--ifm-blockquote-font-size:var(--ifm-font-size-base);--ifm-blockquote-border-left-width:2px;--ifm-blockquote-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-blockquote-padding-vertical:0;--ifm-blockquote-shadow:none;--ifm-blockquote-color:var(--ifm-color-emphasis-800);--ifm-blockquote-border-color:var(--ifm-color-emphasis-300);--ifm-hr-background-color:var(--ifm-color-emphasis-500);--ifm-hr-height:1px;--ifm-hr-margin-vertical:1.5rem;--ifm-scrollbar-size:7px;--ifm-scrollbar-track-background-color:#f1f1f1;--ifm-scrollbar-thumb-background-color:silver;--ifm-scrollbar-thumb-hover-background-color:#a7a7a7;--ifm-alert-background-color:inherit;--ifm-alert-border-color:inherit;--ifm-alert-border-radius:var(--ifm-global-radius);--ifm-alert-border-width:0px;--ifm-alert-border-left-width:5px;--ifm-alert-color:var(--ifm-font-color-base);--ifm-alert-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-alert-padding-vertical:var(--ifm-spacing-vertical);--ifm-alert-shadow:var(--ifm-global-shadow-lw);--ifm-avatar-intro-margin:1rem;--ifm-avatar-intro-alignment:inherit;--ifm-avatar-photo-size:3rem;--ifm-badge-background-color:inherit;--ifm-badge-border-color:inherit;--ifm-badge-border-radius:var(--ifm-global-radius);--ifm-badge-border-width:var(--ifm-global-border-width);--ifm-badge-color:var(--ifm-color-white);--ifm-badge-padding-horizontal:calc(var(--ifm-spacing-horizontal)*0.5);--ifm-badge-padding-vertical:calc(var(--ifm-spacing-vertical)*0.25);--ifm-breadcrumb-border-radius:1.5rem;--ifm-breadcrumb-spacing:0.5rem;--ifm-breadcrumb-color-active:var(--ifm-color-primary);--ifm-breadcrumb-item-background-active:var(--ifm-hover-overlay);--ifm-breadcrumb-padding-horizontal:0.8rem;--ifm-breadcrumb-padding-vertical:0.4rem;--ifm-breadcrumb-size-multiplier:1;--ifm-breadcrumb-separator:url('data:image/svg+xml;utf8,');--ifm-breadcrumb-separator-filter:none;--ifm-breadcrumb-separator-size:0.5rem;--ifm-breadcrumb-separator-size-multiplier:1.25;--ifm-button-background-color:inherit;--ifm-button-border-color:var(--ifm-button-background-color);--ifm-button-border-width:var(--ifm-global-border-width);--ifm-button-font-weight:var(--ifm-font-weight-bold);--ifm-button-padding-horizontal:1.5rem;--ifm-button-padding-vertical:0.375rem;--ifm-button-size-multiplier:1;--ifm-button-transition-duration:var(--ifm-transition-fast);--ifm-button-border-radius:calc(var(--ifm-global-radius)*var(--ifm-button-size-multiplier));--ifm-button-group-spacing:2px;--ifm-card-background-color:var(--ifm-background-surface-color);--ifm-card-border-radius:calc(var(--ifm-global-radius)*2);--ifm-card-horizontal-spacing:var(--ifm-global-spacing);--ifm-card-vertical-spacing:var(--ifm-global-spacing);--ifm-toc-border-color:var(--ifm-color-emphasis-300);--ifm-toc-link-color:var(--ifm-color-content-secondary);--ifm-toc-padding-vertical:0.5rem;--ifm-toc-padding-horizontal:0.5rem;--ifm-dropdown-background-color:var(--ifm-background-surface-color);--ifm-dropdown-font-weight:var(--ifm-font-weight-semibold);--ifm-dropdown-link-color:var(--ifm-font-color-base);--ifm-dropdown-hover-background-color:var(--ifm-hover-overlay);--ifm-footer-background-color:var(--ifm-color-emphasis-100);--ifm-footer-color:inherit;--ifm-footer-link-color:var(--ifm-color-emphasis-700);--ifm-footer-link-hover-color:var(--ifm-color-primary);--ifm-footer-link-horizontal-spacing:0.5rem;--ifm-footer-padding-horizontal:calc(var(--ifm-spacing-horizontal)*2);--ifm-footer-padding-vertical:calc(var(--ifm-spacing-vertical)*2);--ifm-footer-title-color:inherit;--ifm-footer-logo-max-width:min(30rem,90vw);--ifm-hero-background-color:var(--ifm-background-surface-color);--ifm-hero-text-color:var(--ifm-color-emphasis-800);--ifm-menu-color:var(--ifm-color-emphasis-700);--ifm-menu-color-active:var(--ifm-color-primary);--ifm-menu-color-background-active:var(--ifm-hover-overlay);--ifm-menu-color-background-hover:var(--ifm-hover-overlay);--ifm-menu-link-padding-horizontal:0.75rem;--ifm-menu-link-padding-vertical:0.375rem;--ifm-menu-link-sublist-icon:url('data:image/svg+xml;utf8,');--ifm-menu-link-sublist-icon-filter:none;--ifm-navbar-background-color:var(--ifm-background-surface-color);--ifm-navbar-height:3.75rem;--ifm-navbar-item-padding-horizontal:0.75rem;--ifm-navbar-item-padding-vertical:0.25rem;--ifm-navbar-link-color:var(--ifm-font-color-base);--ifm-navbar-link-active-color:var(--ifm-link-color);--ifm-navbar-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-navbar-padding-vertical:calc(var(--ifm-spacing-vertical)*0.5);--ifm-navbar-shadow:var(--ifm-global-shadow-lw);--ifm-navbar-search-input-background-color:var(--ifm-color-emphasis-200);--ifm-navbar-search-input-color:var(--ifm-color-emphasis-800);--ifm-navbar-search-input-placeholder-color:var(--ifm-color-emphasis-500);--ifm-navbar-search-input-icon:url('data:image/svg+xml;utf8,');--ifm-navbar-sidebar-width:83vw;--ifm-pagination-border-radius:var(--ifm-global-radius);--ifm-pagination-color-active:var(--ifm-color-primary);--ifm-pagination-font-size:1rem;--ifm-pagination-item-active-background:var(--ifm-hover-overlay);--ifm-pagination-page-spacing:0.2em;--ifm-pagination-padding-horizontal:calc(var(--ifm-spacing-horizontal)*1);--ifm-pagination-padding-vertical:calc(var(--ifm-spacing-vertical)*0.25);--ifm-pagination-nav-border-radius:var(--ifm-global-radius);--ifm-pagination-nav-color-hover:var(--ifm-color-primary);--ifm-pills-color-active:var(--ifm-color-primary);--ifm-pills-color-background-active:var(--ifm-hover-overlay);--ifm-pills-spacing:0.125rem;--ifm-tabs-color:var(--ifm-font-color-secondary);--ifm-tabs-color-active:var(--ifm-color-primary);--ifm-tabs-color-active-border:var(--ifm-tabs-color-active);--ifm-tabs-padding-horizontal:1rem;--ifm-tabs-padding-vertical:1rem}.badge--danger,.badge--info,.badge--primary,.badge--secondary,.badge--success,.badge--warning{--ifm-badge-border-color:var(--ifm-badge-background-color)}.button--link,.button--outline{--ifm-button-background-color:transparent}html{-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;text-size-adjust:100%;background-color:var(--ifm-background-color);color:var(--ifm-font-color-base);color-scheme:var(--ifm-color-scheme);font:var(--ifm-font-size-base)/var(--ifm-line-height-base) var(--ifm-font-family-base);text-rendering:optimizelegibility}iframe{border:0;color-scheme:auto}.container{margin:0 auto;max-width:var(--ifm-container-width)}.container--fluid{max-width:inherit}.row{display:flex;flex-wrap:wrap;margin:0 calc(var(--ifm-spacing-horizontal)*-1)}.margin-bottom--none,.margin-vert--none,.markdown>:last-child{margin-bottom:0!important}.margin-top--none,.margin-vert--none,.tabItem_dswv{margin-top:0!important}.row--no-gutters{margin-left:0;margin-right:0}.margin-horiz--none,.margin-right--none{margin-right:0!important}.row--no-gutters>.col{padding-left:0;padding-right:0}.row--align-top{align-items:flex-start}.row--align-bottom{align-items:flex-end}.menuExternalLink_OjDg,.row--align-center{align-items:center}.row--align-stretch{align-items:stretch}.row--align-baseline{align-items:baseline}.col{--ifm-col-width:100%;flex:1 0;margin-left:0;max-width:var(--ifm-col-width)}.padding-bottom--none,.padding-vert--none{padding-bottom:0!important}.padding-top--none,.padding-vert--none{padding-top:0!important}.padding-horiz--none,.padding-left--none{padding-left:0!important}.padding-horiz--none,.padding-right--none{padding-right:0!important}.col[class*=col--]{flex:0 0 var(--ifm-col-width)}.col--1{--ifm-col-width:8.33333%}.col--offset-1{margin-left:8.33333%}.col--2{--ifm-col-width:16.66667%}.col--offset-2{margin-left:16.66667%}.col--3{--ifm-col-width:25%}.col--offset-3{margin-left:25%}.col--4{--ifm-col-width:33.33333%}.col--offset-4{margin-left:33.33333%}.col--5{--ifm-col-width:41.66667%}.col--offset-5{margin-left:41.66667%}.col--6{--ifm-col-width:50%}.col--offset-6{margin-left:50%}.col--7{--ifm-col-width:58.33333%}.col--offset-7{margin-left:58.33333%}.col--8{--ifm-col-width:66.66667%}.col--offset-8{margin-left:66.66667%}.col--9{--ifm-col-width:75%}.col--offset-9{margin-left:75%}.col--10{--ifm-col-width:83.33333%}.col--offset-10{margin-left:83.33333%}.col--11{--ifm-col-width:91.66667%}.col--offset-11{margin-left:91.66667%}.col--12{--ifm-col-width:100%}.col--offset-12{margin-left:100%}.margin-horiz--none,.margin-left--none{margin-left:0!important}.margin--none{margin:0!important}.margin-bottom--xs,.margin-vert--xs{margin-bottom:.25rem!important}.margin-top--xs,.margin-vert--xs{margin-top:.25rem!important}.margin-horiz--xs,.margin-left--xs{margin-left:.25rem!important}.margin-horiz--xs,.margin-right--xs{margin-right:.25rem!important}.margin--xs{margin:.25rem!important}.margin-bottom--sm,.margin-vert--sm{margin-bottom:.5rem!important}.margin-top--sm,.margin-vert--sm{margin-top:.5rem!important}.margin-horiz--sm,.margin-left--sm{margin-left:.5rem!important}.margin-horiz--sm,.margin-right--sm{margin-right:.5rem!important}.margin--sm{margin:.5rem!important}.margin-bottom--md,.margin-vert--md{margin-bottom:1rem!important}.margin-top--md,.margin-vert--md{margin-top:1rem!important}.margin-horiz--md,.margin-left--md{margin-left:1rem!important}.margin-horiz--md,.margin-right--md{margin-right:1rem!important}.margin--md{margin:1rem!important}.margin-bottom--lg,.margin-vert--lg{margin-bottom:2rem!important}.margin-top--lg,.margin-vert--lg{margin-top:2rem!important}.margin-horiz--lg,.margin-left--lg{margin-left:2rem!important}.margin-horiz--lg,.margin-right--lg{margin-right:2rem!important}.margin--lg{margin:2rem!important}.margin-bottom--xl,.margin-vert--xl{margin-bottom:5rem!important}.margin-top--xl,.margin-vert--xl{margin-top:5rem!important}.margin-horiz--xl,.margin-left--xl{margin-left:5rem!important}.margin-horiz--xl,.margin-right--xl{margin-right:5rem!important}.margin--xl{margin:5rem!important}.padding--none{padding:0!important}.padding-bottom--xs,.padding-vert--xs{padding-bottom:.25rem!important}.padding-top--xs,.padding-vert--xs{padding-top:.25rem!important}.padding-horiz--xs,.padding-left--xs{padding-left:.25rem!important}.padding-horiz--xs,.padding-right--xs{padding-right:.25rem!important}.padding--xs{padding:.25rem!important}.padding-bottom--sm,.padding-vert--sm{padding-bottom:.5rem!important}.padding-top--sm,.padding-vert--sm{padding-top:.5rem!important}.padding-horiz--sm,.padding-left--sm{padding-left:.5rem!important}.padding-horiz--sm,.padding-right--sm{padding-right:.5rem!important}.padding--sm{padding:.5rem!important}.padding-bottom--md,.padding-vert--md{padding-bottom:1rem!important}.padding-top--md,.padding-vert--md{padding-top:1rem!important}.padding-horiz--md,.padding-left--md{padding-left:1rem!important}.padding-horiz--md,.padding-right--md{padding-right:1rem!important}.padding--md{padding:1rem!important}.padding-bottom--lg,.padding-vert--lg{padding-bottom:2rem!important}.padding-top--lg,.padding-vert--lg{padding-top:2rem!important}.padding-horiz--lg,.padding-left--lg{padding-left:2rem!important}.padding-horiz--lg,.padding-right--lg{padding-right:2rem!important}.padding--lg{padding:2rem!important}.padding-bottom--xl,.padding-vert--xl{padding-bottom:5rem!important}.padding-top--xl,.padding-vert--xl{padding-top:5rem!important}.padding-horiz--xl,.padding-left--xl{padding-left:5rem!important}.padding-horiz--xl,.padding-right--xl{padding-right:5rem!important}.padding--xl{padding:5rem!important}code{background-color:var(--ifm-code-background);border:.1rem solid rgba(0,0,0,.1);border-radius:var(--ifm-code-border-radius);font-family:var(--ifm-font-family-monospace);font-size:var(--ifm-code-font-size);padding:var(--ifm-code-padding-vertical) var(--ifm-code-padding-horizontal)}a code{color:inherit}pre{background-color:var(--ifm-pre-background);border-radius:var(--ifm-pre-border-radius);color:var(--ifm-pre-color);font:var(--ifm-code-font-size)/var(--ifm-pre-line-height) var(--ifm-font-family-monospace);padding:var(--ifm-pre-padding)}pre code{background-color:transparent;border:none;font-size:100%;line-height:inherit;padding:0}kbd{background-color:var(--ifm-color-emphasis-0);border:1px solid var(--ifm-color-emphasis-400);border-radius:.2rem;box-shadow:inset 0 -1px 0 var(--ifm-color-emphasis-400);color:var(--ifm-color-emphasis-800);font:80% var(--ifm-font-family-monospace);padding:.15rem .3rem}h1,h2,h3,h4,h5,h6{color:var(--ifm-heading-color);font-family:var(--ifm-heading-font-family);font-weight:var(--ifm-heading-font-weight);line-height:var(--ifm-heading-line-height);margin:var(--ifm-heading-margin-top) 0 var(--ifm-heading-margin-bottom) 0}h1{font-size:var(--ifm-h1-font-size)}h2{font-size:var(--ifm-h2-font-size)}h3{font-size:var(--ifm-h3-font-size)}h4{font-size:var(--ifm-h4-font-size)}h5{font-size:var(--ifm-h5-font-size)}h6{font-size:var(--ifm-h6-font-size)}img{max-width:100%}img[align=right]{padding-left:var(--image-alignment-padding)}img[align=left]{padding-right:var(--image-alignment-padding)}.markdown{--ifm-h1-vertical-rhythm-top:3;--ifm-h2-vertical-rhythm-top:2;--ifm-h3-vertical-rhythm-top:1.5;--ifm-heading-vertical-rhythm-top:1.25;--ifm-h1-vertical-rhythm-bottom:1.25;--ifm-heading-vertical-rhythm-bottom:1}.markdown:after,.markdown:before{content:"";display:table}.markdown:after{clear:both}.markdown h1:first-child{--ifm-h1-font-size:3rem;margin-bottom:calc(var(--ifm-h1-vertical-rhythm-bottom)*var(--ifm-leading))}.markdown>h2{--ifm-h2-font-size:2rem;margin-top:calc(var(--ifm-h2-vertical-rhythm-top)*var(--ifm-leading))}.markdown>h3{--ifm-h3-font-size:1.5rem;margin-top:calc(var(--ifm-h3-vertical-rhythm-top)*var(--ifm-leading))}.markdown>h4,.markdown>h5,.markdown>h6{margin-top:calc(var(--ifm-heading-vertical-rhythm-top)*var(--ifm-leading))}.markdown>p,.markdown>pre,.markdown>ul,.tabList_YkLP{margin-bottom:var(--ifm-leading)}.markdown li>p{margin-top:var(--ifm-list-paragraph-margin)}.markdown li+li{margin-top:var(--ifm-list-item-margin)}ol,ul{margin:0 0 var(--ifm-list-margin);padding-left:var(--ifm-list-left-padding)}ol ol,ul ol{list-style-type:lower-roman}ol ol ol,ol ul ol,ul ol ol,ul ul ol{list-style-type:lower-alpha}table{border-collapse:collapse;display:block;margin-bottom:var(--ifm-spacing-vertical)}table thead tr{border-bottom:2px solid var(--ifm-table-border-color)}table thead,table tr:nth-child(2n){background-color:var(--ifm-table-stripe-background)}table tr{background-color:var(--ifm-table-background);border-top:var(--ifm-table-border-width) solid var(--ifm-table-border-color)}table td,table th{border:var(--ifm-table-border-width) solid var(--ifm-table-border-color);padding:var(--ifm-table-cell-padding)}table th{background-color:var(--ifm-table-head-background);color:var(--ifm-table-head-color);font-weight:var(--ifm-table-head-font-weight)}table td{color:var(--ifm-table-cell-color)}strong{font-weight:var(--ifm-font-weight-bold)}a{color:var(--ifm-link-color);text-decoration:var(--ifm-link-decoration)}a:hover{color:var(--ifm-link-hover-color);text-decoration:var(--ifm-link-hover-decoration)}.button:hover,.text--no-decoration,.text--no-decoration:hover,a:not([href]){text-decoration:none}p{margin:0 0 var(--ifm-paragraph-margin-bottom)}blockquote{border-left:var(--ifm-blockquote-border-left-width) solid var(--ifm-blockquote-border-color);box-shadow:var(--ifm-blockquote-shadow);color:var(--ifm-blockquote-color);font-size:var(--ifm-blockquote-font-size);padding:var(--ifm-blockquote-padding-vertical) var(--ifm-blockquote-padding-horizontal)}blockquote>:first-child{margin-top:0}blockquote>:last-child{margin-bottom:0}hr{background-color:var(--ifm-hr-background-color);border:0;height:var(--ifm-hr-height);margin:var(--ifm-hr-margin-vertical) 0}.shadow--lw{box-shadow:var(--ifm-global-shadow-lw)!important}.shadow--md{box-shadow:var(--ifm-global-shadow-md)!important}.shadow--tl{box-shadow:var(--ifm-global-shadow-tl)!important}.text--primary,.wordWrapButtonEnabled_ushK .wordWrapButtonIcon_pxxl{color:var(--ifm-color-primary)}.text--secondary{color:var(--ifm-color-secondary)}.text--success{color:var(--ifm-color-success)}.text--info{color:var(--ifm-color-info)}.text--warning{color:var(--ifm-color-warning)}.text--danger{color:var(--ifm-color-danger)}.text--center{text-align:center}.text--left{text-align:left}.text--justify{text-align:justify}.text--right{text-align:right}.text--capitalize{text-transform:capitalize}.text--lowercase{text-transform:lowercase}.admonitionHeading_XaEw,.alert__heading,.text--uppercase{text-transform:uppercase}.text--light{font-weight:var(--ifm-font-weight-light)}.text--normal{font-weight:var(--ifm-font-weight-normal)}.text--semibold{font-weight:var(--ifm-font-weight-semibold)}.text--bold{font-weight:var(--ifm-font-weight-bold)}.text--italic{font-style:italic}.text--break{word-wrap:break-word!important;word-break:break-word!important}.clean-btn{background:none;border:none;color:inherit;cursor:pointer;font-family:inherit;padding:0}.alert,.alert .close{color:var(--ifm-alert-foreground-color)}.clean-list{padding-left:0}.alert--primary{--ifm-alert-background-color:var(--ifm-color-primary-contrast-background);--ifm-alert-background-color-highlight:rgba(53,120,229,.15);--ifm-alert-foreground-color:var(--ifm-color-primary-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-primary-dark)}.alert--secondary{--ifm-alert-background-color:var(--ifm-color-secondary-contrast-background);--ifm-alert-background-color-highlight:rgba(235,237,240,.15);--ifm-alert-foreground-color:var(--ifm-color-secondary-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-secondary-dark)}.alert--success{--ifm-alert-background-color:var(--ifm-color-success-contrast-background);--ifm-alert-background-color-highlight:rgba(0,164,0,.15);--ifm-alert-foreground-color:var(--ifm-color-success-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-success-dark)}.alert--info{--ifm-alert-background-color:var(--ifm-color-info-contrast-background);--ifm-alert-background-color-highlight:rgba(84,199,236,.15);--ifm-alert-foreground-color:var(--ifm-color-info-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-info-dark)}.alert--warning{--ifm-alert-background-color:var(--ifm-color-warning-contrast-background);--ifm-alert-background-color-highlight:rgba(255,186,0,.15);--ifm-alert-foreground-color:var(--ifm-color-warning-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-warning-dark)}.alert--danger{--ifm-alert-background-color:var(--ifm-color-danger-contrast-background);--ifm-alert-background-color-highlight:rgba(250,56,62,.15);--ifm-alert-foreground-color:var(--ifm-color-danger-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-danger-dark)}.alert{--ifm-code-background:var(--ifm-alert-background-color-highlight);--ifm-link-color:var(--ifm-alert-foreground-color);--ifm-link-hover-color:var(--ifm-alert-foreground-color);--ifm-link-decoration:underline;--ifm-tabs-color:var(--ifm-alert-foreground-color);--ifm-tabs-color-active:var(--ifm-alert-foreground-color);--ifm-tabs-color-active-border:var(--ifm-alert-border-color);background-color:var(--ifm-alert-background-color);border:var(--ifm-alert-border-width) solid var(--ifm-alert-border-color);border-left-width:var(--ifm-alert-border-left-width);border-radius:var(--ifm-alert-border-radius);box-shadow:var(--ifm-alert-shadow);padding:var(--ifm-alert-padding-vertical) var(--ifm-alert-padding-horizontal)}.alert__heading{align-items:center;display:flex;font:700 var(--ifm-h5-font-size)/var(--ifm-heading-line-height) var(--ifm-heading-font-family);margin-bottom:.5rem}.alert__icon{display:inline-flex;margin-right:.4em}.alert__icon svg{fill:var(--ifm-alert-foreground-color);stroke:var(--ifm-alert-foreground-color);stroke-width:0}.alert .close{margin:calc(var(--ifm-alert-padding-vertical)*-1) calc(var(--ifm-alert-padding-horizontal)*-1) 0 0;opacity:.75}.alert .close:focus,.alert .close:hover{opacity:1}.alert a{text-decoration-color:var(--ifm-alert-border-color)}.alert a:hover{text-decoration-thickness:2px}.avatar{column-gap:var(--ifm-avatar-intro-margin);display:flex}.avatar__photo{border-radius:50%;display:block;height:var(--ifm-avatar-photo-size);width:var(--ifm-avatar-photo-size)}.card--full-height,.navbar__logo img,body,html{height:100%}.avatar__photo--sm{--ifm-avatar-photo-size:2rem}.avatar__photo--lg{--ifm-avatar-photo-size:4rem}.avatar__photo--xl{--ifm-avatar-photo-size:6rem}.avatar__intro{display:flex;flex:1 1;flex-direction:column;justify-content:center;text-align:var(--ifm-avatar-intro-alignment)}.badge,.breadcrumbs__item,.breadcrumbs__link,.button,.dropdown>.navbar__link:after,.searchBarContainer_fRwZ.searchIndexLoading_uDGW .searchBarLoadingRing_Iq7K{display:inline-block}.avatar__name{font:700 var(--ifm-h4-font-size)/var(--ifm-heading-line-height) var(--ifm-font-family-base)}.avatar__subtitle{margin-top:.25rem}.avatar--vertical{--ifm-avatar-intro-alignment:center;--ifm-avatar-intro-margin:0.5rem;align-items:center;flex-direction:column}.badge{background-color:var(--ifm-badge-background-color);border:var(--ifm-badge-border-width) solid var(--ifm-badge-border-color);border-radius:var(--ifm-badge-border-radius);color:var(--ifm-badge-color);font-size:75%;font-weight:var(--ifm-font-weight-bold);line-height:1;padding:var(--ifm-badge-padding-vertical) var(--ifm-badge-padding-horizontal)}.badge--primary{--ifm-badge-background-color:var(--ifm-color-primary)}.badge--secondary{--ifm-badge-background-color:var(--ifm-color-secondary);color:var(--ifm-color-black)}.breadcrumbs__link,.button.button--secondary.button--outline:not(.button--active):not(:hover){color:var(--ifm-font-color-base)}.badge--success{--ifm-badge-background-color:var(--ifm-color-success)}.badge--info{--ifm-badge-background-color:var(--ifm-color-info)}.badge--warning{--ifm-badge-background-color:var(--ifm-color-warning)}.badge--danger{--ifm-badge-background-color:var(--ifm-color-danger)}.breadcrumbs{margin-bottom:0;padding-left:0}.breadcrumbs__item:not(:last-child):after{background:var(--ifm-breadcrumb-separator) center;content:" ";display:inline-block;filter:var(--ifm-breadcrumb-separator-filter);height:calc(var(--ifm-breadcrumb-separator-size)*var(--ifm-breadcrumb-size-multiplier)*var(--ifm-breadcrumb-separator-size-multiplier));margin:0 var(--ifm-breadcrumb-spacing);opacity:.5;width:calc(var(--ifm-breadcrumb-separator-size)*var(--ifm-breadcrumb-size-multiplier)*var(--ifm-breadcrumb-separator-size-multiplier))}.breadcrumbs__item--active .breadcrumbs__link{background:var(--ifm-breadcrumb-item-background-active);color:var(--ifm-breadcrumb-color-active)}.breadcrumbs__link{border-radius:var(--ifm-breadcrumb-border-radius);font-size:calc(1rem*var(--ifm-breadcrumb-size-multiplier));padding:calc(var(--ifm-breadcrumb-padding-vertical)*var(--ifm-breadcrumb-size-multiplier)) calc(var(--ifm-breadcrumb-padding-horizontal)*var(--ifm-breadcrumb-size-multiplier));transition-duration:var(--ifm-transition-fast);transition-property:background,color}.breadcrumbs__link:link:hover,.breadcrumbs__link:visited:hover,area.breadcrumbs__link[href]:hover{background:var(--ifm-breadcrumb-item-background-active);text-decoration:none}.breadcrumbs__link:any-link:hover{background:var(--ifm-breadcrumb-item-background-active);text-decoration:none}.breadcrumbs--sm{--ifm-breadcrumb-size-multiplier:0.8}.breadcrumbs--lg{--ifm-breadcrumb-size-multiplier:1.2}.button{background-color:var(--ifm-button-background-color);border:var(--ifm-button-border-width) solid var(--ifm-button-border-color);border-radius:var(--ifm-button-border-radius);cursor:pointer;font-size:calc(.875rem*var(--ifm-button-size-multiplier));font-weight:var(--ifm-button-font-weight);line-height:1.5;padding:calc(var(--ifm-button-padding-vertical)*var(--ifm-button-size-multiplier)) calc(var(--ifm-button-padding-horizontal)*var(--ifm-button-size-multiplier));text-align:center;transition-duration:var(--ifm-button-transition-duration);transition-property:color,background,border-color;-webkit-user-select:none;user-select:none}.button,.button:hover{color:var(--ifm-button-color)}.button--outline{--ifm-button-color:var(--ifm-button-border-color)}.button--outline:hover{--ifm-button-background-color:var(--ifm-button-border-color)}.button--link{--ifm-button-border-color:transparent;color:var(--ifm-link-color);text-decoration:var(--ifm-link-decoration)}.button--link.button--active,.button--link:active,.button--link:hover{color:var(--ifm-link-hover-color);text-decoration:var(--ifm-link-hover-decoration)}.button.disabled,.button:disabled,.button[disabled]{opacity:.65;pointer-events:none}.button--sm{--ifm-button-size-multiplier:0.8}.button--lg{--ifm-button-size-multiplier:1.35}.button--block{display:block;width:100%}.button.button--secondary{color:var(--ifm-color-gray-900)}:where(.button--primary){--ifm-button-background-color:var(--ifm-color-primary);--ifm-button-border-color:var(--ifm-color-primary)}:where(.button--primary):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-primary-dark);--ifm-button-border-color:var(--ifm-color-primary-dark)}.button--primary.button--active,.button--primary:active{--ifm-button-background-color:var(--ifm-color-primary-darker);--ifm-button-border-color:var(--ifm-color-primary-darker)}:where(.button--secondary){--ifm-button-background-color:var(--ifm-color-secondary);--ifm-button-border-color:var(--ifm-color-secondary)}:where(.button--secondary):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-secondary-dark);--ifm-button-border-color:var(--ifm-color-secondary-dark)}.button--secondary.button--active,.button--secondary:active{--ifm-button-background-color:var(--ifm-color-secondary-darker);--ifm-button-border-color:var(--ifm-color-secondary-darker)}:where(.button--success){--ifm-button-background-color:var(--ifm-color-success);--ifm-button-border-color:var(--ifm-color-success)}:where(.button--success):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-success-dark);--ifm-button-border-color:var(--ifm-color-success-dark)}.button--success.button--active,.button--success:active{--ifm-button-background-color:var(--ifm-color-success-darker);--ifm-button-border-color:var(--ifm-color-success-darker)}:where(.button--info){--ifm-button-background-color:var(--ifm-color-info);--ifm-button-border-color:var(--ifm-color-info)}:where(.button--info):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-info-dark);--ifm-button-border-color:var(--ifm-color-info-dark)}.button--info.button--active,.button--info:active{--ifm-button-background-color:var(--ifm-color-info-darker);--ifm-button-border-color:var(--ifm-color-info-darker)}:where(.button--warning){--ifm-button-background-color:var(--ifm-color-warning);--ifm-button-border-color:var(--ifm-color-warning)}:where(.button--warning):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-warning-dark);--ifm-button-border-color:var(--ifm-color-warning-dark)}.button--warning.button--active,.button--warning:active{--ifm-button-background-color:var(--ifm-color-warning-darker);--ifm-button-border-color:var(--ifm-color-warning-darker)}:where(.button--danger){--ifm-button-background-color:var(--ifm-color-danger);--ifm-button-border-color:var(--ifm-color-danger)}:where(.button--danger):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-danger-dark);--ifm-button-border-color:var(--ifm-color-danger-dark)}.button--danger.button--active,.button--danger:active{--ifm-button-background-color:var(--ifm-color-danger-darker);--ifm-button-border-color:var(--ifm-color-danger-darker)}.button-group{display:inline-flex;gap:var(--ifm-button-group-spacing)}.button-group>.button:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.button-group>.button:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.button-group--block{display:flex;justify-content:stretch}.button-group--block>.button{flex-grow:1}.card{background-color:var(--ifm-card-background-color);border-radius:var(--ifm-card-border-radius);box-shadow:var(--ifm-global-shadow-lw);display:flex;flex-direction:column}.card__image{padding-top:var(--ifm-card-vertical-spacing)}.card__image:first-child{padding-top:0}.card__body,.card__footer,.card__header{padding:var(--ifm-card-vertical-spacing) var(--ifm-card-horizontal-spacing)}.card__body:not(:last-child),.card__footer:not(:last-child),.card__header:not(:last-child){padding-bottom:0}.card__body>:last-child,.card__footer>:last-child,.card__header>:last-child{margin-bottom:0}.card__footer{margin-top:auto}.table-of-contents{font-size:.8rem;margin-bottom:0;padding:var(--ifm-toc-padding-vertical) 0}.table-of-contents,.table-of-contents ul{list-style:none;padding-left:var(--ifm-toc-padding-horizontal)}.table-of-contents li{margin:var(--ifm-toc-padding-vertical) var(--ifm-toc-padding-horizontal)}.table-of-contents__left-border{border-left:1px solid var(--ifm-toc-border-color)}.table-of-contents__link{color:var(--ifm-toc-link-color);display:block}.table-of-contents__link--active,.table-of-contents__link--active code,.table-of-contents__link:hover,.table-of-contents__link:hover code{color:var(--ifm-color-primary);text-decoration:none}.content_IhaR a,.hitFooter_IqUd a,.suggestion_ADPi.cursor_bSlF mark{text-decoration:underline}.close{color:var(--ifm-color-black);float:right;font-size:1.5rem;font-weight:var(--ifm-font-weight-bold);line-height:1;opacity:.5;padding:1rem;transition:opacity var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.close:hover{opacity:.7}.btn_ThXI:hover,.close:focus,.theme-code-block-highlighted-line .codeLineNumber_MzZe:before{opacity:.8}.dropdown{display:inline-flex;font-weight:var(--ifm-dropdown-font-weight);position:relative;vertical-align:top}.dropdown--hoverable:hover .dropdown__menu,.dropdown--show .dropdown__menu{opacity:1;pointer-events:all;transform:translateY(-1px);visibility:visible}.dropdown--right .dropdown__menu{left:inherit;right:0}.dropdown--nocaret .navbar__link:after{content:none!important}.dropdown__menu{background-color:var(--ifm-dropdown-background-color);border-radius:var(--ifm-global-radius);box-shadow:var(--ifm-global-shadow-md);left:0;max-height:80vh;min-width:10rem;opacity:0;overflow-y:auto;padding:.5rem;pointer-events:none;position:absolute;top:calc(100% - var(--ifm-navbar-item-padding-vertical) + .3rem);transform:translateY(-.625rem);transition-duration:var(--ifm-transition-fast);transition-property:opacity,transform,visibility;transition-timing-function:var(--ifm-transition-timing-default);visibility:hidden;z-index:var(--ifm-z-index-dropdown)}.menu__caret,.menu__link,.menu__list-item-collapsible{border-radius:.25rem;transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.dropdown__link{border-radius:.25rem;color:var(--ifm-dropdown-link-color);display:block;font-size:.875rem;margin-top:.2rem;padding:.25rem .5rem}.dropdown__link--active,.dropdown__link:hover{background-color:var(--ifm-dropdown-hover-background-color);color:var(--ifm-dropdown-link-color);text-decoration:none}.dropdown__link--active,.dropdown__link--active:hover{--ifm-dropdown-link-color:var(--ifm-link-color)}.dropdown>.navbar__link:after{border-color:currentcolor transparent;border-style:solid;border-width:.4em .4em 0;content:"";margin-left:.3em;position:relative;top:2px;transform:translateY(-50%)}.footer{background-color:var(--ifm-footer-background-color);color:var(--ifm-footer-color);padding:var(--ifm-footer-padding-vertical) var(--ifm-footer-padding-horizontal)}.footer--dark{--ifm-footer-background-color:#303846;--ifm-footer-color:var(--ifm-footer-link-color);--ifm-footer-link-color:var(--ifm-color-secondary);--ifm-footer-title-color:var(--ifm-color-white)}.footer__links{margin-bottom:1rem}.footer__link-item{color:var(--ifm-footer-link-color);line-height:2}.footer__link-item:hover{color:var(--ifm-footer-link-hover-color)}.footer__link-separator{margin:0 var(--ifm-footer-link-horizontal-spacing)}.footer__logo{margin-top:1rem;max-width:var(--ifm-footer-logo-max-width)}.footer__title{color:var(--ifm-footer-title-color);font:700 var(--ifm-h4-font-size)/var(--ifm-heading-line-height) var(--ifm-font-family-base);margin-bottom:var(--ifm-heading-margin-bottom)}.menu,.navbar__link{font-weight:var(--ifm-font-weight-semibold)}.docItemContainer_NNJb article>:first-child,.docItemContainer_NNJb header+*,.footer__item{margin-top:0}.admonitionContent_R4cD>:last-child,.collapsibleContent_SCDy>:last-child,.footer__items,.searchResultItem_BbR9>h2,.tabItem_Z7jx>:last-child{margin-bottom:0}.codeBlockStandalone_TuLE,[type=checkbox]{padding:0}.hero{align-items:center;background-color:var(--ifm-hero-background-color);color:var(--ifm-hero-text-color);display:flex;padding:4rem 2rem}.hero--primary{--ifm-hero-background-color:var(--ifm-color-primary);--ifm-hero-text-color:var(--ifm-font-color-base-inverse)}.hero--dark{--ifm-hero-background-color:#303846;--ifm-hero-text-color:var(--ifm-color-white)}.hero__title{font-size:3rem}.hero__subtitle{font-size:1.5rem}.menu__list{margin:0;padding-left:0}.menu__caret,.menu__link{padding:var(--ifm-menu-link-padding-vertical) var(--ifm-menu-link-padding-horizontal)}.menu__list .menu__list{flex:0 0 100%;margin-top:.25rem;padding-left:var(--ifm-menu-link-padding-horizontal)}.menu__list-item:not(:first-child){margin-top:.25rem}.menu__list-item--collapsed .menu__list{height:0;overflow:hidden}.details_GcAu[data-collapsed=false].isBrowser_rf6r>summary:before,.details_GcAu[open]:not(.isBrowser_rf6r)>summary:before,.menu__list-item--collapsed .menu__caret:before,.menu__list-item--collapsed .menu__link--sublist:after{transform:rotate(90deg)}.menu__list-item-collapsible{display:flex;flex-wrap:wrap;position:relative}.menu__caret:hover,.menu__link:hover,.menu__list-item-collapsible--active,.menu__list-item-collapsible:hover{background:var(--ifm-menu-color-background-hover)}.menu__list-item-collapsible .menu__link--active,.menu__list-item-collapsible .menu__link:hover{background:none!important}.menu__caret,.menu__link{align-items:center;display:flex}.menu__link{color:var(--ifm-menu-color);flex:1;line-height:1.25}.menu__link:hover{color:var(--ifm-menu-color);text-decoration:none}.menu__caret:before,.menu__link--sublist-caret:after{height:1.25rem;transform:rotate(180deg);transition:transform var(--ifm-transition-fast) linear;width:1.25rem;filter:var(--ifm-menu-link-sublist-icon-filter);content:""}.menu__link--sublist-caret:after{background:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem;margin-left:auto;min-width:1.25rem}.menu__link--active,.menu__link--active:hover{color:var(--ifm-menu-color-active)}.navbar__brand,.navbar__link{color:var(--ifm-navbar-link-color)}.menu__link--active:not(.menu__link--sublist){background-color:var(--ifm-menu-color-background-active)}.menu__caret:before{background:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem}.navbar--dark,html[data-theme=dark]{--ifm-menu-link-sublist-icon-filter:invert(100%) sepia(94%) saturate(17%) hue-rotate(223deg) brightness(104%) contrast(98%)}.navbar{background-color:var(--ifm-navbar-background-color);box-shadow:var(--ifm-navbar-shadow);height:var(--ifm-navbar-height);padding:var(--ifm-navbar-padding-vertical) var(--ifm-navbar-padding-horizontal)}.navbar,.navbar>.container,.navbar>.container-fluid{display:flex}.navbar--fixed-top{position:sticky;top:0;z-index:var(--ifm-z-index-fixed)}.navbar-sidebar,.navbar-sidebar__backdrop{left:0;opacity:0;position:fixed;transition-timing-function:ease-in-out;top:0;bottom:0;visibility:hidden}.navbar__inner{display:flex;flex-wrap:wrap;justify-content:space-between;width:100%}.navbar__brand{align-items:center;display:flex;margin-right:1rem;min-width:0}.navbar__brand:hover{color:var(--ifm-navbar-link-hover-color);text-decoration:none}.announcementBarContent_lBkp,.navbar__title{flex:1 1 auto}.navbar__toggle{display:none;margin-right:.5rem}.navbar__logo{flex:0 0 auto;margin-right:.5rem}.navbar__items{align-items:center;display:flex;flex:1;min-width:0}.navbar__items--center{flex:0 0 auto}.navbar__items--center .navbar__brand{margin:0}.navbar__items--center+.navbar__items--right{flex:1}.navbar__items--right{flex:0 0 auto;justify-content:flex-end}.navbar__items--right>:last-child{padding-right:0}.navbar__item{display:inline-block;padding:var(--ifm-navbar-item-padding-vertical) var(--ifm-navbar-item-padding-horizontal)}#nprogress,.navbar__item.dropdown .navbar__link:not([href]){pointer-events:none}.navbar__link--active,.navbar__link:hover{color:var(--ifm-navbar-link-hover-color);text-decoration:none}.navbar--dark,.navbar--primary{--ifm-menu-color:var(--ifm-color-gray-300);--ifm-navbar-link-color:var(--ifm-color-gray-100);--ifm-navbar-search-input-background-color:hsla(0,0%,100%,.1);--ifm-navbar-search-input-placeholder-color:hsla(0,0%,100%,.5);color:var(--ifm-color-white)}.navbar--dark{--ifm-navbar-background-color:#242526;--ifm-menu-color-background-active:hsla(0,0%,100%,.05);--ifm-navbar-search-input-color:var(--ifm-color-white)}.navbar--primary{--ifm-navbar-background-color:var(--ifm-color-primary);--ifm-navbar-link-hover-color:var(--ifm-color-white);--ifm-menu-color-active:var(--ifm-color-white);--ifm-navbar-search-input-color:var(--ifm-color-emphasis-500)}.navbar__search-input{-webkit-appearance:none;appearance:none;background:var(--ifm-navbar-search-input-background-color) var(--ifm-navbar-search-input-icon) no-repeat .75rem center/1rem 1rem;border:none;border-radius:2rem;color:var(--ifm-navbar-search-input-color);cursor:text;display:inline-block;font-size:.9rem;height:2rem;padding:0 .5rem 0 2.25rem;width:12.5rem}.navbar__search-input::placeholder{color:var(--ifm-navbar-search-input-placeholder-color)}.navbar-sidebar{background-color:var(--ifm-navbar-background-color);box-shadow:var(--ifm-global-shadow-md);transform:translate3d(-100%,0,0);transition-duration:.25s;transition-property:opacity,visibility,transform;width:var(--ifm-navbar-sidebar-width)}.navbar-sidebar--show .navbar-sidebar,.navbar-sidebar__items{transform:translateZ(0)}.navbar-sidebar--show .navbar-sidebar,.navbar-sidebar--show .navbar-sidebar__backdrop{opacity:1;visibility:visible}.navbar-sidebar__backdrop{background-color:rgba(0,0,0,.6);right:0;transition-duration:.1s;transition-property:opacity,visibility}.navbar-sidebar__brand{align-items:center;box-shadow:var(--ifm-navbar-shadow);display:flex;flex:1;height:var(--ifm-navbar-height);padding:var(--ifm-navbar-padding-vertical) var(--ifm-navbar-padding-horizontal)}.navbar-sidebar__items{display:flex;height:calc(100% - var(--ifm-navbar-height));transition:transform var(--ifm-transition-fast) ease-in-out}.navbar-sidebar__items--show-secondary{transform:translate3d(calc((var(--ifm-navbar-sidebar-width))*-1),0,0)}.navbar-sidebar__item{flex-shrink:0;padding:.5rem;width:calc(var(--ifm-navbar-sidebar-width))}.navbar-sidebar__back{background:var(--ifm-menu-color-background-active);font-size:15px;font-weight:var(--ifm-button-font-weight);margin:0 0 .2rem -.5rem;padding:.6rem 1.5rem;position:relative;text-align:left;top:-.5rem;width:calc(100% + 1rem)}#nprogress .bar,.wrapper_jj6Y{left:0;width:100%;position:fixed}.navbar-sidebar__close{display:flex;margin-left:auto}.pagination{column-gap:var(--ifm-pagination-page-spacing);display:flex;font-size:var(--ifm-pagination-font-size);padding-left:0}.pagination--sm{--ifm-pagination-font-size:0.8rem;--ifm-pagination-padding-horizontal:0.8rem;--ifm-pagination-padding-vertical:0.2rem}.pagination--lg{--ifm-pagination-font-size:1.2rem;--ifm-pagination-padding-horizontal:1.2rem;--ifm-pagination-padding-vertical:0.3rem}.pagination__item{display:inline-flex}.pagination__item>span{padding:var(--ifm-pagination-padding-vertical)}.pagination__item--active .pagination__link{color:var(--ifm-pagination-color-active)}.pagination__item--active .pagination__link,.pagination__item:not(.pagination__item--active):hover .pagination__link{background:var(--ifm-pagination-item-active-background)}.pagination__item--disabled,.pagination__item[disabled]{opacity:.25;pointer-events:none}.pagination__link{border-radius:var(--ifm-pagination-border-radius);color:var(--ifm-font-color-base);display:inline-block;padding:var(--ifm-pagination-padding-vertical) var(--ifm-pagination-padding-horizontal);transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.pagination__link:hover{text-decoration:none}.pagination-nav{grid-gap:var(--ifm-spacing-horizontal);display:grid;gap:var(--ifm-spacing-horizontal);grid-template-columns:repeat(2,1fr)}.pagination-nav__link{border:1px solid var(--ifm-color-emphasis-300);border-radius:var(--ifm-pagination-nav-border-radius);display:block;height:100%;line-height:var(--ifm-heading-line-height);padding:var(--ifm-global-spacing);transition:border-color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.pagination-nav__link:hover{border-color:var(--ifm-pagination-nav-color-hover);text-decoration:none}.pagination-nav__link--next{grid-column:2/3;text-align:right}.pagination-nav__label{font-size:var(--ifm-h4-font-size);font-weight:var(--ifm-heading-font-weight);word-break:break-word}.pagination-nav__link--prev .pagination-nav__label:before{content:"« "}.pagination-nav__link--next .pagination-nav__label:after{content:" »"}.pagination-nav__sublabel{color:var(--ifm-color-content-secondary);font-size:var(--ifm-h5-font-size);font-weight:var(--ifm-font-weight-semibold);margin-bottom:.25rem}.pills__item,.tabs{font-weight:var(--ifm-font-weight-bold)}.pills{display:flex;gap:var(--ifm-pills-spacing);padding-left:0}.pills__item{border-radius:.5rem;cursor:pointer;display:inline-block;padding:.25rem 1rem;transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.tabs,:not(.containsTaskList_HMgI>li)>.containsTaskList_HMgI{padding-left:0}.pills__item--active{color:var(--ifm-pills-color-active)}.pills__item--active,.pills__item:not(.pills__item--active):hover{background:var(--ifm-pills-color-background-active)}.pills--block{justify-content:stretch}.pills--block .pills__item{flex-grow:1;text-align:center}.tabs{color:var(--ifm-tabs-color);display:flex;margin-bottom:0;overflow-x:auto}.tabs__item{border-bottom:3px solid transparent;border-radius:var(--ifm-global-radius);cursor:pointer;display:inline-flex;padding:var(--ifm-tabs-padding-vertical) var(--ifm-tabs-padding-horizontal);transition:background-color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.tabs__item--active{border-bottom-color:var(--ifm-tabs-color-active-border);border-bottom-left-radius:0;border-bottom-right-radius:0;color:var(--ifm-tabs-color-active)}.tabs__item:hover{background-color:var(--ifm-hover-overlay)}.tabs--block{justify-content:stretch}.tabs--block .tabs__item{flex-grow:1;justify-content:center}html[data-theme=dark]{--ifm-color-scheme:dark;--ifm-color-emphasis-0:var(--ifm-color-gray-1000);--ifm-color-emphasis-100:var(--ifm-color-gray-900);--ifm-color-emphasis-200:var(--ifm-color-gray-800);--ifm-color-emphasis-300:var(--ifm-color-gray-700);--ifm-color-emphasis-400:var(--ifm-color-gray-600);--ifm-color-emphasis-600:var(--ifm-color-gray-400);--ifm-color-emphasis-700:var(--ifm-color-gray-300);--ifm-color-emphasis-800:var(--ifm-color-gray-200);--ifm-color-emphasis-900:var(--ifm-color-gray-100);--ifm-color-emphasis-1000:var(--ifm-color-gray-0);--ifm-background-color:#1b1b1d;--ifm-background-surface-color:#242526;--ifm-hover-overlay:hsla(0,0%,100%,.05);--ifm-color-content:#e3e3e3;--ifm-color-content-secondary:#fff;--ifm-breadcrumb-separator-filter:invert(64%) sepia(11%) saturate(0%) hue-rotate(149deg) brightness(99%) contrast(95%);--ifm-code-background:hsla(0,0%,100%,.1);--ifm-scrollbar-track-background-color:#444;--ifm-scrollbar-thumb-background-color:#686868;--ifm-scrollbar-thumb-hover-background-color:#7a7a7a;--ifm-table-stripe-background:hsla(0,0%,100%,.07);--ifm-toc-border-color:var(--ifm-color-emphasis-200);--ifm-color-primary-contrast-background:#102445;--ifm-color-primary-contrast-foreground:#ebf2fc;--ifm-color-secondary-contrast-background:#474748;--ifm-color-secondary-contrast-foreground:#fdfdfe;--ifm-color-success-contrast-background:#003100;--ifm-color-success-contrast-foreground:#e6f6e6;--ifm-color-info-contrast-background:#193c47;--ifm-color-info-contrast-foreground:#eef9fd;--ifm-color-warning-contrast-background:#4d3800;--ifm-color-warning-contrast-foreground:#fff8e6;--ifm-color-danger-contrast-background:#4b1113;--ifm-color-danger-contrast-foreground:#ffebec}:root{--docusaurus-progress-bar-color:var(--ifm-color-primary);--ifm-color-primary:#5485f7;--ifm-color-title:#111;--ifm-color-background:#fff;--ifm-color-border-color:hsla(0,0%,82%,.44);--ifm-color-area:#fafafa;--ifm-code-font-size:95%;--ifm-container-width-xl:1600px;--ifm-footer-title-color:#fff;--site-primary-hue-saturation:167,68%;--site-primary-hue-saturation-light:167,56%;--docusaurus-announcement-bar-height:auto;--docusaurus-tag-list-border:var(--ifm-color-emphasis-300);--docusaurus-collapse-button-bg:transparent;--docusaurus-collapse-button-bg-hover:rgba(0,0,0,.1);--doc-sidebar-width:300px;--doc-sidebar-hidden-width:30px}#nprogress .bar{background:var(--docusaurus-progress-bar-color);height:2px;top:0;z-index:1031}#nprogress .peg{box-shadow:0 0 10px var(--docusaurus-progress-bar-color),0 0 5px var(--docusaurus-progress-bar-color);height:100%;opacity:1;position:absolute;right:0;transform:rotate(3deg) translateY(-4px);width:100px}:root[data-theme=dark]{--ifm-color-title:#fff;--ifm-color-background:#2a2d31;--ifm-color-border-color:hsla(0,0%,58%,.27);--ifm-color-area:#242527;--ifm-footer-title-color:#fff;--ice-users-fill-filter:drop-shadow(0 40px hsla(0,0%,100%,.72));--ice-users-fill-transform:translateY(-40px)}.docusaurus-highlight-code-line{background-color:#484d5b;display:block;margin:0 calc(var(--ifm-pre-padding)*-1);padding:0 var(--ifm-pre-padding)}.navbar__title{font-size:22px;margin-left:4px}.navbar__logo{height:50px}.navbar__search-input:focus,body:not(.navigation-with-keyboard) :not(input):focus{outline:0}div[class^=announcementBar_]{--site-announcement-bar-stripe-color1:hsl(var(--site-primary-hue-saturation),85%);--site-announcement-bar-stripe-color2:hsl(var(--site-primary-hue-saturation),95%);background:repeating-linear-gradient(35deg,var(--site-announcement-bar-stripe-color1),var(--site-announcement-bar-stripe-color1) 20px,var(--site-announcement-bar-stripe-color2) 10px,var(--site-announcement-bar-stripe-color2) 40px);font-weight:700}.menu__link--sublist-caret:after{background-size:1.3rem 1.3rem}.wrapper_jj6Y{background-color:#303846;bottom:0;color:#fff;min-height:300px;z-index:1000}.container_RwCV,.splash_tJkJ{min-height:calc(100vh - var(--ifm-navbar-height))}.container_QEeP{margin:0 auto;max-width:1200px;padding:54px 24px}.content_Hwtk{font-size:18px}.action__iQz{display:flex;margin-top:20px}.btn_ThXI{background-color:#222;color:#ccc;cursor:pointer;display:inline-block;margin-right:20px;padding:8px 12px}.primaryBtn_ACxB{background-color:#fff;color:#000}#docusaurus-base-url-issue-banner-container,.hideAction_BQjM>svg,.themedImage_QyyR,[data-theme=dark] .lightToggleIcon_ZTK_,[data-theme=light] .darkToggleIcon_YaIq,html[data-announcement-bar-initially-dismissed=true] .announcementBar_sGze{display:none}.skipToContent__UWq{background-color:var(--ifm-background-surface-color);color:var(--ifm-color-emphasis-900);left:100%;padding:calc(var(--ifm-global-spacing)/2) var(--ifm-global-spacing);position:fixed;top:1rem;z-index:calc(var(--ifm-z-index-fixed) + 1)}.skipToContent__UWq:focus{box-shadow:var(--ifm-global-shadow-md);left:1rem}.closeButton_I_2K{line-height:0;padding:0}.content_IhaR{font-size:85%;padding:5px 0;text-align:center}.content_IhaR a{color:inherit}.announcementBar_sGze{align-items:center;background-color:var(--ifm-color-white);border-bottom:1px solid var(--ifm-color-emphasis-100);color:var(--ifm-color-black);display:flex;height:var(--docusaurus-announcement-bar-height)}.announcementBarPlaceholder_HDch{flex:0 0 10px}.announcementBarClose_okIm{align-self:stretch;flex:0 0 30px}.toggle_hr0x{height:2rem;width:2rem}.toggleButton_PY6P{align-items:center;border-radius:50%;display:flex;height:100%;justify-content:center;transition:background var(--ifm-transition-fast);width:100%}.toggleButton_PY6P:hover{background:var(--ifm-color-emphasis-200)}.toggleButtonDisabled_V_QV{cursor:not-allowed}[data-theme=dark] .themedImage--dark__1Ne,[data-theme=light] .themedImage--light_n0Zw{display:initial}.iconExternalLink_dfjT{margin-left:.3rem}.iconLanguage_qVZ5{margin-right:5px;vertical-align:text-bottom}.searchBar_is36 .dropdownMenu_pEL0{background:var(--search-local-modal-background,#f5f6f7);border-radius:6px;box-shadow:var(--search-local-modal-shadow,inset 1px 1px 0 0 hsla(0,0%,100%,.5),0 3px 8px 0 #555a64);left:auto!important;margin-top:8px;padding:var(--search-local-spacing,12px);position:relative;right:0!important;width:var(--search-local-modal-width,560px)}html[data-theme=dark] .searchBar_is36 .dropdownMenu_pEL0{background:var(--search-local-modal-background,var(--ifm-background-color));box-shadow:var(--search-local-modal-shadow,inset 1px 1px 0 0 #2c2e40,0 3px 8px 0 #000309)}.searchBar_is36 .dropdownMenu_pEL0 .suggestion_ADPi{align-items:center;background:var(--search-local-hit-background,#fff);border-radius:4px;box-shadow:var(--search-local-hit-shadow,0 1px 3px 0 #d4d9e1);color:var(--search-local-hit-color,#444950);cursor:pointer;display:flex;flex-direction:row;height:var(--search-local-hit-height,56px);padding:0 var(--search-local-spacing,12px);width:100%}.hitTree__x8b,.noResults_pYGF{align-items:center;display:flex}html[data-theme=dark] .dropdownMenu_pEL0 .suggestion_ADPi{background:var(--search-local-hit-background,var(--ifm-color-emphasis-100));box-shadow:var(--search-local-hit-shadow,none);color:var(--search-local-hit-color,var(--ifm-font-color-base))}.searchBar_is36 .dropdownMenu_pEL0 .suggestion_ADPi:not(:last-child){margin-bottom:4px}.searchBar_is36 .dropdownMenu_pEL0 .suggestion_ADPi.cursor_bSlF{background-color:var(--search-local-highlight-color,var(--ifm-color-primary))}.hitFooter_IqUd a,.hitIcon_pUvD,.hitPath_SwDo,.hitTree__x8b,.noResultsIcon_RK3Z{color:var(--search-local-muted-color,#969faf)}html[data-theme=dark] .hitIcon_pUvD,html[data-theme=dark] .hitPath_SwDo,html[data-theme=dark] .hitTree__x8b,html[data-theme=dark] .noResultsIcon_RK3Z{color:var(--search-local-muted-color,var(--ifm-color-secondary-darkest))}.hitTree__x8b>svg{height:var(--search-local-hit-height,56px);opacity:.5;width:24px}.hitIcon_pUvD,.hitTree__x8b>svg{stroke-width:var(--search-local-icon-stroke-width,1.4)}.hitAction_r4DP,.hitIcon_pUvD{height:20px;width:20px}.hitWrapper_yhJJ{display:flex;flex:1 1 auto;flex-direction:column;font-weight:500;justify-content:center;margin:0 8px;overflow-x:hidden;width:80%}.hitWrapper_yhJJ mark{background:none;color:var(--search-local-highlight-color,var(--ifm-color-primary))}.hitTitle_F6em{font-size:.9em}.hitPath_SwDo{font-size:.75em}.hitPath_SwDo,.hitTitle_F6em{overflow-x:hidden}.noResults_pYGF{flex-direction:column;justify-content:center;padding:var(--search-local-spacing,12px) 0}.noResultsIcon_RK3Z{margin-bottom:var(--search-local-spacing,12px)}.hitFooter_IqUd{font-size:.85em;margin-top:var(--search-local-spacing,12px);text-align:center}.cursor_bSlF .hideAction_BQjM>svg,.tocCollapsibleContent_GHmj a{display:block}.suggestion_ADPi.cursor_bSlF,.suggestion_ADPi.cursor_bSlF .hitIcon_pUvD,.suggestion_ADPi.cursor_bSlF .hitPath_SwDo,.suggestion_ADPi.cursor_bSlF .hitTree__x8b,.suggestion_ADPi.cursor_bSlF mark{color:var(--search-local-hit-active-color,var(--ifm-color-white))!important}.searchBarContainer_fRwZ{margin-left:16px}.searchBarContainer_fRwZ .searchBarLoadingRing_Iq7K{display:none;left:10px;position:absolute;top:6px}.searchBarContainer_fRwZ .searchClearButton_CzN7{background:none;border:none;line-height:1rem;padding:0;position:absolute;right:.8rem;top:50%;transform:translateY(-50%)}.navbar__search{position:relative}.searchIndexLoading_uDGW .navbar__search-input{background-image:none}.searchHintContainer_BCBj{align-items:center;display:flex;gap:4px;height:100%;justify-content:center;pointer-events:none;position:absolute;right:10px;top:0}.searchHint_ae9Y{background-color:var(--ifm-navbar-search-input-background-color);border:1px solid var(--ifm-color-emphasis-500);box-shadow:inset 0 -1px 0 var(--ifm-color-emphasis-500);color:var(--ifm-navbar-search-input-placeholder-color)}.loadingRing_WYLK{display:inline-block;height:20px;opacity:var(--search-local-loading-icon-opacity,.5);position:relative;width:20px}.loadingRing_WYLK div{animation:1.2s cubic-bezier(.5,0,.5,1) infinite a;border:2px solid var(--search-load-loading-icon-color,var(--ifm-navbar-search-input-color));border-color:var(--search-load-loading-icon-color,var(--ifm-navbar-search-input-color)) transparent transparent transparent;border-radius:50%;display:block;height:16px;margin:2px;position:absolute;width:16px}.loadingRing_WYLK div:first-child{animation-delay:-.45s}.loadingRing_WYLK div:nth-child(2){animation-delay:-.3s}.loadingRing_WYLK div:nth-child(3){animation-delay:-.15s}@keyframes a{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.navbarHideable_I4f2{transition:transform var(--ifm-transition-fast) ease}.navbarHidden_czNE{transform:translate3d(0,calc(-100% - 2px),0)}.footerLogoLink_zuyY{opacity:.5;transition:opacity var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.footerLogoLink_zuyY:hover,.hash-link:focus,:hover>.hash-link{opacity:1}.mainWrapper_ZTx_{display:flex;flex:1 0 auto;flex-direction:column}.docusaurus-mt-lg{margin-top:3rem}#__docusaurus{display:flex;flex-direction:column;min-height:100%}.iconEdit_jDe4{margin-right:.3em;vertical-align:sub}.tag_Tsf7{border:1px solid var(--docusaurus-tag-list-border);transition:border var(--ifm-transition-fast)}.tag_Tsf7:hover{--docusaurus-tag-list-border:var(--ifm-link-color);text-decoration:none}.tagRegular_oSOj{border-radius:var(--ifm-global-radius);font-size:90%;padding:.2rem .5rem .3rem}.tagWithCount_g5Dr{align-items:center;border-left:0;display:flex;padding:0 .5rem 0 1rem;position:relative}.tagWithCount_g5Dr:after,.tagWithCount_g5Dr:before{border:1px solid var(--docusaurus-tag-list-border);content:"";position:absolute;top:50%;transition:inherit}.tagWithCount_g5Dr:before{border-bottom:0;border-right:0;height:1.18rem;right:100%;transform:translate(50%,-50%) rotate(-45deg);width:1.18rem}.tagWithCount_g5Dr:after{border-radius:50%;height:.5rem;left:0;transform:translateY(-50%);width:.5rem}.tagWithCount_g5Dr span{background:var(--ifm-color-secondary);border-radius:var(--ifm-global-radius);color:var(--ifm-color-black);font-size:.7rem;line-height:1.2;margin-left:.3rem;padding:.1rem .4rem}.tags_z6EH{display:inline}.tag_fdqb{display:inline-block;margin:0 .4rem .5rem 0}.lastUpdated__6ES{font-size:smaller;font-style:italic;margin-top:.2rem}.tocCollapsibleButton_rhuZ{align-items:center;display:flex;font-size:inherit;justify-content:space-between;padding:.4rem .8rem;width:100%}.tocCollapsibleButton_rhuZ:after{background:var(--ifm-menu-link-sublist-icon) 50% 50%/2rem 2rem no-repeat;content:"";filter:var(--ifm-menu-link-sublist-icon-filter);height:1.25rem;transform:rotate(180deg);transition:transform var(--ifm-transition-fast);width:1.25rem}.tocCollapsibleButtonExpanded_WGP7:after,.tocCollapsibleExpanded_GLOa{transform:none}.tocCollapsible_fIkK{background-color:var(--ifm-menu-color-background-active);border-radius:var(--ifm-global-radius);margin:1rem 0}.buttonGroup_ROoo button,.codeBlockContainer_Yk0w{background:var(--prism-background-color);color:var(--prism-color)}.tocCollapsibleContent_GHmj>ul{border-left:none;border-top:1px solid var(--ifm-color-emphasis-300);font-size:15px;padding:.2rem 0}.tocCollapsibleContent_GHmj ul li{margin:.4rem .8rem}.tableOfContents_JdfB{max-height:calc(100vh - var(--ifm-navbar-height) - 2rem);overflow-y:auto;position:sticky;top:calc(var(--ifm-navbar-height) + 1rem)}.anchorWithStickyNavbar_zXjs{scroll-margin-top:calc(var(--ifm-navbar-height) + .5rem)}.anchorWithHideOnScrollNavbar_QdK4{scroll-margin-top:.5rem}.hash-link{opacity:0;padding-left:.5rem;transition:opacity var(--ifm-transition-fast);-webkit-user-select:none;user-select:none}.hash-link:before{content:"#"}.codeBlockContainer_Yk0w{border-radius:var(--ifm-code-border-radius);box-shadow:var(--ifm-global-shadow-lw);margin-bottom:var(--ifm-leading)}.codeBlockContent_mzTx{border-radius:inherit;direction:ltr;position:relative}.codeBlockTitle_PO9b{border-bottom:1px solid var(--ifm-color-emphasis-300);border-top-left-radius:inherit;border-top-right-radius:inherit;font-size:var(--ifm-code-font-size);font-weight:500;padding:.75rem var(--ifm-pre-padding)}.codeBlock_T_pj{--ifm-pre-background:var(--prism-background-color);margin:0;padding:0}.codeBlockTitle_PO9b+.codeBlockContent_mzTx .codeBlock_T_pj{border-top-left-radius:0;border-top-right-radius:0}.codeBlockLines_LTCK{float:left;font:inherit;min-width:100%;padding:var(--ifm-pre-padding)}.codeBlockLinesWithNumbering_W9g9{display:table;padding:var(--ifm-pre-padding) 0}.buttonGroup_ROoo{column-gap:.2rem;display:flex;position:absolute;right:calc(var(--ifm-pre-padding)/2);top:calc(var(--ifm-pre-padding)/2)}.buttonGroup_ROoo button{align-items:center;border:1px solid var(--ifm-color-emphasis-300);border-radius:var(--ifm-global-radius);display:flex;line-height:0;opacity:0;padding:.4rem;transition:opacity .2s ease-in-out}.buttonGroup_ROoo button:focus-visible,.buttonGroup_ROoo button:hover{opacity:1!important}.theme-code-block:hover .buttonGroup_ROoo button{opacity:.4}:where(:root){--docusaurus-highlighted-code-line-bg:#484d5b}:where([data-theme=dark]){--docusaurus-highlighted-code-line-bg:#646464}.theme-code-block-highlighted-line{background-color:var(--docusaurus-highlighted-code-line-bg);display:block;margin:0 calc(var(--ifm-pre-padding)*-1);padding:0 var(--ifm-pre-padding)}.codeLine_ctHk{counter-increment:a;display:table-row}.codeLineNumber_MzZe{background:var(--ifm-pre-background);display:table-cell;left:0;overflow-wrap:normal;padding:0 var(--ifm-pre-padding);position:sticky;text-align:right;width:1%}.codeLineNumber_MzZe:before{content:counter(a);opacity:.4}.codeLineContent_CBBT{padding-right:var(--ifm-pre-padding)}.theme-code-block:hover .copyButtonCopied_v9l0{opacity:1!important}.copyButtonIcons_f97a{height:1.125rem;position:relative;width:1.125rem}.copyButtonIcon_YYez,.copyButtonSuccessIcon_AEgO{fill:currentColor;height:inherit;left:0;opacity:inherit;position:absolute;top:0;transition:.15s;width:inherit}.copyButtonSuccessIcon_AEgO{color:#00d600;left:50%;opacity:0;top:50%;transform:translate(-50%,-50%) scale(.33)}.copyButtonCopied_v9l0 .copyButtonIcon_YYez{opacity:0;transform:scale(.33)}.copyButtonCopied_v9l0 .copyButtonSuccessIcon_AEgO{opacity:1;transform:translate(-50%,-50%) scale(1);transition-delay:75ms}.wordWrapButtonIcon_pxxl{height:1.2rem;width:1.2rem}.details_GcAu{--docusaurus-details-summary-arrow-size:0.38rem;--docusaurus-details-transition:transform 200ms ease;--docusaurus-details-decoration-color:grey}.details_GcAu>summary{cursor:pointer;padding-left:1rem;position:relative}.details_GcAu>summary::-webkit-details-marker{display:none}.details_GcAu>summary:before{border-color:transparent transparent transparent var(--docusaurus-details-decoration-color);border-style:solid;border-width:var(--docusaurus-details-summary-arrow-size);content:"";left:0;position:absolute;top:.45rem;transform:rotate(0);transform-origin:calc(var(--docusaurus-details-summary-arrow-size)/2) 50%;transition:var(--docusaurus-details-transition)}.collapsibleContent_SCDy{border-top:1px solid var(--docusaurus-details-decoration-color);margin-top:1rem;padding-top:1rem}.details_wLHs{--docusaurus-details-decoration-color:var(--ifm-alert-border-color);--docusaurus-details-transition:transform var(--ifm-transition-fast) ease;border:1px solid var(--ifm-alert-border-color);margin:0 0 var(--ifm-spacing-vertical)}.img_mjBF{height:auto}.admonition_jcxQ{margin-bottom:1em}.admonitionHeading_XaEw{font:var(--ifm-heading-font-weight) var(--ifm-h5-font-size)/var(--ifm-heading-line-height) var(--ifm-heading-font-family);margin-bottom:.3rem}.admonitionHeading_XaEw code{text-transform:none}.admonitionIcon_m4vP{display:inline-block;margin-right:.4em;vertical-align:middle}.admonitionIcon_m4vP svg{fill:var(--ifm-alert-foreground-color);display:inline-block;height:1.6em;width:1.6em}.breadcrumbHomeIcon_aLlD{height:1.1rem;position:relative;top:1px;vertical-align:top;width:1.1rem}.breadcrumbsContainer_Dfd4{--ifm-breadcrumb-size-multiplier:0.8;margin-bottom:.8rem}.searchQueryInput_maN8{background:var(--ifm-background-color);border:var(--ifm-global-border-width) solid var(--ifm-color-content-secondary);border-radius:var(--ifm-global-radius);color:var(--ifm-font-color-base);font-size:var(--ifm-font-size-base);margin-bottom:1rem;padding:.5rem;width:100%}.searchResultItem_BbR9{border-bottom:1px solid #dfe3e8;padding:1rem 0}.searchResultItemPath_J0Ke{color:var(--ifm-color-content-secondary);font-size:.8rem;margin:.5rem 0 0}.searchResultItemSummary_LktA{font-style:italic;margin:.5rem 0 0}.backToTopButton_uwYb{background-color:var(--ifm-color-emphasis-200);border-radius:50%;bottom:1.3rem;box-shadow:var(--ifm-global-shadow-lw);height:3rem;opacity:0;position:fixed;right:1.3rem;transform:scale(0);transition:all var(--ifm-transition-fast) var(--ifm-transition-timing-default);visibility:hidden;width:3rem;z-index:calc(var(--ifm-z-index-fixed) - 1)}.card_D6YS p,.primary_JgwX{background:linear-gradient(90deg,#1395fe 4.83%,#1e72ff 94.74%)}.backToTopButton_uwYb:after{background-color:var(--ifm-color-emphasis-1000);content:" ";display:inline-block;height:100%;-webkit-mask:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem no-repeat;mask:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem no-repeat;width:100%}.backToTopButtonShow_P1oP{opacity:1;transform:scale(1);visibility:visible}[data-theme=dark]:root{--docusaurus-collapse-button-bg:hsla(0,0%,100%,.05);--docusaurus-collapse-button-bg-hover:hsla(0,0%,100%,.1)}.collapseSidebarButton_DdT7{display:none;margin:0}.docSidebarContainer_x1id,.sidebarLogo_LMsw{display:none}.docMainContainer_g21Z,.docPage_Kjzg{display:flex;width:100%}.docsWrapper_glKT{display:flex;flex:1 0 auto}.button_HqJd{border:.9px solid #e2e2e2;border-radius:28.8px;color:#000;color:var(--ifm-color-title);cursor:pointer;font-size:16px;font-weight:600;max-height:52px;min-width:155px;outline:0;overflow:hidden;padding:13px 25px;text-align:center;transition:.3s}.primary_JgwX{border-radius:28.8px;border-width:0;box-shadow:0 5px 6px rgba(0,87,255,.26);color:#fff;transition:.3s}.button_HqJd:hover{background-color:#fff;color:#000;opacity:.9;text-decoration:none}.card_D6YS:hover,.card_D6YS:hover:after,.primary_JgwX:hover{color:#fff;text-decoration:none}.primary_JgwX:hover{opacity:.8}.splash_tJkJ{align-items:center;background-color:var(--ifm-background-color);color:var(--ifm-color-content-secondary);display:grid;grid-template-areas:"c d";grid-template-columns:1fr 1fr;margin:0 auto;max-width:1200px;overflow:hidden;padding:24px}.titleContent_xoqA h2,.title_Imzr{color:var(--ifm-color-title);font-weight:600}.title-container_u9Gy{align-content:flex-start;display:flex;flex:1;flex-direction:column}.buttons_YVVi,.container_RwCV{align-items:center;display:flex}.title_Imzr{font-size:40px;text-align:left}.subtitle_pKaH{color:#878787;font-size:16px;line-height:34px}.buttons_YVVi{justify-content:flex-start}.githubStars_h_xb{display:flex;margin-bottom:40px}.img-container_W_hQ{display:flex;flex:1;margin:45px}.img_bhiR{height:auto;max-height:100%;max-width:100%;width:auto}.container_RwCV{color:var(--ifm-color-content-secondary);flex-direction:column;justify-content:center;margin:0 auto;max-width:1200px;overflow:hidden;padding:54px 24px}.block_ugnM{background-color:var(--ifm-color-area)}.titleContent_xoqA{align-items:center;display:flex;flex-direction:column;justify-content:center}.titleContent_xoqA h2{font-size:30px;margin-bottom:31;text-align:center}.titleContent_xoqA p{color:#878787;font-size:15px;line-height:34px;margin:0;text-align:center}.card_D6YS,.logo_Z4wx span{color:var(--ifm-color-title)}.container_xD2O{display:grid;gap:28px;grid-template-columns:repeat(3,calc(33.33333% - 18.66667px));margin-bottom:40px;margin-top:60px;min-width:100%}.card_D6YS{background:var(--ifm-color-background);border-radius:7px;box-shadow:0 9px 33px rgba(0,0,0,.05);display:flex;height:220px;position:relative;z-index:1}.logo_Z4wx,.logo_Z4wx img{height:40px;overflow:hidden}.card_D6YS:hover{box-shadow:0 5px 6px rgba(0,87,255,.261);transition:.3s}.card_D6YS:after{background:linear-gradient(121.13deg,#1395fe 50.91%,#1e72ff 119.06%);border-radius:7px;content:"";height:100%;left:0;opacity:0;position:absolute;top:0;transition:.3s;width:100%;z-index:2}.card_D6YS:hover:after{opacity:1}.content_lL2T{display:flex;flex:1;flex-direction:column;margin:40px 30px;overflow:hidden;position:relative;z-index:3}.card_D6YS p.link__nJ9{font-size:13px}.card_D6YS h3{font-size:21px;margin-bottom:14px}.card_D6YS span{font-size:14px;opacity:.85}.card_D6YS p{-webkit-background-clip:text;font-size:16px}.card_D6YS p,.card_D6YS:hover p{-webkit-text-fill-color:transparent;margin:0}.card_D6YS:hover p{background:#fff;-webkit-background-clip:text}.content_5ttr{display:flex;flex-flow:row wrap;justify-content:center;margin-bottom:40px;margin-top:60px}.logo_Z4wx{align-items:center;display:flex;flex-direction:column;justify-content:space-between;margin:40px 26px 0}.logo_Z4wx span{font-size:14px;opacity:.45}.fill_paqS{filter:var(--ice-users-fill-filter);transform:var(--ice-users-fill-transform)}@media (min-width:997px){.collapseSidebarButton_DdT7,.expandButton_HhRg{background-color:var(--docusaurus-collapse-button-bg)}:root{--docusaurus-announcement-bar-height:30px}.announcementBarClose_okIm,.announcementBarPlaceholder_HDch{flex-basis:50px}.searchBox_cp6s{padding:var(--ifm-navbar-item-padding-vertical) var(--ifm-navbar-item-padding-horizontal)}.lastUpdated__6ES{text-align:right}.tocMobile_Olsf{display:none}.docItemCol_Zy4T{max-width:75%!important}.collapseSidebarButton_DdT7{border:1px solid var(--ifm-toc-border-color);border-radius:0;bottom:0;display:block!important;height:40px;position:sticky}.collapseSidebarButtonIcon_umEY{margin-top:4px;transform:rotate(180deg)}.expandButtonIcon_z3Ge,[dir=rtl] .collapseSidebarButtonIcon_umEY{transform:rotate(0)}.collapseSidebarButton_DdT7:focus,.collapseSidebarButton_DdT7:hover,.expandButton_HhRg:focus,.expandButton_HhRg:hover{background-color:var(--docusaurus-collapse-button-bg-hover)}.menuHtmlItem_yScY{padding:var(--ifm-menu-link-padding-vertical) var(--ifm-menu-link-padding-horizontal)}.menu__fEV{flex-grow:1;padding:.5rem}@supports (scrollbar-gutter:stable){.menu__fEV{padding:.5rem 0 .5rem .5rem;scrollbar-gutter:stable}}.menuWithAnnouncementBar_QXTr{margin-bottom:var(--docusaurus-announcement-bar-height)}.sidebar_rahD{display:flex;flex-direction:column;height:100%;padding-top:var(--ifm-navbar-height);width:var(--doc-sidebar-width)}.sidebarWithHideableNavbar_yjxb{padding-top:0}.sidebarHidden_pZqE{opacity:0;visibility:hidden}.sidebarLogo_LMsw{align-items:center;color:inherit!important;display:flex!important;margin:0 var(--ifm-navbar-padding-horizontal);max-height:var(--ifm-navbar-height);min-height:var(--ifm-navbar-height);text-decoration:none!important}.sidebarLogo_LMsw img{height:2rem;margin-right:.5rem}.expandButton_HhRg{align-items:center;display:flex;height:100%;justify-content:center;position:absolute;right:0;top:0;transition:background-color var(--ifm-transition-fast) ease;width:100%}[dir=rtl] .expandButtonIcon_z3Ge{transform:rotate(180deg)}.docSidebarContainer_x1id{border-right:1px solid var(--ifm-toc-border-color);-webkit-clip-path:inset(0);clip-path:inset(0);display:block;margin-top:calc(var(--ifm-navbar-height)*-1);transition:width var(--ifm-transition-fast) ease;width:var(--doc-sidebar-width);will-change:width}.docSidebarContainerHidden_qDZ0{cursor:pointer;width:var(--doc-sidebar-hidden-width)}.sidebarViewport_Xnca{height:100%;max-height:100vh;position:sticky;top:0}.docMainContainer_g21Z{flex-grow:1;max-width:calc(100% - var(--doc-sidebar-width))}.docMainContainerEnhanced_dlQX{max-width:calc(100% - var(--doc-sidebar-hidden-width))}.docItemWrapperEnhanced_XzBF{max-width:calc(var(--ifm-container-width) + var(--doc-sidebar-width))!important}}@media (min-width:1440px){.container{max-width:var(--ifm-container-width-xl)}}@media (max-width:1366px){.container_xD2O{grid-template-columns:repeat(2,calc(50% - 14px))}}@media (max-width:996px){.col{--ifm-col-width:100%;flex-basis:var(--ifm-col-width);margin-left:0}.footer{--ifm-footer-padding-horizontal:0}.colorModeToggle_L__X,.footer__link-separator,.navbar__item,.tableOfContents_JdfB{display:none}.footer__col{margin-bottom:calc(var(--ifm-spacing-vertical)*3)}.footer__link-item{display:block}.hero{padding-left:0;padding-right:0}.navbar>.container,.navbar>.container-fluid{padding:0}.navbar__toggle{display:inherit}.navbar__search-input{width:9rem}.pills--block,.tabs--block{flex-direction:column}.searchBox_cp6s{position:absolute;right:var(--ifm-navbar-padding-horizontal)}.docItemContainer_qYzL{padding:0 .3rem}}@media (max-width:900px){.splash_tJkJ{grid-template-areas:"d" "c";grid-template-columns:1fr}.subtitle_pKaH,.title_Imzr{text-align:center}.title-container_u9Gy{margin-top:100px}.buttons_YVVi,.githubStars_h_xb,.img-container_W_hQ{justify-content:center}.img-container_W_hQ{align-items:center;margin:70px}.img_bhiR{max-width:100px}}@media (max-width:576px){.markdown h1:first-child{--ifm-h1-font-size:2rem}.markdown>h2{--ifm-h2-font-size:1.5rem}.markdown>h3{--ifm-h3-font-size:1.25rem}.navbar__search-input:not(:focus){width:2rem}.searchBar_is36 .dropdownMenu_pEL0{max-width:calc(100vw - var(--ifm-navbar-padding-horizontal)*2);width:var(--search-local-modal-width-sm,340px)}.searchBarContainer_fRwZ:not(.focused_n3fw) .searchClearButton_CzN7,.searchHintContainer_BCBj{display:none}}@media (max-width:560px){.container_xD2O{grid-template-columns:repeat(1,100%)}.card_D6YS{height:200px}}@media (max-width:510px){.buttons_YVVi{flex-direction:column;margin-bottom:40px}.buttons_YVVi a{width:calc(100% - 32px)}.title_Imzr{font-size:36px}.img-container_W_hQ{margin:20px}.buttons_LxVK{flex-direction:column}.logo_Z4wx{margin:0 20px 52px}}@media (hover:hover){.backToTopButton_uwYb:hover{background-color:var(--ifm-color-emphasis-300)}}@media (pointer:fine){.thin-scrollbar{scrollbar-width:thin}.thin-scrollbar::-webkit-scrollbar{height:var(--ifm-scrollbar-size);width:var(--ifm-scrollbar-size)}.thin-scrollbar::-webkit-scrollbar-track{background:var(--ifm-scrollbar-track-background-color);border-radius:10px}.thin-scrollbar::-webkit-scrollbar-thumb{background:var(--ifm-scrollbar-thumb-background-color);border-radius:10px}.thin-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--ifm-scrollbar-thumb-hover-background-color)}}@media print{.announcementBar_sGze,.footer,.menu,.navbar,.pagination-nav,.table-of-contents,.tocMobile_Olsf{display:none}.tabs{page-break-inside:avoid}.codeBlockLines_LTCK{white-space:pre-wrap}} \ No newline at end of file +.col,.container{padding:0 var(--ifm-spacing-horizontal);width:100%}.markdown>h2,.markdown>h3,.markdown>h4,.markdown>h5,.markdown>h6{margin-bottom:calc(var(--ifm-heading-vertical-rhythm-bottom)*var(--ifm-leading))}.markdown li,body{word-wrap:break-word}body,ol ol,ol ul,ul ol,ul ul{margin:0}pre,table{overflow:auto}blockquote,pre{margin:0 0 var(--ifm-spacing-vertical)}.breadcrumbs__link,.button{transition-timing-function:var(--ifm-transition-timing-default)}.button,code{vertical-align:middle}.button--outline.button--active,.button--outline:active,.button--outline:hover,:root{--ifm-button-color:var(--ifm-font-color-base-inverse)}.avatar__photo,.card,.text--truncate{overflow:hidden}.menu__link:hover,a{transition:color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.navbar--dark,:root{--ifm-navbar-link-hover-color:var(--ifm-color-primary)}.menu,.navbar-sidebar{overflow-x:hidden}:root,html[data-theme=dark]{--ifm-color-emphasis-500:var(--ifm-color-gray-500)}.toggleButton_FwyU,html{-webkit-tap-highlight-color:transparent}*,.loadingRing_lGWE div{box-sizing:border-box}.clean-list,.containsTaskList_O5zp,.details_jZ3c>summary,.dropdown__menu,.menu__list{list-style:none}.button_HqJd,.hitPath_V6jy,.hitTitle_HfGD,.text--truncate{text-overflow:ellipsis;white-space:nowrap}.button,.button_HqJd,.dropdown__link,.text--truncate{white-space:nowrap}:root{--ifm-color-scheme:light;--ifm-dark-value:10%;--ifm-darker-value:15%;--ifm-darkest-value:30%;--ifm-light-value:15%;--ifm-lighter-value:30%;--ifm-lightest-value:50%;--ifm-contrast-background-value:90%;--ifm-contrast-foreground-value:70%;--ifm-contrast-background-dark-value:70%;--ifm-contrast-foreground-dark-value:90%;--ifm-color-primary:#3578e5;--ifm-color-secondary:#ebedf0;--ifm-color-success:#00a400;--ifm-color-info:#54c7ec;--ifm-color-warning:#ffba00;--ifm-color-danger:#fa383e;--ifm-color-primary-dark:#306cce;--ifm-color-primary-darker:#2d66c3;--ifm-color-primary-darkest:#2554a0;--ifm-color-primary-light:#538ce9;--ifm-color-primary-lighter:#72a1ed;--ifm-color-primary-lightest:#9abcf2;--ifm-color-primary-contrast-background:#ebf2fc;--ifm-color-primary-contrast-foreground:#102445;--ifm-color-secondary-dark:#d4d5d8;--ifm-color-secondary-darker:#c8c9cc;--ifm-color-secondary-darkest:#a4a6a8;--ifm-color-secondary-light:#eef0f2;--ifm-color-secondary-lighter:#f1f2f5;--ifm-color-secondary-lightest:#f5f6f8;--ifm-color-secondary-contrast-background:#fdfdfe;--ifm-color-secondary-contrast-foreground:#474748;--ifm-color-success-dark:#009400;--ifm-color-success-darker:#008b00;--ifm-color-success-darkest:#007300;--ifm-color-success-light:#26b226;--ifm-color-success-lighter:#4dbf4d;--ifm-color-success-lightest:#80d280;--ifm-color-success-contrast-background:#e6f6e6;--ifm-color-success-contrast-foreground:#003100;--ifm-color-info-dark:#4cb3d4;--ifm-color-info-darker:#47a9c9;--ifm-color-info-darkest:#3b8ba5;--ifm-color-info-light:#6ecfef;--ifm-color-info-lighter:#87d8f2;--ifm-color-info-lightest:#aae3f6;--ifm-color-info-contrast-background:#eef9fd;--ifm-color-info-contrast-foreground:#193c47;--ifm-color-warning-dark:#e6a700;--ifm-color-warning-darker:#d99e00;--ifm-color-warning-darkest:#b38200;--ifm-color-warning-light:#ffc426;--ifm-color-warning-lighter:#ffcf4d;--ifm-color-warning-lightest:#ffdd80;--ifm-color-warning-contrast-background:#fff8e6;--ifm-color-warning-contrast-foreground:#4d3800;--ifm-color-danger-dark:#e13238;--ifm-color-danger-darker:#d53035;--ifm-color-danger-darkest:#af272b;--ifm-color-danger-light:#fb565b;--ifm-color-danger-lighter:#fb7478;--ifm-color-danger-lightest:#fd9c9f;--ifm-color-danger-contrast-background:#ffebec;--ifm-color-danger-contrast-foreground:#4b1113;--ifm-color-white:#fff;--ifm-color-black:#000;--ifm-color-gray-0:var(--ifm-color-white);--ifm-color-gray-100:#f5f6f7;--ifm-color-gray-200:#ebedf0;--ifm-color-gray-300:#dadde1;--ifm-color-gray-400:#ccd0d5;--ifm-color-gray-500:#bec3c9;--ifm-color-gray-600:#8d949e;--ifm-color-gray-700:#606770;--ifm-color-gray-800:#444950;--ifm-color-gray-900:#1c1e21;--ifm-color-gray-1000:var(--ifm-color-black);--ifm-color-emphasis-0:var(--ifm-color-gray-0);--ifm-color-emphasis-100:var(--ifm-color-gray-100);--ifm-color-emphasis-200:var(--ifm-color-gray-200);--ifm-color-emphasis-300:var(--ifm-color-gray-300);--ifm-color-emphasis-400:var(--ifm-color-gray-400);--ifm-color-emphasis-600:var(--ifm-color-gray-600);--ifm-color-emphasis-700:var(--ifm-color-gray-700);--ifm-color-emphasis-800:var(--ifm-color-gray-800);--ifm-color-emphasis-900:var(--ifm-color-gray-900);--ifm-color-emphasis-1000:var(--ifm-color-gray-1000);--ifm-color-content:var(--ifm-color-emphasis-900);--ifm-color-content-inverse:var(--ifm-color-emphasis-0);--ifm-color-content-secondary:#525860;--ifm-background-color:transparent;--ifm-background-surface-color:var(--ifm-color-content-inverse);--ifm-global-border-width:1px;--ifm-global-radius:0.4rem;--ifm-hover-overlay:rgba(0,0,0,.05);--ifm-font-color-base:var(--ifm-color-content);--ifm-font-color-base-inverse:var(--ifm-color-content-inverse);--ifm-font-color-secondary:var(--ifm-color-content-secondary);--ifm-font-family-base:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--ifm-font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--ifm-font-size-base:100%;--ifm-font-weight-light:300;--ifm-font-weight-normal:400;--ifm-font-weight-semibold:500;--ifm-font-weight-bold:700;--ifm-font-weight-base:var(--ifm-font-weight-normal);--ifm-line-height-base:1.65;--ifm-global-spacing:1rem;--ifm-spacing-vertical:var(--ifm-global-spacing);--ifm-spacing-horizontal:var(--ifm-global-spacing);--ifm-transition-fast:200ms;--ifm-transition-slow:400ms;--ifm-transition-timing-default:cubic-bezier(0.08,0.52,0.52,1);--ifm-global-shadow-lw:0 1px 2px 0 rgba(0,0,0,.1);--ifm-global-shadow-md:0 5px 40px rgba(0,0,0,.2);--ifm-global-shadow-tl:0 12px 28px 0 rgba(0,0,0,.2),0 2px 4px 0 rgba(0,0,0,.1);--ifm-z-index-dropdown:100;--ifm-z-index-fixed:200;--ifm-z-index-overlay:400;--ifm-container-width:1140px;--ifm-container-width-xl:1320px;--ifm-code-background:#f6f7f8;--ifm-code-border-radius:var(--ifm-global-radius);--ifm-code-font-size:90%;--ifm-code-padding-horizontal:0.1rem;--ifm-code-padding-vertical:0.1rem;--ifm-pre-background:var(--ifm-code-background);--ifm-pre-border-radius:var(--ifm-code-border-radius);--ifm-pre-color:inherit;--ifm-pre-line-height:1.45;--ifm-pre-padding:1rem;--ifm-heading-color:inherit;--ifm-heading-margin-top:0;--ifm-heading-margin-bottom:var(--ifm-spacing-vertical);--ifm-heading-font-family:var(--ifm-font-family-base);--ifm-heading-font-weight:var(--ifm-font-weight-bold);--ifm-heading-line-height:1.25;--ifm-h1-font-size:2rem;--ifm-h2-font-size:1.5rem;--ifm-h3-font-size:1.25rem;--ifm-h4-font-size:1rem;--ifm-h5-font-size:0.875rem;--ifm-h6-font-size:0.85rem;--ifm-image-alignment-padding:1.25rem;--ifm-leading-desktop:1.25;--ifm-leading:calc(var(--ifm-leading-desktop)*1rem);--ifm-list-left-padding:2rem;--ifm-list-margin:1rem;--ifm-list-item-margin:0.25rem;--ifm-list-paragraph-margin:1rem;--ifm-table-cell-padding:0.75rem;--ifm-table-background:transparent;--ifm-table-stripe-background:rgba(0,0,0,.03);--ifm-table-border-width:1px;--ifm-table-border-color:var(--ifm-color-emphasis-300);--ifm-table-head-background:inherit;--ifm-table-head-color:inherit;--ifm-table-head-font-weight:var(--ifm-font-weight-bold);--ifm-table-cell-color:inherit;--ifm-link-color:var(--ifm-color-primary);--ifm-link-decoration:none;--ifm-link-hover-color:var(--ifm-link-color);--ifm-link-hover-decoration:underline;--ifm-paragraph-margin-bottom:var(--ifm-leading);--ifm-blockquote-font-size:var(--ifm-font-size-base);--ifm-blockquote-border-left-width:2px;--ifm-blockquote-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-blockquote-padding-vertical:0;--ifm-blockquote-shadow:none;--ifm-blockquote-color:var(--ifm-color-emphasis-800);--ifm-blockquote-border-color:var(--ifm-color-emphasis-300);--ifm-hr-background-color:var(--ifm-color-emphasis-500);--ifm-hr-height:1px;--ifm-hr-margin-vertical:1.5rem;--ifm-scrollbar-size:7px;--ifm-scrollbar-track-background-color:#f1f1f1;--ifm-scrollbar-thumb-background-color:silver;--ifm-scrollbar-thumb-hover-background-color:#a7a7a7;--ifm-alert-background-color:inherit;--ifm-alert-border-color:inherit;--ifm-alert-border-radius:var(--ifm-global-radius);--ifm-alert-border-width:0px;--ifm-alert-border-left-width:5px;--ifm-alert-color:var(--ifm-font-color-base);--ifm-alert-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-alert-padding-vertical:var(--ifm-spacing-vertical);--ifm-alert-shadow:var(--ifm-global-shadow-lw);--ifm-avatar-intro-margin:1rem;--ifm-avatar-intro-alignment:inherit;--ifm-avatar-photo-size:3rem;--ifm-badge-background-color:inherit;--ifm-badge-border-color:inherit;--ifm-badge-border-radius:var(--ifm-global-radius);--ifm-badge-border-width:var(--ifm-global-border-width);--ifm-badge-color:var(--ifm-color-white);--ifm-badge-padding-horizontal:calc(var(--ifm-spacing-horizontal)*0.5);--ifm-badge-padding-vertical:calc(var(--ifm-spacing-vertical)*0.25);--ifm-breadcrumb-border-radius:1.5rem;--ifm-breadcrumb-spacing:0.5rem;--ifm-breadcrumb-color-active:var(--ifm-color-primary);--ifm-breadcrumb-item-background-active:var(--ifm-hover-overlay);--ifm-breadcrumb-padding-horizontal:0.8rem;--ifm-breadcrumb-padding-vertical:0.4rem;--ifm-breadcrumb-size-multiplier:1;--ifm-breadcrumb-separator:url('data:image/svg+xml;utf8,');--ifm-breadcrumb-separator-filter:none;--ifm-breadcrumb-separator-size:0.5rem;--ifm-breadcrumb-separator-size-multiplier:1.25;--ifm-button-background-color:inherit;--ifm-button-border-color:var(--ifm-button-background-color);--ifm-button-border-width:var(--ifm-global-border-width);--ifm-button-font-weight:var(--ifm-font-weight-bold);--ifm-button-padding-horizontal:1.5rem;--ifm-button-padding-vertical:0.375rem;--ifm-button-size-multiplier:1;--ifm-button-transition-duration:var(--ifm-transition-fast);--ifm-button-border-radius:calc(var(--ifm-global-radius)*var(--ifm-button-size-multiplier));--ifm-button-group-spacing:2px;--ifm-card-background-color:var(--ifm-background-surface-color);--ifm-card-border-radius:calc(var(--ifm-global-radius)*2);--ifm-card-horizontal-spacing:var(--ifm-global-spacing);--ifm-card-vertical-spacing:var(--ifm-global-spacing);--ifm-toc-border-color:var(--ifm-color-emphasis-300);--ifm-toc-link-color:var(--ifm-color-content-secondary);--ifm-toc-padding-vertical:0.5rem;--ifm-toc-padding-horizontal:0.5rem;--ifm-dropdown-background-color:var(--ifm-background-surface-color);--ifm-dropdown-font-weight:var(--ifm-font-weight-semibold);--ifm-dropdown-link-color:var(--ifm-font-color-base);--ifm-dropdown-hover-background-color:var(--ifm-hover-overlay);--ifm-footer-background-color:var(--ifm-color-emphasis-100);--ifm-footer-color:inherit;--ifm-footer-link-color:var(--ifm-color-emphasis-700);--ifm-footer-link-hover-color:var(--ifm-color-primary);--ifm-footer-link-horizontal-spacing:0.5rem;--ifm-footer-padding-horizontal:calc(var(--ifm-spacing-horizontal)*2);--ifm-footer-padding-vertical:calc(var(--ifm-spacing-vertical)*2);--ifm-footer-title-color:inherit;--ifm-footer-logo-max-width:min(30rem,90vw);--ifm-hero-background-color:var(--ifm-background-surface-color);--ifm-hero-text-color:var(--ifm-color-emphasis-800);--ifm-menu-color:var(--ifm-color-emphasis-700);--ifm-menu-color-active:var(--ifm-color-primary);--ifm-menu-color-background-active:var(--ifm-hover-overlay);--ifm-menu-color-background-hover:var(--ifm-hover-overlay);--ifm-menu-link-padding-horizontal:0.75rem;--ifm-menu-link-padding-vertical:0.375rem;--ifm-menu-link-sublist-icon:url('data:image/svg+xml;utf8,');--ifm-menu-link-sublist-icon-filter:none;--ifm-navbar-background-color:var(--ifm-background-surface-color);--ifm-navbar-height:3.75rem;--ifm-navbar-item-padding-horizontal:0.75rem;--ifm-navbar-item-padding-vertical:0.25rem;--ifm-navbar-link-color:var(--ifm-font-color-base);--ifm-navbar-link-active-color:var(--ifm-link-color);--ifm-navbar-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-navbar-padding-vertical:calc(var(--ifm-spacing-vertical)*0.5);--ifm-navbar-shadow:var(--ifm-global-shadow-lw);--ifm-navbar-search-input-background-color:var(--ifm-color-emphasis-200);--ifm-navbar-search-input-color:var(--ifm-color-emphasis-800);--ifm-navbar-search-input-placeholder-color:var(--ifm-color-emphasis-500);--ifm-navbar-search-input-icon:url('data:image/svg+xml;utf8,');--ifm-navbar-sidebar-width:83vw;--ifm-pagination-border-radius:var(--ifm-global-radius);--ifm-pagination-color-active:var(--ifm-color-primary);--ifm-pagination-font-size:1rem;--ifm-pagination-item-active-background:var(--ifm-hover-overlay);--ifm-pagination-page-spacing:0.2em;--ifm-pagination-padding-horizontal:calc(var(--ifm-spacing-horizontal)*1);--ifm-pagination-padding-vertical:calc(var(--ifm-spacing-vertical)*0.25);--ifm-pagination-nav-border-radius:var(--ifm-global-radius);--ifm-pagination-nav-color-hover:var(--ifm-color-primary);--ifm-pills-color-active:var(--ifm-color-primary);--ifm-pills-color-background-active:var(--ifm-hover-overlay);--ifm-pills-spacing:0.125rem;--ifm-tabs-color:var(--ifm-font-color-secondary);--ifm-tabs-color-active:var(--ifm-color-primary);--ifm-tabs-color-active-border:var(--ifm-tabs-color-active);--ifm-tabs-padding-horizontal:1rem;--ifm-tabs-padding-vertical:1rem}.badge--danger,.badge--info,.badge--primary,.badge--secondary,.badge--success,.badge--warning{--ifm-badge-border-color:var(--ifm-badge-background-color)}.button--link,.button--outline{--ifm-button-background-color:transparent}html{-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;text-size-adjust:100%;background-color:var(--ifm-background-color);color:var(--ifm-font-color-base);color-scheme:var(--ifm-color-scheme);font:var(--ifm-font-size-base)/var(--ifm-line-height-base) var(--ifm-font-family-base);text-rendering:optimizelegibility}iframe{border:0;color-scheme:auto}.container{margin:0 auto;max-width:var(--ifm-container-width)}.container--fluid{max-width:inherit}.row{display:flex;flex-wrap:wrap;margin:0 calc(var(--ifm-spacing-horizontal)*-1)}.margin-bottom--none,.margin-vert--none,.markdown>:last-child{margin-bottom:0!important}.margin-top--none,.margin-vert--none,.tabItem_E4E1{margin-top:0!important}.row--no-gutters{margin-left:0;margin-right:0}.margin-horiz--none,.margin-right--none{margin-right:0!important}.row--no-gutters>.col{padding-left:0;padding-right:0}.row--align-top{align-items:flex-start}.row--align-bottom{align-items:flex-end}.menuExternalLink_g8Go,.row--align-center{align-items:center}.row--align-stretch{align-items:stretch}.row--align-baseline{align-items:baseline}.col{--ifm-col-width:100%;flex:1 0;margin-left:0;max-width:var(--ifm-col-width)}.padding-bottom--none,.padding-vert--none{padding-bottom:0!important}.padding-top--none,.padding-vert--none{padding-top:0!important}.padding-horiz--none,.padding-left--none{padding-left:0!important}.padding-horiz--none,.padding-right--none{padding-right:0!important}.col[class*=col--]{flex:0 0 var(--ifm-col-width)}.col--1{--ifm-col-width:8.33333%}.col--offset-1{margin-left:8.33333%}.col--2{--ifm-col-width:16.66667%}.col--offset-2{margin-left:16.66667%}.col--3{--ifm-col-width:25%}.col--offset-3{margin-left:25%}.col--4{--ifm-col-width:33.33333%}.col--offset-4{margin-left:33.33333%}.col--5{--ifm-col-width:41.66667%}.col--offset-5{margin-left:41.66667%}.col--6{--ifm-col-width:50%}.col--offset-6{margin-left:50%}.col--7{--ifm-col-width:58.33333%}.col--offset-7{margin-left:58.33333%}.col--8{--ifm-col-width:66.66667%}.col--offset-8{margin-left:66.66667%}.col--9{--ifm-col-width:75%}.col--offset-9{margin-left:75%}.col--10{--ifm-col-width:83.33333%}.col--offset-10{margin-left:83.33333%}.col--11{--ifm-col-width:91.66667%}.col--offset-11{margin-left:91.66667%}.col--12{--ifm-col-width:100%}.col--offset-12{margin-left:100%}.margin-horiz--none,.margin-left--none{margin-left:0!important}.margin--none{margin:0!important}.margin-bottom--xs,.margin-vert--xs{margin-bottom:.25rem!important}.margin-top--xs,.margin-vert--xs{margin-top:.25rem!important}.margin-horiz--xs,.margin-left--xs{margin-left:.25rem!important}.margin-horiz--xs,.margin-right--xs{margin-right:.25rem!important}.margin--xs{margin:.25rem!important}.margin-bottom--sm,.margin-vert--sm{margin-bottom:.5rem!important}.margin-top--sm,.margin-vert--sm{margin-top:.5rem!important}.margin-horiz--sm,.margin-left--sm{margin-left:.5rem!important}.margin-horiz--sm,.margin-right--sm{margin-right:.5rem!important}.margin--sm{margin:.5rem!important}.margin-bottom--md,.margin-vert--md{margin-bottom:1rem!important}.margin-top--md,.margin-vert--md{margin-top:1rem!important}.margin-horiz--md,.margin-left--md{margin-left:1rem!important}.margin-horiz--md,.margin-right--md{margin-right:1rem!important}.margin--md{margin:1rem!important}.margin-bottom--lg,.margin-vert--lg{margin-bottom:2rem!important}.margin-top--lg,.margin-vert--lg{margin-top:2rem!important}.margin-horiz--lg,.margin-left--lg{margin-left:2rem!important}.margin-horiz--lg,.margin-right--lg{margin-right:2rem!important}.margin--lg{margin:2rem!important}.margin-bottom--xl,.margin-vert--xl{margin-bottom:5rem!important}.margin-top--xl,.margin-vert--xl{margin-top:5rem!important}.margin-horiz--xl,.margin-left--xl{margin-left:5rem!important}.margin-horiz--xl,.margin-right--xl{margin-right:5rem!important}.margin--xl{margin:5rem!important}.padding--none{padding:0!important}.padding-bottom--xs,.padding-vert--xs{padding-bottom:.25rem!important}.padding-top--xs,.padding-vert--xs{padding-top:.25rem!important}.padding-horiz--xs,.padding-left--xs{padding-left:.25rem!important}.padding-horiz--xs,.padding-right--xs{padding-right:.25rem!important}.padding--xs{padding:.25rem!important}.padding-bottom--sm,.padding-vert--sm{padding-bottom:.5rem!important}.padding-top--sm,.padding-vert--sm{padding-top:.5rem!important}.padding-horiz--sm,.padding-left--sm{padding-left:.5rem!important}.padding-horiz--sm,.padding-right--sm{padding-right:.5rem!important}.padding--sm{padding:.5rem!important}.padding-bottom--md,.padding-vert--md{padding-bottom:1rem!important}.padding-top--md,.padding-vert--md{padding-top:1rem!important}.padding-horiz--md,.padding-left--md{padding-left:1rem!important}.padding-horiz--md,.padding-right--md{padding-right:1rem!important}.padding--md{padding:1rem!important}.padding-bottom--lg,.padding-vert--lg{padding-bottom:2rem!important}.padding-top--lg,.padding-vert--lg{padding-top:2rem!important}.padding-horiz--lg,.padding-left--lg{padding-left:2rem!important}.padding-horiz--lg,.padding-right--lg{padding-right:2rem!important}.padding--lg{padding:2rem!important}.padding-bottom--xl,.padding-vert--xl{padding-bottom:5rem!important}.padding-top--xl,.padding-vert--xl{padding-top:5rem!important}.padding-horiz--xl,.padding-left--xl{padding-left:5rem!important}.padding-horiz--xl,.padding-right--xl{padding-right:5rem!important}.padding--xl{padding:5rem!important}code{background-color:var(--ifm-code-background);border:.1rem solid rgba(0,0,0,.1);border-radius:var(--ifm-code-border-radius);font-family:var(--ifm-font-family-monospace);font-size:var(--ifm-code-font-size);padding:var(--ifm-code-padding-vertical) var(--ifm-code-padding-horizontal)}a code{color:inherit}pre{background-color:var(--ifm-pre-background);border-radius:var(--ifm-pre-border-radius);color:var(--ifm-pre-color);font:var(--ifm-code-font-size)/var(--ifm-pre-line-height) var(--ifm-font-family-monospace);padding:var(--ifm-pre-padding)}pre code{background-color:transparent;border:none;font-size:100%;line-height:inherit;padding:0}kbd{background-color:var(--ifm-color-emphasis-0);border:1px solid var(--ifm-color-emphasis-400);border-radius:.2rem;box-shadow:inset 0 -1px 0 var(--ifm-color-emphasis-400);color:var(--ifm-color-emphasis-800);font:80% var(--ifm-font-family-monospace);padding:.15rem .3rem}h1,h2,h3,h4,h5,h6{color:var(--ifm-heading-color);font-family:var(--ifm-heading-font-family);font-weight:var(--ifm-heading-font-weight);line-height:var(--ifm-heading-line-height);margin:var(--ifm-heading-margin-top) 0 var(--ifm-heading-margin-bottom) 0}h1{font-size:var(--ifm-h1-font-size)}h2{font-size:var(--ifm-h2-font-size)}h3{font-size:var(--ifm-h3-font-size)}h4{font-size:var(--ifm-h4-font-size)}h5{font-size:var(--ifm-h5-font-size)}h6{font-size:var(--ifm-h6-font-size)}img{max-width:100%}img[align=right]{padding-left:var(--image-alignment-padding)}img[align=left]{padding-right:var(--image-alignment-padding)}.markdown{--ifm-h1-vertical-rhythm-top:3;--ifm-h2-vertical-rhythm-top:2;--ifm-h3-vertical-rhythm-top:1.5;--ifm-heading-vertical-rhythm-top:1.25;--ifm-h1-vertical-rhythm-bottom:1.25;--ifm-heading-vertical-rhythm-bottom:1}.markdown:after,.markdown:before{content:"";display:table}.markdown:after{clear:both}.markdown h1:first-child{--ifm-h1-font-size:3rem;margin-bottom:calc(var(--ifm-h1-vertical-rhythm-bottom)*var(--ifm-leading))}.markdown>h2{--ifm-h2-font-size:2rem;margin-top:calc(var(--ifm-h2-vertical-rhythm-top)*var(--ifm-leading))}.markdown>h3{--ifm-h3-font-size:1.5rem;margin-top:calc(var(--ifm-h3-vertical-rhythm-top)*var(--ifm-leading))}.markdown>h4,.markdown>h5,.markdown>h6{margin-top:calc(var(--ifm-heading-vertical-rhythm-top)*var(--ifm-leading))}.markdown>p,.markdown>pre,.markdown>ul,.tabList_bgMo{margin-bottom:var(--ifm-leading)}.markdown li>p{margin-top:var(--ifm-list-paragraph-margin)}.markdown li+li{margin-top:var(--ifm-list-item-margin)}ol,ul{margin:0 0 var(--ifm-list-margin);padding-left:var(--ifm-list-left-padding)}ol ol,ul ol{list-style-type:lower-roman}ol ol ol,ol ul ol,ul ol ol,ul ul ol{list-style-type:lower-alpha}table{border-collapse:collapse;display:block;margin-bottom:var(--ifm-spacing-vertical)}table thead tr{border-bottom:2px solid var(--ifm-table-border-color)}table thead,table tr:nth-child(2n){background-color:var(--ifm-table-stripe-background)}table tr{background-color:var(--ifm-table-background);border-top:var(--ifm-table-border-width) solid var(--ifm-table-border-color)}table td,table th{border:var(--ifm-table-border-width) solid var(--ifm-table-border-color);padding:var(--ifm-table-cell-padding)}table th{background-color:var(--ifm-table-head-background);color:var(--ifm-table-head-color);font-weight:var(--ifm-table-head-font-weight)}table td{color:var(--ifm-table-cell-color)}strong{font-weight:var(--ifm-font-weight-bold)}a{color:var(--ifm-link-color);text-decoration:var(--ifm-link-decoration)}a:hover{color:var(--ifm-link-hover-color);text-decoration:var(--ifm-link-hover-decoration)}.button:hover,.text--no-decoration,.text--no-decoration:hover,a:not([href]){text-decoration:none}p{margin:0 0 var(--ifm-paragraph-margin-bottom)}blockquote{border-left:var(--ifm-blockquote-border-left-width) solid var(--ifm-blockquote-border-color);box-shadow:var(--ifm-blockquote-shadow);color:var(--ifm-blockquote-color);font-size:var(--ifm-blockquote-font-size);padding:var(--ifm-blockquote-padding-vertical) var(--ifm-blockquote-padding-horizontal)}blockquote>:first-child{margin-top:0}blockquote>:last-child{margin-bottom:0}hr{background-color:var(--ifm-hr-background-color);border:0;height:var(--ifm-hr-height);margin:var(--ifm-hr-margin-vertical) 0}.shadow--lw{box-shadow:var(--ifm-global-shadow-lw)!important}.shadow--md{box-shadow:var(--ifm-global-shadow-md)!important}.shadow--tl{box-shadow:var(--ifm-global-shadow-tl)!important}.text--primary,.wordWrapButtonEnabled_Iud9 .wordWrapButtonIcon_OXkO{color:var(--ifm-color-primary)}.text--secondary{color:var(--ifm-color-secondary)}.text--success{color:var(--ifm-color-success)}.text--info{color:var(--ifm-color-info)}.text--warning{color:var(--ifm-color-warning)}.text--danger{color:var(--ifm-color-danger)}.text--center{text-align:center}.text--left{text-align:left}.text--justify{text-align:justify}.text--right{text-align:right}.text--capitalize{text-transform:capitalize}.text--lowercase{text-transform:lowercase}.admonitionHeading_Y3c0,.alert__heading,.text--uppercase{text-transform:uppercase}.text--light{font-weight:var(--ifm-font-weight-light)}.text--normal{font-weight:var(--ifm-font-weight-normal)}.text--semibold{font-weight:var(--ifm-font-weight-semibold)}.text--bold{font-weight:var(--ifm-font-weight-bold)}.text--italic{font-style:italic}.text--break{word-wrap:break-word!important;word-break:break-word!important}.clean-btn{background:none;border:none;color:inherit;cursor:pointer;font-family:inherit;padding:0}.alert,.alert .close{color:var(--ifm-alert-foreground-color)}.clean-list{padding-left:0}.alert--primary{--ifm-alert-background-color:var(--ifm-color-primary-contrast-background);--ifm-alert-background-color-highlight:rgba(53,120,229,.15);--ifm-alert-foreground-color:var(--ifm-color-primary-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-primary-dark)}.alert--secondary{--ifm-alert-background-color:var(--ifm-color-secondary-contrast-background);--ifm-alert-background-color-highlight:rgba(235,237,240,.15);--ifm-alert-foreground-color:var(--ifm-color-secondary-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-secondary-dark)}.alert--success{--ifm-alert-background-color:var(--ifm-color-success-contrast-background);--ifm-alert-background-color-highlight:rgba(0,164,0,.15);--ifm-alert-foreground-color:var(--ifm-color-success-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-success-dark)}.alert--info{--ifm-alert-background-color:var(--ifm-color-info-contrast-background);--ifm-alert-background-color-highlight:rgba(84,199,236,.15);--ifm-alert-foreground-color:var(--ifm-color-info-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-info-dark)}.alert--warning{--ifm-alert-background-color:var(--ifm-color-warning-contrast-background);--ifm-alert-background-color-highlight:rgba(255,186,0,.15);--ifm-alert-foreground-color:var(--ifm-color-warning-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-warning-dark)}.alert--danger{--ifm-alert-background-color:var(--ifm-color-danger-contrast-background);--ifm-alert-background-color-highlight:rgba(250,56,62,.15);--ifm-alert-foreground-color:var(--ifm-color-danger-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-danger-dark)}.alert{--ifm-code-background:var(--ifm-alert-background-color-highlight);--ifm-link-color:var(--ifm-alert-foreground-color);--ifm-link-hover-color:var(--ifm-alert-foreground-color);--ifm-link-decoration:underline;--ifm-tabs-color:var(--ifm-alert-foreground-color);--ifm-tabs-color-active:var(--ifm-alert-foreground-color);--ifm-tabs-color-active-border:var(--ifm-alert-border-color);background-color:var(--ifm-alert-background-color);border:var(--ifm-alert-border-width) solid var(--ifm-alert-border-color);border-left-width:var(--ifm-alert-border-left-width);border-radius:var(--ifm-alert-border-radius);box-shadow:var(--ifm-alert-shadow);padding:var(--ifm-alert-padding-vertical) var(--ifm-alert-padding-horizontal)}.alert__heading{align-items:center;display:flex;font:700 var(--ifm-h5-font-size)/var(--ifm-heading-line-height) var(--ifm-heading-font-family);margin-bottom:.5rem}.alert__icon{display:inline-flex;margin-right:.4em}.alert__icon svg{fill:var(--ifm-alert-foreground-color);stroke:var(--ifm-alert-foreground-color);stroke-width:0}.alert .close{margin:calc(var(--ifm-alert-padding-vertical)*-1) calc(var(--ifm-alert-padding-horizontal)*-1) 0 0;opacity:.75}.alert .close:focus,.alert .close:hover{opacity:1}.alert a{text-decoration-color:var(--ifm-alert-border-color)}.alert a:hover{text-decoration-thickness:2px}.avatar{column-gap:var(--ifm-avatar-intro-margin);display:flex}.avatar__photo{border-radius:50%;display:block;height:var(--ifm-avatar-photo-size);width:var(--ifm-avatar-photo-size)}.card--full-height,.navbar__logo img,body,html{height:100%}.avatar__photo--sm{--ifm-avatar-photo-size:2rem}.avatar__photo--lg{--ifm-avatar-photo-size:4rem}.avatar__photo--xl{--ifm-avatar-photo-size:6rem}.avatar__intro{display:flex;flex:1 1;flex-direction:column;justify-content:center;text-align:var(--ifm-avatar-intro-alignment)}.badge,.breadcrumbs__item,.breadcrumbs__link,.button,.dropdown>.navbar__link:after,.searchBarContainer_s0uC.searchIndexLoading_czJe .searchBarLoadingRing_BeZp{display:inline-block}.avatar__name{font:700 var(--ifm-h4-font-size)/var(--ifm-heading-line-height) var(--ifm-font-family-base)}.avatar__subtitle{margin-top:.25rem}.avatar--vertical{--ifm-avatar-intro-alignment:center;--ifm-avatar-intro-margin:0.5rem;align-items:center;flex-direction:column}.badge{background-color:var(--ifm-badge-background-color);border:var(--ifm-badge-border-width) solid var(--ifm-badge-border-color);border-radius:var(--ifm-badge-border-radius);color:var(--ifm-badge-color);font-size:75%;font-weight:var(--ifm-font-weight-bold);line-height:1;padding:var(--ifm-badge-padding-vertical) var(--ifm-badge-padding-horizontal)}.badge--primary{--ifm-badge-background-color:var(--ifm-color-primary)}.badge--secondary{--ifm-badge-background-color:var(--ifm-color-secondary);color:var(--ifm-color-black)}.breadcrumbs__link,.button.button--secondary.button--outline:not(.button--active):not(:hover){color:var(--ifm-font-color-base)}.badge--success{--ifm-badge-background-color:var(--ifm-color-success)}.badge--info{--ifm-badge-background-color:var(--ifm-color-info)}.badge--warning{--ifm-badge-background-color:var(--ifm-color-warning)}.badge--danger{--ifm-badge-background-color:var(--ifm-color-danger)}.breadcrumbs{margin-bottom:0;padding-left:0}.breadcrumbs__item:not(:last-child):after{background:var(--ifm-breadcrumb-separator) center;content:" ";display:inline-block;filter:var(--ifm-breadcrumb-separator-filter);height:calc(var(--ifm-breadcrumb-separator-size)*var(--ifm-breadcrumb-size-multiplier)*var(--ifm-breadcrumb-separator-size-multiplier));margin:0 var(--ifm-breadcrumb-spacing);opacity:.5;width:calc(var(--ifm-breadcrumb-separator-size)*var(--ifm-breadcrumb-size-multiplier)*var(--ifm-breadcrumb-separator-size-multiplier))}.breadcrumbs__item--active .breadcrumbs__link{background:var(--ifm-breadcrumb-item-background-active);color:var(--ifm-breadcrumb-color-active)}.breadcrumbs__link{border-radius:var(--ifm-breadcrumb-border-radius);font-size:calc(1rem*var(--ifm-breadcrumb-size-multiplier));padding:calc(var(--ifm-breadcrumb-padding-vertical)*var(--ifm-breadcrumb-size-multiplier)) calc(var(--ifm-breadcrumb-padding-horizontal)*var(--ifm-breadcrumb-size-multiplier));transition-duration:var(--ifm-transition-fast);transition-property:background,color}.breadcrumbs__link:link:hover,.breadcrumbs__link:visited:hover,area.breadcrumbs__link[href]:hover{background:var(--ifm-breadcrumb-item-background-active);text-decoration:none}.breadcrumbs__link:any-link:hover{background:var(--ifm-breadcrumb-item-background-active);text-decoration:none}.breadcrumbs--sm{--ifm-breadcrumb-size-multiplier:0.8}.breadcrumbs--lg{--ifm-breadcrumb-size-multiplier:1.2}.button{background-color:var(--ifm-button-background-color);border:var(--ifm-button-border-width) solid var(--ifm-button-border-color);border-radius:var(--ifm-button-border-radius);cursor:pointer;font-size:calc(.875rem*var(--ifm-button-size-multiplier));font-weight:var(--ifm-button-font-weight);line-height:1.5;padding:calc(var(--ifm-button-padding-vertical)*var(--ifm-button-size-multiplier)) calc(var(--ifm-button-padding-horizontal)*var(--ifm-button-size-multiplier));text-align:center;transition-duration:var(--ifm-button-transition-duration);transition-property:color,background,border-color;-webkit-user-select:none;user-select:none}.button,.button:hover{color:var(--ifm-button-color)}.button--outline{--ifm-button-color:var(--ifm-button-border-color)}.button--outline:hover{--ifm-button-background-color:var(--ifm-button-border-color)}.button--link{--ifm-button-border-color:transparent;color:var(--ifm-link-color);text-decoration:var(--ifm-link-decoration)}.button--link.button--active,.button--link:active,.button--link:hover{color:var(--ifm-link-hover-color);text-decoration:var(--ifm-link-hover-decoration)}.button.disabled,.button:disabled,.button[disabled]{opacity:.65;pointer-events:none}.button--sm{--ifm-button-size-multiplier:0.8}.button--lg{--ifm-button-size-multiplier:1.35}.button--block{display:block;width:100%}.button.button--secondary{color:var(--ifm-color-gray-900)}:where(.button--primary){--ifm-button-background-color:var(--ifm-color-primary);--ifm-button-border-color:var(--ifm-color-primary)}:where(.button--primary):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-primary-dark);--ifm-button-border-color:var(--ifm-color-primary-dark)}.button--primary.button--active,.button--primary:active{--ifm-button-background-color:var(--ifm-color-primary-darker);--ifm-button-border-color:var(--ifm-color-primary-darker)}:where(.button--secondary){--ifm-button-background-color:var(--ifm-color-secondary);--ifm-button-border-color:var(--ifm-color-secondary)}:where(.button--secondary):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-secondary-dark);--ifm-button-border-color:var(--ifm-color-secondary-dark)}.button--secondary.button--active,.button--secondary:active{--ifm-button-background-color:var(--ifm-color-secondary-darker);--ifm-button-border-color:var(--ifm-color-secondary-darker)}:where(.button--success){--ifm-button-background-color:var(--ifm-color-success);--ifm-button-border-color:var(--ifm-color-success)}:where(.button--success):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-success-dark);--ifm-button-border-color:var(--ifm-color-success-dark)}.button--success.button--active,.button--success:active{--ifm-button-background-color:var(--ifm-color-success-darker);--ifm-button-border-color:var(--ifm-color-success-darker)}:where(.button--info){--ifm-button-background-color:var(--ifm-color-info);--ifm-button-border-color:var(--ifm-color-info)}:where(.button--info):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-info-dark);--ifm-button-border-color:var(--ifm-color-info-dark)}.button--info.button--active,.button--info:active{--ifm-button-background-color:var(--ifm-color-info-darker);--ifm-button-border-color:var(--ifm-color-info-darker)}:where(.button--warning){--ifm-button-background-color:var(--ifm-color-warning);--ifm-button-border-color:var(--ifm-color-warning)}:where(.button--warning):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-warning-dark);--ifm-button-border-color:var(--ifm-color-warning-dark)}.button--warning.button--active,.button--warning:active{--ifm-button-background-color:var(--ifm-color-warning-darker);--ifm-button-border-color:var(--ifm-color-warning-darker)}:where(.button--danger){--ifm-button-background-color:var(--ifm-color-danger);--ifm-button-border-color:var(--ifm-color-danger)}:where(.button--danger):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-danger-dark);--ifm-button-border-color:var(--ifm-color-danger-dark)}.button--danger.button--active,.button--danger:active{--ifm-button-background-color:var(--ifm-color-danger-darker);--ifm-button-border-color:var(--ifm-color-danger-darker)}.button-group{display:inline-flex;gap:var(--ifm-button-group-spacing)}.button-group>.button:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.button-group>.button:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.button-group--block{display:flex;justify-content:stretch}.button-group--block>.button{flex-grow:1}.card{background-color:var(--ifm-card-background-color);border-radius:var(--ifm-card-border-radius);box-shadow:var(--ifm-global-shadow-lw);display:flex;flex-direction:column}.card__image{padding-top:var(--ifm-card-vertical-spacing)}.card__image:first-child{padding-top:0}.card__body,.card__footer,.card__header{padding:var(--ifm-card-vertical-spacing) var(--ifm-card-horizontal-spacing)}.card__body:not(:last-child),.card__footer:not(:last-child),.card__header:not(:last-child){padding-bottom:0}.card__body>:last-child,.card__footer>:last-child,.card__header>:last-child{margin-bottom:0}.card__footer{margin-top:auto}.table-of-contents{font-size:.8rem;margin-bottom:0;padding:var(--ifm-toc-padding-vertical) 0}.table-of-contents,.table-of-contents ul{list-style:none;padding-left:var(--ifm-toc-padding-horizontal)}.table-of-contents li{margin:var(--ifm-toc-padding-vertical) var(--ifm-toc-padding-horizontal)}.table-of-contents__left-border{border-left:1px solid var(--ifm-toc-border-color)}.table-of-contents__link{color:var(--ifm-toc-link-color);display:block}.table-of-contents__link--active,.table-of-contents__link--active code,.table-of-contents__link:hover,.table-of-contents__link:hover code{color:var(--ifm-color-primary);text-decoration:none}.content_XLQu a,.hitFooter_dRNB a,.suggestion_hq2K.cursor_LrGE mark{text-decoration:underline}.close{color:var(--ifm-color-black);float:right;font-size:1.5rem;font-weight:var(--ifm-font-weight-bold);line-height:1;opacity:.5;padding:1rem;transition:opacity var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.close:hover{opacity:.7}.btn_ThXI:hover,.close:focus,.theme-code-block-highlighted-line .codeLineNumber_Etcb:before{opacity:.8}.dropdown{display:inline-flex;font-weight:var(--ifm-dropdown-font-weight);position:relative;vertical-align:top}.dropdown--hoverable:hover .dropdown__menu,.dropdown--show .dropdown__menu{opacity:1;pointer-events:all;transform:translateY(-1px);visibility:visible}.dropdown--right .dropdown__menu{left:inherit;right:0}.dropdown--nocaret .navbar__link:after{content:none!important}.dropdown__menu{background-color:var(--ifm-dropdown-background-color);border-radius:var(--ifm-global-radius);box-shadow:var(--ifm-global-shadow-md);left:0;max-height:80vh;min-width:10rem;opacity:0;overflow-y:auto;padding:.5rem;pointer-events:none;position:absolute;top:calc(100% - var(--ifm-navbar-item-padding-vertical) + .3rem);transform:translateY(-.625rem);transition-duration:var(--ifm-transition-fast);transition-property:opacity,transform,visibility;transition-timing-function:var(--ifm-transition-timing-default);visibility:hidden;z-index:var(--ifm-z-index-dropdown)}.menu__caret,.menu__link,.menu__list-item-collapsible{border-radius:.25rem;transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.dropdown__link{border-radius:.25rem;color:var(--ifm-dropdown-link-color);display:block;font-size:.875rem;margin-top:.2rem;padding:.25rem .5rem}.dropdown__link--active,.dropdown__link:hover{background-color:var(--ifm-dropdown-hover-background-color);color:var(--ifm-dropdown-link-color);text-decoration:none}.dropdown__link--active,.dropdown__link--active:hover{--ifm-dropdown-link-color:var(--ifm-link-color)}.dropdown>.navbar__link:after{border-color:currentcolor transparent;border-style:solid;border-width:.4em .4em 0;content:"";margin-left:.3em;position:relative;top:2px;transform:translateY(-50%)}.footer{background-color:var(--ifm-footer-background-color);color:var(--ifm-footer-color);padding:var(--ifm-footer-padding-vertical) var(--ifm-footer-padding-horizontal)}.footer--dark{--ifm-footer-background-color:#303846;--ifm-footer-color:var(--ifm-footer-link-color);--ifm-footer-link-color:var(--ifm-color-secondary);--ifm-footer-title-color:var(--ifm-color-white)}.footer__links{margin-bottom:1rem}.footer__link-item{color:var(--ifm-footer-link-color);line-height:2}.footer__link-item:hover{color:var(--ifm-footer-link-hover-color)}.footer__link-separator{margin:0 var(--ifm-footer-link-horizontal-spacing)}.footer__logo{margin-top:1rem;max-width:var(--ifm-footer-logo-max-width)}.footer__title{color:var(--ifm-footer-title-color);font:700 var(--ifm-h4-font-size)/var(--ifm-heading-line-height) var(--ifm-font-family-base);margin-bottom:var(--ifm-heading-margin-bottom)}.menu,.navbar__link{font-weight:var(--ifm-font-weight-semibold)}.docItemContainer_zkhg article>:first-child,.docItemContainer_zkhg header+*,.footer__item{margin-top:0}.admonitionContent_bpq4>:last-child,.collapsibleContent_ftht>:last-child,.footer__items,.searchResultItem_gI4g>h2,.tabItem_M7ZN>:last-child{margin-bottom:0}.codeBlockStandalone_WZhy,[type=checkbox]{padding:0}.hero{align-items:center;background-color:var(--ifm-hero-background-color);color:var(--ifm-hero-text-color);display:flex;padding:4rem 2rem}.hero--primary{--ifm-hero-background-color:var(--ifm-color-primary);--ifm-hero-text-color:var(--ifm-font-color-base-inverse)}.hero--dark{--ifm-hero-background-color:#303846;--ifm-hero-text-color:var(--ifm-color-white)}.hero__title{font-size:3rem}.hero__subtitle{font-size:1.5rem}.menu__list{margin:0;padding-left:0}.menu__caret,.menu__link{padding:var(--ifm-menu-link-padding-vertical) var(--ifm-menu-link-padding-horizontal)}.menu__list .menu__list{flex:0 0 100%;margin-top:.25rem;padding-left:var(--ifm-menu-link-padding-horizontal)}.menu__list-item:not(:first-child){margin-top:.25rem}.menu__list-item--collapsed .menu__list{height:0;overflow:hidden}.details_jZ3c[data-collapsed=false].isBrowser_UlHn>summary:before,.details_jZ3c[open]:not(.isBrowser_UlHn)>summary:before,.menu__list-item--collapsed .menu__caret:before,.menu__list-item--collapsed .menu__link--sublist:after{transform:rotate(90deg)}.menu__list-item-collapsible{display:flex;flex-wrap:wrap;position:relative}.menu__caret:hover,.menu__link:hover,.menu__list-item-collapsible--active,.menu__list-item-collapsible:hover{background:var(--ifm-menu-color-background-hover)}.menu__list-item-collapsible .menu__link--active,.menu__list-item-collapsible .menu__link:hover{background:none!important}.menu__caret,.menu__link{align-items:center;display:flex}.menu__link{color:var(--ifm-menu-color);flex:1;line-height:1.25}.menu__link:hover{color:var(--ifm-menu-color);text-decoration:none}.menu__caret:before,.menu__link--sublist-caret:after{height:1.25rem;transform:rotate(180deg);transition:transform var(--ifm-transition-fast) linear;width:1.25rem;filter:var(--ifm-menu-link-sublist-icon-filter);content:""}.menu__link--sublist-caret:after{background:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem;margin-left:auto;min-width:1.25rem}.menu__link--active,.menu__link--active:hover{color:var(--ifm-menu-color-active)}.navbar__brand,.navbar__link{color:var(--ifm-navbar-link-color)}.menu__link--active:not(.menu__link--sublist){background-color:var(--ifm-menu-color-background-active)}.menu__caret:before{background:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem}.navbar--dark,html[data-theme=dark]{--ifm-menu-link-sublist-icon-filter:invert(100%) sepia(94%) saturate(17%) hue-rotate(223deg) brightness(104%) contrast(98%)}.navbar{background-color:var(--ifm-navbar-background-color);box-shadow:var(--ifm-navbar-shadow);height:var(--ifm-navbar-height);padding:var(--ifm-navbar-padding-vertical) var(--ifm-navbar-padding-horizontal)}.navbar,.navbar>.container,.navbar>.container-fluid{display:flex}.navbar--fixed-top{position:sticky;top:0;z-index:var(--ifm-z-index-fixed)}.navbar-sidebar,.navbar-sidebar__backdrop{left:0;opacity:0;position:fixed;transition-timing-function:ease-in-out;top:0;bottom:0;visibility:hidden}.navbar__inner{display:flex;flex-wrap:wrap;justify-content:space-between;width:100%}.navbar__brand{align-items:center;display:flex;margin-right:1rem;min-width:0}.navbar__brand:hover{color:var(--ifm-navbar-link-hover-color);text-decoration:none}.announcementBarContent_zJH8,.navbar__title{flex:1 1 auto}.navbar__toggle{display:none;margin-right:.5rem}.navbar__logo{flex:0 0 auto;margin-right:.5rem}.navbar__items{align-items:center;display:flex;flex:1;min-width:0}.navbar__items--center{flex:0 0 auto}.navbar__items--center .navbar__brand{margin:0}.navbar__items--center+.navbar__items--right{flex:1}.navbar__items--right{flex:0 0 auto;justify-content:flex-end}.navbar__items--right>:last-child{padding-right:0}.navbar__item{display:inline-block;padding:var(--ifm-navbar-item-padding-vertical) var(--ifm-navbar-item-padding-horizontal)}#nprogress,.navbar__item.dropdown .navbar__link:not([href]){pointer-events:none}.navbar__link--active,.navbar__link:hover{color:var(--ifm-navbar-link-hover-color);text-decoration:none}.navbar--dark,.navbar--primary{--ifm-menu-color:var(--ifm-color-gray-300);--ifm-navbar-link-color:var(--ifm-color-gray-100);--ifm-navbar-search-input-background-color:hsla(0,0%,100%,.1);--ifm-navbar-search-input-placeholder-color:hsla(0,0%,100%,.5);color:var(--ifm-color-white)}.navbar--dark{--ifm-navbar-background-color:#242526;--ifm-menu-color-background-active:hsla(0,0%,100%,.05);--ifm-navbar-search-input-color:var(--ifm-color-white)}.navbar--primary{--ifm-navbar-background-color:var(--ifm-color-primary);--ifm-navbar-link-hover-color:var(--ifm-color-white);--ifm-menu-color-active:var(--ifm-color-white);--ifm-navbar-search-input-color:var(--ifm-color-emphasis-500)}.navbar__search-input{-webkit-appearance:none;appearance:none;background:var(--ifm-navbar-search-input-background-color) var(--ifm-navbar-search-input-icon) no-repeat .75rem center/1rem 1rem;border:none;border-radius:2rem;color:var(--ifm-navbar-search-input-color);cursor:text;display:inline-block;font-size:.9rem;height:2rem;padding:0 .5rem 0 2.25rem;width:12.5rem}.navbar__search-input::placeholder{color:var(--ifm-navbar-search-input-placeholder-color)}.navbar-sidebar{background-color:var(--ifm-navbar-background-color);box-shadow:var(--ifm-global-shadow-md);transform:translate3d(-100%,0,0);transition-duration:.25s;transition-property:opacity,visibility,transform;width:var(--ifm-navbar-sidebar-width)}.navbar-sidebar--show .navbar-sidebar,.navbar-sidebar__items{transform:translateZ(0)}.navbar-sidebar--show .navbar-sidebar,.navbar-sidebar--show .navbar-sidebar__backdrop{opacity:1;visibility:visible}.navbar-sidebar__backdrop{background-color:rgba(0,0,0,.6);right:0;transition-duration:.1s;transition-property:opacity,visibility}.navbar-sidebar__brand{align-items:center;box-shadow:var(--ifm-navbar-shadow);display:flex;flex:1;height:var(--ifm-navbar-height);padding:var(--ifm-navbar-padding-vertical) var(--ifm-navbar-padding-horizontal)}.navbar-sidebar__items{display:flex;height:calc(100% - var(--ifm-navbar-height));transition:transform var(--ifm-transition-fast) ease-in-out}.navbar-sidebar__items--show-secondary{transform:translate3d(calc((var(--ifm-navbar-sidebar-width))*-1),0,0)}.navbar-sidebar__item{flex-shrink:0;padding:.5rem;width:calc(var(--ifm-navbar-sidebar-width))}.navbar-sidebar__back{background:var(--ifm-menu-color-background-active);font-size:15px;font-weight:var(--ifm-button-font-weight);margin:0 0 .2rem -.5rem;padding:.6rem 1.5rem;position:relative;text-align:left;top:-.5rem;width:calc(100% + 1rem)}#nprogress .bar,.wrapper_jj6Y{left:0;width:100%;position:fixed}.navbar-sidebar__close{display:flex;margin-left:auto}.pagination{column-gap:var(--ifm-pagination-page-spacing);display:flex;font-size:var(--ifm-pagination-font-size);padding-left:0}.pagination--sm{--ifm-pagination-font-size:0.8rem;--ifm-pagination-padding-horizontal:0.8rem;--ifm-pagination-padding-vertical:0.2rem}.pagination--lg{--ifm-pagination-font-size:1.2rem;--ifm-pagination-padding-horizontal:1.2rem;--ifm-pagination-padding-vertical:0.3rem}.pagination__item{display:inline-flex}.pagination__item>span{padding:var(--ifm-pagination-padding-vertical)}.pagination__item--active .pagination__link{color:var(--ifm-pagination-color-active)}.pagination__item--active .pagination__link,.pagination__item:not(.pagination__item--active):hover .pagination__link{background:var(--ifm-pagination-item-active-background)}.pagination__item--disabled,.pagination__item[disabled]{opacity:.25;pointer-events:none}.pagination__link{border-radius:var(--ifm-pagination-border-radius);color:var(--ifm-font-color-base);display:inline-block;padding:var(--ifm-pagination-padding-vertical) var(--ifm-pagination-padding-horizontal);transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.pagination__link:hover{text-decoration:none}.pagination-nav{grid-gap:var(--ifm-spacing-horizontal);display:grid;gap:var(--ifm-spacing-horizontal);grid-template-columns:repeat(2,1fr)}.pagination-nav__link{border:1px solid var(--ifm-color-emphasis-300);border-radius:var(--ifm-pagination-nav-border-radius);display:block;height:100%;line-height:var(--ifm-heading-line-height);padding:var(--ifm-global-spacing);transition:border-color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.pagination-nav__link:hover{border-color:var(--ifm-pagination-nav-color-hover);text-decoration:none}.pagination-nav__link--next{grid-column:2/3;text-align:right}.pagination-nav__label{font-size:var(--ifm-h4-font-size);font-weight:var(--ifm-heading-font-weight);word-break:break-word}.pagination-nav__link--prev .pagination-nav__label:before{content:"« "}.pagination-nav__link--next .pagination-nav__label:after{content:" »"}.pagination-nav__sublabel{color:var(--ifm-color-content-secondary);font-size:var(--ifm-h5-font-size);font-weight:var(--ifm-font-weight-semibold);margin-bottom:.25rem}.pills__item,.tabs{font-weight:var(--ifm-font-weight-bold)}.pills{display:flex;gap:var(--ifm-pills-spacing);padding-left:0}.pills__item{border-radius:.5rem;cursor:pointer;display:inline-block;padding:.25rem 1rem;transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.tabs,:not(.containsTaskList_O5zp>li)>.containsTaskList_O5zp{padding-left:0}.pills__item--active{color:var(--ifm-pills-color-active)}.pills__item--active,.pills__item:not(.pills__item--active):hover{background:var(--ifm-pills-color-background-active)}.pills--block{justify-content:stretch}.pills--block .pills__item{flex-grow:1;text-align:center}.tabs{color:var(--ifm-tabs-color);display:flex;margin-bottom:0;overflow-x:auto}.tabs__item{border-bottom:3px solid transparent;border-radius:var(--ifm-global-radius);cursor:pointer;display:inline-flex;padding:var(--ifm-tabs-padding-vertical) var(--ifm-tabs-padding-horizontal);transition:background-color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.tabs__item--active{border-bottom-color:var(--ifm-tabs-color-active-border);border-bottom-left-radius:0;border-bottom-right-radius:0;color:var(--ifm-tabs-color-active)}.tabs__item:hover{background-color:var(--ifm-hover-overlay)}.tabs--block{justify-content:stretch}.tabs--block .tabs__item{flex-grow:1;justify-content:center}html[data-theme=dark]{--ifm-color-scheme:dark;--ifm-color-emphasis-0:var(--ifm-color-gray-1000);--ifm-color-emphasis-100:var(--ifm-color-gray-900);--ifm-color-emphasis-200:var(--ifm-color-gray-800);--ifm-color-emphasis-300:var(--ifm-color-gray-700);--ifm-color-emphasis-400:var(--ifm-color-gray-600);--ifm-color-emphasis-600:var(--ifm-color-gray-400);--ifm-color-emphasis-700:var(--ifm-color-gray-300);--ifm-color-emphasis-800:var(--ifm-color-gray-200);--ifm-color-emphasis-900:var(--ifm-color-gray-100);--ifm-color-emphasis-1000:var(--ifm-color-gray-0);--ifm-background-color:#1b1b1d;--ifm-background-surface-color:#242526;--ifm-hover-overlay:hsla(0,0%,100%,.05);--ifm-color-content:#e3e3e3;--ifm-color-content-secondary:#fff;--ifm-breadcrumb-separator-filter:invert(64%) sepia(11%) saturate(0%) hue-rotate(149deg) brightness(99%) contrast(95%);--ifm-code-background:hsla(0,0%,100%,.1);--ifm-scrollbar-track-background-color:#444;--ifm-scrollbar-thumb-background-color:#686868;--ifm-scrollbar-thumb-hover-background-color:#7a7a7a;--ifm-table-stripe-background:hsla(0,0%,100%,.07);--ifm-toc-border-color:var(--ifm-color-emphasis-200);--ifm-color-primary-contrast-background:#102445;--ifm-color-primary-contrast-foreground:#ebf2fc;--ifm-color-secondary-contrast-background:#474748;--ifm-color-secondary-contrast-foreground:#fdfdfe;--ifm-color-success-contrast-background:#003100;--ifm-color-success-contrast-foreground:#e6f6e6;--ifm-color-info-contrast-background:#193c47;--ifm-color-info-contrast-foreground:#eef9fd;--ifm-color-warning-contrast-background:#4d3800;--ifm-color-warning-contrast-foreground:#fff8e6;--ifm-color-danger-contrast-background:#4b1113;--ifm-color-danger-contrast-foreground:#ffebec}:root{--docusaurus-progress-bar-color:var(--ifm-color-primary);--ifm-color-primary:#5485f7;--ifm-color-title:#111;--ifm-color-background:#fff;--ifm-color-border-color:hsla(0,0%,82%,.44);--ifm-color-area:#fafafa;--ifm-code-font-size:95%;--ifm-container-width-xl:1600px;--ifm-footer-title-color:#fff;--site-primary-hue-saturation:167,68%;--site-primary-hue-saturation-light:167,56%;--docusaurus-announcement-bar-height:auto;--docusaurus-tag-list-border:var(--ifm-color-emphasis-300);--docusaurus-collapse-button-bg:transparent;--docusaurus-collapse-button-bg-hover:rgba(0,0,0,.1);--doc-sidebar-width:300px;--doc-sidebar-hidden-width:30px}#nprogress .bar{background:var(--docusaurus-progress-bar-color);height:2px;top:0;z-index:1031}#nprogress .peg{box-shadow:0 0 10px var(--docusaurus-progress-bar-color),0 0 5px var(--docusaurus-progress-bar-color);height:100%;opacity:1;position:absolute;right:0;transform:rotate(3deg) translateY(-4px);width:100px}:root[data-theme=dark]{--ifm-color-title:#fff;--ifm-color-background:#2a2d31;--ifm-color-border-color:hsla(0,0%,58%,.27);--ifm-color-area:#242527;--ifm-footer-title-color:#fff;--ice-users-fill-filter:drop-shadow(0 40px hsla(0,0%,100%,.72));--ice-users-fill-transform:translateY(-40px)}.docusaurus-highlight-code-line{background-color:#484d5b;display:block;margin:0 calc(var(--ifm-pre-padding)*-1);padding:0 var(--ifm-pre-padding)}.navbar__title{font-size:22px;margin-left:4px}.navbar__logo{height:50px}.navbar__search-input:focus,body:not(.navigation-with-keyboard) :not(input):focus{outline:0}div[class^=announcementBar_]{--site-announcement-bar-stripe-color1:hsl(var(--site-primary-hue-saturation),85%);--site-announcement-bar-stripe-color2:hsl(var(--site-primary-hue-saturation),95%);background:repeating-linear-gradient(35deg,var(--site-announcement-bar-stripe-color1),var(--site-announcement-bar-stripe-color1) 20px,var(--site-announcement-bar-stripe-color2) 10px,var(--site-announcement-bar-stripe-color2) 40px);font-weight:700}.menu__link--sublist-caret:after{background-size:1.3rem 1.3rem}.wrapper_jj6Y{background-color:#303846;bottom:0;color:#fff;min-height:300px;z-index:1000}.container_RwCV,.splash_tJkJ{min-height:calc(100vh - var(--ifm-navbar-height))}.container_QEeP{margin:0 auto;max-width:1200px;padding:54px 24px}.content_Hwtk{font-size:18px}.action__iQz{display:flex;margin-top:20px}.btn_ThXI{background-color:#222;color:#ccc;cursor:pointer;display:inline-block;margin-right:20px;padding:8px 12px}.primaryBtn_ACxB{background-color:#fff;color:#000}#docusaurus-base-url-issue-banner-container,.hideAction_Mum0>svg,.themedImage_v4SI,[data-theme=dark] .lightToggleIcon_QvpD,[data-theme=light] .darkToggleIcon_Ci5x,html[data-announcement-bar-initially-dismissed=true] .announcementBar_jKd1{display:none}.skipToContent_kZml{background-color:var(--ifm-background-surface-color);color:var(--ifm-color-emphasis-900);left:100%;padding:calc(var(--ifm-global-spacing)/2) var(--ifm-global-spacing);position:fixed;top:1rem;z-index:calc(var(--ifm-z-index-fixed) + 1)}.skipToContent_kZml:focus{box-shadow:var(--ifm-global-shadow-md);left:1rem}.closeButton_q0Zb{line-height:0;padding:0}.content_XLQu{font-size:85%;padding:5px 0;text-align:center}.content_XLQu a{color:inherit}.announcementBar_jKd1{align-items:center;background-color:var(--ifm-color-white);border-bottom:1px solid var(--ifm-color-emphasis-100);color:var(--ifm-color-black);display:flex;height:var(--docusaurus-announcement-bar-height)}.announcementBarPlaceholder_Hgek{flex:0 0 10px}.announcementBarClose_XF4t{align-self:stretch;flex:0 0 30px}.toggle_cIQr{height:2rem;width:2rem}.toggleButton_FwyU{align-items:center;border-radius:50%;display:flex;height:100%;justify-content:center;transition:background var(--ifm-transition-fast);width:100%}.toggleButton_FwyU:hover{background:var(--ifm-color-emphasis-200)}.toggleButtonDisabled_YRmF{cursor:not-allowed}[data-theme=dark] .themedImage--dark_vYDE,[data-theme=light] .themedImage--light_yw5B{display:initial}.iconExternalLink_u1KE{margin-left:.3rem}.iconLanguage_RdnR{margin-right:5px;vertical-align:text-bottom}.searchBar_cFIW .dropdownMenu_LnjM{background:var(--search-local-modal-background,#f5f6f7);border-radius:6px;box-shadow:var(--search-local-modal-shadow,inset 1px 1px 0 0 hsla(0,0%,100%,.5),0 3px 8px 0 #555a64);left:auto!important;margin-top:8px;padding:var(--search-local-spacing,12px);position:relative;right:0!important;width:var(--search-local-modal-width,560px)}html[data-theme=dark] .searchBar_cFIW .dropdownMenu_LnjM{background:var(--search-local-modal-background,var(--ifm-background-color));box-shadow:var(--search-local-modal-shadow,inset 1px 1px 0 0 #2c2e40,0 3px 8px 0 #000309)}.searchBar_cFIW .dropdownMenu_LnjM .suggestion_hq2K{align-items:center;background:var(--search-local-hit-background,#fff);border-radius:4px;box-shadow:var(--search-local-hit-shadow,0 1px 3px 0 #d4d9e1);color:var(--search-local-hit-color,#444950);cursor:pointer;display:flex;flex-direction:row;height:var(--search-local-hit-height,56px);padding:0 var(--search-local-spacing,12px);width:100%}.hitTree_U0d6,.noResults_NZaC{align-items:center;display:flex}html[data-theme=dark] .dropdownMenu_LnjM .suggestion_hq2K{background:var(--search-local-hit-background,var(--ifm-color-emphasis-100));box-shadow:var(--search-local-hit-shadow,none);color:var(--search-local-hit-color,var(--ifm-font-color-base))}.searchBar_cFIW .dropdownMenu_LnjM .suggestion_hq2K:not(:last-child){margin-bottom:4px}.searchBar_cFIW .dropdownMenu_LnjM .suggestion_hq2K.cursor_LrGE{background-color:var(--search-local-highlight-color,var(--ifm-color-primary))}.hitFooter_dRNB a,.hitIcon_eYaw,.hitPath_V6jy,.hitTree_U0d6,.noResultsIcon_v6fG{color:var(--search-local-muted-color,#969faf)}html[data-theme=dark] .hitIcon_eYaw,html[data-theme=dark] .hitPath_V6jy,html[data-theme=dark] .hitTree_U0d6,html[data-theme=dark] .noResultsIcon_v6fG{color:var(--search-local-muted-color,var(--ifm-color-secondary-darkest))}.hitTree_U0d6>svg{height:var(--search-local-hit-height,56px);opacity:.5;width:24px}.hitIcon_eYaw,.hitTree_U0d6>svg{stroke-width:var(--search-local-icon-stroke-width,1.4)}.hitAction_lf_R,.hitIcon_eYaw{height:20px;width:20px}.hitWrapper_pAVY{display:flex;flex:1 1 auto;flex-direction:column;font-weight:500;justify-content:center;margin:0 8px;overflow-x:hidden;width:80%}.hitWrapper_pAVY mark{background:none;color:var(--search-local-highlight-color,var(--ifm-color-primary))}.hitTitle_HfGD{font-size:.9em}.hitPath_V6jy{font-size:.75em}.hitPath_V6jy,.hitTitle_HfGD{overflow-x:hidden}.noResults_NZaC{flex-direction:column;justify-content:center;padding:var(--search-local-spacing,12px) 0}.noResultsIcon_v6fG{margin-bottom:var(--search-local-spacing,12px)}.hitFooter_dRNB{font-size:.85em;margin-top:var(--search-local-spacing,12px);text-align:center}.cursor_LrGE .hideAction_Mum0>svg,.tocCollapsibleContent_PtNC a{display:block}.suggestion_hq2K.cursor_LrGE,.suggestion_hq2K.cursor_LrGE .hitIcon_eYaw,.suggestion_hq2K.cursor_LrGE .hitPath_V6jy,.suggestion_hq2K.cursor_LrGE .hitTree_U0d6,.suggestion_hq2K.cursor_LrGE mark{color:var(--search-local-hit-active-color,var(--ifm-color-white))!important}.searchBarContainer_s0uC{margin-left:16px}.searchBarContainer_s0uC .searchBarLoadingRing_BeZp{display:none;left:10px;position:absolute;top:6px}.searchBarContainer_s0uC .searchClearButton_oQ7S{background:none;border:none;line-height:1rem;padding:0;position:absolute;right:.8rem;top:50%;transform:translateY(-50%)}.navbar__search{position:relative}.searchIndexLoading_czJe .navbar__search-input{background-image:none}.searchHintContainer__Eyp{align-items:center;display:flex;gap:4px;height:100%;justify-content:center;pointer-events:none;position:absolute;right:10px;top:0}.searchHint_E6f7{background-color:var(--ifm-navbar-search-input-background-color);border:1px solid var(--ifm-color-emphasis-500);box-shadow:inset 0 -1px 0 var(--ifm-color-emphasis-500);color:var(--ifm-navbar-search-input-placeholder-color)}.loadingRing_lGWE{display:inline-block;height:20px;opacity:var(--search-local-loading-icon-opacity,.5);position:relative;width:20px}.loadingRing_lGWE div{animation:1.2s cubic-bezier(.5,0,.5,1) infinite a;border:2px solid var(--search-load-loading-icon-color,var(--ifm-navbar-search-input-color));border-color:var(--search-load-loading-icon-color,var(--ifm-navbar-search-input-color)) transparent transparent transparent;border-radius:50%;display:block;height:16px;margin:2px;position:absolute;width:16px}.loadingRing_lGWE div:first-child{animation-delay:-.45s}.loadingRing_lGWE div:nth-child(2){animation-delay:-.3s}.loadingRing_lGWE div:nth-child(3){animation-delay:-.15s}@keyframes a{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.navbarHideable_bLaF{transition:transform var(--ifm-transition-fast) ease}.navbarHidden_e4RZ{transform:translate3d(0,calc(-100% - 2px),0)}.footerLogoLink_Xnkg{opacity:.5;transition:opacity var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.footerLogoLink_Xnkg:hover,.hash-link:focus,:hover>.hash-link{opacity:1}.mainWrapper_MrpE{display:flex;flex:1 0 auto;flex-direction:column}.docusaurus-mt-lg{margin-top:3rem}#__docusaurus{display:flex;flex-direction:column;min-height:100%}.iconEdit_IsSW{margin-right:.3em;vertical-align:sub}.tag_rHas{border:1px solid var(--docusaurus-tag-list-border);transition:border var(--ifm-transition-fast)}.tag_rHas:hover{--docusaurus-tag-list-border:var(--ifm-link-color);text-decoration:none}.tagRegular_iipu{border-radius:var(--ifm-global-radius);font-size:90%;padding:.2rem .5rem .3rem}.tagWithCount_gxhI{align-items:center;border-left:0;display:flex;padding:0 .5rem 0 1rem;position:relative}.tagWithCount_gxhI:after,.tagWithCount_gxhI:before{border:1px solid var(--docusaurus-tag-list-border);content:"";position:absolute;top:50%;transition:inherit}.tagWithCount_gxhI:before{border-bottom:0;border-right:0;height:1.18rem;right:100%;transform:translate(50%,-50%) rotate(-45deg);width:1.18rem}.tagWithCount_gxhI:after{border-radius:50%;height:.5rem;left:0;transform:translateY(-50%);width:.5rem}.tagWithCount_gxhI span{background:var(--ifm-color-secondary);border-radius:var(--ifm-global-radius);color:var(--ifm-color-black);font-size:.7rem;line-height:1.2;margin-left:.3rem;padding:.1rem .4rem}.tags_aIV4{display:inline}.tag_WkhS{display:inline-block;margin:0 .4rem .5rem 0}.lastUpdated_AZpm{font-size:smaller;font-style:italic;margin-top:.2rem}.tocCollapsibleButton_rqsj{align-items:center;display:flex;font-size:inherit;justify-content:space-between;padding:.4rem .8rem;width:100%}.tocCollapsibleButton_rqsj:after{background:var(--ifm-menu-link-sublist-icon) 50% 50%/2rem 2rem no-repeat;content:"";filter:var(--ifm-menu-link-sublist-icon-filter);height:1.25rem;transform:rotate(180deg);transition:transform var(--ifm-transition-fast);width:1.25rem}.tocCollapsibleButtonExpanded_Ob8_:after,.tocCollapsibleExpanded_QjYU{transform:none}.tocCollapsible_mtYe{background-color:var(--ifm-menu-color-background-active);border-radius:var(--ifm-global-radius);margin:1rem 0}.buttonGroup_WnAG button,.codeBlockContainer_qdHw{background:var(--prism-background-color);color:var(--prism-color)}.tocCollapsibleContent_PtNC>ul{border-left:none;border-top:1px solid var(--ifm-color-emphasis-300);font-size:15px;padding:.2rem 0}.tocCollapsibleContent_PtNC ul li{margin:.4rem .8rem}.tableOfContents_Vnme{max-height:calc(100vh - var(--ifm-navbar-height) - 2rem);overflow-y:auto;position:sticky;top:calc(var(--ifm-navbar-height) + 1rem)}.anchorWithStickyNavbar_VX8I{scroll-margin-top:calc(var(--ifm-navbar-height) + .5rem)}.anchorWithHideOnScrollNavbar_AL5X{scroll-margin-top:.5rem}.hash-link{opacity:0;padding-left:.5rem;transition:opacity var(--ifm-transition-fast);-webkit-user-select:none;user-select:none}.hash-link:before{content:"#"}.codeBlockContainer_qdHw{border-radius:var(--ifm-code-border-radius);box-shadow:var(--ifm-global-shadow-lw);margin-bottom:var(--ifm-leading)}.codeBlockContent_qplA{border-radius:inherit;direction:ltr;position:relative}.codeBlockTitle_KnLV{border-bottom:1px solid var(--ifm-color-emphasis-300);border-top-left-radius:inherit;border-top-right-radius:inherit;font-size:var(--ifm-code-font-size);font-weight:500;padding:.75rem var(--ifm-pre-padding)}.codeBlock_ECJH{--ifm-pre-background:var(--prism-background-color);margin:0;padding:0}.codeBlockTitle_KnLV+.codeBlockContent_qplA .codeBlock_ECJH{border-top-left-radius:0;border-top-right-radius:0}.codeBlockLines_F3YY{float:left;font:inherit;min-width:100%;padding:var(--ifm-pre-padding)}.codeBlockLinesWithNumbering_NY8_{display:table;padding:var(--ifm-pre-padding) 0}.buttonGroup_WnAG{column-gap:.2rem;display:flex;position:absolute;right:calc(var(--ifm-pre-padding)/2);top:calc(var(--ifm-pre-padding)/2)}.buttonGroup_WnAG button{align-items:center;border:1px solid var(--ifm-color-emphasis-300);border-radius:var(--ifm-global-radius);display:flex;line-height:0;opacity:0;padding:.4rem;transition:opacity .2s ease-in-out}.buttonGroup_WnAG button:focus-visible,.buttonGroup_WnAG button:hover{opacity:1!important}.theme-code-block:hover .buttonGroup_WnAG button{opacity:.4}:where(:root){--docusaurus-highlighted-code-line-bg:#484d5b}:where([data-theme=dark]){--docusaurus-highlighted-code-line-bg:#646464}.theme-code-block-highlighted-line{background-color:var(--docusaurus-highlighted-code-line-bg);display:block;margin:0 calc(var(--ifm-pre-padding)*-1);padding:0 var(--ifm-pre-padding)}.codeLine_Rfzf{counter-increment:a;display:table-row}.codeLineNumber_Etcb{background:var(--ifm-pre-background);display:table-cell;left:0;overflow-wrap:normal;padding:0 var(--ifm-pre-padding);position:sticky;text-align:right;width:1%}.codeLineNumber_Etcb:before{content:counter(a);opacity:.4}.codeLineContent_Fr3M{padding-right:var(--ifm-pre-padding)}.theme-code-block:hover .copyButtonCopied_zkNh{opacity:1!important}.copyButtonIcons_edjH{height:1.125rem;position:relative;width:1.125rem}.copyButtonIcon_UOAk,.copyButtonSuccessIcon_dlZ7{fill:currentColor;height:inherit;left:0;opacity:inherit;position:absolute;top:0;transition:.15s;width:inherit}.copyButtonSuccessIcon_dlZ7{color:#00d600;left:50%;opacity:0;top:50%;transform:translate(-50%,-50%) scale(.33)}.copyButtonCopied_zkNh .copyButtonIcon_UOAk{opacity:0;transform:scale(.33)}.copyButtonCopied_zkNh .copyButtonSuccessIcon_dlZ7{opacity:1;transform:translate(-50%,-50%) scale(1);transition-delay:75ms}.wordWrapButtonIcon_OXkO{height:1.2rem;width:1.2rem}.details_jZ3c{--docusaurus-details-summary-arrow-size:0.38rem;--docusaurus-details-transition:transform 200ms ease;--docusaurus-details-decoration-color:grey}.details_jZ3c>summary{cursor:pointer;padding-left:1rem;position:relative}.details_jZ3c>summary::-webkit-details-marker{display:none}.details_jZ3c>summary:before{border-color:transparent transparent transparent var(--docusaurus-details-decoration-color);border-style:solid;border-width:var(--docusaurus-details-summary-arrow-size);content:"";left:0;position:absolute;top:.45rem;transform:rotate(0);transform-origin:calc(var(--docusaurus-details-summary-arrow-size)/2) 50%;transition:var(--docusaurus-details-transition)}.collapsibleContent_ftht{border-top:1px solid var(--docusaurus-details-decoration-color);margin-top:1rem;padding-top:1rem}.details_UUzX{--docusaurus-details-decoration-color:var(--ifm-alert-border-color);--docusaurus-details-transition:transform var(--ifm-transition-fast) ease;border:1px solid var(--ifm-alert-border-color);margin:0 0 var(--ifm-spacing-vertical)}.img_Yh3n{height:auto}.admonition_CrT8{margin-bottom:1em}.admonitionHeading_Y3c0{font:var(--ifm-heading-font-weight) var(--ifm-h5-font-size)/var(--ifm-heading-line-height) var(--ifm-heading-font-family);margin-bottom:.3rem}.admonitionHeading_Y3c0 code{text-transform:none}.admonitionIcon_JlyY{display:inline-block;margin-right:.4em;vertical-align:middle}.admonitionIcon_JlyY svg{fill:var(--ifm-alert-foreground-color);display:inline-block;height:1.6em;width:1.6em}.breadcrumbHomeIcon_grUA{height:1.1rem;position:relative;top:1px;vertical-align:top;width:1.1rem}.breadcrumbsContainer_PuEM{--ifm-breadcrumb-size-multiplier:0.8;margin-bottom:.8rem}.searchQueryInput_cr6U{background:var(--ifm-background-color);border:var(--ifm-global-border-width) solid var(--ifm-color-content-secondary);border-radius:var(--ifm-global-radius);color:var(--ifm-font-color-base);font-size:var(--ifm-font-size-base);margin-bottom:1rem;padding:.5rem;width:100%}.searchResultItem_gI4g{border-bottom:1px solid #dfe3e8;padding:1rem 0}.searchResultItemPath_OrYG{color:var(--ifm-color-content-secondary);font-size:.8rem;margin:.5rem 0 0}.searchResultItemSummary_pVa9{font-style:italic;margin:.5rem 0 0}.backToTopButton_dK1y{background-color:var(--ifm-color-emphasis-200);border-radius:50%;bottom:1.3rem;box-shadow:var(--ifm-global-shadow-lw);height:3rem;opacity:0;position:fixed;right:1.3rem;transform:scale(0);transition:all var(--ifm-transition-fast) var(--ifm-transition-timing-default);visibility:hidden;width:3rem;z-index:calc(var(--ifm-z-index-fixed) - 1)}.card_D6YS p,.primary_JgwX{background:linear-gradient(90deg,#1395fe 4.83%,#1e72ff 94.74%)}.backToTopButton_dK1y:after{background-color:var(--ifm-color-emphasis-1000);content:" ";display:inline-block;height:100%;-webkit-mask:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem no-repeat;mask:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem no-repeat;width:100%}.backToTopButtonShow_BLmh{opacity:1;transform:scale(1);visibility:visible}[data-theme=dark]:root{--docusaurus-collapse-button-bg:hsla(0,0%,100%,.05);--docusaurus-collapse-button-bg-hover:hsla(0,0%,100%,.1)}.collapseSidebarButton_aDgI{display:none;margin:0}.docSidebarContainer_rfw4,.sidebarLogo_Azxb{display:none}.docMainContainer_rbFc,.docPage_oul_{display:flex;width:100%}.docsWrapper_JEf9{display:flex;flex:1 0 auto}.button_HqJd{border:.9px solid #e2e2e2;border-radius:28.8px;color:#000;color:var(--ifm-color-title);cursor:pointer;font-size:16px;font-weight:600;max-height:52px;min-width:155px;outline:0;overflow:hidden;padding:13px 25px;text-align:center;transition:.3s}.primary_JgwX{border-radius:28.8px;border-width:0;box-shadow:0 5px 6px rgba(0,87,255,.26);color:#fff;transition:.3s}.button_HqJd:hover{background-color:#fff;color:#000;opacity:.9;text-decoration:none}.card_D6YS:hover,.card_D6YS:hover:after,.primary_JgwX:hover{color:#fff;text-decoration:none}.primary_JgwX:hover{opacity:.8}.splash_tJkJ{align-items:center;background-color:var(--ifm-background-color);color:var(--ifm-color-content-secondary);display:grid;grid-template-areas:"c d";grid-template-columns:1fr 1fr;margin:0 auto;max-width:1200px;overflow:hidden;padding:24px}.titleContent_xoqA h2,.title_Imzr{color:var(--ifm-color-title);font-weight:600}.title-container_u9Gy{align-content:flex-start;display:flex;flex:1;flex-direction:column}.buttons_YVVi,.container_RwCV{align-items:center;display:flex}.title_Imzr{font-size:40px;text-align:left}.subtitle_pKaH{color:#878787;font-size:16px;line-height:34px}.buttons_YVVi{justify-content:flex-start}.githubStars_h_xb{display:flex;margin-bottom:40px}.img-container_W_hQ{display:flex;flex:1;margin:45px}.img_bhiR{height:auto;max-height:100%;max-width:100%;width:auto}.container_RwCV{color:var(--ifm-color-content-secondary);flex-direction:column;justify-content:center;margin:0 auto;max-width:1200px;overflow:hidden;padding:54px 24px}.block_ugnM{background-color:var(--ifm-color-area)}.titleContent_xoqA{align-items:center;display:flex;flex-direction:column;justify-content:center}.titleContent_xoqA h2{font-size:30px;margin-bottom:31;text-align:center}.titleContent_xoqA p{color:#878787;font-size:15px;line-height:34px;margin:0;text-align:center}.card_D6YS,.logo_Z4wx span{color:var(--ifm-color-title)}.container_xD2O{display:grid;gap:28px;grid-template-columns:repeat(3,calc(33.33333% - 18.66667px));margin-bottom:40px;margin-top:60px;min-width:100%}.card_D6YS{background:var(--ifm-color-background);border-radius:7px;box-shadow:0 9px 33px rgba(0,0,0,.05);display:flex;height:220px;position:relative;z-index:1}.logo_Z4wx,.logo_Z4wx img{height:40px;overflow:hidden}.card_D6YS:hover{box-shadow:0 5px 6px rgba(0,87,255,.261);transition:.3s}.card_D6YS:after{background:linear-gradient(121.13deg,#1395fe 50.91%,#1e72ff 119.06%);border-radius:7px;content:"";height:100%;left:0;opacity:0;position:absolute;top:0;transition:.3s;width:100%;z-index:2}.card_D6YS:hover:after{opacity:1}.content_lL2T{display:flex;flex:1;flex-direction:column;margin:40px 30px;overflow:hidden;position:relative;z-index:3}.card_D6YS p.link__nJ9{font-size:13px}.card_D6YS h3{font-size:21px;margin-bottom:14px}.card_D6YS span{font-size:14px;opacity:.85}.card_D6YS p{-webkit-background-clip:text;font-size:16px}.card_D6YS p,.card_D6YS:hover p{-webkit-text-fill-color:transparent;margin:0}.card_D6YS:hover p{background:#fff;-webkit-background-clip:text}.content_5ttr{display:flex;flex-flow:row wrap;justify-content:center;margin-bottom:40px;margin-top:60px}.logo_Z4wx{align-items:center;display:flex;flex-direction:column;justify-content:space-between;margin:40px 26px 0}.logo_Z4wx span{font-size:14px;opacity:.45}.fill_paqS{filter:var(--ice-users-fill-filter);transform:var(--ice-users-fill-transform)}@media (min-width:997px){.collapseSidebarButton_aDgI,.expandButton_b21y{background-color:var(--docusaurus-collapse-button-bg)}:root{--docusaurus-announcement-bar-height:30px}.announcementBarClose_XF4t,.announcementBarPlaceholder_Hgek{flex-basis:50px}.searchBox_y5Av{padding:var(--ifm-navbar-item-padding-vertical) var(--ifm-navbar-item-padding-horizontal)}.lastUpdated_AZpm{text-align:right}.tocMobile_K5Rg{display:none}.docItemCol_lX0H{max-width:75%!important}.collapseSidebarButton_aDgI{border:1px solid var(--ifm-toc-border-color);border-radius:0;bottom:0;display:block!important;height:40px;position:sticky}.collapseSidebarButtonIcon_OQ2o{margin-top:4px;transform:rotate(180deg)}.expandButtonIcon__mG8,[dir=rtl] .collapseSidebarButtonIcon_OQ2o{transform:rotate(0)}.collapseSidebarButton_aDgI:focus,.collapseSidebarButton_aDgI:hover,.expandButton_b21y:focus,.expandButton_b21y:hover{background-color:var(--docusaurus-collapse-button-bg-hover)}.menuHtmlItem_fSHC{padding:var(--ifm-menu-link-padding-vertical) var(--ifm-menu-link-padding-horizontal)}.menu_nhuy{flex-grow:1;padding:.5rem}@supports (scrollbar-gutter:stable){.menu_nhuy{padding:.5rem 0 .5rem .5rem;scrollbar-gutter:stable}}.menuWithAnnouncementBar_wMl_{margin-bottom:var(--docusaurus-announcement-bar-height)}.sidebar_WwmS{display:flex;flex-direction:column;height:100%;padding-top:var(--ifm-navbar-height);width:var(--doc-sidebar-width)}.sidebarWithHideableNavbar_keSI{padding-top:0}.sidebarHidden_Hm3x{opacity:0;visibility:hidden}.sidebarLogo_Azxb{align-items:center;color:inherit!important;display:flex!important;margin:0 var(--ifm-navbar-padding-horizontal);max-height:var(--ifm-navbar-height);min-height:var(--ifm-navbar-height);text-decoration:none!important}.sidebarLogo_Azxb img{height:2rem;margin-right:.5rem}.expandButton_b21y{align-items:center;display:flex;height:100%;justify-content:center;position:absolute;right:0;top:0;transition:background-color var(--ifm-transition-fast) ease;width:100%}[dir=rtl] .expandButtonIcon__mG8{transform:rotate(180deg)}.docSidebarContainer_rfw4{border-right:1px solid var(--ifm-toc-border-color);-webkit-clip-path:inset(0);clip-path:inset(0);display:block;margin-top:calc(var(--ifm-navbar-height)*-1);transition:width var(--ifm-transition-fast) ease;width:var(--doc-sidebar-width);will-change:width}.docSidebarContainerHidden_TdjQ{cursor:pointer;width:var(--doc-sidebar-hidden-width)}.sidebarViewport_IQA6{height:100%;max-height:100vh;position:sticky;top:0}.docMainContainer_rbFc{flex-grow:1;max-width:calc(100% - var(--doc-sidebar-width))}.docMainContainerEnhanced_kRx8{max-width:calc(100% - var(--doc-sidebar-hidden-width))}.docItemWrapperEnhanced_dRaS{max-width:calc(var(--ifm-container-width) + var(--doc-sidebar-width))!important}}@media (min-width:1440px){.container{max-width:var(--ifm-container-width-xl)}}@media (max-width:1366px){.container_xD2O{grid-template-columns:repeat(2,calc(50% - 14px))}}@media (max-width:996px){.col{--ifm-col-width:100%;flex-basis:var(--ifm-col-width);margin-left:0}.footer{--ifm-footer-padding-horizontal:0}.colorModeToggle_eWNU,.footer__link-separator,.navbar__item,.tableOfContents_Vnme{display:none}.footer__col{margin-bottom:calc(var(--ifm-spacing-vertical)*3)}.footer__link-item{display:block}.hero{padding-left:0;padding-right:0}.navbar>.container,.navbar>.container-fluid{padding:0}.navbar__toggle{display:inherit}.navbar__search-input{width:9rem}.pills--block,.tabs--block{flex-direction:column}.searchBox_y5Av{position:absolute;right:var(--ifm-navbar-padding-horizontal)}.docItemContainer_UCmj{padding:0 .3rem}}@media (max-width:900px){.splash_tJkJ{grid-template-areas:"d" "c";grid-template-columns:1fr}.subtitle_pKaH,.title_Imzr{text-align:center}.title-container_u9Gy{margin-top:100px}.buttons_YVVi,.githubStars_h_xb,.img-container_W_hQ{justify-content:center}.img-container_W_hQ{align-items:center;margin:70px}.img_bhiR{max-width:100px}}@media (max-width:576px){.markdown h1:first-child{--ifm-h1-font-size:2rem}.markdown>h2{--ifm-h2-font-size:1.5rem}.markdown>h3{--ifm-h3-font-size:1.25rem}.navbar__search-input:not(:focus){width:2rem}.searchBar_cFIW .dropdownMenu_LnjM{max-width:calc(100vw - var(--ifm-navbar-padding-horizontal)*2);width:var(--search-local-modal-width-sm,340px)}.searchBarContainer_s0uC:not(.focused_v4Xp) .searchClearButton_oQ7S,.searchHintContainer__Eyp{display:none}}@media (max-width:560px){.container_xD2O{grid-template-columns:repeat(1,100%)}.card_D6YS{height:200px}}@media (max-width:510px){.buttons_YVVi{flex-direction:column;margin-bottom:40px}.buttons_YVVi a{width:calc(100% - 32px)}.title_Imzr{font-size:36px}.img-container_W_hQ{margin:20px}.buttons_LxVK{flex-direction:column}.logo_Z4wx{margin:0 20px 52px}}@media (hover:hover){.backToTopButton_dK1y:hover{background-color:var(--ifm-color-emphasis-300)}}@media (pointer:fine){.thin-scrollbar{scrollbar-width:thin}.thin-scrollbar::-webkit-scrollbar{height:var(--ifm-scrollbar-size);width:var(--ifm-scrollbar-size)}.thin-scrollbar::-webkit-scrollbar-track{background:var(--ifm-scrollbar-track-background-color);border-radius:10px}.thin-scrollbar::-webkit-scrollbar-thumb{background:var(--ifm-scrollbar-thumb-background-color);border-radius:10px}.thin-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--ifm-scrollbar-thumb-hover-background-color)}}@media print{.announcementBar_jKd1,.footer,.menu,.navbar,.pagination-nav,.table-of-contents,.tocMobile_K5Rg{display:none}.tabs{page-break-inside:avoid}.codeBlockLines_F3YY{white-space:pre-wrap}} \ No newline at end of file diff --git a/assets/js/031dd9d6.da737e36.js b/assets/js/031dd9d6.2113fb2e.js similarity index 99% rename from assets/js/031dd9d6.da737e36.js rename to assets/js/031dd9d6.2113fb2e.js index c1791d1015..4222817590 100644 --- a/assets/js/031dd9d6.da737e36.js +++ b/assets/js/031dd9d6.2113fb2e.js @@ -1 +1 @@ -"use strict";(self.webpackChunkice_website_v3=self.webpackChunkice_website_v3||[]).push([[1528],{4852:(e,t,n)=>{n.d(t,{Zo:()=>c,kt:()=>g});var a=n(9231);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function s(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function i(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var p=a.createContext({}),o=function(e){var t=a.useContext(p),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},c=function(e){var t=o(e.components);return a.createElement(p.Provider,{value:t},e.children)},d="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},u=a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,s=e.originalType,p=e.parentName,c=l(e,["components","mdxType","originalType","parentName"]),d=o(n),u=r,g=d["".concat(p,".").concat(u)]||d[u]||m[u]||s;return n?a.createElement(g,i(i({ref:t},c),{},{components:n})):a.createElement(g,i({ref:t},c))}));function g(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var s=n.length,i=new Array(s);i[0]=u;var l={};for(var p in t)hasOwnProperty.call(t,p)&&(l[p]=t[p]);l.originalType=e,l[d]="string"==typeof e?e:r,i[1]=l;for(var o=2;o{n.r(t),n.d(t,{assets:()=>p,contentTitle:()=>i,default:()=>m,frontMatter:()=>s,metadata:()=>l,toc:()=>o});var a=n(5675),r=(n(9231),n(4852));const s={title:"\u5355\u5143\u6d4b\u8bd5",order:257},i=void 0,l={unversionedId:"guide/advanced/unit-test",id:"guide/advanced/unit-test",title:"\u5355\u5143\u6d4b\u8bd5",description:"\u793a\u4f8b",source:"@site/docs/guide/advanced/unit-test.md",sourceDirName:"guide/advanced",slug:"/guide/advanced/unit-test",permalink:"/docs/guide/advanced/unit-test",draft:!1,editUrl:"https://github.com/alibaba/ice/edit/master/website/docs/guide/advanced/unit-test.md",tags:[],version:"current",frontMatter:{title:"\u5355\u5143\u6d4b\u8bd5",order:257},sidebar:"docs",previous:{title:"HTTP \u8bf7\u6c42",permalink:"/docs/guide/advanced/request"},next:{title:"CSS \u8d44\u6e90\u672c\u5730\u5316",permalink:"/docs/guide/advanced/css-assets-local"}},p={},o=[{value:"Jest",id:"jest",level:2},{value:"\u4f9d\u8d56\u5b89\u88c5",id:"\u4f9d\u8d56\u5b89\u88c5",level:3},{value:"\u914d\u7f6e",id:"\u914d\u7f6e",level:3},{value:"\u975e UI \u6d4b\u8bd5",id:"\u975e-ui-\u6d4b\u8bd5",level:3},{value:"UI \u6d4b\u8bd5",id:"ui-\u6d4b\u8bd5",level:3},{value:"Vitest",id:"vitest",level:2},{value:"\u4f9d\u8d56\u5b89\u88c5",id:"\u4f9d\u8d56\u5b89\u88c5-1",level:3},{value:"\u914d\u7f6e",id:"\u914d\u7f6e-1",level:3},{value:"\u975e UI \u6d4b\u8bd5",id:"\u975e-ui-\u6d4b\u8bd5-1",level:3},{value:"UI \u6d4b\u8bd5",id:"ui-\u6d4b\u8bd5-1",level:3}],c={toc:o},d="wrapper";function m(e){let{components:t,...n}=e;return(0,r.kt)(d,(0,a.Z)({},c,n,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("details",{open:!0},(0,r.kt)("summary",null,"\u793a\u4f8b"),(0,r.kt)("ul",null,(0,r.kt)("li",null,(0,r.kt)("a",{href:"https://github.com/alibaba/ice/tree/master/examples/with-jest",target:"_blank",rel:"noopener noreferrer"},"with-jest")),(0,r.kt)("li",null,(0,r.kt)("a",{href:"https://github.com/alibaba/ice/tree/master/examples/with-vitest",target:"_blank",rel:"noopener noreferrer"},"with-vitest")))),(0,r.kt)("p",null,"ice.js \u4e0d\u8026\u5408\u4efb\u4f55\u4e00\u4e2a\u6d4b\u8bd5\u6846\u67b6\uff0c\u5f00\u53d1\u8005\u53ef\u81ea\u7531\u9009\u62e9\u3002\u76ee\u524d\u63d0\u4f9b\u5f00\u7bb1\u5373\u7528\u7684 ",(0,r.kt)("a",{parentName:"p",href:"https://jestjs.io/"},"jest")," \u548c ",(0,r.kt)("a",{parentName:"p",href:"https://vitest.dev/"},"vitest")," \u914d\u7f6e\uff0c\u4ee5\u4fbf\u5feb\u901f\u5f00\u59cb\u5355\u5143\u6d4b\u8bd5\u3002"),(0,r.kt)("h2",{id:"jest"},"Jest"),(0,r.kt)("h3",{id:"\u4f9d\u8d56\u5b89\u88c5"},"\u4f9d\u8d56\u5b89\u88c5"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"$ npm i jest -D\n")),(0,r.kt)("blockquote",null,(0,r.kt)("p",{parentName:"blockquote"},"\u5982\u679c\u4f7f\u7528 TypeScript \u7f16\u5199\u5355\u5143\u6d4b\u8bd5\uff0c\u63a8\u8350\u63a5\u5165\u4f7f\u7528 ",(0,r.kt)("a",{parentName:"p",href:"https://swc.rs/docs/usage/jest"},"@swc/jest")," \u6216 ",(0,r.kt)("a",{parentName:"p",href:"https://kulshekhar.github.io/ts-jest/docs/getting-started/installation"},"ts-jest"))),(0,r.kt)("h3",{id:"\u914d\u7f6e"},"\u914d\u7f6e"),(0,r.kt)("p",null,"\u9996\u5148\u9700\u8981\u5728\u9879\u76ee\u7684\u6839\u76ee\u5f55\u4e0b\u65b0\u5efa ",(0,r.kt)("inlineCode",{parentName:"p"},"jest.config.mjs")," \u6587\u4ef6\uff0c\u5e76\u52a0\u5165\u4ee5\u4e0b\u5185\u5bb9\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-js",metastring:'title="jest.config.mjs"',title:'"jest.config.mjs"'},"import { defineJestConfig } from '@ice/app';\n\nexport default defineJestConfig({});\n")),(0,r.kt)("p",null,(0,r.kt)("inlineCode",{parentName:"p"},"defineJestConfig")," \u65b9\u6cd5\u8fd4\u56de\u7684\u662f ice.js \u9ed8\u8ba4\u914d\u7f6e\u597d\u7684 Jest \u914d\u7f6e\uff0c\u652f\u6301\u4f20\u5165\u81ea\u5b9a\u4e49\u7684 ",(0,r.kt)("a",{parentName:"p",href:"https://jestjs.io/docs/configuration"},"Jest \u914d\u7f6e"),"\u3002"),(0,r.kt)("p",null,(0,r.kt)("inlineCode",{parentName:"p"},"defineJestConfig")," \u5165\u53c2\u652f\u6301\u4e24\u79cd\u5199\u6cd5\uff1a"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"jest.Config")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"() => Promise"))),(0,r.kt)("p",null,"\u4ee5\u6dfb\u52a0 ",(0,r.kt)("inlineCode",{parentName:"p"},"@swc/jest")," \u4e3a\u4f8b\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-diff",metastring:'title="jest.config.mjs"',title:'"jest.config.mjs"'},"import { defineJestConfig } from '@ice/app';\n\nexport default defineJestConfig({\n+ transform: {\n+ '^.+\\\\.(t|j)sx?$': [\n+ '@swc/jest',\n+ {\n+ // swc \u914d\u7f6e\n+ jsc: {\n+ transform: {\n+ react: {\n+ runtime: 'automatic',\n+ },\n+ },\n+ },\n+ },\n+ ],\n+ },\n});\n")),(0,r.kt)("p",null,"\u7136\u540e\u5728 ",(0,r.kt)("inlineCode",{parentName:"p"},"package.json")," \u4e2d\u52a0\u5165 ",(0,r.kt)("inlineCode",{parentName:"p"},"test")," \u811a\u672c\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-diff",metastring:'title="package.json"',title:'"package.json"'},'{\n "scripts": {\n+ "test": "jest"\n }\n}\n')),(0,r.kt)("p",null,"\u914d\u7f6e\u5b8c\u6210\u540e\uff0c\u5c31\u53ef\u4ee5\u5f00\u59cb\u7f16\u5199\u5355\u5143\u6d4b\u8bd5\u4e86\u3002"),(0,r.kt)("h3",{id:"\u975e-ui-\u6d4b\u8bd5"},"\u975e UI \u6d4b\u8bd5"),(0,r.kt)("p",null,"\u5047\u8bbe\u73b0\u5728\u8981\u6d4b\u8bd5 ",(0,r.kt)("inlineCode",{parentName:"p"},"add")," \u51fd\u6570\u5982\u4e0b\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-ts",metastring:'title="src/utils/add.ts"',title:'"src/utils/add.ts"'},"export default function add(a, b) {\n return a + b;\n}\n")),(0,r.kt)("p",null,"\u65b0\u5efa\u4e00\u4e2a\u6d4b\u8bd5\u7528\u4f8b\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-ts",metastring:'title="tests/add.spec.ts"',title:'"tests/add.spec.ts"'},"import add from '../src/add';\n\ntest('add function', () => {\n expect(add(1, 2)).toBe(3);\n});\n")),(0,r.kt)("p",null,"\u8fd9\u65f6\uff0c\u8fd0\u884c ",(0,r.kt)("inlineCode",{parentName:"p"},"npm run test")," \u67e5\u770b\u6d4b\u8bd5\u7ed3\u679c\u4e86\u3002"),(0,r.kt)("h3",{id:"ui-\u6d4b\u8bd5"},"UI \u6d4b\u8bd5"),(0,r.kt)("p",null,"\u7ec4\u4ef6 UI \u6d4b\u8bd5\u63a8\u8350\u4f7f\u7528 ",(0,r.kt)("a",{parentName:"p",href:"https://www.npmjs.com/package/@testing-library/react"},"@testing-library/react")," \u548c ",(0,r.kt)("a",{parentName:"p",href:"https://www.npmjs.com/package/@testing-library/jest-dom"},"@testing-library/jest-dom"),"\u3002"),(0,r.kt)("p",null,"\u9996\u5148\u5b89\u88c5\u4f9d\u8d56\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"$ npm i @testing-library/react jest-environment-jsdom @testing-library/jest-dom -D\n")),(0,r.kt)("p",null,"\u7136\u540e\u5728\u9879\u76ee\u6839\u76ee\u5f55\u4e0b\u65b0\u5efa ",(0,r.kt)("inlineCode",{parentName:"p"},"jest-setup.ts")," \u5e76\u5199\u5165\u4ee5\u4e0b\u5185\u5bb9\uff0c\u4ee5\u6269\u5c55\u5339\u914d\u5668(matchers)\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-ts",metastring:'title="jest-setup.ts"',title:'"jest-setup.ts"'},"import '@testing-library/jest-dom';\n")),(0,r.kt)("p",null,"\u6700\u540e\u5728 ",(0,r.kt)("inlineCode",{parentName:"p"},"jest.config.mjs")," \u4e2d\u52a0\u5165\u4ee5\u4e0b\u5185\u5bb9\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-diff",metastring:'title="jest.config.mjs"',title:'"jest.config.mjs"'},"import { defineJestConfig } from '@ice/app';\n\nexport default defineJestConfig({\n+ setupFilesAfterEnv: ['/jest-setup.ts'],\n+ testEnvironment: 'jest-environment-jsdom',\n});\n")),(0,r.kt)("p",null,"\u5047\u8bbe\u73b0\u5728\u8981\u6d4b\u8bd5\u4e00\u4e2a Header \u7ec4\u4ef6\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-tsx",metastring:'title="src/components/Header.tsx"',title:'"src/components/Header.tsx"'},'export default function Header() {\n return (\n

Jest Test

\n );\n}\n')),(0,r.kt)("p",null,"\u7f16\u5199\u7ec4\u4ef6\u7684\u6d4b\u8bd5\u7528\u4f8b\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-tsx",metastring:'title="tests/Header.spec.tsx"',title:'"tests/Header.spec.tsx"'},"import { render, screen } from '@testing-library/react';\nimport Header from '@/components/Header';\n\ntest('test Header component', () => {\n render(
);\n expect(screen.getByTestId('title')).toHaveTextContent('Jest Test');\n});\n")),(0,r.kt)("p",null,"\u6700\u540e\uff0c\u8fd0\u884c ",(0,r.kt)("inlineCode",{parentName:"p"},"npm run test")," \u5c31\u53ef\u4ee5\u67e5\u770b\u6d4b\u8bd5\u7ed3\u679c\u4e86\u3002"),(0,r.kt)("h2",{id:"vitest"},"Vitest"),(0,r.kt)("h3",{id:"\u4f9d\u8d56\u5b89\u88c5-1"},"\u4f9d\u8d56\u5b89\u88c5"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"$ npm i vitest -D\n")),(0,r.kt)("h3",{id:"\u914d\u7f6e-1"},"\u914d\u7f6e"),(0,r.kt)("p",null,"\u9996\u5148\u9700\u8981\u5728\u9879\u76ee\u7684\u6839\u76ee\u5f55\u4e0b\u65b0\u5efa vitest.config.mjs \u6587\u4ef6\uff0c\u5e76\u52a0\u5165\u4ee5\u4e0b\u5185\u5bb9\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-js",metastring:'title="vitest.config.mjs"',title:'"vitest.config.mjs"'},"import { defineVitestConfig } from '@ice/app';\n\nexport default defineVitestConfig({});\n")),(0,r.kt)("p",null,(0,r.kt)("inlineCode",{parentName:"p"},"defineVitestConfig")," \u65b9\u6cd5\u8fd4\u56de\u7684\u662f ice.js \u9ed8\u8ba4\u914d\u7f6e\u597d\u7684 vitest \u914d\u7f6e\uff0c\u652f\u6301\u4f20\u5165\u81ea\u5b9a\u4e49\u7684 ",(0,r.kt)("a",{parentName:"p",href:"https://vitest.dev/config/"},"vitest \u914d\u7f6e"),"\u3002"),(0,r.kt)("p",null,"defineVitestConfig \u5165\u53c2\u652f\u6301\u4e09\u79cd\u5199\u6cd5\uff1a"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"vitest.UserConfig")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"Promise")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"(env) => Promise"))),(0,r.kt)("p",null,"\u4ee5\u4fee\u6539 ",(0,r.kt)("inlineCode",{parentName:"p"},"include")," \u53c2\u6570\u4e3a\u4f8b\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-diff",metastring:'title="vitest.config.mjs"',title:'"vitest.config.mjs"'},"import { defineVitestConfig } from '@ice/app';\n\nexport default defineVitestConfig({\n+ test: {\n+ include: ['**/*.{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}']\n+ }\n});\n")),(0,r.kt)("p",null,"\u7136\u540e\u5728 ",(0,r.kt)("inlineCode",{parentName:"p"},"package.json")," \u4e2d\u52a0\u5165 ",(0,r.kt)("inlineCode",{parentName:"p"},"test")," \u811a\u672c\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-diff",metastring:'title="package.json"',title:'"package.json"'},'{\n "scripts": {\n+ "test": "vitest"\n }\n}\n')),(0,r.kt)("h3",{id:"\u975e-ui-\u6d4b\u8bd5-1"},"\u975e UI \u6d4b\u8bd5"),(0,r.kt)("p",null,"\u540c\u6837\u6d4b\u8bd5 ",(0,r.kt)("a",{parentName:"p",href:"#%E9%9D%9E-ui-%E6%B5%8B%E8%AF%95"},"Jest \u975e UI \u6d4b\u8bd5\u7ae0\u8282")," \u4e2d\u7684 ",(0,r.kt)("inlineCode",{parentName:"p"},"Header")," \u7ec4\u4ef6\uff0c\u7f16\u5199\u4ee5\u4e0b\u7684\u6d4b\u8bd5\u7528\u4f8b\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-ts",metastring:'title="tests/add.spec.ts"',title:'"tests/add.spec.ts"'},"import { test, expect } from 'vitest';\nimport add from '../src/add';\n\ntest('add', () => {\n expect(add(1, 2)).toBe(3);\n});\n")),(0,r.kt)("p",null,"\u73b0\u5728\u53ef\u4ee5\u8fd0\u884c ",(0,r.kt)("inlineCode",{parentName:"p"},"npm run test")," \u67e5\u770b\u6d4b\u8bd5\u7ed3\u679c\u3002"),(0,r.kt)("h3",{id:"ui-\u6d4b\u8bd5-1"},"UI \u6d4b\u8bd5"),(0,r.kt)("p",null,"\u9996\u5148\u5b89\u88c5\u4f9d\u8d56\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"$ npm i @testing-library/react jsdom @testing-library/jest-dom @vitejs/plugin-react@1.3.2 -D\n")),(0,r.kt)("p",null,"\u7136\u540e\u5728\u9879\u76ee\u6839\u76ee\u5f55\u4e0b\u65b0\u5efa ",(0,r.kt)("inlineCode",{parentName:"p"},"vitest-setup.js")," \u5e76\u5199\u5165\u4ee5\u4e0b\u5185\u5bb9\uff0c\u4ee5\u6269\u5c55\u5339\u914d\u5668(matchers)\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-ts",metastring:'title="vitest-setup.js"',title:'"vitest-setup.js"'},"import matchers from '@testing-library/jest-dom/matchers';\nimport { expect } from 'vitest';\n\nexpect.extend(matchers);\n")),(0,r.kt)("p",null,"\u6700\u540e\u5728 ",(0,r.kt)("inlineCode",{parentName:"p"},"vitest.config.mjs")," \u4e2d\u52a0\u5165\u4ee5\u4e0b\u5185\u5bb9\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-diff",metastring:'title="vitest.config.mjs"',title:'"vitest.config.mjs"'},"import { defineVitestConfig } from '@ice/app';\n+ import react from '@vitejs/plugin-react';\n\nexport default defineVitestConfig({\n+ test: {\n+ environment: 'jsdom',\n+ setupFiles: ['./vitest-setup.js'],\n+ plugins: [react()], // \u652f\u6301\u89e3\u6790 JSX \u8bed\u6cd5\n+ },\n});\n")),(0,r.kt)("p",null,"\u5047\u8bbe\u73b0\u5728\u6d4b\u8bd5\u4e00\u4e2a Header \u7ec4\u4ef6\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-tsx",metastring:'title="src/components/Header.tsx"',title:'"src/components/Header.tsx"'},'export default function Header() {\n return (\n

Vitest Test

\n );\n}\n')),(0,r.kt)("p",null,"\u7f16\u5199\u7ec4\u4ef6\u7684\u6d4b\u8bd5\u7528\u4f8b\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-tsx",metastring:'title="tests/Header.spec.tsx"',title:'"tests/Header.spec.tsx"'},"import { test, expect } from 'vitest';\nimport { render, screen } from '@testing-library/react';\nimport Header from '@/components/Header';\n\ntest('test Header component', () => {\n render(
);\n expect(screen.getByTestId('title')).toHaveTextContent('Vitest Test');\n});\n")),(0,r.kt)("p",null,"\u6700\u540e\uff0c\u8fd0\u884c ",(0,r.kt)("inlineCode",{parentName:"p"},"npm run test")," \u5c31\u53ef\u4ee5\u67e5\u770b\u6d4b\u8bd5\u7ed3\u679c\u4e86\u3002"))}m.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunkice_website_v3=self.webpackChunkice_website_v3||[]).push([[1528],{4852:(e,t,n)=>{n.d(t,{Zo:()=>c,kt:()=>g});var a=n(9231);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function s(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function i(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var p=a.createContext({}),o=function(e){var t=a.useContext(p),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},c=function(e){var t=o(e.components);return a.createElement(p.Provider,{value:t},e.children)},d="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},u=a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,s=e.originalType,p=e.parentName,c=l(e,["components","mdxType","originalType","parentName"]),d=o(n),u=r,g=d["".concat(p,".").concat(u)]||d[u]||m[u]||s;return n?a.createElement(g,i(i({ref:t},c),{},{components:n})):a.createElement(g,i({ref:t},c))}));function g(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var s=n.length,i=new Array(s);i[0]=u;var l={};for(var p in t)hasOwnProperty.call(t,p)&&(l[p]=t[p]);l.originalType=e,l[d]="string"==typeof e?e:r,i[1]=l;for(var o=2;o{n.r(t),n.d(t,{assets:()=>p,contentTitle:()=>i,default:()=>m,frontMatter:()=>s,metadata:()=>l,toc:()=>o});var a=n(5675),r=(n(9231),n(4852));const s={title:"\u5355\u5143\u6d4b\u8bd5",order:257},i=void 0,l={unversionedId:"guide/advanced/unit-test",id:"guide/advanced/unit-test",title:"\u5355\u5143\u6d4b\u8bd5",description:"\u793a\u4f8b",source:"@site/docs/guide/advanced/unit-test.md",sourceDirName:"guide/advanced",slug:"/guide/advanced/unit-test",permalink:"/docs/guide/advanced/unit-test",draft:!1,editUrl:"https://github.com/alibaba/ice/edit/master/website/docs/guide/advanced/unit-test.md",tags:[],version:"current",frontMatter:{title:"\u5355\u5143\u6d4b\u8bd5",order:257},sidebar:"docs",previous:{title:"HTTP \u8bf7\u6c42",permalink:"/docs/guide/advanced/request"},next:{title:"CSS \u8d44\u6e90\u672c\u5730\u5316",permalink:"/docs/guide/advanced/css-assets-local"}},p={},o=[{value:"Jest",id:"jest",level:2},{value:"\u4f9d\u8d56\u5b89\u88c5",id:"\u4f9d\u8d56\u5b89\u88c5",level:3},{value:"\u914d\u7f6e",id:"\u914d\u7f6e",level:3},{value:"\u975e UI \u6d4b\u8bd5",id:"\u975e-ui-\u6d4b\u8bd5",level:3},{value:"UI \u6d4b\u8bd5",id:"ui-\u6d4b\u8bd5",level:3},{value:"Vitest",id:"vitest",level:2},{value:"\u4f9d\u8d56\u5b89\u88c5",id:"\u4f9d\u8d56\u5b89\u88c5-1",level:3},{value:"\u914d\u7f6e",id:"\u914d\u7f6e-1",level:3},{value:"\u975e UI \u6d4b\u8bd5",id:"\u975e-ui-\u6d4b\u8bd5-1",level:3},{value:"UI \u6d4b\u8bd5",id:"ui-\u6d4b\u8bd5-1",level:3}],c={toc:o},d="wrapper";function m(e){let{components:t,...n}=e;return(0,r.kt)(d,(0,a.Z)({},c,n,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("details",{open:!0},(0,r.kt)("summary",null,"\u793a\u4f8b"),(0,r.kt)("ul",null,(0,r.kt)("li",null,(0,r.kt)("a",{href:"https://github.com/alibaba/ice/tree/master/examples/with-jest",target:"_blank",rel:"noopener noreferrer"},"with-jest")),(0,r.kt)("li",null,(0,r.kt)("a",{href:"https://github.com/alibaba/ice/tree/master/examples/with-vitest",target:"_blank",rel:"noopener noreferrer"},"with-vitest")))),(0,r.kt)("p",null,"ice.js \u4e0d\u8026\u5408\u4efb\u4f55\u4e00\u4e2a\u6d4b\u8bd5\u6846\u67b6\uff0c\u5f00\u53d1\u8005\u53ef\u81ea\u7531\u9009\u62e9\u3002\u76ee\u524d\u63d0\u4f9b\u5f00\u7bb1\u5373\u7528\u7684 ",(0,r.kt)("a",{parentName:"p",href:"https://jestjs.io/"},"jest")," \u548c ",(0,r.kt)("a",{parentName:"p",href:"https://vitest.dev/"},"vitest")," \u914d\u7f6e\uff0c\u4ee5\u4fbf\u5feb\u901f\u5f00\u59cb\u5355\u5143\u6d4b\u8bd5\u3002"),(0,r.kt)("h2",{id:"jest"},"Jest"),(0,r.kt)("h3",{id:"\u4f9d\u8d56\u5b89\u88c5"},"\u4f9d\u8d56\u5b89\u88c5"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"$ npm i jest -D\n")),(0,r.kt)("blockquote",null,(0,r.kt)("p",{parentName:"blockquote"},"\u5982\u679c\u4f7f\u7528 TypeScript \u7f16\u5199\u5355\u5143\u6d4b\u8bd5\uff0c\u63a8\u8350\u63a5\u5165\u4f7f\u7528 ",(0,r.kt)("a",{parentName:"p",href:"https://swc.rs/docs/usage/jest"},"@swc/jest")," \u6216 ",(0,r.kt)("a",{parentName:"p",href:"https://kulshekhar.github.io/ts-jest/docs/getting-started/installation"},"ts-jest"))),(0,r.kt)("h3",{id:"\u914d\u7f6e"},"\u914d\u7f6e"),(0,r.kt)("p",null,"\u9996\u5148\u9700\u8981\u5728\u9879\u76ee\u7684\u6839\u76ee\u5f55\u4e0b\u65b0\u5efa ",(0,r.kt)("inlineCode",{parentName:"p"},"jest.config.mjs")," \u6587\u4ef6\uff0c\u5e76\u52a0\u5165\u4ee5\u4e0b\u5185\u5bb9\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-js",metastring:'title="jest.config.mjs"',title:'"jest.config.mjs"'},"import { defineJestConfig } from '@ice/app';\n\nexport default defineJestConfig({});\n")),(0,r.kt)("p",null,(0,r.kt)("inlineCode",{parentName:"p"},"defineJestConfig")," \u65b9\u6cd5\u8fd4\u56de\u7684\u662f ice.js \u9ed8\u8ba4\u914d\u7f6e\u597d\u7684 Jest \u914d\u7f6e\uff0c\u652f\u6301\u4f20\u5165\u81ea\u5b9a\u4e49\u7684 ",(0,r.kt)("a",{parentName:"p",href:"https://jestjs.io/docs/configuration"},"Jest \u914d\u7f6e"),"\u3002"),(0,r.kt)("p",null,(0,r.kt)("inlineCode",{parentName:"p"},"defineJestConfig")," \u5165\u53c2\u652f\u6301\u4e24\u79cd\u5199\u6cd5\uff1a"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"jest.Config")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"() => Promise"))),(0,r.kt)("p",null,"\u4ee5\u6dfb\u52a0 ",(0,r.kt)("inlineCode",{parentName:"p"},"@swc/jest")," \u4e3a\u4f8b\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-diff",metastring:'title="jest.config.mjs"',title:'"jest.config.mjs"'},"import { defineJestConfig } from '@ice/app';\n\nexport default defineJestConfig({\n+ transform: {\n+ '^.+\\\\.(t|j)sx?$': [\n+ '@swc/jest',\n+ {\n+ // swc \u914d\u7f6e\n+ jsc: {\n+ transform: {\n+ react: {\n+ runtime: 'automatic',\n+ },\n+ },\n+ },\n+ },\n+ ],\n+ },\n});\n")),(0,r.kt)("p",null,"\u7136\u540e\u5728 ",(0,r.kt)("inlineCode",{parentName:"p"},"package.json")," \u4e2d\u52a0\u5165 ",(0,r.kt)("inlineCode",{parentName:"p"},"test")," \u811a\u672c\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-diff",metastring:'title="package.json"',title:'"package.json"'},'{\n "scripts": {\n+ "test": "jest"\n }\n}\n')),(0,r.kt)("p",null,"\u914d\u7f6e\u5b8c\u6210\u540e\uff0c\u5c31\u53ef\u4ee5\u5f00\u59cb\u7f16\u5199\u5355\u5143\u6d4b\u8bd5\u4e86\u3002"),(0,r.kt)("h3",{id:"\u975e-ui-\u6d4b\u8bd5"},"\u975e UI \u6d4b\u8bd5"),(0,r.kt)("p",null,"\u5047\u8bbe\u73b0\u5728\u8981\u6d4b\u8bd5 ",(0,r.kt)("inlineCode",{parentName:"p"},"add")," \u51fd\u6570\u5982\u4e0b\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-ts",metastring:'title="src/utils/add.ts"',title:'"src/utils/add.ts"'},"export default function add(a, b) {\n return a + b;\n}\n")),(0,r.kt)("p",null,"\u65b0\u5efa\u4e00\u4e2a\u6d4b\u8bd5\u7528\u4f8b\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-ts",metastring:'title="tests/add.spec.ts"',title:'"tests/add.spec.ts"'},"import add from '../src/add';\n\ntest('add function', () => {\n expect(add(1, 2)).toBe(3);\n});\n")),(0,r.kt)("p",null,"\u8fd9\u65f6\uff0c\u8fd0\u884c ",(0,r.kt)("inlineCode",{parentName:"p"},"npm run test")," \u67e5\u770b\u6d4b\u8bd5\u7ed3\u679c\u4e86\u3002"),(0,r.kt)("h3",{id:"ui-\u6d4b\u8bd5"},"UI \u6d4b\u8bd5"),(0,r.kt)("p",null,"\u7ec4\u4ef6 UI \u6d4b\u8bd5\u63a8\u8350\u4f7f\u7528 ",(0,r.kt)("a",{parentName:"p",href:"https://www.npmjs.com/package/@testing-library/react"},"@testing-library/react")," \u548c ",(0,r.kt)("a",{parentName:"p",href:"https://www.npmjs.com/package/@testing-library/jest-dom"},"@testing-library/jest-dom"),"\u3002"),(0,r.kt)("p",null,"\u9996\u5148\u5b89\u88c5\u4f9d\u8d56\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"$ npm i @testing-library/react jest-environment-jsdom @testing-library/jest-dom -D\n")),(0,r.kt)("p",null,"\u7136\u540e\u5728\u9879\u76ee\u6839\u76ee\u5f55\u4e0b\u65b0\u5efa ",(0,r.kt)("inlineCode",{parentName:"p"},"jest-setup.ts")," \u5e76\u5199\u5165\u4ee5\u4e0b\u5185\u5bb9\uff0c\u4ee5\u6269\u5c55\u5339\u914d\u5668(matchers)\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-ts",metastring:'title="jest-setup.ts"',title:'"jest-setup.ts"'},"import '@testing-library/jest-dom';\n")),(0,r.kt)("p",null,"\u6700\u540e\u5728 ",(0,r.kt)("inlineCode",{parentName:"p"},"jest.config.mjs")," \u4e2d\u52a0\u5165\u4ee5\u4e0b\u5185\u5bb9\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-diff",metastring:'title="jest.config.mjs"',title:'"jest.config.mjs"'},"import { defineJestConfig } from '@ice/app';\n\nexport default defineJestConfig({\n+ setupFilesAfterEnv: ['/jest-setup.ts'],\n+ testEnvironment: 'jest-environment-jsdom',\n});\n")),(0,r.kt)("p",null,"\u5047\u8bbe\u73b0\u5728\u8981\u6d4b\u8bd5\u4e00\u4e2a Header \u7ec4\u4ef6\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-tsx",metastring:'title="src/components/Header.tsx"',title:'"src/components/Header.tsx"'},'export default function Header() {\n return (\n

Jest Test

\n );\n}\n')),(0,r.kt)("p",null,"\u7f16\u5199\u7ec4\u4ef6\u7684\u6d4b\u8bd5\u7528\u4f8b\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-tsx",metastring:'title="tests/Header.spec.tsx"',title:'"tests/Header.spec.tsx"'},"import { render, screen } from '@testing-library/react';\nimport Header from '@/components/Header';\n\ntest('test Header component', () => {\n render(
);\n expect(screen.getByTestId('title')).toHaveTextContent('Jest Test');\n});\n")),(0,r.kt)("p",null,"\u6700\u540e\uff0c\u8fd0\u884c ",(0,r.kt)("inlineCode",{parentName:"p"},"npm run test")," \u5c31\u53ef\u4ee5\u67e5\u770b\u6d4b\u8bd5\u7ed3\u679c\u4e86\u3002"),(0,r.kt)("h2",{id:"vitest"},"Vitest"),(0,r.kt)("h3",{id:"\u4f9d\u8d56\u5b89\u88c5-1"},"\u4f9d\u8d56\u5b89\u88c5"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"$ npm i vitest -D\n")),(0,r.kt)("h3",{id:"\u914d\u7f6e-1"},"\u914d\u7f6e"),(0,r.kt)("p",null,"\u9996\u5148\u9700\u8981\u5728\u9879\u76ee\u7684\u6839\u76ee\u5f55\u4e0b\u65b0\u5efa vitest.config.mjs \u6587\u4ef6\uff0c\u5e76\u52a0\u5165\u4ee5\u4e0b\u5185\u5bb9\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-js",metastring:'title="vitest.config.mjs"',title:'"vitest.config.mjs"'},"import { defineVitestConfig } from '@ice/app';\n\nexport default defineVitestConfig({});\n")),(0,r.kt)("p",null,(0,r.kt)("inlineCode",{parentName:"p"},"defineVitestConfig")," \u65b9\u6cd5\u8fd4\u56de\u7684\u662f ice.js \u9ed8\u8ba4\u914d\u7f6e\u597d\u7684 vitest \u914d\u7f6e\uff0c\u652f\u6301\u4f20\u5165\u81ea\u5b9a\u4e49\u7684 ",(0,r.kt)("a",{parentName:"p",href:"https://vitest.dev/config/"},"vitest \u914d\u7f6e"),"\u3002"),(0,r.kt)("p",null,"defineVitestConfig \u5165\u53c2\u652f\u6301\u4e09\u79cd\u5199\u6cd5\uff1a"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"vitest.UserConfig")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"Promise")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"(env) => Promise"))),(0,r.kt)("p",null,"\u4ee5\u4fee\u6539 ",(0,r.kt)("inlineCode",{parentName:"p"},"include")," \u53c2\u6570\u4e3a\u4f8b\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-diff",metastring:'title="vitest.config.mjs"',title:'"vitest.config.mjs"'},"import { defineVitestConfig } from '@ice/app';\n\nexport default defineVitestConfig({\n+ test: {\n+ include: ['**/*.{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}']\n+ }\n});\n")),(0,r.kt)("p",null,"\u7136\u540e\u5728 ",(0,r.kt)("inlineCode",{parentName:"p"},"package.json")," \u4e2d\u52a0\u5165 ",(0,r.kt)("inlineCode",{parentName:"p"},"test")," \u811a\u672c\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-diff",metastring:'title="package.json"',title:'"package.json"'},'{\n "scripts": {\n+ "test": "vitest"\n }\n}\n')),(0,r.kt)("h3",{id:"\u975e-ui-\u6d4b\u8bd5-1"},"\u975e UI \u6d4b\u8bd5"),(0,r.kt)("p",null,"\u540c\u6837\u6d4b\u8bd5 ",(0,r.kt)("a",{parentName:"p",href:"#%E9%9D%9E-ui-%E6%B5%8B%E8%AF%95"},"Jest \u975e UI \u6d4b\u8bd5\u7ae0\u8282")," \u4e2d\u7684 ",(0,r.kt)("inlineCode",{parentName:"p"},"Header")," \u7ec4\u4ef6\uff0c\u7f16\u5199\u4ee5\u4e0b\u7684\u6d4b\u8bd5\u7528\u4f8b\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-ts",metastring:'title="tests/add.spec.ts"',title:'"tests/add.spec.ts"'},"import { test, expect } from 'vitest';\nimport add from '../src/add';\n\ntest('add', () => {\n expect(add(1, 2)).toBe(3);\n});\n")),(0,r.kt)("p",null,"\u73b0\u5728\u53ef\u4ee5\u8fd0\u884c ",(0,r.kt)("inlineCode",{parentName:"p"},"npm run test")," \u67e5\u770b\u6d4b\u8bd5\u7ed3\u679c\u3002"),(0,r.kt)("h3",{id:"ui-\u6d4b\u8bd5-1"},"UI \u6d4b\u8bd5"),(0,r.kt)("p",null,"\u9996\u5148\u5b89\u88c5\u4f9d\u8d56\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"$ npm i @testing-library/react jsdom @testing-library/jest-dom @vitejs/plugin-react@1.3.2 -D\n")),(0,r.kt)("p",null,"\u7136\u540e\u5728\u9879\u76ee\u6839\u76ee\u5f55\u4e0b\u65b0\u5efa ",(0,r.kt)("inlineCode",{parentName:"p"},"vitest-setup.js")," \u5e76\u5199\u5165\u4ee5\u4e0b\u5185\u5bb9\uff0c\u4ee5\u6269\u5c55\u5339\u914d\u5668(matchers)\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-ts",metastring:'title="vitest-setup.js"',title:'"vitest-setup.js"'},"import matchers from '@testing-library/jest-dom/matchers';\nimport { expect } from 'vitest';\n\nexpect.extend(matchers);\n")),(0,r.kt)("p",null,"\u6700\u540e\u5728 ",(0,r.kt)("inlineCode",{parentName:"p"},"vitest.config.mjs")," \u4e2d\u52a0\u5165\u4ee5\u4e0b\u5185\u5bb9\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-diff",metastring:'title="vitest.config.mjs"',title:'"vitest.config.mjs"'},"import { defineVitestConfig } from '@ice/app';\n+ import react from '@vitejs/plugin-react';\n\nexport default defineVitestConfig({\n+ test: {\n+ environment: 'jsdom',\n+ setupFiles: ['./vitest-setup.js'],\n+ plugins: [react()], // \u652f\u6301\u89e3\u6790 JSX \u8bed\u6cd5\n+ },\n});\n")),(0,r.kt)("p",null,"\u5047\u8bbe\u73b0\u5728\u6d4b\u8bd5\u4e00\u4e2a Header \u7ec4\u4ef6\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-tsx",metastring:'title="src/components/Header.tsx"',title:'"src/components/Header.tsx"'},'export default function Header() {\n return (\n

Vitest Test

\n );\n}\n')),(0,r.kt)("p",null,"\u7f16\u5199\u7ec4\u4ef6\u7684\u6d4b\u8bd5\u7528\u4f8b\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-tsx",metastring:'title="tests/Header.spec.tsx"',title:'"tests/Header.spec.tsx"'},"import { test, expect } from 'vitest';\nimport { render, screen } from '@testing-library/react';\nimport Header from '@/components/Header';\n\ntest('test Header component', () => {\n render(
);\n expect(screen.getByTestId('title')).toHaveTextContent('Vitest Test');\n});\n")),(0,r.kt)("p",null,"\u6700\u540e\uff0c\u8fd0\u884c ",(0,r.kt)("inlineCode",{parentName:"p"},"npm run test")," \u5c31\u53ef\u4ee5\u67e5\u770b\u6d4b\u8bd5\u7ed3\u679c\u4e86\u3002"))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/0d09599a.9e62fcea.js b/assets/js/0d09599a.f4f1211f.js similarity index 99% rename from assets/js/0d09599a.9e62fcea.js rename to assets/js/0d09599a.f4f1211f.js index ec99f987f3..26c9ac4c99 100644 --- a/assets/js/0d09599a.9e62fcea.js +++ b/assets/js/0d09599a.f4f1211f.js @@ -1 +1 @@ -"use strict";(self.webpackChunkice_website_v3=self.webpackChunkice_website_v3||[]).push([[8998],{4852:(e,t,n)=>{n.d(t,{Zo:()=>u,kt:()=>k});var r=n(9231);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function l(e){for(var t=1;t=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var p=r.createContext({}),c=function(e){var t=r.useContext(p),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},u=function(e){var t=c(e.components);return r.createElement(p.Provider,{value:t},e.children)},s="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},m=r.forwardRef((function(e,t){var n=e.components,a=e.mdxType,i=e.originalType,p=e.parentName,u=o(e,["components","mdxType","originalType","parentName"]),s=c(n),m=a,k=s["".concat(p,".").concat(m)]||s[m]||d[m]||i;return n?r.createElement(k,l(l({ref:t},u),{},{components:n})):r.createElement(k,l({ref:t},u))}));function k(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var i=n.length,l=new Array(i);l[0]=m;var o={};for(var p in t)hasOwnProperty.call(t,p)&&(o[p]=t[p]);o.originalType=e,o[s]="string"==typeof e?e:a,l[1]=o;for(var c=2;c{n.r(t),n.d(t,{assets:()=>p,contentTitle:()=>l,default:()=>d,frontMatter:()=>i,metadata:()=>o,toc:()=>c});var r=n(5675),a=(n(9231),n(4852));const i={title:"\u5fae\u524d\u7aef",order:65},l=void 0,o={unversionedId:"guide/advanced/icestark",id:"guide/advanced/icestark",title:"\u5fae\u524d\u7aef",description:"icestark \u662f\u98de\u51b0\u56e2\u961f\u9488\u5bf9\u5927\u578b\u7cfb\u7edf\u63d0\u4f9b\u7684\u5fae\u524d\u7aef\u89e3\u51b3\u65b9\u6848\uff0c\u6211\u4eec\u63d0\u4f9b\u4e86\u72ec\u7acb\u63d2\u4ef6 @ice/plugin-icestark \u5e2e\u52a9 ice.js \u5e94\u7528\u5feb\u901f\u63a5\u5165\u5fae\u524d\u7aef\u89e3\u51b3\u65b9\u6848\u3002",source:"@site/docs/guide/advanced/icestark.md",sourceDirName:"guide/advanced",slug:"/guide/advanced/icestark",permalink:"/docs/guide/advanced/icestark",draft:!1,editUrl:"https://github.com/alibaba/ice/edit/master/website/docs/guide/advanced/icestark.md",tags:[],version:"current",frontMatter:{title:"\u5fae\u524d\u7aef",order:65},sidebar:"docs",previous:{title:"\u539f\u751f\u751f\u547d\u5468\u671f\u4e8b\u4ef6\u4f7f\u7528",permalink:"/docs/guide/miniapp/native-lifecycle-events"},next:{title:"\u4ee3\u7801\u5206\u5305",permalink:"/docs/guide/advanced/code-splitting"}},p={},c=[{value:"\u521d\u59cb\u5316\u5e94\u7528",id:"\u521d\u59cb\u5316\u5e94\u7528",level:2},{value:"\u6846\u67b6\u5e94\u7528",id:"\u6846\u67b6\u5e94\u7528",level:3},{value:"\u5fae\u5e94\u7528",id:"\u5fae\u5e94\u7528",level:3},{value:"\u5e94\u7528\u6539\u9020",id:"\u5e94\u7528\u6539\u9020",level:2},{value:"\u5b89\u88c5\u63d2\u4ef6",id:"\u5b89\u88c5\u63d2\u4ef6",level:3},{value:"\u6846\u67b6\u5e94\u7528\u6539\u9020",id:"\u6846\u67b6\u5e94\u7528\u6539\u9020",level:3},{value:"\u5fae\u5e94\u7528\u6539\u9020",id:"\u5fae\u5e94\u7528\u6539\u9020",level:3},{value:"\u9644\u5f55",id:"\u9644\u5f55",level:2},{value:"\u6846\u67b6\u5e94\u7528\u914d\u7f6e",id:"\u6846\u67b6\u5e94\u7528\u914d\u7f6e",level:3},{value:"getApp",id:"getapp",level:4},{value:"layout",id:"layout",level:3},{value:"appRouter",id:"approuter",level:3},{value:"\u5fae\u5e94\u7528\u914d\u7f6e",id:"\u5fae\u5e94\u7528\u914d\u7f6e",level:3},{value:"mount",id:"mount",level:4},{value:"unmout",id:"unmout",level:4}],u={toc:c},s="wrapper";function d(e){let{components:t,...n}=e;return(0,a.kt)(s,(0,r.Z)({},u,n,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("p",null,(0,a.kt)("a",{parentName:"p",href:"https://micro-frontends.ice.work/"},"icestark")," \u662f\u98de\u51b0\u56e2\u961f\u9488\u5bf9\u5927\u578b\u7cfb\u7edf\u63d0\u4f9b\u7684\u5fae\u524d\u7aef\u89e3\u51b3\u65b9\u6848\uff0c\u6211\u4eec\u63d0\u4f9b\u4e86\u72ec\u7acb\u63d2\u4ef6 ",(0,a.kt)("inlineCode",{parentName:"p"},"@ice/plugin-icestark")," \u5e2e\u52a9 ice.js \u5e94\u7528\u5feb\u901f\u63a5\u5165\u5fae\u524d\u7aef\u89e3\u51b3\u65b9\u6848\u3002"),(0,a.kt)("h2",{id:"\u521d\u59cb\u5316\u5e94\u7528"},"\u521d\u59cb\u5316\u5e94\u7528"),(0,a.kt)("h3",{id:"\u6846\u67b6\u5e94\u7528"},"\u6846\u67b6\u5e94\u7528"),(0,a.kt)("p",null,"\u901a\u8fc7\u6a21\u677f\u5feb\u901f\u521b\u5efa\u4e00\u4e2a\u5fae\u524d\u7aef\u7684\u6846\u67b6\u5e94\u7528\uff08\u4e3b\u5e94\u7528\uff09\uff1a"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-bash"},"$ npm init ice icestark-framework @icedesign/stark-layout\n$ cd icestark-framework\n$ npm install\n$ npm start\n")),(0,a.kt)("h3",{id:"\u5fae\u5e94\u7528"},"\u5fae\u5e94\u7528"),(0,a.kt)("p",null,"\u901a\u8fc7\u6a21\u677f\u5feb\u901f\u521b\u5efa\u4e00\u4e2a\u5fae\u5e94\u7528\uff08\u5b50\u5e94\u7528\uff09\uff1a"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-bash"},"$ npm init ice icestark-child @icedesign/stark-child\n$ cd icestark-child\n$ npm install\n$ npm start\n")),(0,a.kt)("h2",{id:"\u5e94\u7528\u6539\u9020"},"\u5e94\u7528\u6539\u9020"),(0,a.kt)("p",null,"\u5982\u679c\u4e0d\u662f\u901a\u8fc7\u6a21\u677f\u521b\u5efa\uff0c\u5219\u9700\u8981\u6309\u7167\u4e0b\u9762\u7684\u6b65\u9aa4\u8fdb\u884c\u6539\u9020\uff1a"),(0,a.kt)("h3",{id:"\u5b89\u88c5\u63d2\u4ef6"},"\u5b89\u88c5\u63d2\u4ef6"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-bash"},"$ npm i --save-dev @ice/plugin-icestark\n")),(0,a.kt)("h3",{id:"\u6846\u67b6\u5e94\u7528\u6539\u9020"},"\u6846\u67b6\u5e94\u7528\u6539\u9020"),(0,a.kt)("p",null,"\u5728\u5e94\u7528\u914d\u7f6e\u6587\u4ef6\u4e2d\u6dfb\u52a0\u63d2\u4ef6\uff1a"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-ts",metastring:'title="ice.config.mts"',title:'"ice.config.mts"'},"\nimport { defineConfig } from '@ice/app';\nimport icestark from '@ice/plugin-icestark';\n\nexport default defineConfig(() => ({\n plugins: [\n // \u8bbe\u7f6e\u5e94\u7528\u7c7b\u578b\u4e3a\u6846\u67b6\u5e94\u7528 framework\n icestark({ type: 'framework' }),\n ],\n}));\n")),(0,a.kt)("p",null,"\u5e94\u7528\u5165\u53e3\u914d\u7f6e\u5fae\u5e94\u7528\u76f8\u5173\u4fe1\u606f\uff1a"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-ts",metastring:'title="src/app.ts"',title:'"src/app.ts"'},"import { defineFrameworkConfig } from '@ice/plugin-icestark/types';\nimport FrameworkLayout from '@/components/FrameworkLayout';\n\nexport const icestark = defineFrameworkConfig(() => ({\n // \u7528\u4e8e\u5fae\u5e94\u7528\u5168\u5c40\u7684 Layout\n layout: FrameworkLayout,\n // \u914d\u7f6e\u5fae\u5e94\u7528\u4fe1\u606f\uff0c\u53ef\u4e3a\u5f02\u6b65\u65b9\u6cd5\n getApps: () => ([\n {\n path: '/seller',\n title: '\u5546\u5bb6\u5e73\u53f0',\n loadScriptMode: 'import',\n entry: 'https://iceworks.oss-cn-hangzhou.aliyuncs.com/icestark/child-seller-ice-vite/index.html',\n },\n ]),\n // icestark \u63d0\u4f9b\u7684 AppRouter \u7ec4\u4ef6\u7684\u914d\u7f6e\u53c2\u6570\n appRouter: {},\n}));\n")),(0,a.kt)("h3",{id:"\u5fae\u5e94\u7528\u6539\u9020"},"\u5fae\u5e94\u7528\u6539\u9020"),(0,a.kt)("p",null,"\u5728\u5e94\u7528\u914d\u7f6e\u6587\u4ef6\u4e2d\u6dfb\u52a0\u63d2\u4ef6\uff1a"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-ts",metastring:'title="ice.config.mts"',title:'"ice.config.mts"'},"\nimport { defineConfig } from '@ice/app';\nimport icestark from '@ice/plugin-icestark';\n\nexport default defineConfig(() => ({\n plugins: [\n // \u8bbe\u7f6e\u5e94\u7528\u7c7b\u578b\u4e3a\u5fae\u5e94\u7528 child\n icestark({ type: 'child' }),\n ],\n}));\n")),(0,a.kt)("p",null,"\u5e94\u7528\u5165\u53e3\u53ef\u4ee5\u914d\u7f6e\u76f8\u5173\u751f\u547d\u5468\u671f\u6267\u884c\u884c\u4e3a\uff08\u53ef\u9009\uff09\uff1a"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-ts",metastring:'title="ice.config.mts"',title:'"ice.config.mts"'},"import { defineChildConfig } from '@ice/plugin-icestark/types';\n\nexport const icestark = defineChildConfig(() => ({\n mount: () => {\n // \u5728\u5fae\u5e94\u7528\u6302\u8f7d\u524d\u6267\u884c\n },\n unmount: () => {\n // \u5728\u5fae\u5e94\u7528\u5378\u8f7d\u540e\u6267\u884c\n },\n}));\n")),(0,a.kt)("h2",{id:"\u9644\u5f55"},"\u9644\u5f55"),(0,a.kt)("h3",{id:"\u6846\u67b6\u5e94\u7528\u914d\u7f6e"},"\u6846\u67b6\u5e94\u7528\u914d\u7f6e"),(0,a.kt)("h4",{id:"getapp"},"getApp"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"\u7c7b\u578b\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"Function")),(0,a.kt)("li",{parentName:"ul"},"\u9ed8\u8ba4\u503c\uff1a() => []")),(0,a.kt)("p",null,"\u7528\u4e8e\u83b7\u53d6\u5fae\u5e94\u7528\u5217\u8868\uff0c\u5355\u4e2a\u5fae\u5e94\u7528\u7684\u5b8c\u6574\u914d\u7f6e\u5b57\u6bb5\u8bf7\u53c2\u8003 ",(0,a.kt)("a",{parentName:"p",href:"https://micro-frontends.ice.work/docs/api/ice-stark/#appconfig"},"AppConfig"),"\u3002"),(0,a.kt)("h3",{id:"layout"},"layout"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"\u7c7b\u578b\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"Component"))),(0,a.kt)("p",null,"\u6846\u67b6\u5e94\u7528\u5bf9\u5e94\u7684\u5e03\u5c40\u7ec4\u4ef6\uff0c\u5fc5\u987b\u6e32\u67d3 ",(0,a.kt)("inlineCode",{parentName:"p"},"children")," \u7528\u4e8e\u6e32\u67d3\u5fae\u524d\u7aef\u76f8\u5173\u5e94\u7528\u7ed3\u6784\uff1a"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-tsx"},"export default function FrameworkLayout({ children }) {\n return (\n <>\n
\n {/* \u5fc5\u987b\u6e32\u67d3 layout \u7528\u6765\u6e32\u67d3\u5fae\u524d\u7aef\u7684\u7ed3\u6784 */}\n {children}\n
\n \n );\n}\n")),(0,a.kt)("p",null,"\u5b8c\u6210 layout \u7684\u5f00\u53d1\u540e\uff0c\u914d\u7f6e\u5728\u5165\u53e3 ",(0,a.kt)("inlineCode",{parentName:"p"},"src/app.ts")," \u4e2d\uff1a"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-ts",metastring:'title="src/app.ts"',title:'"src/app.ts"'},"import { defineFrameworkConfig } from '@ice/plugin-icestark/types';\nimport FrameworkLayout from '@/components/FrameworkLayout';\n\nexport const icestark = defineFrameworkConfig(() => ({\n layout: FrameworkLayout,\n}));\n")),(0,a.kt)("h3",{id:"approuter"},"appRouter"),(0,a.kt)("p",null,"\u53ef\u4f20\u5165 icestark \u8fd0\u884c\u65f6\u7684\u94a9\u5b50\u51fd\u6570\u548c\u53ef\u9009\u914d\u7f6e\u3002\u4e3b\u8981\u6709\uff1a"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"NotFoundComponent\uff0c\u5339\u914d\u4e0d\u5230\u4efb\u4f55\u5fae\u5e94\u7528\u8def\u7531\u65f6\u7684\u72b6\u6001\u3002"),(0,a.kt)("li",{parentName:"ul"},"LoadingComponent\uff0c\u52a0\u8f7d\u8fc7\u7a0b\u4e2d\u7684 Loading \u72b6\u6001\u3002"),(0,a.kt)("li",{parentName:"ul"},"ErrorComponent\uff0c\u52a0\u8f7d\u51fa\u73b0\u9519\u8bef\u65f6\u7684\u72b6\u6001\u3002")),(0,a.kt)("p",null,"\u66f4\u591a\u914d\u7f6e",(0,a.kt)("a",{parentName:"p",href:"https://micro-frontends.ice.work/docs/api/ice-stark/#approuter"},"\u8be6\u89c1\u6587\u6863"),"\u3002"),(0,a.kt)("h3",{id:"\u5fae\u5e94\u7528\u914d\u7f6e"},"\u5fae\u5e94\u7528\u914d\u7f6e"),(0,a.kt)("h4",{id:"mount"},"mount"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"\u7c7b\u578b\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"Function"))),(0,a.kt)("p",null,"\u5728\u5fae\u5e94\u7528\u6302\u8f7d\u524d\uff0c\u5c06\u6267\u884c\u8be5\u51fd\u6570\u3002"),(0,a.kt)("h4",{id:"unmout"},"unmout"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"\u7c7b\u578b\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"Function"))),(0,a.kt)("p",null,"\u5728\u5fae\u5e94\u7528\u5378\u8f7d\u540e\uff0c\u5c06\u6267\u884c\u8be5\u51fd\u6570\u3002"))}d.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunkice_website_v3=self.webpackChunkice_website_v3||[]).push([[8998],{4852:(e,t,n)=>{n.d(t,{Zo:()=>u,kt:()=>k});var r=n(9231);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function l(e){for(var t=1;t=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var p=r.createContext({}),c=function(e){var t=r.useContext(p),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},u=function(e){var t=c(e.components);return r.createElement(p.Provider,{value:t},e.children)},s="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},m=r.forwardRef((function(e,t){var n=e.components,a=e.mdxType,i=e.originalType,p=e.parentName,u=o(e,["components","mdxType","originalType","parentName"]),s=c(n),m=a,k=s["".concat(p,".").concat(m)]||s[m]||d[m]||i;return n?r.createElement(k,l(l({ref:t},u),{},{components:n})):r.createElement(k,l({ref:t},u))}));function k(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var i=n.length,l=new Array(i);l[0]=m;var o={};for(var p in t)hasOwnProperty.call(t,p)&&(o[p]=t[p]);o.originalType=e,o[s]="string"==typeof e?e:a,l[1]=o;for(var c=2;c{n.r(t),n.d(t,{assets:()=>p,contentTitle:()=>l,default:()=>d,frontMatter:()=>i,metadata:()=>o,toc:()=>c});var r=n(5675),a=(n(9231),n(4852));const i={title:"\u5fae\u524d\u7aef",order:65},l=void 0,o={unversionedId:"guide/advanced/icestark",id:"guide/advanced/icestark",title:"\u5fae\u524d\u7aef",description:"icestark \u662f\u98de\u51b0\u56e2\u961f\u9488\u5bf9\u5927\u578b\u7cfb\u7edf\u63d0\u4f9b\u7684\u5fae\u524d\u7aef\u89e3\u51b3\u65b9\u6848\uff0c\u6211\u4eec\u63d0\u4f9b\u4e86\u72ec\u7acb\u63d2\u4ef6 @ice/plugin-icestark \u5e2e\u52a9 ice.js \u5e94\u7528\u5feb\u901f\u63a5\u5165\u5fae\u524d\u7aef\u89e3\u51b3\u65b9\u6848\u3002",source:"@site/docs/guide/advanced/icestark.md",sourceDirName:"guide/advanced",slug:"/guide/advanced/icestark",permalink:"/docs/guide/advanced/icestark",draft:!1,editUrl:"https://github.com/alibaba/ice/edit/master/website/docs/guide/advanced/icestark.md",tags:[],version:"current",frontMatter:{title:"\u5fae\u524d\u7aef",order:65},sidebar:"docs",previous:{title:"\u539f\u751f\u751f\u547d\u5468\u671f\u4e8b\u4ef6\u4f7f\u7528",permalink:"/docs/guide/miniapp/native-lifecycle-events"},next:{title:"\u4ee3\u7801\u5206\u5305",permalink:"/docs/guide/advanced/code-splitting"}},p={},c=[{value:"\u521d\u59cb\u5316\u5e94\u7528",id:"\u521d\u59cb\u5316\u5e94\u7528",level:2},{value:"\u6846\u67b6\u5e94\u7528",id:"\u6846\u67b6\u5e94\u7528",level:3},{value:"\u5fae\u5e94\u7528",id:"\u5fae\u5e94\u7528",level:3},{value:"\u5e94\u7528\u6539\u9020",id:"\u5e94\u7528\u6539\u9020",level:2},{value:"\u5b89\u88c5\u63d2\u4ef6",id:"\u5b89\u88c5\u63d2\u4ef6",level:3},{value:"\u6846\u67b6\u5e94\u7528\u6539\u9020",id:"\u6846\u67b6\u5e94\u7528\u6539\u9020",level:3},{value:"\u5fae\u5e94\u7528\u6539\u9020",id:"\u5fae\u5e94\u7528\u6539\u9020",level:3},{value:"\u9644\u5f55",id:"\u9644\u5f55",level:2},{value:"\u6846\u67b6\u5e94\u7528\u914d\u7f6e",id:"\u6846\u67b6\u5e94\u7528\u914d\u7f6e",level:3},{value:"getApp",id:"getapp",level:4},{value:"layout",id:"layout",level:3},{value:"appRouter",id:"approuter",level:3},{value:"\u5fae\u5e94\u7528\u914d\u7f6e",id:"\u5fae\u5e94\u7528\u914d\u7f6e",level:3},{value:"mount",id:"mount",level:4},{value:"unmout",id:"unmout",level:4}],u={toc:c},s="wrapper";function d(e){let{components:t,...n}=e;return(0,a.kt)(s,(0,r.Z)({},u,n,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("p",null,(0,a.kt)("a",{parentName:"p",href:"https://micro-frontends.ice.work/"},"icestark")," \u662f\u98de\u51b0\u56e2\u961f\u9488\u5bf9\u5927\u578b\u7cfb\u7edf\u63d0\u4f9b\u7684\u5fae\u524d\u7aef\u89e3\u51b3\u65b9\u6848\uff0c\u6211\u4eec\u63d0\u4f9b\u4e86\u72ec\u7acb\u63d2\u4ef6 ",(0,a.kt)("inlineCode",{parentName:"p"},"@ice/plugin-icestark")," \u5e2e\u52a9 ice.js \u5e94\u7528\u5feb\u901f\u63a5\u5165\u5fae\u524d\u7aef\u89e3\u51b3\u65b9\u6848\u3002"),(0,a.kt)("h2",{id:"\u521d\u59cb\u5316\u5e94\u7528"},"\u521d\u59cb\u5316\u5e94\u7528"),(0,a.kt)("h3",{id:"\u6846\u67b6\u5e94\u7528"},"\u6846\u67b6\u5e94\u7528"),(0,a.kt)("p",null,"\u901a\u8fc7\u6a21\u677f\u5feb\u901f\u521b\u5efa\u4e00\u4e2a\u5fae\u524d\u7aef\u7684\u6846\u67b6\u5e94\u7528\uff08\u4e3b\u5e94\u7528\uff09\uff1a"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-bash"},"$ npm init ice icestark-framework @icedesign/stark-layout\n$ cd icestark-framework\n$ npm install\n$ npm start\n")),(0,a.kt)("h3",{id:"\u5fae\u5e94\u7528"},"\u5fae\u5e94\u7528"),(0,a.kt)("p",null,"\u901a\u8fc7\u6a21\u677f\u5feb\u901f\u521b\u5efa\u4e00\u4e2a\u5fae\u5e94\u7528\uff08\u5b50\u5e94\u7528\uff09\uff1a"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-bash"},"$ npm init ice icestark-child @icedesign/stark-child\n$ cd icestark-child\n$ npm install\n$ npm start\n")),(0,a.kt)("h2",{id:"\u5e94\u7528\u6539\u9020"},"\u5e94\u7528\u6539\u9020"),(0,a.kt)("p",null,"\u5982\u679c\u4e0d\u662f\u901a\u8fc7\u6a21\u677f\u521b\u5efa\uff0c\u5219\u9700\u8981\u6309\u7167\u4e0b\u9762\u7684\u6b65\u9aa4\u8fdb\u884c\u6539\u9020\uff1a"),(0,a.kt)("h3",{id:"\u5b89\u88c5\u63d2\u4ef6"},"\u5b89\u88c5\u63d2\u4ef6"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-bash"},"$ npm i --save-dev @ice/plugin-icestark\n")),(0,a.kt)("h3",{id:"\u6846\u67b6\u5e94\u7528\u6539\u9020"},"\u6846\u67b6\u5e94\u7528\u6539\u9020"),(0,a.kt)("p",null,"\u5728\u5e94\u7528\u914d\u7f6e\u6587\u4ef6\u4e2d\u6dfb\u52a0\u63d2\u4ef6\uff1a"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-ts",metastring:'title="ice.config.mts"',title:'"ice.config.mts"'},"\nimport { defineConfig } from '@ice/app';\nimport icestark from '@ice/plugin-icestark';\n\nexport default defineConfig(() => ({\n plugins: [\n // \u8bbe\u7f6e\u5e94\u7528\u7c7b\u578b\u4e3a\u6846\u67b6\u5e94\u7528 framework\n icestark({ type: 'framework' }),\n ],\n}));\n")),(0,a.kt)("p",null,"\u5e94\u7528\u5165\u53e3\u914d\u7f6e\u5fae\u5e94\u7528\u76f8\u5173\u4fe1\u606f\uff1a"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-ts",metastring:'title="src/app.ts"',title:'"src/app.ts"'},"import { defineFrameworkConfig } from '@ice/plugin-icestark/types';\nimport FrameworkLayout from '@/components/FrameworkLayout';\n\nexport const icestark = defineFrameworkConfig(() => ({\n // \u7528\u4e8e\u5fae\u5e94\u7528\u5168\u5c40\u7684 Layout\n layout: FrameworkLayout,\n // \u914d\u7f6e\u5fae\u5e94\u7528\u4fe1\u606f\uff0c\u53ef\u4e3a\u5f02\u6b65\u65b9\u6cd5\n getApps: () => ([\n {\n path: '/seller',\n title: '\u5546\u5bb6\u5e73\u53f0',\n loadScriptMode: 'import',\n entry: 'https://iceworks.oss-cn-hangzhou.aliyuncs.com/icestark/child-seller-ice-vite/index.html',\n },\n ]),\n // icestark \u63d0\u4f9b\u7684 AppRouter \u7ec4\u4ef6\u7684\u914d\u7f6e\u53c2\u6570\n appRouter: {},\n}));\n")),(0,a.kt)("h3",{id:"\u5fae\u5e94\u7528\u6539\u9020"},"\u5fae\u5e94\u7528\u6539\u9020"),(0,a.kt)("p",null,"\u5728\u5e94\u7528\u914d\u7f6e\u6587\u4ef6\u4e2d\u6dfb\u52a0\u63d2\u4ef6\uff1a"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-ts",metastring:'title="ice.config.mts"',title:'"ice.config.mts"'},"\nimport { defineConfig } from '@ice/app';\nimport icestark from '@ice/plugin-icestark';\n\nexport default defineConfig(() => ({\n plugins: [\n // \u8bbe\u7f6e\u5e94\u7528\u7c7b\u578b\u4e3a\u5fae\u5e94\u7528 child\n icestark({ type: 'child' }),\n ],\n}));\n")),(0,a.kt)("p",null,"\u5e94\u7528\u5165\u53e3\u53ef\u4ee5\u914d\u7f6e\u76f8\u5173\u751f\u547d\u5468\u671f\u6267\u884c\u884c\u4e3a\uff08\u53ef\u9009\uff09\uff1a"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-ts",metastring:'title="ice.config.mts"',title:'"ice.config.mts"'},"import { defineChildConfig } from '@ice/plugin-icestark/types';\n\nexport const icestark = defineChildConfig(() => ({\n mount: () => {\n // \u5728\u5fae\u5e94\u7528\u6302\u8f7d\u524d\u6267\u884c\n },\n unmount: () => {\n // \u5728\u5fae\u5e94\u7528\u5378\u8f7d\u540e\u6267\u884c\n },\n}));\n")),(0,a.kt)("h2",{id:"\u9644\u5f55"},"\u9644\u5f55"),(0,a.kt)("h3",{id:"\u6846\u67b6\u5e94\u7528\u914d\u7f6e"},"\u6846\u67b6\u5e94\u7528\u914d\u7f6e"),(0,a.kt)("h4",{id:"getapp"},"getApp"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"\u7c7b\u578b\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"Function")),(0,a.kt)("li",{parentName:"ul"},"\u9ed8\u8ba4\u503c\uff1a() => []")),(0,a.kt)("p",null,"\u7528\u4e8e\u83b7\u53d6\u5fae\u5e94\u7528\u5217\u8868\uff0c\u5355\u4e2a\u5fae\u5e94\u7528\u7684\u5b8c\u6574\u914d\u7f6e\u5b57\u6bb5\u8bf7\u53c2\u8003 ",(0,a.kt)("a",{parentName:"p",href:"https://micro-frontends.ice.work/docs/api/ice-stark/#appconfig"},"AppConfig"),"\u3002"),(0,a.kt)("h3",{id:"layout"},"layout"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"\u7c7b\u578b\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"Component"))),(0,a.kt)("p",null,"\u6846\u67b6\u5e94\u7528\u5bf9\u5e94\u7684\u5e03\u5c40\u7ec4\u4ef6\uff0c\u5fc5\u987b\u6e32\u67d3 ",(0,a.kt)("inlineCode",{parentName:"p"},"children")," \u7528\u4e8e\u6e32\u67d3\u5fae\u524d\u7aef\u76f8\u5173\u5e94\u7528\u7ed3\u6784\uff1a"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-tsx"},"export default function FrameworkLayout({ children }) {\n return (\n <>\n
\n {/* \u5fc5\u987b\u6e32\u67d3 layout \u7528\u6765\u6e32\u67d3\u5fae\u524d\u7aef\u7684\u7ed3\u6784 */}\n {children}\n
\n \n );\n}\n")),(0,a.kt)("p",null,"\u5b8c\u6210 layout \u7684\u5f00\u53d1\u540e\uff0c\u914d\u7f6e\u5728\u5165\u53e3 ",(0,a.kt)("inlineCode",{parentName:"p"},"src/app.ts")," \u4e2d\uff1a"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-ts",metastring:'title="src/app.ts"',title:'"src/app.ts"'},"import { defineFrameworkConfig } from '@ice/plugin-icestark/types';\nimport FrameworkLayout from '@/components/FrameworkLayout';\n\nexport const icestark = defineFrameworkConfig(() => ({\n layout: FrameworkLayout,\n}));\n")),(0,a.kt)("h3",{id:"approuter"},"appRouter"),(0,a.kt)("p",null,"\u53ef\u4f20\u5165 icestark \u8fd0\u884c\u65f6\u7684\u94a9\u5b50\u51fd\u6570\u548c\u53ef\u9009\u914d\u7f6e\u3002\u4e3b\u8981\u6709\uff1a"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"NotFoundComponent\uff0c\u5339\u914d\u4e0d\u5230\u4efb\u4f55\u5fae\u5e94\u7528\u8def\u7531\u65f6\u7684\u72b6\u6001\u3002"),(0,a.kt)("li",{parentName:"ul"},"LoadingComponent\uff0c\u52a0\u8f7d\u8fc7\u7a0b\u4e2d\u7684 Loading \u72b6\u6001\u3002"),(0,a.kt)("li",{parentName:"ul"},"ErrorComponent\uff0c\u52a0\u8f7d\u51fa\u73b0\u9519\u8bef\u65f6\u7684\u72b6\u6001\u3002")),(0,a.kt)("p",null,"\u66f4\u591a\u914d\u7f6e",(0,a.kt)("a",{parentName:"p",href:"https://micro-frontends.ice.work/docs/api/ice-stark/#approuter"},"\u8be6\u89c1\u6587\u6863"),"\u3002"),(0,a.kt)("h3",{id:"\u5fae\u5e94\u7528\u914d\u7f6e"},"\u5fae\u5e94\u7528\u914d\u7f6e"),(0,a.kt)("h4",{id:"mount"},"mount"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"\u7c7b\u578b\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"Function"))),(0,a.kt)("p",null,"\u5728\u5fae\u5e94\u7528\u6302\u8f7d\u524d\uff0c\u5c06\u6267\u884c\u8be5\u51fd\u6570\u3002"),(0,a.kt)("h4",{id:"unmout"},"unmout"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"\u7c7b\u578b\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"Function"))),(0,a.kt)("p",null,"\u5728\u5fae\u5e94\u7528\u5378\u8f7d\u540e\uff0c\u5c06\u6267\u884c\u8be5\u51fd\u6570\u3002"))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/17896441.e56796c9.js b/assets/js/17896441.e56796c9.js deleted file mode 100644 index 440a1158d9..0000000000 --- a/assets/js/17896441.e56796c9.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunkice_website_v3=self.webpackChunkice_website_v3||[]).push([[7918],{4852:(e,t,n)=>{"use strict";n.d(t,{Zo:()=>d,kt:()=>f});var a=n(9231);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function r(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var s=a.createContext({}),i=function(e){var t=a.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):r(r({},t),e)),n},d=function(e){var t=i(e.components);return a.createElement(s.Provider,{value:t},e.children)},m="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},p=a.forwardRef((function(e,t){var n=e.components,o=e.mdxType,l=e.originalType,s=e.parentName,d=c(e,["components","mdxType","originalType","parentName"]),m=i(n),p=o,f=m["".concat(s,".").concat(p)]||m[p]||u[p]||l;return n?a.createElement(f,r(r({ref:t},d),{},{components:n})):a.createElement(f,r({ref:t},d))}));function f(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var l=n.length,r=new Array(l);r[0]=p;var c={};for(var s in t)hasOwnProperty.call(t,s)&&(c[s]=t[s]);c.originalType=e,c[m]="string"==typeof e?e:o,r[1]=c;for(var i=2;i{"use strict";n.r(t),n.d(t,{default:()=>Lt});var a=n(9231),o=n(4439),l=n(7785);const r=a.createContext(null);function c(e){let{children:t,content:n}=e;const o=function(e){return(0,a.useMemo)((()=>({metadata:e.metadata,frontMatter:e.frontMatter,assets:e.assets,contentTitle:e.contentTitle,toc:e.toc})),[e])}(n);return a.createElement(r.Provider,{value:o},t)}function s(){const e=(0,a.useContext)(r);if(null===e)throw new l.i6("DocProvider");return e}function i(){const{metadata:e,frontMatter:t,assets:n}=s();return a.createElement(o.d,{title:e.title,description:e.description,keywords:t.keywords,image:n.image??t.image})}var d=n(9841),m=n(6677),u=n(5675),p=n(3509),f=n(646);function h(e){const{permalink:t,title:n,subLabel:o,isNext:l}=e;return a.createElement(f.Z,{className:(0,d.Z)("pagination-nav__link",l?"pagination-nav__link--next":"pagination-nav__link--prev"),to:t},o&&a.createElement("div",{className:"pagination-nav__sublabel"},o),a.createElement("div",{className:"pagination-nav__label"},n))}function g(e){const{previous:t,next:n}=e;return a.createElement("nav",{className:"pagination-nav docusaurus-mt-lg","aria-label":(0,p.I)({id:"theme.docs.paginator.navAriaLabel",message:"Docs pages navigation",description:"The ARIA label for the docs pagination"})},t&&a.createElement(h,(0,u.Z)({},t,{subLabel:a.createElement(p.Z,{id:"theme.docs.paginator.previous",description:"The label used to navigate to the previous doc"},"Previous")})),n&&a.createElement(h,(0,u.Z)({},n,{subLabel:a.createElement(p.Z,{id:"theme.docs.paginator.next",description:"The label used to navigate to the next doc"},"Next"),isNext:!0})))}function b(){const{metadata:e}=s();return a.createElement(g,{previous:e.previous,next:e.next})}var v=n(1045),E=n(753),y=n(5354),k=n(7626),N=n(4099);const C={unreleased:function(e){let{siteTitle:t,versionMetadata:n}=e;return a.createElement(p.Z,{id:"theme.docs.versions.unreleasedVersionLabel",description:"The label used to tell the user that he's browsing an unreleased doc version",values:{siteTitle:t,versionLabel:a.createElement("b",null,n.label)}},"This is unreleased documentation for {siteTitle} {versionLabel} version.")},unmaintained:function(e){let{siteTitle:t,versionMetadata:n}=e;return a.createElement(p.Z,{id:"theme.docs.versions.unmaintainedVersionLabel",description:"The label used to tell the user that he's browsing an unmaintained doc version",values:{siteTitle:t,versionLabel:a.createElement("b",null,n.label)}},"This is documentation for {siteTitle} {versionLabel}, which is no longer actively maintained.")}};function L(e){const t=C[e.versionMetadata.banner];return a.createElement(t,e)}function T(e){let{versionLabel:t,to:n,onClick:o}=e;return a.createElement(p.Z,{id:"theme.docs.versions.latestVersionSuggestionLabel",description:"The label used to tell the user to check the latest version",values:{versionLabel:t,latestVersionLink:a.createElement("b",null,a.createElement(f.Z,{to:n,onClick:o},a.createElement(p.Z,{id:"theme.docs.versions.latestVersionLinkLabel",description:"The label used for the latest version suggestion link label"},"latest version")))}},"For up-to-date documentation, see the {latestVersionLink} ({versionLabel}).")}function _(e){let{className:t,versionMetadata:n}=e;const{siteConfig:{title:o}}=(0,v.Z)(),{pluginId:l}=(0,E.gA)({failfast:!0}),{savePreferredVersionName:r}=(0,k.J)(l),{latestDocSuggestion:c,latestVersionSuggestion:s}=(0,E.Jo)(l),i=c??(m=s).docs.find((e=>e.id===m.mainDocId));var m;return a.createElement("div",{className:(0,d.Z)(t,y.k.docs.docVersionBanner,"alert alert--warning margin-bottom--md"),role:"alert"},a.createElement("div",null,a.createElement(L,{siteTitle:o,versionMetadata:n})),a.createElement("div",{className:"margin-top--md"},a.createElement(T,{versionLabel:s.label,to:i.path,onClick:()=>r(s.name)})))}function w(e){let{className:t}=e;const n=(0,N.E)();return n.banner?a.createElement(_,{className:t,versionMetadata:n}):null}function B(e){let{className:t}=e;const n=(0,N.E)();return n.badge?a.createElement("span",{className:(0,d.Z)(t,y.k.docs.docVersionBadge,"badge badge--secondary")},a.createElement(p.Z,{id:"theme.docs.versionBadge.label",values:{versionLabel:n.label}},"Version: {versionLabel}")):null}function Z(e){let{lastUpdatedAt:t,formattedLastUpdatedAt:n}=e;return a.createElement(p.Z,{id:"theme.lastUpdated.atDate",description:"The words used to describe on which date a page has been last updated",values:{date:a.createElement("b",null,a.createElement("time",{dateTime:new Date(1e3*t).toISOString()},n))}}," on {date}")}function x(e){let{lastUpdatedBy:t}=e;return a.createElement(p.Z,{id:"theme.lastUpdated.byUser",description:"The words used to describe by who the page has been last updated",values:{user:a.createElement("b",null,t)}}," by {user}")}function O(e){let{lastUpdatedAt:t,formattedLastUpdatedAt:n,lastUpdatedBy:o}=e;return a.createElement("span",{className:y.k.common.lastUpdated},a.createElement(p.Z,{id:"theme.lastUpdated.lastUpdatedAtBy",description:"The sentence used to display when a page has been last updated, and by who",values:{atDate:t&&n?a.createElement(Z,{lastUpdatedAt:t,formattedLastUpdatedAt:n}):"",byUser:o?a.createElement(x,{lastUpdatedBy:o}):""}},"Last updated{atDate}{byUser}"),!1)}const H={iconEdit:"iconEdit_jDe4"};function j(e){let{className:t,...n}=e;return a.createElement("svg",(0,u.Z)({fill:"currentColor",height:"20",width:"20",viewBox:"0 0 40 40",className:(0,d.Z)(H.iconEdit,t),"aria-hidden":"true"},n),a.createElement("g",null,a.createElement("path",{d:"m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"})))}function A(e){let{editUrl:t}=e;return a.createElement("a",{href:t,target:"_blank",rel:"noreferrer noopener",className:y.k.common.editThisPage},a.createElement(j,null),a.createElement(p.Z,{id:"theme.common.editThisPage",description:"The link label to edit the current page"},"Edit this page"))}const I={tag:"tag_Tsf7",tagRegular:"tagRegular_oSOj",tagWithCount:"tagWithCount_g5Dr"};function S(e){let{permalink:t,label:n,count:o}=e;return a.createElement(f.Z,{href:t,className:(0,d.Z)(I.tag,o?I.tagWithCount:I.tagRegular)},n,o&&a.createElement("span",null,o))}const M={tags:"tags_z6EH",tag:"tag_fdqb"};function P(e){let{tags:t}=e;return a.createElement(a.Fragment,null,a.createElement("b",null,a.createElement(p.Z,{id:"theme.tags.tagsListLabel",description:"The label alongside a tag list"},"Tags:")),a.createElement("ul",{className:(0,d.Z)(M.tags,"padding--none","margin-left--sm")},t.map((e=>{let{label:t,permalink:n}=e;return a.createElement("li",{key:n,className:M.tag},a.createElement(S,{label:t,permalink:n}))}))))}const z={lastUpdated:"lastUpdated__6ES"};function U(e){return a.createElement("div",{className:(0,d.Z)(y.k.docs.docFooterTagsRow,"row margin-bottom--sm")},a.createElement("div",{className:"col"},a.createElement(P,e)))}function D(e){let{editUrl:t,lastUpdatedAt:n,lastUpdatedBy:o,formattedLastUpdatedAt:l}=e;return a.createElement("div",{className:(0,d.Z)(y.k.docs.docFooterEditMetaRow,"row")},a.createElement("div",{className:"col"},t&&a.createElement(A,{editUrl:t})),a.createElement("div",{className:(0,d.Z)("col",z.lastUpdated)},(n||o)&&a.createElement(O,{lastUpdatedAt:n,formattedLastUpdatedAt:l,lastUpdatedBy:o})))}function R(){const{metadata:e}=s(),{editUrl:t,lastUpdatedAt:n,formattedLastUpdatedAt:o,lastUpdatedBy:l,tags:r}=e,c=r.length>0,i=!!(t||n||l);return c||i?a.createElement("footer",{className:(0,d.Z)(y.k.docs.docFooter,"docusaurus-mt-lg")},c&&a.createElement(U,{tags:r}),i&&a.createElement(D,{editUrl:t,lastUpdatedAt:n,lastUpdatedBy:l,formattedLastUpdatedAt:o})):null}var V=n(3817),W=n(7980);function $(e){const t=e.map((e=>({...e,parentIndex:-1,children:[]}))),n=Array(7).fill(-1);t.forEach(((e,t)=>{const a=n.slice(2,e.level);e.parentIndex=Math.max(...a),n[e.level]=t}));const a=[];return t.forEach((e=>{const{parentIndex:n,...o}=e;n>=0?t[n].children.push(o):a.push(o)})),a}function F(e){let{toc:t,minHeadingLevel:n,maxHeadingLevel:a}=e;return t.flatMap((e=>{const t=F({toc:e.children,minHeadingLevel:n,maxHeadingLevel:a});return function(e){return e.level>=n&&e.level<=a}(e)?[{...e,children:t}]:t}))}function q(e){const t=e.getBoundingClientRect();return t.top===t.bottom?q(e.parentNode):t}function G(e,t){let{anchorTopOffset:n}=t;const a=e.find((e=>q(e).top>=n));if(a){return function(e){return e.top>0&&e.bottom{e.current=t?0:document.querySelector(".navbar").clientHeight}),[t]),e}function J(e){const t=(0,a.useRef)(void 0),n=Y();(0,a.useEffect)((()=>{if(!e)return()=>{};const{linkClassName:a,linkActiveClassName:o,minHeadingLevel:l,maxHeadingLevel:r}=e;function c(){const e=function(e){return Array.from(document.getElementsByClassName(e))}(a),c=function(e){let{minHeadingLevel:t,maxHeadingLevel:n}=e;const a=[];for(let o=t;o<=n;o+=1)a.push(`h${o}.anchor`);return Array.from(document.querySelectorAll(a.join()))}({minHeadingLevel:l,maxHeadingLevel:r}),s=G(c,{anchorTopOffset:n.current}),i=e.find((e=>s&&s.id===function(e){return decodeURIComponent(e.href.substring(e.href.indexOf("#")+1))}(e)));e.forEach((e=>{!function(e,n){n?(t.current&&t.current!==e&&t.current.classList.remove(o),e.classList.add(o),t.current=e):e.classList.remove(o)}(e,e===i)}))}return document.addEventListener("scroll",c),document.addEventListener("resize",c),c(),()=>{document.removeEventListener("scroll",c),document.removeEventListener("resize",c)}}),[e,n])}function K(e){let{toc:t,className:n,linkClassName:o,isChild:l}=e;return t.length?a.createElement("ul",{className:l?void 0:n},t.map((e=>a.createElement("li",{key:e.id},a.createElement("a",{href:`#${e.id}`,className:o??void 0,dangerouslySetInnerHTML:{__html:e.value}}),a.createElement(K,{isChild:!0,toc:e.children,className:n,linkClassName:o}))))):null}const X=a.memo(K);function Q(e){let{toc:t,className:n="table-of-contents table-of-contents__left-border",linkClassName:o="table-of-contents__link",linkActiveClassName:l,minHeadingLevel:r,maxHeadingLevel:c,...s}=e;const i=(0,W.L)(),d=r??i.tableOfContents.minHeadingLevel,m=c??i.tableOfContents.maxHeadingLevel,p=function(e){let{toc:t,minHeadingLevel:n,maxHeadingLevel:o}=e;return(0,a.useMemo)((()=>F({toc:$(t),minHeadingLevel:n,maxHeadingLevel:o})),[t,n,o])}({toc:t,minHeadingLevel:d,maxHeadingLevel:m});return J((0,a.useMemo)((()=>{if(o&&l)return{linkClassName:o,linkActiveClassName:l,minHeadingLevel:d,maxHeadingLevel:m}}),[o,l,d,m])),a.createElement(X,(0,u.Z)({toc:p,className:n,linkClassName:o},s))}const ee={tocCollapsibleButton:"tocCollapsibleButton_rhuZ",tocCollapsibleButtonExpanded:"tocCollapsibleButtonExpanded_WGP7"};function te(e){let{collapsed:t,...n}=e;return a.createElement("button",(0,u.Z)({type:"button"},n,{className:(0,d.Z)("clean-btn",ee.tocCollapsibleButton,!t&&ee.tocCollapsibleButtonExpanded,n.className)}),a.createElement(p.Z,{id:"theme.TOCCollapsible.toggleButtonLabel",description:"The label used by the button on the collapsible TOC component"},"On this page"))}const ne={tocCollapsible:"tocCollapsible_fIkK",tocCollapsibleContent:"tocCollapsibleContent_GHmj",tocCollapsibleExpanded:"tocCollapsibleExpanded_GLOa"};function ae(e){let{toc:t,className:n,minHeadingLevel:o,maxHeadingLevel:l}=e;const{collapsed:r,toggleCollapsed:c}=(0,V.u)({initialState:!0});return a.createElement("div",{className:(0,d.Z)(ne.tocCollapsible,!r&&ne.tocCollapsibleExpanded,n)},a.createElement(te,{collapsed:r,onClick:c}),a.createElement(V.z,{lazy:!0,className:ne.tocCollapsibleContent,collapsed:r},a.createElement(Q,{toc:t,minHeadingLevel:o,maxHeadingLevel:l})))}const oe={tocMobile:"tocMobile_Olsf"};function le(){const{toc:e,frontMatter:t}=s();return a.createElement(ae,{toc:e,minHeadingLevel:t.toc_min_heading_level,maxHeadingLevel:t.toc_max_heading_level,className:(0,d.Z)(y.k.docs.docTocMobile,oe.tocMobile)})}const re={tableOfContents:"tableOfContents_JdfB",docItemContainer:"docItemContainer_qYzL"},ce="table-of-contents__link toc-highlight",se="table-of-contents__link--active";function ie(e){let{className:t,...n}=e;return a.createElement("div",{className:(0,d.Z)(re.tableOfContents,"thin-scrollbar",t)},a.createElement(Q,(0,u.Z)({},n,{linkClassName:ce,linkActiveClassName:se})))}function de(){const{toc:e,frontMatter:t}=s();return a.createElement(ie,{toc:e,minHeadingLevel:t.toc_min_heading_level,maxHeadingLevel:t.toc_max_heading_level,className:y.k.docs.docTocDesktop})}const me={anchorWithStickyNavbar:"anchorWithStickyNavbar_zXjs",anchorWithHideOnScrollNavbar:"anchorWithHideOnScrollNavbar_QdK4"};function ue(e){let{as:t,id:n,...o}=e;const{navbar:{hideOnScroll:l}}=(0,W.L)();if("h1"===t||!n)return a.createElement(t,(0,u.Z)({},o,{id:void 0}));const r=(0,p.I)({id:"theme.common.headingLinkTitle",message:"Direct link to {heading}",description:"Title for link to heading"},{heading:"string"==typeof o.children?o.children:n});return a.createElement(t,(0,u.Z)({},o,{className:(0,d.Z)("anchor",l?me.anchorWithHideOnScrollNavbar:me.anchorWithStickyNavbar,o.className),id:n}),o.children,a.createElement(f.Z,{className:"hash-link",to:`#${n}`,"aria-label":r,title:r},"\u200b"))}var pe=n(4852),fe=n(1667);var he=n(348),ge=n(1966);function be(){const{prism:e}=(0,W.L)(),{colorMode:t}=(0,ge.I)(),n=e.theme,a=e.darkTheme||n;return"dark"===t?a:n}var ve=n(6494),Ee=n.n(ve);const ye=/title=(?["'])(?.*?)\1/,ke=/\{(?<range>[\d,-]+)\}/,Ne={js:{start:"\\/\\/",end:""},jsBlock:{start:"\\/\\*",end:"\\*\\/"},jsx:{start:"\\{\\s*\\/\\*",end:"\\*\\/\\s*\\}"},bash:{start:"#",end:""},html:{start:"\x3c!--",end:"--\x3e"}};function Ce(e,t){const n=e.map((e=>{const{start:n,end:a}=Ne[e];return`(?:${n}\\s*(${t.flatMap((e=>[e.line,e.block?.start,e.block?.end].filter(Boolean))).join("|")})\\s*${a})`})).join("|");return new RegExp(`^\\s*(?:${n})\\s*$`)}function Le(e,t){let n=e.replace(/\n$/,"");const{language:a,magicComments:o,metastring:l}=t;if(l&&ke.test(l)){const e=l.match(ke).groups.range;if(0===o.length)throw new Error(`A highlight range has been given in code block's metastring (\`\`\` ${l}), but no magic comment config is available. Docusaurus applies the first magic comment entry's className for metastring ranges.`);const t=o[0].className,a=Ee()(e).filter((e=>e>0)).map((e=>[e-1,[t]]));return{lineClassNames:Object.fromEntries(a),code:n}}if(void 0===a)return{lineClassNames:{},code:n};const r=function(e,t){switch(e){case"js":case"javascript":case"ts":case"typescript":return Ce(["js","jsBlock"],t);case"jsx":case"tsx":return Ce(["js","jsBlock","jsx"],t);case"html":return Ce(["js","jsBlock","html"],t);case"python":case"py":case"bash":return Ce(["bash"],t);case"markdown":case"md":return Ce(["html","jsx","bash"],t);default:return Ce(Object.keys(Ne),t)}}(a,o),c=n.split("\n"),s=Object.fromEntries(o.map((e=>[e.className,{start:0,range:""}]))),i=Object.fromEntries(o.filter((e=>e.line)).map((e=>{let{className:t,line:n}=e;return[n,t]}))),d=Object.fromEntries(o.filter((e=>e.block)).map((e=>{let{className:t,block:n}=e;return[n.start,t]}))),m=Object.fromEntries(o.filter((e=>e.block)).map((e=>{let{className:t,block:n}=e;return[n.end,t]})));for(let p=0;p<c.length;){const e=c[p].match(r);if(!e){p+=1;continue}const t=e.slice(1).find((e=>void 0!==e));i[t]?s[i[t]].range+=`${p},`:d[t]?s[d[t]].start=p:m[t]&&(s[m[t]].range+=`${s[m[t]].start}-${p-1},`),c.splice(p,1)}n=c.join("\n");const u={};return Object.entries(s).forEach((e=>{let[t,{range:n}]=e;Ee()(n).forEach((e=>{u[e]??=[],u[e].push(t)}))})),{lineClassNames:u,code:n}}const Te={codeBlockContainer:"codeBlockContainer_Yk0w"};function _e(e){let{as:t,...n}=e;const o=function(e){const t={color:"--prism-color",backgroundColor:"--prism-background-color"},n={};return Object.entries(e.plain).forEach((e=>{let[a,o]=e;const l=t[a];l&&"string"==typeof o&&(n[l]=o)})),n}(be());return a.createElement(t,(0,u.Z)({},n,{style:o,className:(0,d.Z)(n.className,Te.codeBlockContainer,y.k.common.codeBlock)}))}const we={codeBlockContent:"codeBlockContent_mzTx",codeBlockTitle:"codeBlockTitle_PO9b",codeBlock:"codeBlock_T_pj",codeBlockStandalone:"codeBlockStandalone_TuLE",codeBlockLines:"codeBlockLines_LTCK",codeBlockLinesWithNumbering:"codeBlockLinesWithNumbering_W9g9",buttonGroup:"buttonGroup_ROoo"};function Be(e){let{children:t,className:n}=e;return a.createElement(_e,{as:"pre",tabIndex:0,className:(0,d.Z)(we.codeBlockStandalone,"thin-scrollbar",n)},a.createElement("code",{className:we.codeBlockLines},t))}const Ze={attributes:!0,characterData:!0,childList:!0,subtree:!0};function xe(e,t){const[n,o]=(0,a.useState)(),r=(0,a.useCallback)((()=>{o(e.current?.closest("[role=tabpanel][hidden]"))}),[e,o]);(0,a.useEffect)((()=>{r()}),[r]),function(e,t,n){void 0===n&&(n=Ze);const o=(0,l.zX)(t),r=(0,l.Ql)(n);(0,a.useEffect)((()=>{const t=new MutationObserver(o);return e&&t.observe(e,r),()=>t.disconnect()}),[e,o,r])}(n,(e=>{e.forEach((e=>{"attributes"===e.type&&"hidden"===e.attributeName&&(t(),r())}))}),{attributes:!0,characterData:!1,childList:!1,subtree:!1})}const Oe={plain:{backgroundColor:"#2a2734",color:"#9a86fd"},styles:[{types:["comment","prolog","doctype","cdata","punctuation"],style:{color:"#6c6783"}},{types:["namespace"],style:{opacity:.7}},{types:["tag","operator","number"],style:{color:"#e09142"}},{types:["property","function"],style:{color:"#9a86fd"}},{types:["tag-id","selector","atrule-id"],style:{color:"#eeebff"}},{types:["attr-name"],style:{color:"#c4b9fe"}},{types:["boolean","string","entity","url","attr-value","keyword","control","directive","unit","statement","regex","atrule","placeholder","variable"],style:{color:"#ffcc99"}},{types:["deleted"],style:{textDecorationLine:"line-through"}},{types:["inserted"],style:{textDecorationLine:"underline"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["important"],style:{color:"#c4b9fe"}}]};var He={Prism:n(5036).Z,theme:Oe};function je(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ae(){return Ae=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(e[a]=n[a])}return e},Ae.apply(this,arguments)}var Ie=/\r\n|\r|\n/,Se=function(e){0===e.length?e.push({types:["plain"],content:"\n",empty:!0}):1===e.length&&""===e[0].content&&(e[0].content="\n",e[0].empty=!0)},Me=function(e,t){var n=e.length;return n>0&&e[n-1]===t?e:e.concat(t)},Pe=function(e,t){var n=e.plain,a=Object.create(null),o=e.styles.reduce((function(e,n){var a=n.languages,o=n.style;return a&&!a.includes(t)||n.types.forEach((function(t){var n=Ae({},e[t],o);e[t]=n})),e}),a);return o.root=n,o.plain=Ae({},n,{backgroundColor:null}),o};function ze(e,t){var n={};for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&-1===t.indexOf(a)&&(n[a]=e[a]);return n}const Ue=function(e){function t(){for(var t=this,n=[],a=arguments.length;a--;)n[a]=arguments[a];e.apply(this,n),je(this,"getThemeDict",(function(e){if(void 0!==t.themeDict&&e.theme===t.prevTheme&&e.language===t.prevLanguage)return t.themeDict;t.prevTheme=e.theme,t.prevLanguage=e.language;var n=e.theme?Pe(e.theme,e.language):void 0;return t.themeDict=n})),je(this,"getLineProps",(function(e){var n=e.key,a=e.className,o=e.style,l=Ae({},ze(e,["key","className","style","line"]),{className:"token-line",style:void 0,key:void 0}),r=t.getThemeDict(t.props);return void 0!==r&&(l.style=r.plain),void 0!==o&&(l.style=void 0!==l.style?Ae({},l.style,o):o),void 0!==n&&(l.key=n),a&&(l.className+=" "+a),l})),je(this,"getStyleForToken",(function(e){var n=e.types,a=e.empty,o=n.length,l=t.getThemeDict(t.props);if(void 0!==l){if(1===o&&"plain"===n[0])return a?{display:"inline-block"}:void 0;if(1===o&&!a)return l[n[0]];var r=a?{display:"inline-block"}:{},c=n.map((function(e){return l[e]}));return Object.assign.apply(Object,[r].concat(c))}})),je(this,"getTokenProps",(function(e){var n=e.key,a=e.className,o=e.style,l=e.token,r=Ae({},ze(e,["key","className","style","token"]),{className:"token "+l.types.join(" "),children:l.content,style:t.getStyleForToken(l),key:void 0});return void 0!==o&&(r.style=void 0!==r.style?Ae({},r.style,o):o),void 0!==n&&(r.key=n),a&&(r.className+=" "+a),r})),je(this,"tokenize",(function(e,t,n,a){var o={code:t,grammar:n,language:a,tokens:[]};e.hooks.run("before-tokenize",o);var l=o.tokens=e.tokenize(o.code,o.grammar,o.language);return e.hooks.run("after-tokenize",o),l}))}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.render=function(){var e=this.props,t=e.Prism,n=e.language,a=e.code,o=e.children,l=this.getThemeDict(this.props),r=t.languages[n];return o({tokens:function(e){for(var t=[[]],n=[e],a=[0],o=[e.length],l=0,r=0,c=[],s=[c];r>-1;){for(;(l=a[r]++)<o[r];){var i=void 0,d=t[r],m=n[r][l];if("string"==typeof m?(d=r>0?d:["plain"],i=m):(d=Me(d,m.type),m.alias&&(d=Me(d,m.alias)),i=m.content),"string"==typeof i){var u=i.split(Ie),p=u.length;c.push({types:d,content:u[0]});for(var f=1;f<p;f++)Se(c),s.push(c=[]),c.push({types:d,content:u[f]})}else r++,t.push(d),n.push(i),a.push(0),o.push(i.length)}r--,t.pop(),n.pop(),a.pop(),o.pop()}return Se(c),s}(void 0!==r?this.tokenize(t,a,r,n):[a]),className:"prism-code language-"+n,style:void 0!==l?l.root:{},getLineProps:this.getLineProps,getTokenProps:this.getTokenProps})},t}(a.Component),De={codeLine:"codeLine_ctHk",codeLineNumber:"codeLineNumber_MzZe",codeLineContent:"codeLineContent_CBBT"};function Re(e){let{line:t,classNames:n,showLineNumbers:o,getLineProps:l,getTokenProps:r}=e;1===t.length&&"\n"===t[0].content&&(t[0].content="");const c=l({line:t,className:(0,d.Z)(n,o&&De.codeLine)}),s=t.map(((e,t)=>a.createElement("span",(0,u.Z)({key:t},r({token:e,key:t})))));return a.createElement("span",c,o?a.createElement(a.Fragment,null,a.createElement("span",{className:De.codeLineNumber}),a.createElement("span",{className:De.codeLineContent},s)):s,a.createElement("br",null))}const Ve={copyButtonCopied:"copyButtonCopied_v9l0",copyButtonIcons:"copyButtonIcons_f97a",copyButtonIcon:"copyButtonIcon_YYez",copyButtonSuccessIcon:"copyButtonSuccessIcon_AEgO"};function We(e){let{code:t,className:n}=e;const[o,l]=(0,a.useState)(!1),r=(0,a.useRef)(void 0),c=(0,a.useCallback)((()=>{!function(e,t){let{target:n=document.body}=void 0===t?{}:t;const a=document.createElement("textarea"),o=document.activeElement;a.value=e,a.setAttribute("readonly",""),a.style.contain="strict",a.style.position="absolute",a.style.left="-9999px",a.style.fontSize="12pt";const l=document.getSelection();let r=!1;l.rangeCount>0&&(r=l.getRangeAt(0)),n.append(a),a.select(),a.selectionStart=0,a.selectionEnd=e.length;let c=!1;try{c=document.execCommand("copy")}catch{}a.remove(),r&&(l.removeAllRanges(),l.addRange(r)),o&&o.focus()}(t),l(!0),r.current=window.setTimeout((()=>{l(!1)}),1e3)}),[t]);return(0,a.useEffect)((()=>()=>window.clearTimeout(r.current)),[]),a.createElement("button",{type:"button","aria-label":o?(0,p.I)({id:"theme.CodeBlock.copied",message:"Copied",description:"The copied button label on code blocks"}):(0,p.I)({id:"theme.CodeBlock.copyButtonAriaLabel",message:"Copy code to clipboard",description:"The ARIA label for copy code blocks button"}),title:(0,p.I)({id:"theme.CodeBlock.copy",message:"Copy",description:"The copy button label on code blocks"}),className:(0,d.Z)("clean-btn",n,Ve.copyButton,o&&Ve.copyButtonCopied),onClick:c},a.createElement("span",{className:Ve.copyButtonIcons,"aria-hidden":"true"},a.createElement("svg",{className:Ve.copyButtonIcon,viewBox:"0 0 24 24"},a.createElement("path",{d:"M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"})),a.createElement("svg",{className:Ve.copyButtonSuccessIcon,viewBox:"0 0 24 24"},a.createElement("path",{d:"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"}))))}const $e={wordWrapButtonIcon:"wordWrapButtonIcon_pxxl",wordWrapButtonEnabled:"wordWrapButtonEnabled_ushK"};function Fe(e){let{className:t,onClick:n,isEnabled:o}=e;const l=(0,p.I)({id:"theme.CodeBlock.wordWrapToggle",message:"Toggle word wrap",description:"The title attribute for toggle word wrapping button of code block lines"});return a.createElement("button",{type:"button",onClick:n,className:(0,d.Z)("clean-btn",t,o&&$e.wordWrapButtonEnabled),"aria-label":l,title:l},a.createElement("svg",{className:$e.wordWrapButtonIcon,viewBox:"0 0 24 24","aria-hidden":"true"},a.createElement("path",{fill:"currentColor",d:"M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"})))}function qe(e){let{children:t,className:n="",metastring:o,title:l,showLineNumbers:r,language:c}=e;const{prism:{defaultLanguage:s,magicComments:i}}=(0,W.L)(),m=c??function(e){const t=e.split(" ").find((e=>e.startsWith("language-")));return t?.replace(/language-/,"")}(n)??s,p=be(),f=function(){const[e,t]=(0,a.useState)(!1),[n,o]=(0,a.useState)(!1),l=(0,a.useRef)(null),r=(0,a.useCallback)((()=>{const n=l.current.querySelector("code");e?n.removeAttribute("style"):(n.style.whiteSpace="pre-wrap",n.style.overflowWrap="anywhere"),t((e=>!e))}),[l,e]),c=(0,a.useCallback)((()=>{const{scrollWidth:e,clientWidth:t}=l.current,n=e>t||l.current.querySelector("code").hasAttribute("style");o(n)}),[l]);return xe(l,c),(0,a.useEffect)((()=>{c()}),[e,c]),(0,a.useEffect)((()=>(window.addEventListener("resize",c,{passive:!0}),()=>{window.removeEventListener("resize",c)})),[c]),{codeBlockRef:l,isEnabled:e,isCodeScrollable:n,toggle:r}}(),h=function(e){return e?.match(ye)?.groups.title??""}(o)||l,{lineClassNames:g,code:b}=Le(t,{metastring:o,language:m,magicComments:i}),v=r??function(e){return Boolean(e?.includes("showLineNumbers"))}(o);return a.createElement(_e,{as:"div",className:(0,d.Z)(n,m&&!n.includes(`language-${m}`)&&`language-${m}`)},h&&a.createElement("div",{className:we.codeBlockTitle},h),a.createElement("div",{className:we.codeBlockContent},a.createElement(Ue,(0,u.Z)({},He,{theme:p,code:b,language:m??"text"}),(e=>{let{className:t,tokens:n,getLineProps:o,getTokenProps:l}=e;return a.createElement("pre",{tabIndex:0,ref:f.codeBlockRef,className:(0,d.Z)(t,we.codeBlock,"thin-scrollbar")},a.createElement("code",{className:(0,d.Z)(we.codeBlockLines,v&&we.codeBlockLinesWithNumbering)},n.map(((e,t)=>a.createElement(Re,{key:t,line:e,getLineProps:o,getTokenProps:l,classNames:g[t],showLineNumbers:v})))))})),a.createElement("div",{className:we.buttonGroup},(f.isEnabled||f.isCodeScrollable)&&a.createElement(Fe,{className:we.codeButton,onClick:()=>f.toggle(),isEnabled:f.isEnabled}),a.createElement(We,{className:we.codeButton,code:b}))))}function Ge(e){let{children:t,...n}=e;const o=(0,he.Z)(),l=function(e){return a.Children.toArray(e).some((e=>(0,a.isValidElement)(e)))?e:Array.isArray(e)?e.join(""):e}(t),r="string"==typeof l?qe:Be;return a.createElement(r,(0,u.Z)({key:String(o)},n),l)}const Ye={details:"details_GcAu",isBrowser:"isBrowser_rf6r",collapsibleContent:"collapsibleContent_SCDy"};function Je(e){return!!e&&("SUMMARY"===e.tagName||Je(e.parentElement))}function Ke(e,t){return!!e&&(e===t||Ke(e.parentElement,t))}function Xe(e){let{summary:t,children:n,...o}=e;const l=(0,he.Z)(),r=(0,a.useRef)(null),{collapsed:c,setCollapsed:s}=(0,V.u)({initialState:!o.open}),[i,m]=(0,a.useState)(o.open);return a.createElement("details",(0,u.Z)({},o,{ref:r,open:i,"data-collapsed":c,className:(0,d.Z)(Ye.details,l&&Ye.isBrowser,o.className),onMouseDown:e=>{Je(e.target)&&e.detail>1&&e.preventDefault()},onClick:e=>{e.stopPropagation();const t=e.target;Je(t)&&Ke(t,r.current)&&(e.preventDefault(),c?(s(!1),m(!0)):s(!0))}}),t??a.createElement("summary",null,"Details"),a.createElement(V.z,{lazy:!1,collapsed:c,disableSSRStyle:!0,onCollapseTransitionEnd:e=>{s(e),m(!e)}},a.createElement("div",{className:Ye.collapsibleContent},n)))}const Qe={details:"details_wLHs"},et="alert alert--info";function tt(e){let{...t}=e;return a.createElement(Xe,(0,u.Z)({},t,{className:(0,d.Z)(et,Qe.details,t.className)}))}function nt(e){return a.createElement(ue,e)}const at={containsTaskList:"containsTaskList_HMgI"};const ot={img:"img_mjBF"};const lt={admonition:"admonition_jcxQ",admonitionHeading:"admonitionHeading_XaEw",admonitionIcon:"admonitionIcon_m4vP",admonitionContent:"admonitionContent_R4cD"};const rt={note:{infimaClassName:"secondary",iconComponent:function(){return a.createElement("svg",{viewBox:"0 0 14 16"},a.createElement("path",{fillRule:"evenodd",d:"M6.3 5.69a.942.942 0 0 1-.28-.7c0-.28.09-.52.28-.7.19-.18.42-.28.7-.28.28 0 .52.09.7.28.18.19.28.42.28.7 0 .28-.09.52-.28.7a1 1 0 0 1-.7.3c-.28 0-.52-.11-.7-.3zM8 7.99c-.02-.25-.11-.48-.31-.69-.2-.19-.42-.3-.69-.31H6c-.27.02-.48.13-.69.31-.2.2-.3.44-.31.69h1v3c.02.27.11.5.31.69.2.2.42.31.69.31h1c.27 0 .48-.11.69-.31.2-.19.3-.42.31-.69H8V7.98v.01zM7 2.3c-3.14 0-5.7 2.54-5.7 5.68 0 3.14 2.56 5.7 5.7 5.7s5.7-2.55 5.7-5.7c0-3.15-2.56-5.69-5.7-5.69v.01zM7 .98c3.86 0 7 3.14 7 7s-3.14 7-7 7-7-3.12-7-7 3.14-7 7-7z"}))},label:a.createElement(p.Z,{id:"theme.admonition.note",description:"The default label used for the Note admonition (:::note)"},"note")},tip:{infimaClassName:"success",iconComponent:function(){return a.createElement("svg",{viewBox:"0 0 12 16"},a.createElement("path",{fillRule:"evenodd",d:"M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"}))},label:a.createElement(p.Z,{id:"theme.admonition.tip",description:"The default label used for the Tip admonition (:::tip)"},"tip")},danger:{infimaClassName:"danger",iconComponent:function(){return a.createElement("svg",{viewBox:"0 0 12 16"},a.createElement("path",{fillRule:"evenodd",d:"M5.05.31c.81 2.17.41 3.38-.52 4.31C3.55 5.67 1.98 6.45.9 7.98c-1.45 2.05-1.7 6.53 3.53 7.7-2.2-1.16-2.67-4.52-.3-6.61-.61 2.03.53 3.33 1.94 2.86 1.39-.47 2.3.53 2.27 1.67-.02.78-.31 1.44-1.13 1.81 3.42-.59 4.78-3.42 4.78-5.56 0-2.84-2.53-3.22-1.25-5.61-1.52.13-2.03 1.13-1.89 2.75.09 1.08-1.02 1.8-1.86 1.33-.67-.41-.66-1.19-.06-1.78C8.18 5.31 8.68 2.45 5.05.32L5.03.3l.02.01z"}))},label:a.createElement(p.Z,{id:"theme.admonition.danger",description:"The default label used for the Danger admonition (:::danger)"},"danger")},info:{infimaClassName:"info",iconComponent:function(){return a.createElement("svg",{viewBox:"0 0 14 16"},a.createElement("path",{fillRule:"evenodd",d:"M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"}))},label:a.createElement(p.Z,{id:"theme.admonition.info",description:"The default label used for the Info admonition (:::info)"},"info")},caution:{infimaClassName:"warning",iconComponent:function(){return a.createElement("svg",{viewBox:"0 0 16 16"},a.createElement("path",{fillRule:"evenodd",d:"M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"}))},label:a.createElement(p.Z,{id:"theme.admonition.caution",description:"The default label used for the Caution admonition (:::caution)"},"caution")}},ct={secondary:"note",important:"info",success:"tip",warning:"danger"};function st(e){const{mdxAdmonitionTitle:t,rest:n}=function(e){const t=a.Children.toArray(e),n=t.find((e=>a.isValidElement(e)&&"mdxAdmonitionTitle"===e.props?.mdxType)),o=a.createElement(a.Fragment,null,t.filter((e=>e!==n)));return{mdxAdmonitionTitle:n,rest:o}}(e.children);return{...e,title:e.title??t,children:n}}const it={head:function(e){const t=a.Children.map(e.children,(e=>a.isValidElement(e)?function(e){if(e.props?.mdxType&&e.props.originalType){const{mdxType:t,originalType:n,...o}=e.props;return a.createElement(e.props.originalType,o)}return e}(e):e));return a.createElement(fe.Z,e,t)},code:function(e){const t=["a","abbr","b","br","button","cite","code","del","dfn","em","i","img","input","ins","kbd","label","object","output","q","ruby","s","small","span","strong","sub","sup","time","u","var","wbr"];return a.Children.toArray(e.children).every((e=>"string"==typeof e&&!e.includes("\n")||(0,a.isValidElement)(e)&&t.includes(e.props?.mdxType)))?a.createElement("code",e):a.createElement(Ge,e)},a:function(e){return a.createElement(f.Z,e)},pre:function(e){return a.createElement(Ge,(0,a.isValidElement)(e.children)&&"code"===e.children.props?.originalType?e.children.props:{...e})},details:function(e){const t=a.Children.toArray(e.children),n=t.find((e=>a.isValidElement(e)&&"summary"===e.props?.mdxType)),o=a.createElement(a.Fragment,null,t.filter((e=>e!==n)));return a.createElement(tt,(0,u.Z)({},e,{summary:n}),o)},ul:function(e){return a.createElement("ul",(0,u.Z)({},e,{className:(t=e.className,(0,d.Z)(t,t?.includes("contains-task-list")&&at.containsTaskList))}));var t},img:function(e){return a.createElement("img",(0,u.Z)({loading:"lazy"},e,{className:(t=e.className,(0,d.Z)(t,ot.img))}));var t},h1:e=>a.createElement(nt,(0,u.Z)({as:"h1"},e)),h2:e=>a.createElement(nt,(0,u.Z)({as:"h2"},e)),h3:e=>a.createElement(nt,(0,u.Z)({as:"h3"},e)),h4:e=>a.createElement(nt,(0,u.Z)({as:"h4"},e)),h5:e=>a.createElement(nt,(0,u.Z)({as:"h5"},e)),h6:e=>a.createElement(nt,(0,u.Z)({as:"h6"},e)),admonition:function(e){const{children:t,type:n,title:o,icon:l}=st(e),r=function(e){const t=ct[e]??e,n=rt[t];return n||(console.warn(`No admonition config found for admonition type "${t}". Using Info as fallback.`),rt.info)}(n),c=o??r.label,{iconComponent:s}=r,i=l??a.createElement(s,null);return a.createElement("div",{className:(0,d.Z)(y.k.common.admonition,y.k.common.admonitionType(e.type),"alert",`alert--${r.infimaClassName}`,lt.admonition)},a.createElement("div",{className:lt.admonitionHeading},a.createElement("span",{className:lt.admonitionIcon},i),c),a.createElement("div",{className:lt.admonitionContent},t))},mermaid:()=>null};function dt(e){let{children:t}=e;return a.createElement(pe.Zo,{components:it},t)}function mt(e){let{children:t}=e;const n=function(){const{metadata:e,frontMatter:t,contentTitle:n}=s();return t.hide_title||void 0!==n?null:e.title}();return a.createElement("div",{className:(0,d.Z)(y.k.docs.docMarkdown,"markdown")},n&&a.createElement("header",null,a.createElement(ue,{as:"h1"},n)),a.createElement(dt,null,t))}var ut=n(5611),pt=n(4466),ft=n(5322);function ht(e){return a.createElement("svg",(0,u.Z)({viewBox:"0 0 24 24"},e),a.createElement("path",{d:"M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z",fill:"currentColor"}))}const gt={breadcrumbHomeIcon:"breadcrumbHomeIcon_aLlD"};function bt(){const e=(0,ft.Z)("/");return a.createElement("li",{className:"breadcrumbs__item"},a.createElement(f.Z,{"aria-label":(0,p.I)({id:"theme.docs.breadcrumbs.home",message:"Home page",description:"The ARIA label for the home page in the breadcrumbs"}),className:"breadcrumbs__link",href:e},a.createElement(ht,{className:gt.breadcrumbHomeIcon})))}const vt={breadcrumbsContainer:"breadcrumbsContainer_Dfd4"};function Et(e){let{children:t,href:n,isLast:o}=e;const l="breadcrumbs__link";return o?a.createElement("span",{className:l,itemProp:"name"},t):n?a.createElement(f.Z,{className:l,href:n,itemProp:"item"},a.createElement("span",{itemProp:"name"},t)):a.createElement("span",{className:l},t)}function yt(e){let{children:t,active:n,index:o,addMicrodata:l}=e;return a.createElement("li",(0,u.Z)({},l&&{itemScope:!0,itemProp:"itemListElement",itemType:"https://schema.org/ListItem"},{className:(0,d.Z)("breadcrumbs__item",{"breadcrumbs__item--active":n})}),t,a.createElement("meta",{itemProp:"position",content:String(o+1)}))}function kt(){const e=(0,ut.s1)(),t=(0,pt.Ns)();return e?a.createElement("nav",{className:(0,d.Z)(y.k.docs.docBreadcrumbs,vt.breadcrumbsContainer),"aria-label":(0,p.I)({id:"theme.docs.breadcrumbs.navAriaLabel",message:"Breadcrumbs",description:"The ARIA label for the breadcrumbs"})},a.createElement("ul",{className:"breadcrumbs",itemScope:!0,itemType:"https://schema.org/BreadcrumbList"},t&&a.createElement(bt,null),e.map(((t,n)=>{const o=n===e.length-1;return a.createElement(yt,{key:n,active:o,index:n,addMicrodata:!!t.href},a.createElement(Et,{href:t.href,isLast:o},t.label))})))):null}const Nt={docItemContainer:"docItemContainer_NNJb",docItemCol:"docItemCol_Zy4T"};function Ct(e){let{children:t}=e;const n=function(){const{frontMatter:e,toc:t}=s(),n=(0,m.i)(),o=e.hide_table_of_contents,l=!o&&t.length>0;return{hidden:o,mobile:l?a.createElement(le,null):void 0,desktop:!l||"desktop"!==n&&"ssr"!==n?void 0:a.createElement(de,null)}}();return a.createElement("div",{className:"row"},a.createElement("div",{className:(0,d.Z)("col",!n.hidden&&Nt.docItemCol)},a.createElement(w,null),a.createElement("div",{className:Nt.docItemContainer},a.createElement("article",null,a.createElement(kt,null),a.createElement(B,null),n.mobile,a.createElement(mt,null,t),a.createElement(R,null)),a.createElement(b,null))),n.desktop&&a.createElement("div",{className:"col col--3"},n.desktop))}function Lt(e){const t=`docs-doc-id-${e.content.metadata.unversionedId}`,n=e.content;return a.createElement(c,{content:e.content},a.createElement(o.FG,{className:t},a.createElement(i,null),a.createElement(Ct,null,a.createElement(n,null))))}},4099:(e,t,n)=>{"use strict";n.d(t,{E:()=>c,q:()=>r});var a=n(9231),o=n(7785);const l=a.createContext(null);function r(e){let{children:t,version:n}=e;return a.createElement(l.Provider,{value:n},t)}function c(){const e=(0,a.useContext)(l);if(null===e)throw new o.i6("DocsVersionProvider");return e}},6494:(e,t)=>{function n(e){let t,n=[];for(let a of e.split(",").map((e=>e.trim())))if(/^-?\d+$/.test(a))n.push(parseInt(a,10));else if(t=a.match(/^(-?\d+)(-|\.\.\.?|\u2025|\u2026|\u22EF)(-?\d+)$/)){let[e,a,o,l]=t;if(a&&l){a=parseInt(a),l=parseInt(l);const e=a<l?1:-1;"-"!==o&&".."!==o&&"\u2025"!==o||(l+=e);for(let t=a;t!==l;t+=e)n.push(t)}}return n}t.default=n,e.exports=n}}]); \ No newline at end of file diff --git a/assets/js/17896441.fcf00445.js b/assets/js/17896441.fcf00445.js new file mode 100644 index 0000000000..83d6d7d6a3 --- /dev/null +++ b/assets/js/17896441.fcf00445.js @@ -0,0 +1 @@ +(self.webpackChunkice_website_v3=self.webpackChunkice_website_v3||[]).push([[7918],{4852:(e,t,n)=>{"use strict";n.d(t,{Zo:()=>d,kt:()=>f});var a=n(9231);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function r(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?l(Object(n),!0).forEach((function(t){o(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):l(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function c(e,t){if(null==e)return{};var n,a,o=function(e,t){if(null==e)return{};var n,a,o={},l=Object.keys(e);for(a=0;a<l.length;a++)n=l[a],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a<l.length;a++)n=l[a],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var i=a.createContext({}),s=function(e){var t=a.useContext(i),n=t;return e&&(n="function"==typeof e?e(t):r(r({},t),e)),n},d=function(e){var t=s(e.components);return a.createElement(i.Provider,{value:t},e.children)},m="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},p=a.forwardRef((function(e,t){var n=e.components,o=e.mdxType,l=e.originalType,i=e.parentName,d=c(e,["components","mdxType","originalType","parentName"]),m=s(n),p=o,f=m["".concat(i,".").concat(p)]||m[p]||u[p]||l;return n?a.createElement(f,r(r({ref:t},d),{},{components:n})):a.createElement(f,r({ref:t},d))}));function f(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var l=n.length,r=new Array(l);r[0]=p;var c={};for(var i in t)hasOwnProperty.call(t,i)&&(c[i]=t[i]);c.originalType=e,c[m]="string"==typeof e?e:o,r[1]=c;for(var s=2;s<l;s++)r[s]=n[s];return a.createElement.apply(null,r)}return a.createElement.apply(null,n)}p.displayName="MDXCreateElement"},9307:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>Lt});var a=n(9231),o=n(659),l=n(9027);const r=a.createContext(null);function c(e){let{children:t,content:n}=e;const o=function(e){return(0,a.useMemo)((()=>({metadata:e.metadata,frontMatter:e.frontMatter,assets:e.assets,contentTitle:e.contentTitle,toc:e.toc})),[e])}(n);return a.createElement(r.Provider,{value:o},t)}function i(){const e=(0,a.useContext)(r);if(null===e)throw new l.i6("DocProvider");return e}function s(){const{metadata:e,frontMatter:t,assets:n}=i();return a.createElement(o.d,{title:e.title,description:e.description,keywords:t.keywords,image:n.image??t.image})}var d=n(9841),m=n(2163),u=n(5675),p=n(6256),f=n(3826);function h(e){const{permalink:t,title:n,subLabel:o,isNext:l}=e;return a.createElement(f.Z,{className:(0,d.Z)("pagination-nav__link",l?"pagination-nav__link--next":"pagination-nav__link--prev"),to:t},o&&a.createElement("div",{className:"pagination-nav__sublabel"},o),a.createElement("div",{className:"pagination-nav__label"},n))}function g(e){const{previous:t,next:n}=e;return a.createElement("nav",{className:"pagination-nav docusaurus-mt-lg","aria-label":(0,p.I)({id:"theme.docs.paginator.navAriaLabel",message:"Docs pages navigation",description:"The ARIA label for the docs pagination"})},t&&a.createElement(h,(0,u.Z)({},t,{subLabel:a.createElement(p.Z,{id:"theme.docs.paginator.previous",description:"The label used to navigate to the previous doc"},"Previous")})),n&&a.createElement(h,(0,u.Z)({},n,{subLabel:a.createElement(p.Z,{id:"theme.docs.paginator.next",description:"The label used to navigate to the next doc"},"Next"),isNext:!0})))}function b(){const{metadata:e}=i();return a.createElement(g,{previous:e.previous,next:e.next})}var v=n(7561),E=n(3573),y=n(3226),k=n(3286),N=n(8299);const C={unreleased:function(e){let{siteTitle:t,versionMetadata:n}=e;return a.createElement(p.Z,{id:"theme.docs.versions.unreleasedVersionLabel",description:"The label used to tell the user that he's browsing an unreleased doc version",values:{siteTitle:t,versionLabel:a.createElement("b",null,n.label)}},"This is unreleased documentation for {siteTitle} {versionLabel} version.")},unmaintained:function(e){let{siteTitle:t,versionMetadata:n}=e;return a.createElement(p.Z,{id:"theme.docs.versions.unmaintainedVersionLabel",description:"The label used to tell the user that he's browsing an unmaintained doc version",values:{siteTitle:t,versionLabel:a.createElement("b",null,n.label)}},"This is documentation for {siteTitle} {versionLabel}, which is no longer actively maintained.")}};function L(e){const t=C[e.versionMetadata.banner];return a.createElement(t,e)}function _(e){let{versionLabel:t,to:n,onClick:o}=e;return a.createElement(p.Z,{id:"theme.docs.versions.latestVersionSuggestionLabel",description:"The label used to tell the user to check the latest version",values:{versionLabel:t,latestVersionLink:a.createElement("b",null,a.createElement(f.Z,{to:n,onClick:o},a.createElement(p.Z,{id:"theme.docs.versions.latestVersionLinkLabel",description:"The label used for the latest version suggestion link label"},"latest version")))}},"For up-to-date documentation, see the {latestVersionLink} ({versionLabel}).")}function w(e){let{className:t,versionMetadata:n}=e;const{siteConfig:{title:o}}=(0,v.Z)(),{pluginId:l}=(0,E.gA)({failfast:!0}),{savePreferredVersionName:r}=(0,k.J)(l),{latestDocSuggestion:c,latestVersionSuggestion:i}=(0,E.Jo)(l),s=c??(m=i).docs.find((e=>e.id===m.mainDocId));var m;return a.createElement("div",{className:(0,d.Z)(t,y.k.docs.docVersionBanner,"alert alert--warning margin-bottom--md"),role:"alert"},a.createElement("div",null,a.createElement(L,{siteTitle:o,versionMetadata:n})),a.createElement("div",{className:"margin-top--md"},a.createElement(_,{versionLabel:i.label,to:s.path,onClick:()=>r(i.name)})))}function T(e){let{className:t}=e;const n=(0,N.E)();return n.banner?a.createElement(w,{className:t,versionMetadata:n}):null}function Z(e){let{className:t}=e;const n=(0,N.E)();return n.badge?a.createElement("span",{className:(0,d.Z)(t,y.k.docs.docVersionBadge,"badge badge--secondary")},a.createElement(p.Z,{id:"theme.docs.versionBadge.label",values:{versionLabel:n.label}},"Version: {versionLabel}")):null}function B(e){let{lastUpdatedAt:t,formattedLastUpdatedAt:n}=e;return a.createElement(p.Z,{id:"theme.lastUpdated.atDate",description:"The words used to describe on which date a page has been last updated",values:{date:a.createElement("b",null,a.createElement("time",{dateTime:new Date(1e3*t).toISOString()},n))}}," on {date}")}function x(e){let{lastUpdatedBy:t}=e;return a.createElement(p.Z,{id:"theme.lastUpdated.byUser",description:"The words used to describe by who the page has been last updated",values:{user:a.createElement("b",null,t)}}," by {user}")}function O(e){let{lastUpdatedAt:t,formattedLastUpdatedAt:n,lastUpdatedBy:o}=e;return a.createElement("span",{className:y.k.common.lastUpdated},a.createElement(p.Z,{id:"theme.lastUpdated.lastUpdatedAtBy",description:"The sentence used to display when a page has been last updated, and by who",values:{atDate:t&&n?a.createElement(B,{lastUpdatedAt:t,formattedLastUpdatedAt:n}):"",byUser:o?a.createElement(x,{lastUpdatedBy:o}):""}},"Last updated{atDate}{byUser}"),!1)}const H={iconEdit:"iconEdit_IsSW"};function A(e){let{className:t,...n}=e;return a.createElement("svg",(0,u.Z)({fill:"currentColor",height:"20",width:"20",viewBox:"0 0 40 40",className:(0,d.Z)(H.iconEdit,t),"aria-hidden":"true"},n),a.createElement("g",null,a.createElement("path",{d:"m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"})))}function I(e){let{editUrl:t}=e;return a.createElement("a",{href:t,target:"_blank",rel:"noreferrer noopener",className:y.k.common.editThisPage},a.createElement(A,null),a.createElement(p.Z,{id:"theme.common.editThisPage",description:"The link label to edit the current page"},"Edit this page"))}const j={tag:"tag_rHas",tagRegular:"tagRegular_iipu",tagWithCount:"tagWithCount_gxhI"};function S(e){let{permalink:t,label:n,count:o}=e;return a.createElement(f.Z,{href:t,className:(0,d.Z)(j.tag,o?j.tagWithCount:j.tagRegular)},n,o&&a.createElement("span",null,o))}const M={tags:"tags_aIV4",tag:"tag_WkhS"};function U(e){let{tags:t}=e;return a.createElement(a.Fragment,null,a.createElement("b",null,a.createElement(p.Z,{id:"theme.tags.tagsListLabel",description:"The label alongside a tag list"},"Tags:")),a.createElement("ul",{className:(0,d.Z)(M.tags,"padding--none","margin-left--sm")},t.map((e=>{let{label:t,permalink:n}=e;return a.createElement("li",{key:n,className:M.tag},a.createElement(S,{label:t,permalink:n}))}))))}const P={lastUpdated:"lastUpdated_AZpm"};function z(e){return a.createElement("div",{className:(0,d.Z)(y.k.docs.docFooterTagsRow,"row margin-bottom--sm")},a.createElement("div",{className:"col"},a.createElement(U,e)))}function D(e){let{editUrl:t,lastUpdatedAt:n,lastUpdatedBy:o,formattedLastUpdatedAt:l}=e;return a.createElement("div",{className:(0,d.Z)(y.k.docs.docFooterEditMetaRow,"row")},a.createElement("div",{className:"col"},t&&a.createElement(I,{editUrl:t})),a.createElement("div",{className:(0,d.Z)("col",P.lastUpdated)},(n||o)&&a.createElement(O,{lastUpdatedAt:n,formattedLastUpdatedAt:l,lastUpdatedBy:o})))}function R(){const{metadata:e}=i(),{editUrl:t,lastUpdatedAt:n,formattedLastUpdatedAt:o,lastUpdatedBy:l,tags:r}=e,c=r.length>0,s=!!(t||n||l);return c||s?a.createElement("footer",{className:(0,d.Z)(y.k.docs.docFooter,"docusaurus-mt-lg")},c&&a.createElement(z,{tags:r}),s&&a.createElement(D,{editUrl:t,lastUpdatedAt:n,lastUpdatedBy:l,formattedLastUpdatedAt:o})):null}var V=n(4993),W=n(3962);function $(e){const t=e.map((e=>({...e,parentIndex:-1,children:[]}))),n=Array(7).fill(-1);t.forEach(((e,t)=>{const a=n.slice(2,e.level);e.parentIndex=Math.max(...a),n[e.level]=t}));const a=[];return t.forEach((e=>{const{parentIndex:n,...o}=e;n>=0?t[n].children.push(o):a.push(o)})),a}function F(e){let{toc:t,minHeadingLevel:n,maxHeadingLevel:a}=e;return t.flatMap((e=>{const t=F({toc:e.children,minHeadingLevel:n,maxHeadingLevel:a});return function(e){return e.level>=n&&e.level<=a}(e)?[{...e,children:t}]:t}))}function q(e){const t=e.getBoundingClientRect();return t.top===t.bottom?q(e.parentNode):t}function Y(e,t){let{anchorTopOffset:n}=t;const a=e.find((e=>q(e).top>=n));if(a){return function(e){return e.top>0&&e.bottom<window.innerHeight/2}(q(a))?a:e[e.indexOf(a)-1]??null}return e[e.length-1]??null}function X(){const e=(0,a.useRef)(0),{navbar:{hideOnScroll:t}}=(0,W.L)();return(0,a.useEffect)((()=>{e.current=t?0:document.querySelector(".navbar").clientHeight}),[t]),e}function G(e){const t=(0,a.useRef)(void 0),n=X();(0,a.useEffect)((()=>{if(!e)return()=>{};const{linkClassName:a,linkActiveClassName:o,minHeadingLevel:l,maxHeadingLevel:r}=e;function c(){const e=function(e){return Array.from(document.getElementsByClassName(e))}(a),c=function(e){let{minHeadingLevel:t,maxHeadingLevel:n}=e;const a=[];for(let o=t;o<=n;o+=1)a.push(`h${o}.anchor`);return Array.from(document.querySelectorAll(a.join()))}({minHeadingLevel:l,maxHeadingLevel:r}),i=Y(c,{anchorTopOffset:n.current}),s=e.find((e=>i&&i.id===function(e){return decodeURIComponent(e.href.substring(e.href.indexOf("#")+1))}(e)));e.forEach((e=>{!function(e,n){n?(t.current&&t.current!==e&&t.current.classList.remove(o),e.classList.add(o),t.current=e):e.classList.remove(o)}(e,e===s)}))}return document.addEventListener("scroll",c),document.addEventListener("resize",c),c(),()=>{document.removeEventListener("scroll",c),document.removeEventListener("resize",c)}}),[e,n])}function J(e){let{toc:t,className:n,linkClassName:o,isChild:l}=e;return t.length?a.createElement("ul",{className:l?void 0:n},t.map((e=>a.createElement("li",{key:e.id},a.createElement("a",{href:`#${e.id}`,className:o??void 0,dangerouslySetInnerHTML:{__html:e.value}}),a.createElement(J,{isChild:!0,toc:e.children,className:n,linkClassName:o}))))):null}const K=a.memo(J);function Q(e){let{toc:t,className:n="table-of-contents table-of-contents__left-border",linkClassName:o="table-of-contents__link",linkActiveClassName:l,minHeadingLevel:r,maxHeadingLevel:c,...i}=e;const s=(0,W.L)(),d=r??s.tableOfContents.minHeadingLevel,m=c??s.tableOfContents.maxHeadingLevel,p=function(e){let{toc:t,minHeadingLevel:n,maxHeadingLevel:o}=e;return(0,a.useMemo)((()=>F({toc:$(t),minHeadingLevel:n,maxHeadingLevel:o})),[t,n,o])}({toc:t,minHeadingLevel:d,maxHeadingLevel:m});return G((0,a.useMemo)((()=>{if(o&&l)return{linkClassName:o,linkActiveClassName:l,minHeadingLevel:d,maxHeadingLevel:m}}),[o,l,d,m])),a.createElement(K,(0,u.Z)({toc:p,className:n,linkClassName:o},i))}const ee={tocCollapsibleButton:"tocCollapsibleButton_rqsj",tocCollapsibleButtonExpanded:"tocCollapsibleButtonExpanded_Ob8_"};function te(e){let{collapsed:t,...n}=e;return a.createElement("button",(0,u.Z)({type:"button"},n,{className:(0,d.Z)("clean-btn",ee.tocCollapsibleButton,!t&&ee.tocCollapsibleButtonExpanded,n.className)}),a.createElement(p.Z,{id:"theme.TOCCollapsible.toggleButtonLabel",description:"The label used by the button on the collapsible TOC component"},"On this page"))}const ne={tocCollapsible:"tocCollapsible_mtYe",tocCollapsibleContent:"tocCollapsibleContent_PtNC",tocCollapsibleExpanded:"tocCollapsibleExpanded_QjYU"};function ae(e){let{toc:t,className:n,minHeadingLevel:o,maxHeadingLevel:l}=e;const{collapsed:r,toggleCollapsed:c}=(0,V.u)({initialState:!0});return a.createElement("div",{className:(0,d.Z)(ne.tocCollapsible,!r&&ne.tocCollapsibleExpanded,n)},a.createElement(te,{collapsed:r,onClick:c}),a.createElement(V.z,{lazy:!0,className:ne.tocCollapsibleContent,collapsed:r},a.createElement(Q,{toc:t,minHeadingLevel:o,maxHeadingLevel:l})))}const oe={tocMobile:"tocMobile_K5Rg"};function le(){const{toc:e,frontMatter:t}=i();return a.createElement(ae,{toc:e,minHeadingLevel:t.toc_min_heading_level,maxHeadingLevel:t.toc_max_heading_level,className:(0,d.Z)(y.k.docs.docTocMobile,oe.tocMobile)})}const re={tableOfContents:"tableOfContents_Vnme",docItemContainer:"docItemContainer_UCmj"},ce="table-of-contents__link toc-highlight",ie="table-of-contents__link--active";function se(e){let{className:t,...n}=e;return a.createElement("div",{className:(0,d.Z)(re.tableOfContents,"thin-scrollbar",t)},a.createElement(Q,(0,u.Z)({},n,{linkClassName:ce,linkActiveClassName:ie})))}function de(){const{toc:e,frontMatter:t}=i();return a.createElement(se,{toc:e,minHeadingLevel:t.toc_min_heading_level,maxHeadingLevel:t.toc_max_heading_level,className:y.k.docs.docTocDesktop})}const me={anchorWithStickyNavbar:"anchorWithStickyNavbar_VX8I",anchorWithHideOnScrollNavbar:"anchorWithHideOnScrollNavbar_AL5X"};function ue(e){let{as:t,id:n,...o}=e;const{navbar:{hideOnScroll:l}}=(0,W.L)();if("h1"===t||!n)return a.createElement(t,(0,u.Z)({},o,{id:void 0}));const r=(0,p.I)({id:"theme.common.headingLinkTitle",message:"Direct link to {heading}",description:"Title for link to heading"},{heading:"string"==typeof o.children?o.children:n});return a.createElement(t,(0,u.Z)({},o,{className:(0,d.Z)("anchor",l?me.anchorWithHideOnScrollNavbar:me.anchorWithStickyNavbar,o.className),id:n}),o.children,a.createElement(f.Z,{className:"hash-link",to:`#${n}`,"aria-label":r,title:r},"\u200b"))}var pe=n(4852),fe=n(7755);var he=n(7101),ge=n(2130);function be(){const{prism:e}=(0,W.L)(),{colorMode:t}=(0,ge.I)(),n=e.theme,a=e.darkTheme||n;return"dark"===t?a:n}var ve=n(6494),Ee=n.n(ve);const ye=/title=(?<quote>["'])(?<title>.*?)\1/,ke=/\{(?<range>[\d,-]+)\}/,Ne={js:{start:"\\/\\/",end:""},jsBlock:{start:"\\/\\*",end:"\\*\\/"},jsx:{start:"\\{\\s*\\/\\*",end:"\\*\\/\\s*\\}"},bash:{start:"#",end:""},html:{start:"\x3c!--",end:"--\x3e"}};function Ce(e,t){const n=e.map((e=>{const{start:n,end:a}=Ne[e];return`(?:${n}\\s*(${t.flatMap((e=>{var t,n;return[e.line,null==(t=e.block)?void 0:t.start,null==(n=e.block)?void 0:n.end].filter(Boolean)})).join("|")})\\s*${a})`})).join("|");return new RegExp(`^\\s*(?:${n})\\s*$`)}function Le(e,t){let n=e.replace(/\n$/,"");const{language:a,magicComments:o,metastring:l}=t;if(l&&ke.test(l)){const e=l.match(ke).groups.range;if(0===o.length)throw new Error(`A highlight range has been given in code block's metastring (\`\`\` ${l}), but no magic comment config is available. Docusaurus applies the first magic comment entry's className for metastring ranges.`);const t=o[0].className,a=Ee()(e).filter((e=>e>0)).map((e=>[e-1,[t]]));return{lineClassNames:Object.fromEntries(a),code:n}}if(void 0===a)return{lineClassNames:{},code:n};const r=function(e,t){switch(e){case"js":case"javascript":case"ts":case"typescript":return Ce(["js","jsBlock"],t);case"jsx":case"tsx":return Ce(["js","jsBlock","jsx"],t);case"html":return Ce(["js","jsBlock","html"],t);case"python":case"py":case"bash":return Ce(["bash"],t);case"markdown":case"md":return Ce(["html","jsx","bash"],t);default:return Ce(Object.keys(Ne),t)}}(a,o),c=n.split("\n"),i=Object.fromEntries(o.map((e=>[e.className,{start:0,range:""}]))),s=Object.fromEntries(o.filter((e=>e.line)).map((e=>{let{className:t,line:n}=e;return[n,t]}))),d=Object.fromEntries(o.filter((e=>e.block)).map((e=>{let{className:t,block:n}=e;return[n.start,t]}))),m=Object.fromEntries(o.filter((e=>e.block)).map((e=>{let{className:t,block:n}=e;return[n.end,t]})));for(let p=0;p<c.length;){const e=c[p].match(r);if(!e){p+=1;continue}const t=e.slice(1).find((e=>void 0!==e));s[t]?i[s[t]].range+=`${p},`:d[t]?i[d[t]].start=p:m[t]&&(i[m[t]].range+=`${i[m[t]].start}-${p-1},`),c.splice(p,1)}n=c.join("\n");const u={};return Object.entries(i).forEach((e=>{let[t,{range:n}]=e;Ee()(n).forEach((e=>{u[e]??=[],u[e].push(t)}))})),{lineClassNames:u,code:n}}const _e={codeBlockContainer:"codeBlockContainer_qdHw"};function we(e){let{as:t,...n}=e;const o=function(e){const t={color:"--prism-color",backgroundColor:"--prism-background-color"},n={};return Object.entries(e.plain).forEach((e=>{let[a,o]=e;const l=t[a];l&&"string"==typeof o&&(n[l]=o)})),n}(be());return a.createElement(t,(0,u.Z)({},n,{style:o,className:(0,d.Z)(n.className,_e.codeBlockContainer,y.k.common.codeBlock)}))}const Te={codeBlockContent:"codeBlockContent_qplA",codeBlockTitle:"codeBlockTitle_KnLV",codeBlock:"codeBlock_ECJH",codeBlockStandalone:"codeBlockStandalone_WZhy",codeBlockLines:"codeBlockLines_F3YY",codeBlockLinesWithNumbering:"codeBlockLinesWithNumbering_NY8_",buttonGroup:"buttonGroup_WnAG"};function Ze(e){let{children:t,className:n}=e;return a.createElement(we,{as:"pre",tabIndex:0,className:(0,d.Z)(Te.codeBlockStandalone,"thin-scrollbar",n)},a.createElement("code",{className:Te.codeBlockLines},t))}const Be={attributes:!0,characterData:!0,childList:!0,subtree:!0};function xe(e,t){const[n,o]=(0,a.useState)(),r=(0,a.useCallback)((()=>{var t;o(null==(t=e.current)?void 0:t.closest("[role=tabpanel][hidden]"))}),[e,o]);(0,a.useEffect)((()=>{r()}),[r]),function(e,t,n){void 0===n&&(n=Be);const o=(0,l.zX)(t),r=(0,l.Ql)(n);(0,a.useEffect)((()=>{const t=new MutationObserver(o);return e&&t.observe(e,r),()=>t.disconnect()}),[e,o,r])}(n,(e=>{e.forEach((e=>{"attributes"===e.type&&"hidden"===e.attributeName&&(t(),r())}))}),{attributes:!0,characterData:!1,childList:!1,subtree:!1})}const Oe={plain:{backgroundColor:"#2a2734",color:"#9a86fd"},styles:[{types:["comment","prolog","doctype","cdata","punctuation"],style:{color:"#6c6783"}},{types:["namespace"],style:{opacity:.7}},{types:["tag","operator","number"],style:{color:"#e09142"}},{types:["property","function"],style:{color:"#9a86fd"}},{types:["tag-id","selector","atrule-id"],style:{color:"#eeebff"}},{types:["attr-name"],style:{color:"#c4b9fe"}},{types:["boolean","string","entity","url","attr-value","keyword","control","directive","unit","statement","regex","atrule","placeholder","variable"],style:{color:"#ffcc99"}},{types:["deleted"],style:{textDecorationLine:"line-through"}},{types:["inserted"],style:{textDecorationLine:"underline"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["important"],style:{color:"#c4b9fe"}}]};var He={Prism:n(5036).Z,theme:Oe};function Ae(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ie(){return Ie=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(e[a]=n[a])}return e},Ie.apply(this,arguments)}var je=/\r\n|\r|\n/,Se=function(e){0===e.length?e.push({types:["plain"],content:"\n",empty:!0}):1===e.length&&""===e[0].content&&(e[0].content="\n",e[0].empty=!0)},Me=function(e,t){var n=e.length;return n>0&&e[n-1]===t?e:e.concat(t)},Ue=function(e,t){var n=e.plain,a=Object.create(null),o=e.styles.reduce((function(e,n){var a=n.languages,o=n.style;return a&&!a.includes(t)||n.types.forEach((function(t){var n=Ie({},e[t],o);e[t]=n})),e}),a);return o.root=n,o.plain=Ie({},n,{backgroundColor:null}),o};function Pe(e,t){var n={};for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&-1===t.indexOf(a)&&(n[a]=e[a]);return n}const ze=function(e){function t(){for(var t=this,n=[],a=arguments.length;a--;)n[a]=arguments[a];e.apply(this,n),Ae(this,"getThemeDict",(function(e){if(void 0!==t.themeDict&&e.theme===t.prevTheme&&e.language===t.prevLanguage)return t.themeDict;t.prevTheme=e.theme,t.prevLanguage=e.language;var n=e.theme?Ue(e.theme,e.language):void 0;return t.themeDict=n})),Ae(this,"getLineProps",(function(e){var n=e.key,a=e.className,o=e.style,l=Ie({},Pe(e,["key","className","style","line"]),{className:"token-line",style:void 0,key:void 0}),r=t.getThemeDict(t.props);return void 0!==r&&(l.style=r.plain),void 0!==o&&(l.style=void 0!==l.style?Ie({},l.style,o):o),void 0!==n&&(l.key=n),a&&(l.className+=" "+a),l})),Ae(this,"getStyleForToken",(function(e){var n=e.types,a=e.empty,o=n.length,l=t.getThemeDict(t.props);if(void 0!==l){if(1===o&&"plain"===n[0])return a?{display:"inline-block"}:void 0;if(1===o&&!a)return l[n[0]];var r=a?{display:"inline-block"}:{},c=n.map((function(e){return l[e]}));return Object.assign.apply(Object,[r].concat(c))}})),Ae(this,"getTokenProps",(function(e){var n=e.key,a=e.className,o=e.style,l=e.token,r=Ie({},Pe(e,["key","className","style","token"]),{className:"token "+l.types.join(" "),children:l.content,style:t.getStyleForToken(l),key:void 0});return void 0!==o&&(r.style=void 0!==r.style?Ie({},r.style,o):o),void 0!==n&&(r.key=n),a&&(r.className+=" "+a),r})),Ae(this,"tokenize",(function(e,t,n,a){var o={code:t,grammar:n,language:a,tokens:[]};e.hooks.run("before-tokenize",o);var l=o.tokens=e.tokenize(o.code,o.grammar,o.language);return e.hooks.run("after-tokenize",o),l}))}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.render=function(){var e=this.props,t=e.Prism,n=e.language,a=e.code,o=e.children,l=this.getThemeDict(this.props),r=t.languages[n];return o({tokens:function(e){for(var t=[[]],n=[e],a=[0],o=[e.length],l=0,r=0,c=[],i=[c];r>-1;){for(;(l=a[r]++)<o[r];){var s=void 0,d=t[r],m=n[r][l];if("string"==typeof m?(d=r>0?d:["plain"],s=m):(d=Me(d,m.type),m.alias&&(d=Me(d,m.alias)),s=m.content),"string"==typeof s){var u=s.split(je),p=u.length;c.push({types:d,content:u[0]});for(var f=1;f<p;f++)Se(c),i.push(c=[]),c.push({types:d,content:u[f]})}else r++,t.push(d),n.push(s),a.push(0),o.push(s.length)}r--,t.pop(),n.pop(),a.pop(),o.pop()}return Se(c),i}(void 0!==r?this.tokenize(t,a,r,n):[a]),className:"prism-code language-"+n,style:void 0!==l?l.root:{},getLineProps:this.getLineProps,getTokenProps:this.getTokenProps})},t}(a.Component),De={codeLine:"codeLine_Rfzf",codeLineNumber:"codeLineNumber_Etcb",codeLineContent:"codeLineContent_Fr3M"};function Re(e){let{line:t,classNames:n,showLineNumbers:o,getLineProps:l,getTokenProps:r}=e;1===t.length&&"\n"===t[0].content&&(t[0].content="");const c=l({line:t,className:(0,d.Z)(n,o&&De.codeLine)}),i=t.map(((e,t)=>a.createElement("span",(0,u.Z)({key:t},r({token:e,key:t})))));return a.createElement("span",c,o?a.createElement(a.Fragment,null,a.createElement("span",{className:De.codeLineNumber}),a.createElement("span",{className:De.codeLineContent},i)):i,a.createElement("br",null))}const Ve={copyButtonCopied:"copyButtonCopied_zkNh",copyButtonIcons:"copyButtonIcons_edjH",copyButtonIcon:"copyButtonIcon_UOAk",copyButtonSuccessIcon:"copyButtonSuccessIcon_dlZ7"};function We(e){let{code:t,className:n}=e;const[o,l]=(0,a.useState)(!1),r=(0,a.useRef)(void 0),c=(0,a.useCallback)((()=>{!function(e,t){let{target:n=document.body}=void 0===t?{}:t;const a=document.createElement("textarea"),o=document.activeElement;a.value=e,a.setAttribute("readonly",""),a.style.contain="strict",a.style.position="absolute",a.style.left="-9999px",a.style.fontSize="12pt";const l=document.getSelection();let r=!1;l.rangeCount>0&&(r=l.getRangeAt(0)),n.append(a),a.select(),a.selectionStart=0,a.selectionEnd=e.length;let c=!1;try{c=document.execCommand("copy")}catch{}a.remove(),r&&(l.removeAllRanges(),l.addRange(r)),o&&o.focus()}(t),l(!0),r.current=window.setTimeout((()=>{l(!1)}),1e3)}),[t]);return(0,a.useEffect)((()=>()=>window.clearTimeout(r.current)),[]),a.createElement("button",{type:"button","aria-label":o?(0,p.I)({id:"theme.CodeBlock.copied",message:"Copied",description:"The copied button label on code blocks"}):(0,p.I)({id:"theme.CodeBlock.copyButtonAriaLabel",message:"Copy code to clipboard",description:"The ARIA label for copy code blocks button"}),title:(0,p.I)({id:"theme.CodeBlock.copy",message:"Copy",description:"The copy button label on code blocks"}),className:(0,d.Z)("clean-btn",n,Ve.copyButton,o&&Ve.copyButtonCopied),onClick:c},a.createElement("span",{className:Ve.copyButtonIcons,"aria-hidden":"true"},a.createElement("svg",{className:Ve.copyButtonIcon,viewBox:"0 0 24 24"},a.createElement("path",{d:"M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"})),a.createElement("svg",{className:Ve.copyButtonSuccessIcon,viewBox:"0 0 24 24"},a.createElement("path",{d:"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"}))))}const $e={wordWrapButtonIcon:"wordWrapButtonIcon_OXkO",wordWrapButtonEnabled:"wordWrapButtonEnabled_Iud9"};function Fe(e){let{className:t,onClick:n,isEnabled:o}=e;const l=(0,p.I)({id:"theme.CodeBlock.wordWrapToggle",message:"Toggle word wrap",description:"The title attribute for toggle word wrapping button of code block lines"});return a.createElement("button",{type:"button",onClick:n,className:(0,d.Z)("clean-btn",t,o&&$e.wordWrapButtonEnabled),"aria-label":l,title:l},a.createElement("svg",{className:$e.wordWrapButtonIcon,viewBox:"0 0 24 24","aria-hidden":"true"},a.createElement("path",{fill:"currentColor",d:"M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"})))}function qe(e){let{children:t,className:n="",metastring:o,title:l,showLineNumbers:r,language:c}=e;const{prism:{defaultLanguage:i,magicComments:s}}=(0,W.L)(),m=c??function(e){const t=e.split(" ").find((e=>e.startsWith("language-")));return null==t?void 0:t.replace(/language-/,"")}(n)??i,p=be(),f=function(){const[e,t]=(0,a.useState)(!1),[n,o]=(0,a.useState)(!1),l=(0,a.useRef)(null),r=(0,a.useCallback)((()=>{const n=l.current.querySelector("code");e?n.removeAttribute("style"):(n.style.whiteSpace="pre-wrap",n.style.overflowWrap="anywhere"),t((e=>!e))}),[l,e]),c=(0,a.useCallback)((()=>{const{scrollWidth:e,clientWidth:t}=l.current,n=e>t||l.current.querySelector("code").hasAttribute("style");o(n)}),[l]);return xe(l,c),(0,a.useEffect)((()=>{c()}),[e,c]),(0,a.useEffect)((()=>(window.addEventListener("resize",c,{passive:!0}),()=>{window.removeEventListener("resize",c)})),[c]),{codeBlockRef:l,isEnabled:e,isCodeScrollable:n,toggle:r}}(),h=function(e){var t;return(null==e||null==(t=e.match(ye))?void 0:t.groups.title)??""}(o)||l,{lineClassNames:g,code:b}=Le(t,{metastring:o,language:m,magicComments:s}),v=r??function(e){return Boolean(null==e?void 0:e.includes("showLineNumbers"))}(o);return a.createElement(we,{as:"div",className:(0,d.Z)(n,m&&!n.includes(`language-${m}`)&&`language-${m}`)},h&&a.createElement("div",{className:Te.codeBlockTitle},h),a.createElement("div",{className:Te.codeBlockContent},a.createElement(ze,(0,u.Z)({},He,{theme:p,code:b,language:m??"text"}),(e=>{let{className:t,tokens:n,getLineProps:o,getTokenProps:l}=e;return a.createElement("pre",{tabIndex:0,ref:f.codeBlockRef,className:(0,d.Z)(t,Te.codeBlock,"thin-scrollbar")},a.createElement("code",{className:(0,d.Z)(Te.codeBlockLines,v&&Te.codeBlockLinesWithNumbering)},n.map(((e,t)=>a.createElement(Re,{key:t,line:e,getLineProps:o,getTokenProps:l,classNames:g[t],showLineNumbers:v})))))})),a.createElement("div",{className:Te.buttonGroup},(f.isEnabled||f.isCodeScrollable)&&a.createElement(Fe,{className:Te.codeButton,onClick:()=>f.toggle(),isEnabled:f.isEnabled}),a.createElement(We,{className:Te.codeButton,code:b}))))}function Ye(e){let{children:t,...n}=e;const o=(0,he.Z)(),l=function(e){return a.Children.toArray(e).some((e=>(0,a.isValidElement)(e)))?e:Array.isArray(e)?e.join(""):e}(t),r="string"==typeof l?qe:Ze;return a.createElement(r,(0,u.Z)({key:String(o)},n),l)}const Xe={details:"details_jZ3c",isBrowser:"isBrowser_UlHn",collapsibleContent:"collapsibleContent_ftht"};function Ge(e){return!!e&&("SUMMARY"===e.tagName||Ge(e.parentElement))}function Je(e,t){return!!e&&(e===t||Je(e.parentElement,t))}function Ke(e){let{summary:t,children:n,...o}=e;const l=(0,he.Z)(),r=(0,a.useRef)(null),{collapsed:c,setCollapsed:i}=(0,V.u)({initialState:!o.open}),[s,m]=(0,a.useState)(o.open);return a.createElement("details",(0,u.Z)({},o,{ref:r,open:s,"data-collapsed":c,className:(0,d.Z)(Xe.details,l&&Xe.isBrowser,o.className),onMouseDown:e=>{Ge(e.target)&&e.detail>1&&e.preventDefault()},onClick:e=>{e.stopPropagation();const t=e.target;Ge(t)&&Je(t,r.current)&&(e.preventDefault(),c?(i(!1),m(!0)):i(!0))}}),t??a.createElement("summary",null,"Details"),a.createElement(V.z,{lazy:!1,collapsed:c,disableSSRStyle:!0,onCollapseTransitionEnd:e=>{i(e),m(!e)}},a.createElement("div",{className:Xe.collapsibleContent},n)))}const Qe={details:"details_UUzX"},et="alert alert--info";function tt(e){let{...t}=e;return a.createElement(Ke,(0,u.Z)({},t,{className:(0,d.Z)(et,Qe.details,t.className)}))}function nt(e){return a.createElement(ue,e)}const at={containsTaskList:"containsTaskList_O5zp"};const ot={img:"img_Yh3n"};const lt={admonition:"admonition_CrT8",admonitionHeading:"admonitionHeading_Y3c0",admonitionIcon:"admonitionIcon_JlyY",admonitionContent:"admonitionContent_bpq4"};const rt={note:{infimaClassName:"secondary",iconComponent:function(){return a.createElement("svg",{viewBox:"0 0 14 16"},a.createElement("path",{fillRule:"evenodd",d:"M6.3 5.69a.942.942 0 0 1-.28-.7c0-.28.09-.52.28-.7.19-.18.42-.28.7-.28.28 0 .52.09.7.28.18.19.28.42.28.7 0 .28-.09.52-.28.7a1 1 0 0 1-.7.3c-.28 0-.52-.11-.7-.3zM8 7.99c-.02-.25-.11-.48-.31-.69-.2-.19-.42-.3-.69-.31H6c-.27.02-.48.13-.69.31-.2.2-.3.44-.31.69h1v3c.02.27.11.5.31.69.2.2.42.31.69.31h1c.27 0 .48-.11.69-.31.2-.19.3-.42.31-.69H8V7.98v.01zM7 2.3c-3.14 0-5.7 2.54-5.7 5.68 0 3.14 2.56 5.7 5.7 5.7s5.7-2.55 5.7-5.7c0-3.15-2.56-5.69-5.7-5.69v.01zM7 .98c3.86 0 7 3.14 7 7s-3.14 7-7 7-7-3.12-7-7 3.14-7 7-7z"}))},label:a.createElement(p.Z,{id:"theme.admonition.note",description:"The default label used for the Note admonition (:::note)"},"note")},tip:{infimaClassName:"success",iconComponent:function(){return a.createElement("svg",{viewBox:"0 0 12 16"},a.createElement("path",{fillRule:"evenodd",d:"M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"}))},label:a.createElement(p.Z,{id:"theme.admonition.tip",description:"The default label used for the Tip admonition (:::tip)"},"tip")},danger:{infimaClassName:"danger",iconComponent:function(){return a.createElement("svg",{viewBox:"0 0 12 16"},a.createElement("path",{fillRule:"evenodd",d:"M5.05.31c.81 2.17.41 3.38-.52 4.31C3.55 5.67 1.98 6.45.9 7.98c-1.45 2.05-1.7 6.53 3.53 7.7-2.2-1.16-2.67-4.52-.3-6.61-.61 2.03.53 3.33 1.94 2.86 1.39-.47 2.3.53 2.27 1.67-.02.78-.31 1.44-1.13 1.81 3.42-.59 4.78-3.42 4.78-5.56 0-2.84-2.53-3.22-1.25-5.61-1.52.13-2.03 1.13-1.89 2.75.09 1.08-1.02 1.8-1.86 1.33-.67-.41-.66-1.19-.06-1.78C8.18 5.31 8.68 2.45 5.05.32L5.03.3l.02.01z"}))},label:a.createElement(p.Z,{id:"theme.admonition.danger",description:"The default label used for the Danger admonition (:::danger)"},"danger")},info:{infimaClassName:"info",iconComponent:function(){return a.createElement("svg",{viewBox:"0 0 14 16"},a.createElement("path",{fillRule:"evenodd",d:"M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"}))},label:a.createElement(p.Z,{id:"theme.admonition.info",description:"The default label used for the Info admonition (:::info)"},"info")},caution:{infimaClassName:"warning",iconComponent:function(){return a.createElement("svg",{viewBox:"0 0 16 16"},a.createElement("path",{fillRule:"evenodd",d:"M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"}))},label:a.createElement(p.Z,{id:"theme.admonition.caution",description:"The default label used for the Caution admonition (:::caution)"},"caution")}},ct={secondary:"note",important:"info",success:"tip",warning:"danger"};function it(e){const{mdxAdmonitionTitle:t,rest:n}=function(e){const t=a.Children.toArray(e),n=t.find((e=>{var t;return a.isValidElement(e)&&"mdxAdmonitionTitle"===(null==(t=e.props)?void 0:t.mdxType)})),o=a.createElement(a.Fragment,null,t.filter((e=>e!==n)));return{mdxAdmonitionTitle:n,rest:o}}(e.children);return{...e,title:e.title??t,children:n}}const st={head:function(e){const t=a.Children.map(e.children,(e=>a.isValidElement(e)?function(e){var t;if(null!=(t=e.props)&&t.mdxType&&e.props.originalType){const{mdxType:t,originalType:n,...o}=e.props;return a.createElement(e.props.originalType,o)}return e}(e):e));return a.createElement(fe.Z,e,t)},code:function(e){const t=["a","abbr","b","br","button","cite","code","del","dfn","em","i","img","input","ins","kbd","label","object","output","q","ruby","s","small","span","strong","sub","sup","time","u","var","wbr"];return a.Children.toArray(e.children).every((e=>{var n;return"string"==typeof e&&!e.includes("\n")||(0,a.isValidElement)(e)&&t.includes(null==(n=e.props)?void 0:n.mdxType)}))?a.createElement("code",e):a.createElement(Ye,e)},a:function(e){return a.createElement(f.Z,e)},pre:function(e){var t;return a.createElement(Ye,(0,a.isValidElement)(e.children)&&"code"===(null==(t=e.children.props)?void 0:t.originalType)?e.children.props:{...e})},details:function(e){const t=a.Children.toArray(e.children),n=t.find((e=>{var t;return a.isValidElement(e)&&"summary"===(null==(t=e.props)?void 0:t.mdxType)})),o=a.createElement(a.Fragment,null,t.filter((e=>e!==n)));return a.createElement(tt,(0,u.Z)({},e,{summary:n}),o)},ul:function(e){return a.createElement("ul",(0,u.Z)({},e,{className:(t=e.className,(0,d.Z)(t,(null==t?void 0:t.includes("contains-task-list"))&&at.containsTaskList))}));var t},img:function(e){return a.createElement("img",(0,u.Z)({loading:"lazy"},e,{className:(t=e.className,(0,d.Z)(t,ot.img))}));var t},h1:e=>a.createElement(nt,(0,u.Z)({as:"h1"},e)),h2:e=>a.createElement(nt,(0,u.Z)({as:"h2"},e)),h3:e=>a.createElement(nt,(0,u.Z)({as:"h3"},e)),h4:e=>a.createElement(nt,(0,u.Z)({as:"h4"},e)),h5:e=>a.createElement(nt,(0,u.Z)({as:"h5"},e)),h6:e=>a.createElement(nt,(0,u.Z)({as:"h6"},e)),admonition:function(e){const{children:t,type:n,title:o,icon:l}=it(e),r=function(e){const t=ct[e]??e,n=rt[t];return n||(console.warn(`No admonition config found for admonition type "${t}". Using Info as fallback.`),rt.info)}(n),c=o??r.label,{iconComponent:i}=r,s=l??a.createElement(i,null);return a.createElement("div",{className:(0,d.Z)(y.k.common.admonition,y.k.common.admonitionType(e.type),"alert",`alert--${r.infimaClassName}`,lt.admonition)},a.createElement("div",{className:lt.admonitionHeading},a.createElement("span",{className:lt.admonitionIcon},s),c),a.createElement("div",{className:lt.admonitionContent},t))},mermaid:()=>null};function dt(e){let{children:t}=e;return a.createElement(pe.Zo,{components:st},t)}function mt(e){let{children:t}=e;const n=function(){const{metadata:e,frontMatter:t,contentTitle:n}=i();return t.hide_title||void 0!==n?null:e.title}();return a.createElement("div",{className:(0,d.Z)(y.k.docs.docMarkdown,"markdown")},n&&a.createElement("header",null,a.createElement(ue,{as:"h1"},n)),a.createElement(dt,null,t))}var ut=n(691),pt=n(2672),ft=n(8181);function ht(e){return a.createElement("svg",(0,u.Z)({viewBox:"0 0 24 24"},e),a.createElement("path",{d:"M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z",fill:"currentColor"}))}const gt={breadcrumbHomeIcon:"breadcrumbHomeIcon_grUA"};function bt(){const e=(0,ft.Z)("/");return a.createElement("li",{className:"breadcrumbs__item"},a.createElement(f.Z,{"aria-label":(0,p.I)({id:"theme.docs.breadcrumbs.home",message:"Home page",description:"The ARIA label for the home page in the breadcrumbs"}),className:"breadcrumbs__link",href:e},a.createElement(ht,{className:gt.breadcrumbHomeIcon})))}const vt={breadcrumbsContainer:"breadcrumbsContainer_PuEM"};function Et(e){let{children:t,href:n,isLast:o}=e;const l="breadcrumbs__link";return o?a.createElement("span",{className:l,itemProp:"name"},t):n?a.createElement(f.Z,{className:l,href:n,itemProp:"item"},a.createElement("span",{itemProp:"name"},t)):a.createElement("span",{className:l},t)}function yt(e){let{children:t,active:n,index:o,addMicrodata:l}=e;return a.createElement("li",(0,u.Z)({},l&&{itemScope:!0,itemProp:"itemListElement",itemType:"https://schema.org/ListItem"},{className:(0,d.Z)("breadcrumbs__item",{"breadcrumbs__item--active":n})}),t,a.createElement("meta",{itemProp:"position",content:String(o+1)}))}function kt(){const e=(0,ut.s1)(),t=(0,pt.Ns)();return e?a.createElement("nav",{className:(0,d.Z)(y.k.docs.docBreadcrumbs,vt.breadcrumbsContainer),"aria-label":(0,p.I)({id:"theme.docs.breadcrumbs.navAriaLabel",message:"Breadcrumbs",description:"The ARIA label for the breadcrumbs"})},a.createElement("ul",{className:"breadcrumbs",itemScope:!0,itemType:"https://schema.org/BreadcrumbList"},t&&a.createElement(bt,null),e.map(((t,n)=>{const o=n===e.length-1;return a.createElement(yt,{key:n,active:o,index:n,addMicrodata:!!t.href},a.createElement(Et,{href:t.href,isLast:o},t.label))})))):null}const Nt={docItemContainer:"docItemContainer_zkhg",docItemCol:"docItemCol_lX0H"};function Ct(e){let{children:t}=e;const n=function(){const{frontMatter:e,toc:t}=i(),n=(0,m.i)(),o=e.hide_table_of_contents,l=!o&&t.length>0;return{hidden:o,mobile:l?a.createElement(le,null):void 0,desktop:!l||"desktop"!==n&&"ssr"!==n?void 0:a.createElement(de,null)}}();return a.createElement("div",{className:"row"},a.createElement("div",{className:(0,d.Z)("col",!n.hidden&&Nt.docItemCol)},a.createElement(T,null),a.createElement("div",{className:Nt.docItemContainer},a.createElement("article",null,a.createElement(kt,null),a.createElement(Z,null),n.mobile,a.createElement(mt,null,t),a.createElement(R,null)),a.createElement(b,null))),n.desktop&&a.createElement("div",{className:"col col--3"},n.desktop))}function Lt(e){const t=`docs-doc-id-${e.content.metadata.unversionedId}`,n=e.content;return a.createElement(c,{content:e.content},a.createElement(o.FG,{className:t},a.createElement(s,null),a.createElement(Ct,null,a.createElement(n,null))))}},8299:(e,t,n)=>{"use strict";n.d(t,{E:()=>c,q:()=>r});var a=n(9231),o=n(9027);const l=a.createContext(null);function r(e){let{children:t,version:n}=e;return a.createElement(l.Provider,{value:n},t)}function c(){const e=(0,a.useContext)(l);if(null===e)throw new o.i6("DocsVersionProvider");return e}},6494:(e,t)=>{function n(e){let t,n=[];for(let a of e.split(",").map((e=>e.trim())))if(/^-?\d+$/.test(a))n.push(parseInt(a,10));else if(t=a.match(/^(-?\d+)(-|\.\.\.?|\u2025|\u2026|\u22EF)(-?\d+)$/)){let[e,a,o,l]=t;if(a&&l){a=parseInt(a),l=parseInt(l);const e=a<l?1:-1;"-"!==o&&".."!==o&&"\u2025"!==o||(l+=e);for(let t=a;t!==l;t+=e)n.push(t)}}return n}t.default=n,e.exports=n}}]); \ No newline at end of file diff --git a/assets/js/17db2dc3.859413fa.js b/assets/js/17db2dc3.3b470c95.js similarity index 99% rename from assets/js/17db2dc3.859413fa.js rename to assets/js/17db2dc3.3b470c95.js index a27a38d04c..74e80392c6 100644 --- a/assets/js/17db2dc3.859413fa.js +++ b/assets/js/17db2dc3.3b470c95.js @@ -1 +1 @@ -"use strict";(self.webpackChunkice_website_v3=self.webpackChunkice_website_v3||[]).push([[8858],{4852:(e,n,t)=>{t.d(n,{Zo:()=>u,kt:()=>k});var l=t(9231);function a(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function i(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);n&&(l=l.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,l)}return t}function o(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?i(Object(t),!0).forEach((function(n){a(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):i(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function r(e,n){if(null==e)return{};var t,l,a=function(e,n){if(null==e)return{};var t,l,a={},i=Object.keys(e);for(l=0;l<i.length;l++)t=i[l],n.indexOf(t)>=0||(a[t]=e[t]);return a}(e,n);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(l=0;l<i.length;l++)t=i[l],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var p=l.createContext({}),s=function(e){var n=l.useContext(p),t=n;return e&&(t="function"==typeof e?e(n):o(o({},n),e)),t},u=function(e){var n=s(e.components);return l.createElement(p.Provider,{value:n},e.children)},d="mdxType",m={inlineCode:"code",wrapper:function(e){var n=e.children;return l.createElement(l.Fragment,{},n)}},c=l.forwardRef((function(e,n){var t=e.components,a=e.mdxType,i=e.originalType,p=e.parentName,u=r(e,["components","mdxType","originalType","parentName"]),d=s(t),c=a,k=d["".concat(p,".").concat(c)]||d[c]||m[c]||i;return t?l.createElement(k,o(o({ref:n},u),{},{components:t})):l.createElement(k,o({ref:n},u))}));function k(e,n){var t=arguments,a=n&&n.mdxType;if("string"==typeof e||a){var i=t.length,o=new Array(i);o[0]=c;var r={};for(var p in n)hasOwnProperty.call(n,p)&&(r[p]=n[p]);r.originalType=e,r[d]="string"==typeof e?e:a,o[1]=r;for(var s=2;s<i;s++)o[s]=t[s];return l.createElement.apply(null,o)}return l.createElement.apply(null,t)}c.displayName="MDXCreateElement"},1086:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>p,contentTitle:()=>o,default:()=>m,frontMatter:()=>i,metadata:()=>r,toc:()=>s});var l=t(5675),a=(t(9231),t(4852));const i={title:"\u6784\u5efa\u914d\u7f6e",order:14},o=void 0,r={unversionedId:"guide/basic/config",id:"guide/basic/config",title:"\u6784\u5efa\u914d\u7f6e",description:"ice.js \u652f\u6301\u5e38\u7528\u7684\u6784\u5efa\u914d\u7f6e\u9879\uff0c\u6240\u6709\u7684\u914d\u7f6e\u9879\u5728 ice.config.mts \u4e2d\u8bbe\u7f6e\u3002",source:"@site/docs/guide/basic/config.md",sourceDirName:"guide/basic",slug:"/guide/basic/config",permalink:"/docs/guide/basic/config",draft:!1,editUrl:"https://github.com/alibaba/ice/edit/master/website/docs/guide/basic/config.md",tags:[],version:"current",frontMatter:{title:"\u6784\u5efa\u914d\u7f6e",order:14},sidebar:"docs",previous:{title:"\u547d\u4ee4\u884c CLI",permalink:"/docs/guide/basic/cli"},next:{title:"API",permalink:"/docs/guide/basic/api"}},p={},s=[{value:"\u914d\u7f6e\u6587\u4ef6",id:"\u914d\u7f6e\u6587\u4ef6",level:2},{value:"\u6784\u5efa\u914d\u7f6e\u6587\u4ef6",id:"\u6784\u5efa\u914d\u7f6e\u6587\u4ef6",level:3},{value:"\u517c\u5bb9\u6027\u914d\u7f6e",id:"\u517c\u5bb9\u6027\u914d\u7f6e",level:3},{value:"\u914d\u7f6e\u9879",id:"\u914d\u7f6e\u9879",level:2},{value:"alias",id:"alias",level:3},{value:"crossOriginLoading",id:"crossoriginloading",level:3},{value:"define",id:"define",level:3},{value:"dataLoader",id:"dataloader",level:3},{value:"publicPath",id:"publicpath",level:3},{value:"devPublicPath",id:"devpublicpath",level:3},{value:"hash",id:"hash",level:3},{value:"externals",id:"externals",level:3},{value:"outputDir",id:"outputdir",level:3},{value:"proxy",id:"proxy",level:3},{value:"minify",id:"minify",level:3},{value:"dropLogLevel",id:"droploglevel",level:3},{value:"compileDependencies",id:"compiledependencies",level:3},{value:"postcss",id:"postcss",level:3},{value:"polyfill",id:"polyfill",level:3},{value:"transform",id:"transform",level:3},{value:"ssr",id:"ssr",level:3},{value:"ssg",id:"ssg",level:3},{value:"server",id:"server",level:3},{value:"routes",id:"routes",level:3},{value:"ignoreFiles",id:"ignorefiles",level:4},{value:"defineRoutes",id:"defineroutes",level:4},{value:"config",id:"config",level:4},{value:"sourceMap",id:"sourcemap",level:3},{value:"splitChunks @deprecated",id:"splitchunks-deprecated",level:3},{value:"codeSplitting",id:"codesplitting",level:3},{value:"syntaxFeatures",id:"syntaxfeatures",level:3},{value:"tsChecker",id:"tschecker",level:3},{value:"eslint",id:"eslint",level:3},{value:"mock",id:"mock",level:3},{value:"htmlGenerating",id:"htmlgenerating",level:3},{value:"plugins",id:"plugins",level:3},{value:"webpack",id:"webpack",level:3},{value:"cssModules",id:"cssmodules",level:3}],u={toc:s},d="wrapper";function m(e){let{components:n,...t}=e;return(0,a.kt)(d,(0,l.Z)({},u,t,{components:n,mdxType:"MDXLayout"}),(0,a.kt)("p",null,"ice.js \u652f\u6301\u5e38\u7528\u7684\u6784\u5efa\u914d\u7f6e\u9879\uff0c\u6240\u6709\u7684\u914d\u7f6e\u9879\u5728 ",(0,a.kt)("inlineCode",{parentName:"p"},"ice.config.mts")," \u4e2d\u8bbe\u7f6e\u3002"),(0,a.kt)("h2",{id:"\u914d\u7f6e\u6587\u4ef6"},"\u914d\u7f6e\u6587\u4ef6"),(0,a.kt)("h3",{id:"\u6784\u5efa\u914d\u7f6e\u6587\u4ef6"},"\u6784\u5efa\u914d\u7f6e\u6587\u4ef6"),(0,a.kt)("p",null,"\u4e3a\u4e86\u83b7\u53d6\u826f\u597d\u7684\u7c7b\u578b\u63d0\u793a\uff0cice.js \u63a8\u8350\u4ee5 ",(0,a.kt)("inlineCode",{parentName:"p"},"ice.config.mts")," \u4f5c\u4e3a\u914d\u7f6e\u6587\u4ef6\uff1a"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-js"},"import { defineConfig } from '@ice/app';\n\nexport default defineConfig(() => ({\n publicPath: '/',\n}));\n")),(0,a.kt)("h3",{id:"\u517c\u5bb9\u6027\u914d\u7f6e"},"\u517c\u5bb9\u6027\u914d\u7f6e"),(0,a.kt)("p",null,"\u6784\u5efa\u7684\u517c\u5bb9\u6027\u914d\u7f6e\u63a8\u8350\u914d\u7f6e\u5728 ",(0,a.kt)("inlineCode",{parentName:"p"},".browserslistrc")," \u6587\u4ef6\u4e2d\uff1a"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-js"},"chrome 55\n")),(0,a.kt)("p",null,"\u66f4\u591a\u914d\u7f6e\u8bf7\u53c2\u8003 ",(0,a.kt)("a",{parentName:"p",href:"https://github.com/browserslist/browserslist#readme"},"browserslist \u6587\u6863")),(0,a.kt)("h2",{id:"\u914d\u7f6e\u9879"},"\u914d\u7f6e\u9879"),(0,a.kt)("h3",{id:"alias"},"alias"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"\u7c7b\u578b\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"Record<string, string | false>")),(0,a.kt)("li",{parentName:"ul"},"\u9ed8\u8ba4\u503c\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},'{ "@": "./src/" }'))),(0,a.kt)("p",null,"\u5728 ice.js \u9ed8\u8ba4\u5185\u7f6e\u5e38\u7528\u7684 alias \u89c4\u5219\uff0c\u56e0\u6b64\u9879\u76ee\u5927\u591a\u6570\u65f6\u5019\u4e0d\u9700\u8981\u914d\u7f6e\u5373\u53ef\u66f4\u52a0\u7b80\u5355\u7684\u5bfc\u5165\u6a21\u5757\u4e86\uff1a"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-diff"},"-import CustomTips from '../../../components/CustomTips';\n+import CustomTips from '@/components/CustomTips';\n")),(0,a.kt)("p",null,"\u5982\u679c\u9700\u8981\u914d\u7f6e\u522b\u540d\u5bf9 import \u8def\u5f84\u8fdb\u884c\u6620\u5c04\uff1a"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-js"},"import { defineConfig } from '@ice/app';\n\nexport default defineConfig(() => ({\n alias: {\n pages: './src/pages',\n },\n}));\n")),(0,a.kt)("h3",{id:"crossoriginloading"},"crossOriginLoading"),(0,a.kt)("admonition",{type:"caution"},(0,a.kt)("p",{parentName:"admonition"},"\u5c0f\u7a0b\u5e8f\u7aef\u4e0d\u652f\u6301\u8be5\u914d\u7f6e\u3002")),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"\u7c7b\u578b\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"false | 'anonymous' | 'use-credentials'")),(0,a.kt)("li",{parentName:"ul"},"\u9ed8\u8ba4\u503c\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"false"))),(0,a.kt)("p",null,"\u914d\u7f6e"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-js"},"import { defineConfig } from '@ice/app';\n\nexport default defineConfig(() => ({\n crossOriginLoading: 'anonymous'\n}));\n")),(0,a.kt)("p",null,"\u6307\u5b9a webpack \u542f\u7528 ",(0,a.kt)("a",{parentName:"p",href:"https://webpack.js.org/configuration/output/#outputcrossoriginloading"},"cross-origin")," \u53bb\u52a0\u8f7d chunk\u3002"),(0,a.kt)("h3",{id:"define"},"define"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"\u7c7b\u578b\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"Record<string, string | boolean>")),(0,a.kt)("li",{parentName:"ul"},"\u9ed8\u8ba4\u503c\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"{ 'process.env.NODE_ENV': 'development' | 'production'; 'import.meta.renderer': 'client' | 'server'; 'import.meta.target': string; }"))),(0,a.kt)("p",null,"\u5728\u7f16\u8bd1\u65f6\u5c06\u4ee3\u7801\u4e2d\u7684\u5168\u5c40\u53d8\u91cf\u66ff\u6362\u6210\u5176\u4ed6\u503c\u6216\u8005\u8868\u8fbe\u5f0f\u3002\u4e00\u822c\u7528\u4e8e\u533a\u5206\u4e0d\u540c\u73af\u5883\u4ee5\u6267\u884c\u4e0d\u540c\u4ee3\u7801\u903b\u8f91\u3002"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-js"},"import { defineConfig } from '@ice/app';\n\nexport default defineConfig(() => ({\n define: {\n ASSETS_VERSION: JSON.stringify('0.1.0'),\n AGE: '11',\n },\n}));\n")),(0,a.kt)("p",null,"\u5728\u4ee3\u7801\u4e2d\u76f4\u63a5\u4f7f\u7528\u5bf9\u5e94\u5b9a\u4e49\u7684\u53d8\u91cf\uff1a"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-js"},"console.log(ASSETS_VERSION);\n// \u6700\u7ec8\u4f1a\u88ab\u7f16\u8bd1\u6210\uff1a\n// console.log('0.1.0');\n\nconsole.log(AGE);\n// \u6700\u7ec8\u4f1a\u88ab\u7f16\u8bd1\u6210\uff1a\n// console.log(11);\n")),(0,a.kt)("p",null,"\u6ce8\u610f\uff0c\u5728\u7f16\u8bd1\u65f6\uff0c\u5c06\u4f1a\u5bf9\u4f60\u8bbe\u7f6e\u7684 ",(0,a.kt)("inlineCode",{parentName:"p"},"define")," \u66ff\u6362\u503c\u8fdb\u884c\u7c7b\u4f3c\u5b57\u7b26\u4e32\u62fc\u63a5\u7684\u65b9\u5f0f\u751f\u6210\u65b0\u7684\u4ee3\u7801\u3002\u56e0\u6b64\uff1a"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"\u5bf9\u4e8e\u5f15\u7528\u6570\u636e\u7c7b\u578b\uff08",(0,a.kt)("inlineCode",{parentName:"li"},"function")," \u548c ",(0,a.kt)("inlineCode",{parentName:"li"},"object"),"\uff09\uff0c\u9700\u8981\u4f7f\u7528 ",(0,a.kt)("inlineCode",{parentName:"li"},"JSON.stringify()")," \u65b9\u6cd5\u5904\u7406"),(0,a.kt)("li",{parentName:"ul"},"\u5bf9\u4e8e\u8981\u66ff\u6362\u7684\u5168\u5c40\u53d8\u91cf\u662f\u5b57\u7b26\u4e32\u65f6\uff0c\u9700\u8981\u4f7f\u7528 ",(0,a.kt)("inlineCode",{parentName:"li"},"JSON.stringify()")," \u65b9\u6cd5\u5904\u7406\u6216\u8005\u591a\u6dfb\u52a0\u4e00\u5bf9\u5f15\u53f7\uff08\u5982 ",(0,a.kt)("inlineCode",{parentName:"li"},"\"'hello world'\""),"\uff09\uff0c\u5426\u5219\u5c31\u662f\u4e00\u4e2a\u6807\u8bc6\u7b26\uff0c\u6709\u53ef\u80fd\u8ddf\u9884\u671f\u7ed3\u679c\u4e0d\u4e00\u81f4\u7684\u60c5\u51b5")),(0,a.kt)("p",null,"\u5bf9\u4e8e\u8fd0\u884c\u65f6\u53d8\u91cf\uff0cice.js \u66f4\u52a0\u63a8\u8350\u901a\u8fc7",(0,a.kt)("a",{parentName:"p",href:"/docs/guide/basic/env"},"\u73af\u5883\u53d8\u91cf"),"\u7684\u65b9\u5f0f\u6ce8\u5165\u3002"),(0,a.kt)("h3",{id:"dataloader"},"dataLoader"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"\u7c7b\u578b\uff1a ",(0,a.kt)("inlineCode",{parentName:"li"},"boolean | { fetcher: { packageName: string; method: string } }")),(0,a.kt)("li",{parentName:"ul"},"\u9ed8\u8ba4\u503c ",(0,a.kt)("inlineCode",{parentName:"li"},"true"))),(0,a.kt)("p",null,"\u662f\u5426\u542f\u7528\u5185\u7f6e\u7684\u6570\u636e\u9884\u52a0\u8f7d\u80fd\u529b\u4ee5\u53ca\u81ea\u5b9a\u4e49\u53d1\u9001\u8005\uff08fetcher\uff09\u3002"),(0,a.kt)("h3",{id:"publicpath"},"publicPath"),(0,a.kt)("admonition",{type:"caution"},(0,a.kt)("p",{parentName:"admonition"},"\u5c0f\u7a0b\u5e8f\u7aef\u4e0d\u652f\u6301\u8be5\u914d\u7f6e\u3002")),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"\u7c7b\u578b\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"string")),(0,a.kt)("li",{parentName:"ul"},"\u9ed8\u8ba4\u503c\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"/"))),(0,a.kt)("p",null,"\u914d\u7f6e Webpack \u7684 ",(0,a.kt)("a",{parentName:"p",href:"https://webpack.js.org/configuration/output/#output-publicpath"},"output.publicPath")," \u5c5e\u6027\uff0c\u4ec5\u5728\u8fd0\u884c build \u547d\u4ee4\u65f6\u751f\u6548\u3002"),(0,a.kt)("h3",{id:"devpublicpath"},"devPublicPath"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"\u7c7b\u578b\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"string")),(0,a.kt)("li",{parentName:"ul"},"\u9ed8\u8ba4\u503c\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"/"))),(0,a.kt)("p",null,"\u540c publicPath \u4ec5\u5728\u6267\u884c start \u65f6\u751f\u6548\u3002"),(0,a.kt)("h3",{id:"hash"},"hash"),(0,a.kt)("admonition",{type:"caution"},(0,a.kt)("p",{parentName:"admonition"},"\u5c0f\u7a0b\u5e8f\u7aef\u4e0d\u652f\u6301\u8be5\u914d\u7f6e\u3002")),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"\u7c7b\u578b\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"boolean | string")),(0,a.kt)("li",{parentName:"ul"},"\u9ed8\u8ba4\u503c\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"false"))),(0,a.kt)("p",null,"\u5982\u679c\u5e0c\u671b\u6784\u5efa\u540e\u7684\u8d44\u6e90\u5e26 hash \u7248\u672c\uff0c\u53ef\u4ee5\u5c06 hash \u8bbe\u7f6e\u4e3a ",(0,a.kt)("inlineCode",{parentName:"p"},"true"),"\uff0c\u4e5f\u53ef\u4ee5\u8bbe\u7f6e\u4e3a ",(0,a.kt)("inlineCode",{parentName:"p"},"contenthash")," \u6309\u6587\u4ef6\u5185\u5bb9\u751f\u6210 hash \u503c\uff1a"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-js"},"import { defineConfig } from '@ice/app';\n\nexport default defineConfig(() => ({\n hash: 'contenthash',\n}));\n")),(0,a.kt)("h3",{id:"externals"},"externals"),(0,a.kt)("admonition",{type:"caution"},(0,a.kt)("p",{parentName:"admonition"},"\u5c0f\u7a0b\u5e8f\u7aef\u4e0d\u652f\u6301\u8be5\u914d\u7f6e\u3002")),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"\u7c7b\u578b\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"Record<string, string>")),(0,a.kt)("li",{parentName:"ul"},"\u9ed8\u8ba4\u503c\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"{}"))),(0,a.kt)("p",null,"\u8bbe\u7f6e\u54ea\u4e9b\u6a21\u5757\u4e0d\u6253\u5305\uff0c\u8f6c\u800c\u901a\u8fc7 ",(0,a.kt)("inlineCode",{parentName:"p"},"<script>")," \u6216\u5176\u4ed6\u65b9\u5f0f\u5f15\u5165\uff0c\u6bd4\u5982\uff1a"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-js"},"import { defineConfig } from '@ice/app';\n\nexport default defineConfig(() => ({\n externals: {\n react: 'React',\n 'react-dom': 'ReactDOM',\n },\n}));\n")),(0,a.kt)("p",null,"\u5bf9\u5e94\u5728 ",(0,a.kt)("inlineCode",{parentName:"p"},"document.ts")," \u6216\u8005\u9875\u9762\u6a21\u7248\u91cc\u6dfb\u52a0 CDN \u6587\u4ef6\uff1a"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-diff"},'import { Main, Scripts } from \'ice\';\n\nfunction Document() {\n return (\n <html lang="en">\n <body> \n <Main />\n+ <script crossOrigin="" src="https://unpkg.com/react@18/umd/react.production.min.js"><\/script>\n+ <script crossOrigin="" src="https://unpkg.com/react-dom@18/umd/react-dom.production.min.js"><\/script>\n <Scripts />\n </body>\n </html>\n );\n}\n\nexport default Document;\n')),(0,a.kt)("h3",{id:"outputdir"},"outputDir"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"\u7c7b\u578b\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"string")),(0,a.kt)("li",{parentName:"ul"},"\u9ed8\u8ba4\u503c\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"build"))),(0,a.kt)("p",null,"\u6784\u5efa\u4ea7\u7269\u8f93\u51fa\u76ee\u5f55\uff0c\u9ed8\u8ba4\u4e3a ",(0,a.kt)("inlineCode",{parentName:"p"},"build")," \u76ee\u5f55"),(0,a.kt)("h3",{id:"proxy"},"proxy"),(0,a.kt)("admonition",{type:"caution"},(0,a.kt)("p",{parentName:"admonition"},"\u5c0f\u7a0b\u5e8f\u7aef\u4e0d\u652f\u6301\u8be5\u914d\u7f6e\u3002")),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"\u7c7b\u578b\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"object")),(0,a.kt)("li",{parentName:"ul"},"\u9ed8\u8ba4\u503c\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"{}"))),(0,a.kt)("p",null,"\u914d\u7f6e dev \u5f00\u53d1\u9636\u6bb5\u7684\u4ee3\u7406\u529f\u80fd\u3002\u914d\u7f6e\u9879\u4e0e Webpack ",(0,a.kt)("a",{parentName:"p",href:"https://webpack.js.org/configuration/dev-server/#devserverproxy"},"devServer.proxy")," \u4fdd\u6301\u4e00\u81f4\u3002"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-js"},"import { defineConfig } from '@ice/app';\n\nexport default defineConfig(() => ({\n proxy: {\n '/api': {\n target: 'http://jsonplaceholder.typicode.com/',\n changeOrigin: true,\n pathRewrite: { '^/api' : '' },\n },\n },\n}));\n")),(0,a.kt)("h3",{id:"minify"},"minify"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"\u7c7b\u578b\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"boolean")),(0,a.kt)("li",{parentName:"ul"},"\u9ed8\u8ba4\u503c\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"true"))),(0,a.kt)("p",null,"\u538b\u7f29\u4ea7\u7269\uff0c\u76ee\u524d\u9ed8\u8ba4\u4ec5\u5728 build \u9636\u6bb5\u751f\u6548"),(0,a.kt)("h3",{id:"droploglevel"},"dropLogLevel"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"\u7c7b\u578b\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"boolean | DropType[] | DropType")),(0,a.kt)("li",{parentName:"ul"},"\u9ed8\u8ba4\u503c\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"false"),"\uff0c\u4e0d\u79fb\u9664\u4efb\u4f55 console \u4ee3\u7801")),(0,a.kt)("p",null,"\u538b\u7f29\u4ee3\u7801\u65f6\u79fb\u9664 console.",(0,a.kt)("em",{parentName:"p"}," \u76f8\u5173\u4ee3\u7801\uff0c\u914d\u7f6e\u4e3atrue\u65f6\uff0c\u79fb\u9664\u6240\u6709console."),"\u76f8\u5173\u4ee3\u7801\u3002\u5f53\u60f3\u79fb\u9664\u90e8\u5206console\u4ee3\u7801\uff0c\u4f8b\u5982\u60f3\u8981\u79fb\u9664console.log\u548cconsole.error\u65f6\uff0c\u53ef\u4ee5\u914d\u7f6e\u4e3a"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-js"},"import { defineConfig } from '@ice/app';\n\nexport default defineConfig(() => ({\n dropLog: ['error', 'log'],\n}));\n")),(0,a.kt)("p",null,"\u4e5f\u53ef\u4ee5\u6839\u636econsole\u7b49\u7ea7\u6765\u8fdb\u884c\u79fb\u9664"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-js"},"// console \u7b49\u7ea7\u4e3a trace < debug < log < info < warn < error\n// \u4f8b\u5982\u60f3\u8981\u79fb\u9664trace\u3001debug\u3001log\u65f6\u53ef\u4ee5\u50cf\u4e0b\u9762\u8fd9\u6837\u914d\u7f6e\nimport { defineConfig } from '@ice/app';\n\nexport default defineConfig(() => ({\n dropLog: 'log',\n}));\n")),(0,a.kt)("h3",{id:"compiledependencies"},"compileDependencies"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"\u7c7b\u578b\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"array | boolean")),(0,a.kt)("li",{parentName:"ul"},"\u9ed8\u8ba4\u503c\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"[]"))),(0,a.kt)("p",null,"\u9ed8\u8ba4\u60c5\u51b5\u4e0b\u4e3a\u4e86\u4fdd\u8bc1 dev \u5f00\u53d1\u9636\u6bb5\u7684\u4f53\u9a8c\uff0c",(0,a.kt)("inlineCode",{parentName:"p"},"node_modules")," \u4e0b\u6587\u4ef6\u4e0d\u4f1a\u8fdb\u884c\u7f16\u8bd1\uff0c\u800c\u8003\u8651\u5230 build \u9636\u6bb5\u5bf9\u4ee3\u7801\u4f53\u79ef\u7684\u6781\u81f4\u4f18\u5316\u4ee5\u53ca\u517c\u5bb9\u6027\u4fdd\u8bc1\uff0c\u5c06\u4f1a\u5bf9 ",(0,a.kt)("inlineCode",{parentName:"p"},"node_modules")," \u4e0b\u5185\u5bb9\u4e5f\u8fdb\u884c\u7f16\u8bd1\u3002"),(0,a.kt)("p",null,"\u5982\u679c dev \u9636\u6bb5\u9700\u8981\u989d\u5916\u7f16\u8bd1\u4e00\u4e9b\u4f9d\u8d56\uff0cbuild \u9636\u6bb5\u4e0b\u4ecd\u7136\u5168\u91cf\u7f16\u8bd1\uff0c\u53ef\u4ee5\u53c2\u8003\u4e0b\u9762\u7684\u65b9\u5f0f\u5728 dev \u9636\u6bb5\u901a\u8fc7\u6b63\u5219\u8ffd\u52a0\u4e00\u4e9b\u914d\u7f6e\uff1a"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-js"},"import { defineConfig } from '@ice/app';\n\nexport default defineConfig(() => ({\n compileDependencies: process.env.NODE_ENV === 'development' ? [/@alifd\\/next/, /need-compile/] : true,\n}));\n")),(0,a.kt)("admonition",{type:"caution"},(0,a.kt)("p",{parentName:"admonition"},"\u5982\u679c build \u9636\u6bb5\u4ecd\u7136\u9700\u8981\u5168\u91cf\u7f16\u8bd1\uff0c\u8bf7\u52a1\u5fc5\u589e\u52a0\u73af\u5883\u5224\u65ad")),(0,a.kt)("p",null,"\u5982\u679c\u5e0c\u671b dev \u548c build \u9636\u6bb5\u5747\u7f16\u8bd1 ",(0,a.kt)("inlineCode",{parentName:"p"},"node_modules"),"\uff0c\u53ef\u4ee5\u8bbe\u7f6e\u4e3a ",(0,a.kt)("inlineCode",{parentName:"p"},"true")),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-js"},"import { defineConfig } from '@ice/app';\n\nexport default defineConfig(() => ({\n compileDependencies: true,\n}));\n")),(0,a.kt)("p",null,"\u5982\u679c\u660e\u786e\u77e5\u9053\u54ea\u4e9b\u4f9d\u8d56\u9700\u8981\u8fdb\u884c\u7f16\u8bd1\u4e5f\u53ef\u4ee5\u901a\u8fc7\u6b63\u5219\u65b9\u5f0f\u8fdb\u884c\u8bbe\u7f6e\uff1a\uff08\u5bf9 dev \u548c build \u540c\u65f6\u751f\u6548\uff09"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-js"},"import { defineConfig } from '@ice/app';\n\nexport default defineConfig(() => ({\n compileDependencies: [/@alifd\\/next/, /need-compile/],\n}));\n")),(0,a.kt)("h3",{id:"postcss"},"postcss"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"\u7c7b\u578b\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"ProcessOptions & { plugins?: (string | [string, Record<string, any>?])[] };")),(0,a.kt)("li",{parentName:"ul"},"\u9ed8\u8ba4\u503c\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"{}"))),(0,a.kt)("p",null,"\u7528\u4e8e\u6dfb\u52a0 postcss \u81ea\u5b9a\u4e49\u914d\u7f6e\u3002\u793a\u4f8b\u5982\u4e0b\uff1a"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-ts"},"import { defineConfig } from '@ice/app';\n\nexport default defineConfig(() => ({\n postcss: {\n plugins: [\n 'postcss-px-to-viewport-8-plugin',\n {\n // ...\n },\n ],\n syntax: 'sugarss',\n }\n}));\n")),(0,a.kt)("p",null,"ice.js \u5185\u7f6e\u7684 postcss \u914d\u7f6e\u662f\uff1a"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-json"},'{\n "plugins": [\n ["postcss-nested"],\n ["postcss-preset-env", {\n "stage": 3,\n "autoprefixer": {\n "flexbox": "no-2009",\n },\n "features": {\n "custom-properties": false,\n },\n }],\n ["postcss-plugin-rpx2vw"],\n ],\n}\n')),(0,a.kt)("p",null,"\u5982\u679c\u9700\u8981\u5b8c\u5168\u91cd\u5199 postcss \u914d\u7f6e\u6216\u4fee\u6539\u5185\u7f6e\u7684 postcss \u914d\u7f6e\uff0c\u9700\u8981\u5728\u9879\u76ee\u6839\u76ee\u5f55\u4e0b\u65b0\u589e ",(0,a.kt)("inlineCode",{parentName:"p"},"postcss.config.js")," \u6587\u4ef6\u5e76\u52a0\u5165\u914d\u7f6e\uff0c\u5de5\u7a0b\u4e0a\u4f1a\u6e05\u7a7a\u5185\u7f6e\u7684 postcss \u914d\u7f6e\u3002"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-js",metastring:'title="postcss.config.js"',title:'"postcss.config.js"'},"module.exports = {\n plugins: [\n [\n 'postcss-preset-env',\n // \u4fee\u6539 postcss-preset-env \u7684\u9009\u9879\n {\n stage: 2,\n }\n ]\n ],\n}\n")),(0,a.kt)("h3",{id:"polyfill"},"polyfill"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"\u7c7b\u578b\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"'usage' | 'entry' | false")),(0,a.kt)("li",{parentName:"ul"},"\u9ed8\u8ba4\u503c\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"false"))),(0,a.kt)("p",null,"\u6846\u67b6\u63d0\u4f9b\u4e86\u591a\u79cd polyfill \u7684\u65b9\u5f0f\uff0c\u5f00\u53d1\u8005\u53ef\u4ee5\u6309\u5b9e\u9645\u60c5\u51b5\u9009\u62e9\u5bf9\u5e94\u7684\u8bbe\u7f6e\uff1a"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("inlineCode",{parentName:"li"},"usage")," \u6309\u5f00\u53d1\u8005\u4f7f\u7528\u7684\u8bed\u6cd5\u81ea\u52a8\u5f15\u5165\u5bf9\u5e94\u7684 ",(0,a.kt)("inlineCode",{parentName:"li"},"polyfill"),"\uff0c\u9002\u7528\u4e8e ",(0,a.kt)("inlineCode",{parentName:"li"},"node_modules")," \u4e5f\u8fdb\u884c\u7f16\u8bd1\u7684\u573a\u666f\uff08\u4e00\u5b9a\u7a0b\u5ea6\u4e0a\u5f71\u54cd\u7f16\u8bd1\u6548\u7387\u4ee5\u53ca\u4e09\u65b9\u4f9d\u8d56\u4e8c\u6b21\u7f16\u8bd1\u9020\u6210\u7684\u4ee3\u7801\u5197\u4f59\uff09"),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("inlineCode",{parentName:"li"},"entry")," \u81ea\u52a8\u5f15\u5165 browser\uff08\u6d4f\u89c8\u5668\uff09\u9700\u8981\u517c\u5bb9\u7684 ",(0,a.kt)("inlineCode",{parentName:"li"},"polyfill"),"\uff0c\u9002\u7528\u4e8e ",(0,a.kt)("inlineCode",{parentName:"li"},"node_modules")," \u4f9d\u8d56\u4e0d\u8fdb\u884c\u7f16\u8bd1\u7684\u573a\u666f\uff08\u53ef\u80fd\u5b58\u5728\u5927\u91cf\u672a\u88ab\u4f7f\u7528\u7684 ",(0,a.kt)("inlineCode",{parentName:"li"},"polyfill")," \u88ab\u5f15\u5165\uff09")),(0,a.kt)("blockquote",null,(0,a.kt)("p",{parentName:"blockquote"},"\u5982\u679c\u9762\u5411\u73b0\u4ee3\u6d4f\u89c8\u5668\u8fdb\u884c\u5f00\u53d1\uff0c\u5927\u91cf ES \u8bed\u6cd5\u5747\u4e0d\u9700\u8981\u5f15\u5165 Polyfill\uff0c\u6211\u4eec\u63a8\u8350\u4e0d\u5f00\u542f ",(0,a.kt)("inlineCode",{parentName:"p"},"polyfill")," \u914d\u7f6e\u3002\u5982\u679c\u4f60\u7684\u4ee3\u7801\u6216\u8005\u4e09\u65b9\u4f9d\u8d56\u8981\u6c42\u517c\u5bb9\u5230 IE 11 \u7b49\u6d4f\u89c8\u5668\uff0c\u53ef\u4ee5\u9009\u62e9\u4e3b\u52a8\u5f15\u5165\u6307\u5b9a\u8bed\u6cd5\u7684 polyfill \u6216\u8005\u5f00\u542f ",(0,a.kt)("inlineCode",{parentName:"p"},"polyfill")," \u914d\u7f6e\u3002")),(0,a.kt)("h3",{id:"transform"},"transform"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"\u7c7b\u578b\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"(code:string, id: string) => string | {code: string; map?: SourceMap | null;}")),(0,a.kt)("li",{parentName:"ul"},"\u9ed8\u8ba4\u503c\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"undefined"))),(0,a.kt)("p",null,"\u901a\u8fc7 ",(0,a.kt)("inlineCode",{parentName:"p"},"transform")," \u914d\u7f6e\u5b9e\u73b0\u4ee3\u7801\u7684\u8f6c\u5316\uff1a"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-js"},"import { defineConfig } from '@ice/app';\nimport { transformSync } from '@babel/core';\n\nexport default defineConfig(() => ({\n transform: (originalCode, id) => {\n if (!id.includes('node_modules')) {\n // \u501f\u52a9 babel \u7f16\u8bd1\n const { code, map } = transformSync(originalCode, {\n plugins: ['transform-decorators-legacy'],\n });\n return { code, map };\n }\n },\n}));\n")),(0,a.kt)("blockquote",null,(0,a.kt)("p",{parentName:"blockquote"},"ice.js \u5185\u7f6e\u901a\u8fc7 ",(0,a.kt)("inlineCode",{parentName:"p"},"swc")," \u63d0\u5347\u7f16\u8bd1\u4f53\u9a8c\uff0c\u5982\u679c\u5728 ",(0,a.kt)("inlineCode",{parentName:"p"},"transform")," \u914d\u7f6e\u4e0a\u8fc7\u591a\u4f9d\u8d56 babel \u7b49\u5de5\u5177\u5c06\u53ef\u4ee5\u80fd\u9020\u6210\u7f16\u8bd1\u6027\u80fd\u74f6\u9888")),(0,a.kt)("h3",{id:"ssr"},"ssr"),(0,a.kt)("admonition",{type:"caution"},(0,a.kt)("p",{parentName:"admonition"},"\u5c0f\u7a0b\u5e8f\u7aef\u4e0d\u652f\u6301\u8be5\u914d\u7f6e\u3002")),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"\u7c7b\u578b\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"boolean")),(0,a.kt)("li",{parentName:"ul"},"\u9ed8\u8ba4\u503c\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"false"))),(0,a.kt)("p",null,"\u662f\u5426\u5f00\u542f SSR \u80fd\u529b\uff0c\u66f4\u591a SSR \u76f8\u5173\u5185\u5bb9\u53c2\u8003 ",(0,a.kt)("a",{parentName:"p",href:"./ssr"},"SSR \u6587\u6863"),"\u3002"),(0,a.kt)("h3",{id:"ssg"},"ssg"),(0,a.kt)("admonition",{type:"caution"},(0,a.kt)("p",{parentName:"admonition"},"\u5c0f\u7a0b\u5e8f\u7aef\u4e0d\u652f\u6301\u8be5\u914d\u7f6e\u3002")),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"\u7c7b\u578b\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"boolean")),(0,a.kt)("li",{parentName:"ul"},"\u9ed8\u8ba4\u503c\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"true"))),(0,a.kt)("p",null,"\u662f\u5426\u5f00\u542f SSG \u80fd\u529b\uff0c\u66f4\u591a SSG \u76f8\u5173\u5185\u5bb9\u53c2\u8003 ",(0,a.kt)("a",{parentName:"p",href:"./ssg"},"SSG \u6587\u6863"),"\u3002"),(0,a.kt)("h3",{id:"server"},"server"),(0,a.kt)("admonition",{type:"caution"},(0,a.kt)("p",{parentName:"admonition"},"\u5c0f\u7a0b\u5e8f\u7aef\u4e0d\u652f\u6301\u8be5\u914d\u7f6e\u3002")),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"\u7c7b\u578b\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"{ format: 'esm' | 'cjs'; bundle: boolean; ignores: IgnorePattern[]; externals: string[]; onDemand: boolean; }")),(0,a.kt)("li",{parentName:"ul"},"\u9ed8\u8ba4\u503c\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"{ format: 'esm', bundle: false, ignores: [], externals: [], onDemand: false }"))),(0,a.kt)("p",null,"SSR / SSG \u4ea7\u7269\u6807\u51c6\uff0c\u63a8\u8350\u4ee5 ESM \u6807\u51c6\u8fdb\u884c\u6267\u884c\uff0c\u5982\u679c\u5e0c\u671b\u6253\u5305\u6210\u4e00\u4e2a cjs \u6a21\u5757\uff0c\u53ef\u4ee5\u8fdb\u884c\u5982\u4e0b\u8bbe\u7f6e\uff1a"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-js"},"import { defineConfig } from '@ice/app';\n\nexport default defineConfig(() => ({\n server: {\n format: 'cjs',\n bundle: true,\n },\n}));\n")),(0,a.kt)("p",null,"\u53ef\u4ee5\u901a\u8fc7 ",(0,a.kt)("inlineCode",{parentName:"p"},"ignores")," \u53c2\u6570\uff0c\u4e3a SSR / SSG \u4ea7\u7269\u8fc7\u6ee4\u6307\u5b9a\u6587\u4ef6\uff1a"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-js"},"import { defineConfig } from '@ice/app';\n\nexport default defineConfig(() => ({\n server: {\n ignores: [{\n resourceRegExp: /^\\.\\/locale$/,\n contextRegExp: /moment$/,\n }]\n },\n}));\n")),(0,a.kt)("p",null,"\u5176\u4e2d\uff1a"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"resourceRegExp \u5bf9\u5e94\u6587\u4ef6\u7684\u5339\u914d\u8def\u5f84"),(0,a.kt)("li",{parentName:"ul"},"contextRegExp \uff08\u53ef\u9009\uff09\u5bf9\u5e94\u6587\u4ef6\u5185\u5bb9\u7684\u5339\u914d\u89c4\u5219")),(0,a.kt)("p",null,"\u901a\u8fc7 ",(0,a.kt)("inlineCode",{parentName:"p"},"externals")," \u53c2\u6570\uff0c\u53ef\u4ee5\u5728\u6784\u5efa Server \u7aef\u4ea7\u7269\u65f6 external \u6307\u5b9a\u5185\u5bb9\uff1a"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-js"},"import { defineConfig } from '@ice/app';\n\nexport default defineConfig(() => ({\n server: {\n externals: ['react', 'react-dom']\n },\n}));\n")),(0,a.kt)("p",null,"\u901a\u8fc7 ",(0,a.kt)("inlineCode",{parentName:"p"},"onDemand")," \u53c2\u6570\uff0c\u53ef\u4ee5\u5728\u6267\u884c Server \u7aef\u4ea7\u7269\u65f6\uff0c\u6309\u9700\u6784\u5efa\u6240\u9700\u7684\u95ee\u9898\uff0c\u5e76\u4e14\u63d0\u4f9b\u4f53\u9a8c\u826f\u597d\u7684\u6a21\u5757\u70ed\u66f4\u65b0\u670d\u52a1\uff1a"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-js"},"import { defineConfig } from '@ice/app';\n\nexport default defineConfig(() => ({\n server: {\n onDemand: true,\n format: 'esm',\n },\n}));\n")),(0,a.kt)("h3",{id:"routes"},"routes"),(0,a.kt)("admonition",{type:"caution"},(0,a.kt)("p",{parentName:"admonition"},"\u5c0f\u7a0b\u5e8f\u7aef\u4e0d\u652f\u6301\u8be5\u914d\u7f6e\u3002")),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"\u7c7b\u578b\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"{ ignoreFiles: string[]; defineRoutes: (route: DefineRouteFunction) => void }")),(0,a.kt)("li",{parentName:"ul"},"\u9ed8\u8ba4\u503c\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"{}"))),(0,a.kt)("h4",{id:"ignorefiles"},"ignoreFiles"),(0,a.kt)("p",null,"\u7528\u4e8e\u5ffd\u7565 ",(0,a.kt)("inlineCode",{parentName:"p"},"src/pages")," \u4e0b\u7684\u6587\u4ef6\u88ab\u5904\u7406\u6210\u8def\u7531\u6a21\u5757\uff0c\u4f7f\u7528 glob \u8868\u8fbe\u5f0f(",(0,a.kt)("a",{parentName:"p",href:"https://github.com/isaacs/minimatch"},"minimatch"),")\u5bf9\u6587\u4ef6\u8def\u5f84\u5339\u914d\u3002"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-ts"},"import { defineConfig } from '@ice/app';\n\nexport default defineConfig(() => ({\n routes: {\n // \u5ffd\u7565 src/pages \u4e0b\u6240\u6709 components \u76ee\u5f55\n ignoreFiles: ['**/components/**'],\n },\n}));\n")),(0,a.kt)("h4",{id:"defineroutes"},"defineRoutes"),(0,a.kt)("p",null,"\u5bf9\u4e8e\u7ea6\u5b9a\u5f0f\u8def\u7531\u4e0d\u6ee1\u8db3\u7684\u573a\u666f\uff0c\u53ef\u4ee5\u901a\u8fc7\u4ee5\u4e0b\u65b9\u5f0f\u81ea\u5b9a\u4e49\u8def\u7531\u5730\u5740\u3002"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-ts"},"import { defineConfig } from '@ice/app';\n\nexport default defineConfig(() => ({\n routes: {\n defineRoutes: (route) => {\n // \u5c06 /about-me \u8def\u7531\u8bbf\u95ee\u5185\u5bb9\u6307\u5b9a\u4e3a about.tsx\n // \u7b2c\u4e00\u4e2a\u53c2\u6570\u662f\u8def\u7531\u5730\u5740\n // \u7b2c\u4e8c\u4e2a\u53c2\u6570\u662f\u9875\u9762\u7ec4\u4ef6\u7684\u76f8\u5bf9\u5730\u5740\uff08\u524d\u9762\u4e0d\u80fd\u5e26 `/`\uff09\uff0c\u76f8\u5bf9\u4e8e `src/pages` \u76ee\u5f55\n route('/about-me', 'about.tsx');\n\n // \u5d4c\u5957\u8def\u7531\u7684\u573a\u666f\u9700\u8981\u4f7f\u7528\u7b2c\u4e09\u4e2a callback \u53c2\u6570\u6765\u5b9a\u4e49\u5d4c\u5957\u8def\u7531\n route('/', 'layout.tsx', () => {\n route('/product', 'products.tsx');\n });\n },\n },\n}));\n")),(0,a.kt)("admonition",{type:"caution"},(0,a.kt)("p",{parentName:"admonition"},"\u540c\u4e00\u4e2a\u8def\u7531\u7ec4\u4ef6\u53ea\u80fd\u5206\u914d\u4e00\u6761\u8def\u7531\u89c4\u5219\uff0c\u5373\u540c\u65f6\u6267\u884c\u4ee5\u4e0b\u8bed\u53e5\u65f6\uff0c\u4ec5\u751f\u6548\u540e\u6267\u884c\u7684\u903b\u8f91\u3002"),(0,a.kt)("pre",{parentName:"admonition"},(0,a.kt)("code",{parentName:"pre",className:"language-ts"},"route('/about-me', 'about.tsx');\nroute('/about-you', 'about.tsx');\n"))),(0,a.kt)("h4",{id:"config"},"config"),(0,a.kt)("p",null,"\u5bf9\u4e8e\u7b80\u5355\u7684\u81ea\u5b9a\u4e49\u573a\u666f\uff0c\u901a\u8fc7 ",(0,a.kt)("inlineCode",{parentName:"p"},"defineRoutes")," \u53ef\u4ee5\u5feb\u901f\u5728\u7ea6\u5b9a\u5f0f\u8def\u7531\u7684\u57fa\u7840\u4e0a\u8fdb\u884c\u81ea\u5b9a\u4e49\u3002\u4f46\u5bf9\u4e8e\u5927\u91cf\u81ea\u5b9a\u4e49\u6216\u8005\u539f\u914d\u7f6e\u5f0f\u8def\u7531\u7684\u5347\u7ea7\u9879\u76ee\uff0c\u652f\u6301\u4ee5 ",(0,a.kt)("inlineCode",{parentName:"p"},"config")," \u7684\u5b57\u6bb5\u6307\u5b9a\u8def\u7531\u4fe1\u606f\uff1a"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-ts"},"import { defineConfig } from '@ice/app';\n\nexport default defineConfig({\n routes: {\n config: [\n {\n path: 'rewrite',\n // \u4ece src/page \u5f00\u59cb\u8ba1\u7b97\u8def\u5f84\uff0c\u5e76\u4e14\u9700\u8981\u5199\u540e\u7f00\u3002\n component: 'sales/layout.tsx',\n children: [\n {\n path: '/favorites',\n component: 'sales/favorites.tsx',\n },\n {\n path: 'overview',\n component: 'sales/overview.tsx',\n },\n {\n path: 'recommends',\n component: 'sales/recommends.tsx',\n },\n ],\n },\n {\n path: '/',\n component: 'index.tsx',\n },\n ],\n },\n});\n")),(0,a.kt)("h3",{id:"sourcemap"},"sourceMap"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"\u7c7b\u578b\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"boolean | string")),(0,a.kt)("li",{parentName:"ul"},"\u9ed8\u8ba4\u503c\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"development")," \u6a21\u5f0f\uff1a\u9ed8\u8ba4\u4e3a 'cheap-module-source-map'\uff0c\u652f\u6301\u901a\u8fc7 ",(0,a.kt)("inlineCode",{parentName:"li"},"false")," \u5173\u95ed\uff0c\u4e0d\u652f\u6301\u8bbe\u7f6e\u4e3a\u5176\u4ed6\u679a\u4e3e\u503c\u3002",(0,a.kt)("inlineCode",{parentName:"li"},"production")," \u6a21\u5f0f\uff1a\u9ed8\u8ba4 ",(0,a.kt)("inlineCode",{parentName:"li"},"false"),"\u3002")),(0,a.kt)("h3",{id:"splitchunks-deprecated"},"splitChunks @deprecated"),(0,a.kt)("admonition",{type:"caution"},(0,a.kt)("p",{parentName:"admonition"},"\u4e0d\u518d\u5efa\u8bae\u4f7f\u7528\uff0c\u80fd\u529b\u7531 codeSplitting \u66ff\u4ee3\u3002\n\u5c0f\u7a0b\u5e8f\u7aef\u4e0d\u652f\u6301\u8be5\u914d\u7f6e\u3002")),(0,a.kt)("p",null,"\u9ed8\u8ba4\u4f1a\u6839\u636e\u6a21\u5757\u4f53\u79ef\u81ea\u52a8\u62c6\u5206 chunks\uff0c\u6709\u53ef\u80fd\u4f1a\u51fa\u73b0\u591a\u4e2a bundle\u3002\u5982\u679c\u4e0d\u5e0c\u671b\u6253\u5305\u4ea7\u7269\u51fa\u73b0\u8fc7\u591a bundle \uff0c\u53ef\u8bbe\u7f6e\u6210 ",(0,a.kt)("inlineCode",{parentName:"p"},"false"),"\u3002"),(0,a.kt)("h3",{id:"codesplitting"},"codeSplitting"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"\u7c7b\u578b\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"boolean | 'vendors' | 'page' | 'chunks' | 'page-vendors'")),(0,a.kt)("li",{parentName:"ul"},"\u9ed8\u8ba4\u503c\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"true"))),(0,a.kt)("p",null,"\u6846\u67b6\u5185\u7f6e\u4e86\u4e09\u79cd\u5206\u5305\u7b56\u7565\u5206\u522b\u4e3a ",(0,a.kt)("inlineCode",{parentName:"p"},"chunks"),"\uff08\u9ed8\u8ba4\u7b56\u7565\uff0c\u65e0\u9700\u989d\u5916\u8bbe\u7f6e\uff09\uff0c",(0,a.kt)("inlineCode",{parentName:"p"},"page")," \u548c ",(0,a.kt)("inlineCode",{parentName:"p"},"vendors"),"\u3002"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("inlineCode",{parentName:"li"},"vendors")," \u7b56\u7565\uff1a\u5c06\u5f02\u6b65 chunks \u91cc\u7684\u4e09\u65b9\u4f9d\u8d56\u7edf\u4e00\u6253\u5165\u5230 vendor.js \u4e2d\uff0c\u907f\u514d\u91cd\u590d\uff0c\u5728\u4f9d\u8d56\u4e0d\u53d8\u7684\u60c5\u51b5\u4e0b\u6709\u6548\u5229\u7528\u7f13\u5b58\u3002\u7f3a\u9677\u662f\u5982\u679c\u9879\u76ee\u8fc7\u5927\u4f1a\u5bfc\u81f4\u5355\u6587\u4ef6\u5c3a\u5bf8\u8fc7\u5927\u3002"),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("inlineCode",{parentName:"li"},"page")," \u7b56\u7565\uff1a\u6240\u6709\u8def\u7531\u7ea7\u522b\u7ec4\u4ef6\u6309\u9700\u52a0\u8f7d\uff0c\u5982\u679c\u9700\u4fdd\u7559\u539f ",(0,a.kt)("inlineCode",{parentName:"li"},"splitChunks: false")," \u7684\u6548\u679c\uff0c\u914d\u7f6e\u8be5\u7b56\u7565 \u3002"),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("inlineCode",{parentName:"li"},"page-vendors")," \u7b56\u7565\uff1a\u5728 ",(0,a.kt)("inlineCode",{parentName:"li"},"page")," \u7b56\u7565\u7684\u57fa\u7840\u4e0a\uff0c\u5c06\u5f02\u6b65 chunks \u91cc\u7684\u4e09\u65b9\u4f9d\u8d56\u7edf\u4e00\u6253\u5165\u5230 vendor.js \u4e2d\uff0c\u4ee5\u8fbe\u5230\u6709\u6548\u5229\u7528\u7f13\u5b58\u7684\u7ed3\u679c\u3002"),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("inlineCode",{parentName:"li"},"chunks")," \u7b56\u7565\uff1a\u5728\u8def\u7531\u7ea7\u522b\u7ec4\u4ef6\u6309\u9700\u52a0\u8f7d\u7684\u57fa\u7840\u4e0a\uff0c\u6839\u636e\u6a21\u5757\u4f53\u79ef\u5927\u5c0f\u81ea\u52a8\u62c6\u5206 chunks\uff0c\u4e3a\u6846\u67b6\u9ed8\u8ba4\u63a8\u8350\u7b56\u7565\u3002")),(0,a.kt)("p",null,"\u5982\u679c\u5b58\u5728\u7279\u6b8a\u573a\u666f\u671f\u671b\u5173\u95ed\u5206\u5305\u80fd\u529b\uff0c\u53ef\u4ee5\u8bbe\u7f6e\u6210 ",(0,a.kt)("inlineCode",{parentName:"p"},"false"),"\u3002"),(0,a.kt)("h3",{id:"syntaxfeatures"},"syntaxFeatures"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"\u7c7b\u578b\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"{ exportDefaultFrom: boolean; functionBind: boolean; }")),(0,a.kt)("li",{parentName:"ul"},"\u9ed8\u8ba4\u503c\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"undefined"))),(0,a.kt)("p",null,"ice.js \u5185\u7f6e\u4e86\u5927\u91cf ES \u8bed\u6cd5\u652f\u6301\uff0c\u4fbf\u4e8e\u5f00\u53d1\u8005\u8fdb\u884c\u7f16\u7801\u3002\u5bf9\u4e8e ",(0,a.kt)("a",{parentName:"p",href:"https://github.com/tc39/proposal-export-default-from"},"proposal-export-default-from")," \u548c ",(0,a.kt)("a",{parentName:"p",href:"https://github.com/tc39/proposal-bind-operator"},"proposal-bind-operator")," \u7531\u4e8e\u5176\u63d0\u6848\u8fdb\u5ea6\u8f83\u6162\uff0c\u6211\u4eec\u5e76\u4e0d\u63a8\u8350\u4f7f\u7528\u3002\u5982\u679c\u5e0c\u671b\u652f\u6301\u8be5\u8bed\u6cd5\uff0c\u53ef\u4ee5\u4e3b\u52a8\u914d\u7f6e ",(0,a.kt)("inlineCode",{parentName:"p"},"syntaxFeatures")," \u8fdb\u884c\u542f\u7528\u3002"),(0,a.kt)("h3",{id:"tschecker"},"tsChecker"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"\u7c7b\u578b\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"boolean")),(0,a.kt)("li",{parentName:"ul"},"\u9ed8\u8ba4\u503c\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"false"))),(0,a.kt)("p",null,"\u9ed8\u8ba4\u5173\u95ed TypeScript \u7c7b\u578b\u68c0\u6d4b\uff0c\u5982\u9700\u5f00\u542f\u914d\u7f6e\u4e3a ",(0,a.kt)("inlineCode",{parentName:"p"},"true")," \u5373\u53ef\u3002"),(0,a.kt)("h3",{id:"eslint"},"eslint"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"\u7c7b\u578b\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"boolean | object")),(0,a.kt)("li",{parentName:"ul"},"\u9ed8\u8ba4\u503c\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"undefined"))),(0,a.kt)("p",null,"\u914d\u7f6e\u8bf4\u660e\uff1a"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("inlineCode",{parentName:"li"},"false"),"\uff1a\u4e0d\u68c0\u6d4b eslint \u9519\u8bef"),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("inlineCode",{parentName:"li"},"true"),"\uff1a\u5c06 eslint \u9519\u8bef\u5c55\u793a\u5728\u9884\u89c8\u9875\u9762\u4e0a"),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("inlineCode",{parentName:"li"},"object"),": \u4ec5 Webpack \u6a21\u5f0f\u652f\u6301\uff0c\u8868\u73b0\u7b49\u540c\u4e8e true\uff0c\u652f\u6301\u914d\u7f6e ",(0,a.kt)("a",{parentName:"li",href:"https://github.com/webpack-contrib/eslint-webpack-plugin"},"eslint-webpack-plugin")," \u7684\u66f4\u591a\u53c2\u6570")),(0,a.kt)("h3",{id:"mock"},"mock"),(0,a.kt)("admonition",{type:"caution"},(0,a.kt)("p",{parentName:"admonition"},"\u5c0f\u7a0b\u5e8f\u7aef\u4e0d\u652f\u6301\u8be5\u914d\u7f6e\u3002")),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"\u7c7b\u578b\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"{ exclude: string[] }")),(0,a.kt)("li",{parentName:"ul"},"\u9ed8\u8ba4\u503c\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"{}"))),(0,a.kt)("p",null,"\u914d\u7f6e\u5ffd\u7565 mock \u7684\u6587\u4ef6\u3002"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-js"},'import { defineConfig } from \'@ice/app\';\n\nexport default defineConfig(() => ({\n mock: {\n // \u5ffd\u7565 mock \u76ee\u5f55\u4e2d custom \u76ee\u5f55\u4e0b\u7684\u6587\u4ef6\u4ee5\u53ca api.ts \u6587\u4ef6\n exclude: ["custom/**", "api.ts"]\n },\n}));\n')),(0,a.kt)("h3",{id:"htmlgenerating"},"htmlGenerating"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"\u7c7b\u578b\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"boolean")),(0,a.kt)("li",{parentName:"ul"},"\u9ed8\u8ba4\u503c\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"true"))),(0,a.kt)("p",null,"\u5982\u679c\u4ea7\u7269\u4e0d\u60f3\u751f\u6210 html\uff0c\u53ef\u4ee5\u8bbe\u7f6e\u4e3a ",(0,a.kt)("inlineCode",{parentName:"p"},"false"),"\uff0c\u5728 SSG \u5f00\u542f\u7684\u60c5\u51b5\u4e0b\uff0c\u5f3a\u5236\u5173\u95ed html \u751f\u6210\uff0c\u5c06\u5bfc\u81f4 SSG \u5931\u6548\u3002"),(0,a.kt)("h3",{id:"plugins"},"plugins"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"\u7c7b\u578b\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"PluginList<Config, OverwritePluginAPI>")),(0,a.kt)("li",{parentName:"ul"},"\u9ed8\u8ba4\u503c\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"[]"))),(0,a.kt)("p",null,"\u6dfb\u52a0\u63d2\u4ef6"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-js"},"import { defineConfig } from '@ice/app';\nimport customPlugin from './custom-plugin';\nimport myPlugin from '@ice/my-plugin';\n\nexport default defineConfig(() => ({\n plugins: [\n customPlugin(),\n myPlugin(),\n ],\n}));\n")),(0,a.kt)("h3",{id:"webpack"},"webpack"),(0,a.kt)("admonition",{type:"tip"},(0,a.kt)("p",{parentName:"admonition"},"ice.js \u5bf9 webpack \u6784\u5efa\u914d\u7f6e\u8fdb\u884c\u4e86\u5b9a\u5236\uff0c\u5e76\u501f\u52a9 esbuild \u7b49\u5de5\u5177\u63d0\u5347\u7528\u6237\u5f00\u53d1\u4f53\u9a8c\uff0c\u76f4\u63a5\u4fee\u6539 webpack \u914d\u7f6e\u7684\u65b9\u5f0f\u5e76\u4e0d\u63a8\u8350\u3002")),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"\u7c7b\u578b\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"(config: WebpackConfig, taskConfig: TaskConfig) => WebpackConfig")),(0,a.kt)("li",{parentName:"ul"},"\u9ed8\u8ba4\u503c\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"true"))),(0,a.kt)("p",null,"ice.js \u9ed8\u8ba4\u57fa\u4e8e webpack 5 \u8fdb\u884c\u6784\u5efa\uff0c\u5728\u4e0a\u8ff0\u63d0\u4f9b\u7684\u6784\u5efa\u914d\u7f6e\u65e0\u6cd5\u6ee1\u8db3\u7684\u60c5\u51b5\u4e0b\uff0c\u7528\u6237\u53ef\u4ee5\u5b9a\u5236 webpack \u914d\u7f6e\uff1a"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-js"},"import { defineConfig } from '@ice/app';\nimport SpeedMeasurePlugin from 'speed-measure-webpack-plugin';\n\nexport default defineConfig(() => ({\n webpack: (webpackConfig) => {\n if (process.env.NODE_ENV !== 'test') {\n // \u6dfb\u52a0 webpack \u63d2\u4ef6\n webpackConfig.plugins?.push(new SpeedMeasurePlugin());\n }\n return webpackConfig;\n },\n}));\n")),(0,a.kt)("h3",{id:"cssmodules"},"cssModules"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"\u7c7b\u578b\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"{ localIdentName: string }")),(0,a.kt)("li",{parentName:"ul"},"\u9ed8\u8ba4\u503c\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"{}"))),(0,a.kt)("p",null,"\u6784\u5efa cssModules \u65f6\uff0c\u5b9a\u5236 class \u540d\u79f0\u7684\u751f\u6210\u89c4\u5219\uff0c\u914d\u7f6e\u53c2\u8003 ",(0,a.kt)("a",{parentName:"p",href:"https://webpack.js.org/loaders/css-loader/#localidentname"},"https://webpack.js.org/loaders/css-loader/#localidentname")),(0,a.kt)("p",null,"\u4f8b\u5982\uff0c\u914d\u7f6e '","[hash:8]","' \u53ef\u4ee5\u53ea\u4fdd\u7559 hash \u503c\uff0c\u4ee5\u7cbe\u7b80 HTML \u5927\u5c0f\u53ca CSS \u6587\u4ef6\u5927\u5c0f\u3002\u9ed8\u8ba4\u60c5\u51b5 ",(0,a.kt)("inlineCode",{parentName:"p"},'className="custom-head-tab-wrap"')," \u4f1a\u88ab\u6784\u5efa\u4e3a ",(0,a.kt)("inlineCode",{parentName:"p"},'class="custom-head-tab-wrap--rAEgGaqM"'),"\uff0c\u81ea\u5b9a\u4e49\u6784\u5efa\u89c4\u5219\u540e\u540e\u6837\u5f0f\u540d\u4f1a\u88ab\u7cbe\u7b80\u4e3a ",(0,a.kt)("inlineCode",{parentName:"p"},'class="rAEgGaqM"'),"\u3002"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-js"},"import { defineConfig } from '@ice/app';\n\nexport default defineConfig(() => ({\n cssModules: {\n localIdentName: '[hash:8]'\n },\n}));\n")),(0,a.kt)("blockquote",null,(0,a.kt)("p",{parentName:"blockquote"},"\u5982\u6709\u5b9a\u5236\u9700\u6c42\u6b22\u8fce\ud83d\udc4f PR \u6216\u53cd\u9988\uff1a",(0,a.kt)("a",{parentName:"p",href:"https://github.com/alibaba/ice/issues"},"https://github.com/alibaba/ice/issues"))))}m.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunkice_website_v3=self.webpackChunkice_website_v3||[]).push([[8858],{4852:(e,n,t)=>{t.d(n,{Zo:()=>u,kt:()=>k});var l=t(9231);function a(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function i(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);n&&(l=l.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,l)}return t}function o(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?i(Object(t),!0).forEach((function(n){a(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):i(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function r(e,n){if(null==e)return{};var t,l,a=function(e,n){if(null==e)return{};var t,l,a={},i=Object.keys(e);for(l=0;l<i.length;l++)t=i[l],n.indexOf(t)>=0||(a[t]=e[t]);return a}(e,n);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(l=0;l<i.length;l++)t=i[l],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var p=l.createContext({}),s=function(e){var n=l.useContext(p),t=n;return e&&(t="function"==typeof e?e(n):o(o({},n),e)),t},u=function(e){var n=s(e.components);return l.createElement(p.Provider,{value:n},e.children)},d="mdxType",m={inlineCode:"code",wrapper:function(e){var n=e.children;return l.createElement(l.Fragment,{},n)}},c=l.forwardRef((function(e,n){var t=e.components,a=e.mdxType,i=e.originalType,p=e.parentName,u=r(e,["components","mdxType","originalType","parentName"]),d=s(t),c=a,k=d["".concat(p,".").concat(c)]||d[c]||m[c]||i;return t?l.createElement(k,o(o({ref:n},u),{},{components:t})):l.createElement(k,o({ref:n},u))}));function k(e,n){var t=arguments,a=n&&n.mdxType;if("string"==typeof e||a){var i=t.length,o=new Array(i);o[0]=c;var r={};for(var p in n)hasOwnProperty.call(n,p)&&(r[p]=n[p]);r.originalType=e,r[d]="string"==typeof e?e:a,o[1]=r;for(var s=2;s<i;s++)o[s]=t[s];return l.createElement.apply(null,o)}return l.createElement.apply(null,t)}c.displayName="MDXCreateElement"},1012:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>p,contentTitle:()=>o,default:()=>m,frontMatter:()=>i,metadata:()=>r,toc:()=>s});var l=t(5675),a=(t(9231),t(4852));const i={title:"\u6784\u5efa\u914d\u7f6e",order:14},o=void 0,r={unversionedId:"guide/basic/config",id:"guide/basic/config",title:"\u6784\u5efa\u914d\u7f6e",description:"ice.js \u652f\u6301\u5e38\u7528\u7684\u6784\u5efa\u914d\u7f6e\u9879\uff0c\u6240\u6709\u7684\u914d\u7f6e\u9879\u5728 ice.config.mts \u4e2d\u8bbe\u7f6e\u3002",source:"@site/docs/guide/basic/config.md",sourceDirName:"guide/basic",slug:"/guide/basic/config",permalink:"/docs/guide/basic/config",draft:!1,editUrl:"https://github.com/alibaba/ice/edit/master/website/docs/guide/basic/config.md",tags:[],version:"current",frontMatter:{title:"\u6784\u5efa\u914d\u7f6e",order:14},sidebar:"docs",previous:{title:"\u547d\u4ee4\u884c CLI",permalink:"/docs/guide/basic/cli"},next:{title:"API",permalink:"/docs/guide/basic/api"}},p={},s=[{value:"\u914d\u7f6e\u6587\u4ef6",id:"\u914d\u7f6e\u6587\u4ef6",level:2},{value:"\u6784\u5efa\u914d\u7f6e\u6587\u4ef6",id:"\u6784\u5efa\u914d\u7f6e\u6587\u4ef6",level:3},{value:"\u517c\u5bb9\u6027\u914d\u7f6e",id:"\u517c\u5bb9\u6027\u914d\u7f6e",level:3},{value:"\u914d\u7f6e\u9879",id:"\u914d\u7f6e\u9879",level:2},{value:"alias",id:"alias",level:3},{value:"crossOriginLoading",id:"crossoriginloading",level:3},{value:"define",id:"define",level:3},{value:"dataLoader",id:"dataloader",level:3},{value:"publicPath",id:"publicpath",level:3},{value:"devPublicPath",id:"devpublicpath",level:3},{value:"hash",id:"hash",level:3},{value:"externals",id:"externals",level:3},{value:"outputDir",id:"outputdir",level:3},{value:"proxy",id:"proxy",level:3},{value:"minify",id:"minify",level:3},{value:"dropLogLevel",id:"droploglevel",level:3},{value:"compileDependencies",id:"compiledependencies",level:3},{value:"postcss",id:"postcss",level:3},{value:"polyfill",id:"polyfill",level:3},{value:"transform",id:"transform",level:3},{value:"ssr",id:"ssr",level:3},{value:"ssg",id:"ssg",level:3},{value:"server",id:"server",level:3},{value:"routes",id:"routes",level:3},{value:"ignoreFiles",id:"ignorefiles",level:4},{value:"defineRoutes",id:"defineroutes",level:4},{value:"config",id:"config",level:4},{value:"sourceMap",id:"sourcemap",level:3},{value:"splitChunks @deprecated",id:"splitchunks-deprecated",level:3},{value:"codeSplitting",id:"codesplitting",level:3},{value:"syntaxFeatures",id:"syntaxfeatures",level:3},{value:"tsChecker",id:"tschecker",level:3},{value:"eslint",id:"eslint",level:3},{value:"mock",id:"mock",level:3},{value:"htmlGenerating",id:"htmlgenerating",level:3},{value:"plugins",id:"plugins",level:3},{value:"webpack",id:"webpack",level:3},{value:"cssModules",id:"cssmodules",level:3}],u={toc:s},d="wrapper";function m(e){let{components:n,...t}=e;return(0,a.kt)(d,(0,l.Z)({},u,t,{components:n,mdxType:"MDXLayout"}),(0,a.kt)("p",null,"ice.js \u652f\u6301\u5e38\u7528\u7684\u6784\u5efa\u914d\u7f6e\u9879\uff0c\u6240\u6709\u7684\u914d\u7f6e\u9879\u5728 ",(0,a.kt)("inlineCode",{parentName:"p"},"ice.config.mts")," \u4e2d\u8bbe\u7f6e\u3002"),(0,a.kt)("h2",{id:"\u914d\u7f6e\u6587\u4ef6"},"\u914d\u7f6e\u6587\u4ef6"),(0,a.kt)("h3",{id:"\u6784\u5efa\u914d\u7f6e\u6587\u4ef6"},"\u6784\u5efa\u914d\u7f6e\u6587\u4ef6"),(0,a.kt)("p",null,"\u4e3a\u4e86\u83b7\u53d6\u826f\u597d\u7684\u7c7b\u578b\u63d0\u793a\uff0cice.js \u63a8\u8350\u4ee5 ",(0,a.kt)("inlineCode",{parentName:"p"},"ice.config.mts")," \u4f5c\u4e3a\u914d\u7f6e\u6587\u4ef6\uff1a"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-js"},"import { defineConfig } from '@ice/app';\n\nexport default defineConfig(() => ({\n publicPath: '/',\n}));\n")),(0,a.kt)("h3",{id:"\u517c\u5bb9\u6027\u914d\u7f6e"},"\u517c\u5bb9\u6027\u914d\u7f6e"),(0,a.kt)("p",null,"\u6784\u5efa\u7684\u517c\u5bb9\u6027\u914d\u7f6e\u63a8\u8350\u914d\u7f6e\u5728 ",(0,a.kt)("inlineCode",{parentName:"p"},".browserslistrc")," \u6587\u4ef6\u4e2d\uff1a"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-js"},"chrome 55\n")),(0,a.kt)("p",null,"\u66f4\u591a\u914d\u7f6e\u8bf7\u53c2\u8003 ",(0,a.kt)("a",{parentName:"p",href:"https://github.com/browserslist/browserslist#readme"},"browserslist \u6587\u6863")),(0,a.kt)("h2",{id:"\u914d\u7f6e\u9879"},"\u914d\u7f6e\u9879"),(0,a.kt)("h3",{id:"alias"},"alias"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"\u7c7b\u578b\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"Record<string, string | false>")),(0,a.kt)("li",{parentName:"ul"},"\u9ed8\u8ba4\u503c\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},'{ "@": "./src/" }'))),(0,a.kt)("p",null,"\u5728 ice.js \u9ed8\u8ba4\u5185\u7f6e\u5e38\u7528\u7684 alias \u89c4\u5219\uff0c\u56e0\u6b64\u9879\u76ee\u5927\u591a\u6570\u65f6\u5019\u4e0d\u9700\u8981\u914d\u7f6e\u5373\u53ef\u66f4\u52a0\u7b80\u5355\u7684\u5bfc\u5165\u6a21\u5757\u4e86\uff1a"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-diff"},"-import CustomTips from '../../../components/CustomTips';\n+import CustomTips from '@/components/CustomTips';\n")),(0,a.kt)("p",null,"\u5982\u679c\u9700\u8981\u914d\u7f6e\u522b\u540d\u5bf9 import \u8def\u5f84\u8fdb\u884c\u6620\u5c04\uff1a"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-js"},"import { defineConfig } from '@ice/app';\n\nexport default defineConfig(() => ({\n alias: {\n pages: './src/pages',\n },\n}));\n")),(0,a.kt)("h3",{id:"crossoriginloading"},"crossOriginLoading"),(0,a.kt)("admonition",{type:"caution"},(0,a.kt)("p",{parentName:"admonition"},"\u5c0f\u7a0b\u5e8f\u7aef\u4e0d\u652f\u6301\u8be5\u914d\u7f6e\u3002")),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"\u7c7b\u578b\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"false | 'anonymous' | 'use-credentials'")),(0,a.kt)("li",{parentName:"ul"},"\u9ed8\u8ba4\u503c\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"false"))),(0,a.kt)("p",null,"\u914d\u7f6e"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-js"},"import { defineConfig } from '@ice/app';\n\nexport default defineConfig(() => ({\n crossOriginLoading: 'anonymous'\n}));\n")),(0,a.kt)("p",null,"\u6307\u5b9a webpack \u542f\u7528 ",(0,a.kt)("a",{parentName:"p",href:"https://webpack.js.org/configuration/output/#outputcrossoriginloading"},"cross-origin")," \u53bb\u52a0\u8f7d chunk\u3002"),(0,a.kt)("h3",{id:"define"},"define"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"\u7c7b\u578b\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"Record<string, string | boolean>")),(0,a.kt)("li",{parentName:"ul"},"\u9ed8\u8ba4\u503c\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"{ 'process.env.NODE_ENV': 'development' | 'production'; 'import.meta.renderer': 'client' | 'server'; 'import.meta.target': string; }"))),(0,a.kt)("p",null,"\u5728\u7f16\u8bd1\u65f6\u5c06\u4ee3\u7801\u4e2d\u7684\u5168\u5c40\u53d8\u91cf\u66ff\u6362\u6210\u5176\u4ed6\u503c\u6216\u8005\u8868\u8fbe\u5f0f\u3002\u4e00\u822c\u7528\u4e8e\u533a\u5206\u4e0d\u540c\u73af\u5883\u4ee5\u6267\u884c\u4e0d\u540c\u4ee3\u7801\u903b\u8f91\u3002"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-js"},"import { defineConfig } from '@ice/app';\n\nexport default defineConfig(() => ({\n define: {\n ASSETS_VERSION: JSON.stringify('0.1.0'),\n AGE: '11',\n },\n}));\n")),(0,a.kt)("p",null,"\u5728\u4ee3\u7801\u4e2d\u76f4\u63a5\u4f7f\u7528\u5bf9\u5e94\u5b9a\u4e49\u7684\u53d8\u91cf\uff1a"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-js"},"console.log(ASSETS_VERSION);\n// \u6700\u7ec8\u4f1a\u88ab\u7f16\u8bd1\u6210\uff1a\n// console.log('0.1.0');\n\nconsole.log(AGE);\n// \u6700\u7ec8\u4f1a\u88ab\u7f16\u8bd1\u6210\uff1a\n// console.log(11);\n")),(0,a.kt)("p",null,"\u6ce8\u610f\uff0c\u5728\u7f16\u8bd1\u65f6\uff0c\u5c06\u4f1a\u5bf9\u4f60\u8bbe\u7f6e\u7684 ",(0,a.kt)("inlineCode",{parentName:"p"},"define")," \u66ff\u6362\u503c\u8fdb\u884c\u7c7b\u4f3c\u5b57\u7b26\u4e32\u62fc\u63a5\u7684\u65b9\u5f0f\u751f\u6210\u65b0\u7684\u4ee3\u7801\u3002\u56e0\u6b64\uff1a"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"\u5bf9\u4e8e\u5f15\u7528\u6570\u636e\u7c7b\u578b\uff08",(0,a.kt)("inlineCode",{parentName:"li"},"function")," \u548c ",(0,a.kt)("inlineCode",{parentName:"li"},"object"),"\uff09\uff0c\u9700\u8981\u4f7f\u7528 ",(0,a.kt)("inlineCode",{parentName:"li"},"JSON.stringify()")," \u65b9\u6cd5\u5904\u7406"),(0,a.kt)("li",{parentName:"ul"},"\u5bf9\u4e8e\u8981\u66ff\u6362\u7684\u5168\u5c40\u53d8\u91cf\u662f\u5b57\u7b26\u4e32\u65f6\uff0c\u9700\u8981\u4f7f\u7528 ",(0,a.kt)("inlineCode",{parentName:"li"},"JSON.stringify()")," \u65b9\u6cd5\u5904\u7406\u6216\u8005\u591a\u6dfb\u52a0\u4e00\u5bf9\u5f15\u53f7\uff08\u5982 ",(0,a.kt)("inlineCode",{parentName:"li"},"\"'hello world'\""),"\uff09\uff0c\u5426\u5219\u5c31\u662f\u4e00\u4e2a\u6807\u8bc6\u7b26\uff0c\u6709\u53ef\u80fd\u8ddf\u9884\u671f\u7ed3\u679c\u4e0d\u4e00\u81f4\u7684\u60c5\u51b5")),(0,a.kt)("p",null,"\u5bf9\u4e8e\u8fd0\u884c\u65f6\u53d8\u91cf\uff0cice.js \u66f4\u52a0\u63a8\u8350\u901a\u8fc7",(0,a.kt)("a",{parentName:"p",href:"/docs/guide/basic/env"},"\u73af\u5883\u53d8\u91cf"),"\u7684\u65b9\u5f0f\u6ce8\u5165\u3002"),(0,a.kt)("h3",{id:"dataloader"},"dataLoader"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"\u7c7b\u578b\uff1a ",(0,a.kt)("inlineCode",{parentName:"li"},"boolean | { fetcher: { packageName: string; method: string } }")),(0,a.kt)("li",{parentName:"ul"},"\u9ed8\u8ba4\u503c ",(0,a.kt)("inlineCode",{parentName:"li"},"true"))),(0,a.kt)("p",null,"\u662f\u5426\u542f\u7528\u5185\u7f6e\u7684\u6570\u636e\u9884\u52a0\u8f7d\u80fd\u529b\u4ee5\u53ca\u81ea\u5b9a\u4e49\u53d1\u9001\u8005\uff08fetcher\uff09\u3002"),(0,a.kt)("h3",{id:"publicpath"},"publicPath"),(0,a.kt)("admonition",{type:"caution"},(0,a.kt)("p",{parentName:"admonition"},"\u5c0f\u7a0b\u5e8f\u7aef\u4e0d\u652f\u6301\u8be5\u914d\u7f6e\u3002")),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"\u7c7b\u578b\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"string")),(0,a.kt)("li",{parentName:"ul"},"\u9ed8\u8ba4\u503c\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"/"))),(0,a.kt)("p",null,"\u914d\u7f6e Webpack \u7684 ",(0,a.kt)("a",{parentName:"p",href:"https://webpack.js.org/configuration/output/#output-publicpath"},"output.publicPath")," \u5c5e\u6027\uff0c\u4ec5\u5728\u8fd0\u884c build \u547d\u4ee4\u65f6\u751f\u6548\u3002"),(0,a.kt)("h3",{id:"devpublicpath"},"devPublicPath"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"\u7c7b\u578b\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"string")),(0,a.kt)("li",{parentName:"ul"},"\u9ed8\u8ba4\u503c\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"/"))),(0,a.kt)("p",null,"\u540c publicPath \u4ec5\u5728\u6267\u884c start \u65f6\u751f\u6548\u3002"),(0,a.kt)("h3",{id:"hash"},"hash"),(0,a.kt)("admonition",{type:"caution"},(0,a.kt)("p",{parentName:"admonition"},"\u5c0f\u7a0b\u5e8f\u7aef\u4e0d\u652f\u6301\u8be5\u914d\u7f6e\u3002")),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"\u7c7b\u578b\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"boolean | string")),(0,a.kt)("li",{parentName:"ul"},"\u9ed8\u8ba4\u503c\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"false"))),(0,a.kt)("p",null,"\u5982\u679c\u5e0c\u671b\u6784\u5efa\u540e\u7684\u8d44\u6e90\u5e26 hash \u7248\u672c\uff0c\u53ef\u4ee5\u5c06 hash \u8bbe\u7f6e\u4e3a ",(0,a.kt)("inlineCode",{parentName:"p"},"true"),"\uff0c\u4e5f\u53ef\u4ee5\u8bbe\u7f6e\u4e3a ",(0,a.kt)("inlineCode",{parentName:"p"},"contenthash")," \u6309\u6587\u4ef6\u5185\u5bb9\u751f\u6210 hash \u503c\uff1a"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-js"},"import { defineConfig } from '@ice/app';\n\nexport default defineConfig(() => ({\n hash: 'contenthash',\n}));\n")),(0,a.kt)("h3",{id:"externals"},"externals"),(0,a.kt)("admonition",{type:"caution"},(0,a.kt)("p",{parentName:"admonition"},"\u5c0f\u7a0b\u5e8f\u7aef\u4e0d\u652f\u6301\u8be5\u914d\u7f6e\u3002")),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"\u7c7b\u578b\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"Record<string, string>")),(0,a.kt)("li",{parentName:"ul"},"\u9ed8\u8ba4\u503c\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"{}"))),(0,a.kt)("p",null,"\u8bbe\u7f6e\u54ea\u4e9b\u6a21\u5757\u4e0d\u6253\u5305\uff0c\u8f6c\u800c\u901a\u8fc7 ",(0,a.kt)("inlineCode",{parentName:"p"},"<script>")," \u6216\u5176\u4ed6\u65b9\u5f0f\u5f15\u5165\uff0c\u6bd4\u5982\uff1a"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-js"},"import { defineConfig } from '@ice/app';\n\nexport default defineConfig(() => ({\n externals: {\n react: 'React',\n 'react-dom': 'ReactDOM',\n },\n}));\n")),(0,a.kt)("p",null,"\u5bf9\u5e94\u5728 ",(0,a.kt)("inlineCode",{parentName:"p"},"document.ts")," \u6216\u8005\u9875\u9762\u6a21\u7248\u91cc\u6dfb\u52a0 CDN \u6587\u4ef6\uff1a"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-diff"},'import { Main, Scripts } from \'ice\';\n\nfunction Document() {\n return (\n <html lang="en">\n <body> \n <Main />\n+ <script crossOrigin="" src="https://unpkg.com/react@18/umd/react.production.min.js"><\/script>\n+ <script crossOrigin="" src="https://unpkg.com/react-dom@18/umd/react-dom.production.min.js"><\/script>\n <Scripts />\n </body>\n </html>\n );\n}\n\nexport default Document;\n')),(0,a.kt)("h3",{id:"outputdir"},"outputDir"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"\u7c7b\u578b\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"string")),(0,a.kt)("li",{parentName:"ul"},"\u9ed8\u8ba4\u503c\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"build"))),(0,a.kt)("p",null,"\u6784\u5efa\u4ea7\u7269\u8f93\u51fa\u76ee\u5f55\uff0c\u9ed8\u8ba4\u4e3a ",(0,a.kt)("inlineCode",{parentName:"p"},"build")," \u76ee\u5f55"),(0,a.kt)("h3",{id:"proxy"},"proxy"),(0,a.kt)("admonition",{type:"caution"},(0,a.kt)("p",{parentName:"admonition"},"\u5c0f\u7a0b\u5e8f\u7aef\u4e0d\u652f\u6301\u8be5\u914d\u7f6e\u3002")),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"\u7c7b\u578b\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"object")),(0,a.kt)("li",{parentName:"ul"},"\u9ed8\u8ba4\u503c\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"{}"))),(0,a.kt)("p",null,"\u914d\u7f6e dev \u5f00\u53d1\u9636\u6bb5\u7684\u4ee3\u7406\u529f\u80fd\u3002\u914d\u7f6e\u9879\u4e0e Webpack ",(0,a.kt)("a",{parentName:"p",href:"https://webpack.js.org/configuration/dev-server/#devserverproxy"},"devServer.proxy")," \u4fdd\u6301\u4e00\u81f4\u3002"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-js"},"import { defineConfig } from '@ice/app';\n\nexport default defineConfig(() => ({\n proxy: {\n '/api': {\n target: 'http://jsonplaceholder.typicode.com/',\n changeOrigin: true,\n pathRewrite: { '^/api' : '' },\n },\n },\n}));\n")),(0,a.kt)("h3",{id:"minify"},"minify"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"\u7c7b\u578b\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"boolean")),(0,a.kt)("li",{parentName:"ul"},"\u9ed8\u8ba4\u503c\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"true"))),(0,a.kt)("p",null,"\u538b\u7f29\u4ea7\u7269\uff0c\u76ee\u524d\u9ed8\u8ba4\u4ec5\u5728 build \u9636\u6bb5\u751f\u6548"),(0,a.kt)("h3",{id:"droploglevel"},"dropLogLevel"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"\u7c7b\u578b\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"boolean | DropType[] | DropType")),(0,a.kt)("li",{parentName:"ul"},"\u9ed8\u8ba4\u503c\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"false"),"\uff0c\u4e0d\u79fb\u9664\u4efb\u4f55 console \u4ee3\u7801")),(0,a.kt)("p",null,"\u538b\u7f29\u4ee3\u7801\u65f6\u79fb\u9664 console.",(0,a.kt)("em",{parentName:"p"}," \u76f8\u5173\u4ee3\u7801\uff0c\u914d\u7f6e\u4e3atrue\u65f6\uff0c\u79fb\u9664\u6240\u6709console."),"\u76f8\u5173\u4ee3\u7801\u3002\u5f53\u60f3\u79fb\u9664\u90e8\u5206console\u4ee3\u7801\uff0c\u4f8b\u5982\u60f3\u8981\u79fb\u9664console.log\u548cconsole.error\u65f6\uff0c\u53ef\u4ee5\u914d\u7f6e\u4e3a"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-js"},"import { defineConfig } from '@ice/app';\n\nexport default defineConfig(() => ({\n dropLog: ['error', 'log'],\n}));\n")),(0,a.kt)("p",null,"\u4e5f\u53ef\u4ee5\u6839\u636econsole\u7b49\u7ea7\u6765\u8fdb\u884c\u79fb\u9664"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-js"},"// console \u7b49\u7ea7\u4e3a trace < debug < log < info < warn < error\n// \u4f8b\u5982\u60f3\u8981\u79fb\u9664trace\u3001debug\u3001log\u65f6\u53ef\u4ee5\u50cf\u4e0b\u9762\u8fd9\u6837\u914d\u7f6e\nimport { defineConfig } from '@ice/app';\n\nexport default defineConfig(() => ({\n dropLog: 'log',\n}));\n")),(0,a.kt)("h3",{id:"compiledependencies"},"compileDependencies"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"\u7c7b\u578b\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"array | boolean")),(0,a.kt)("li",{parentName:"ul"},"\u9ed8\u8ba4\u503c\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"[]"))),(0,a.kt)("p",null,"\u9ed8\u8ba4\u60c5\u51b5\u4e0b\u4e3a\u4e86\u4fdd\u8bc1 dev \u5f00\u53d1\u9636\u6bb5\u7684\u4f53\u9a8c\uff0c",(0,a.kt)("inlineCode",{parentName:"p"},"node_modules")," \u4e0b\u6587\u4ef6\u4e0d\u4f1a\u8fdb\u884c\u7f16\u8bd1\uff0c\u800c\u8003\u8651\u5230 build \u9636\u6bb5\u5bf9\u4ee3\u7801\u4f53\u79ef\u7684\u6781\u81f4\u4f18\u5316\u4ee5\u53ca\u517c\u5bb9\u6027\u4fdd\u8bc1\uff0c\u5c06\u4f1a\u5bf9 ",(0,a.kt)("inlineCode",{parentName:"p"},"node_modules")," \u4e0b\u5185\u5bb9\u4e5f\u8fdb\u884c\u7f16\u8bd1\u3002"),(0,a.kt)("p",null,"\u5982\u679c dev \u9636\u6bb5\u9700\u8981\u989d\u5916\u7f16\u8bd1\u4e00\u4e9b\u4f9d\u8d56\uff0cbuild \u9636\u6bb5\u4e0b\u4ecd\u7136\u5168\u91cf\u7f16\u8bd1\uff0c\u53ef\u4ee5\u53c2\u8003\u4e0b\u9762\u7684\u65b9\u5f0f\u5728 dev \u9636\u6bb5\u901a\u8fc7\u6b63\u5219\u8ffd\u52a0\u4e00\u4e9b\u914d\u7f6e\uff1a"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-js"},"import { defineConfig } from '@ice/app';\n\nexport default defineConfig(() => ({\n compileDependencies: process.env.NODE_ENV === 'development' ? [/@alifd\\/next/, /need-compile/] : true,\n}));\n")),(0,a.kt)("admonition",{type:"caution"},(0,a.kt)("p",{parentName:"admonition"},"\u5982\u679c build \u9636\u6bb5\u4ecd\u7136\u9700\u8981\u5168\u91cf\u7f16\u8bd1\uff0c\u8bf7\u52a1\u5fc5\u589e\u52a0\u73af\u5883\u5224\u65ad")),(0,a.kt)("p",null,"\u5982\u679c\u5e0c\u671b dev \u548c build \u9636\u6bb5\u5747\u7f16\u8bd1 ",(0,a.kt)("inlineCode",{parentName:"p"},"node_modules"),"\uff0c\u53ef\u4ee5\u8bbe\u7f6e\u4e3a ",(0,a.kt)("inlineCode",{parentName:"p"},"true")),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-js"},"import { defineConfig } from '@ice/app';\n\nexport default defineConfig(() => ({\n compileDependencies: true,\n}));\n")),(0,a.kt)("p",null,"\u5982\u679c\u660e\u786e\u77e5\u9053\u54ea\u4e9b\u4f9d\u8d56\u9700\u8981\u8fdb\u884c\u7f16\u8bd1\u4e5f\u53ef\u4ee5\u901a\u8fc7\u6b63\u5219\u65b9\u5f0f\u8fdb\u884c\u8bbe\u7f6e\uff1a\uff08\u5bf9 dev \u548c build \u540c\u65f6\u751f\u6548\uff09"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-js"},"import { defineConfig } from '@ice/app';\n\nexport default defineConfig(() => ({\n compileDependencies: [/@alifd\\/next/, /need-compile/],\n}));\n")),(0,a.kt)("h3",{id:"postcss"},"postcss"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"\u7c7b\u578b\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"ProcessOptions & { plugins?: (string | [string, Record<string, any>?])[] };")),(0,a.kt)("li",{parentName:"ul"},"\u9ed8\u8ba4\u503c\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"{}"))),(0,a.kt)("p",null,"\u7528\u4e8e\u6dfb\u52a0 postcss \u81ea\u5b9a\u4e49\u914d\u7f6e\u3002\u793a\u4f8b\u5982\u4e0b\uff1a"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-ts"},"import { defineConfig } from '@ice/app';\n\nexport default defineConfig(() => ({\n postcss: {\n plugins: [\n 'postcss-px-to-viewport-8-plugin',\n {\n // ...\n },\n ],\n syntax: 'sugarss',\n }\n}));\n")),(0,a.kt)("p",null,"ice.js \u5185\u7f6e\u7684 postcss \u914d\u7f6e\u662f\uff1a"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-json"},'{\n "plugins": [\n ["postcss-nested"],\n ["postcss-preset-env", {\n "stage": 3,\n "autoprefixer": {\n "flexbox": "no-2009",\n },\n "features": {\n "custom-properties": false,\n },\n }],\n ["postcss-plugin-rpx2vw"],\n ],\n}\n')),(0,a.kt)("p",null,"\u5982\u679c\u9700\u8981\u5b8c\u5168\u91cd\u5199 postcss \u914d\u7f6e\u6216\u4fee\u6539\u5185\u7f6e\u7684 postcss \u914d\u7f6e\uff0c\u9700\u8981\u5728\u9879\u76ee\u6839\u76ee\u5f55\u4e0b\u65b0\u589e ",(0,a.kt)("inlineCode",{parentName:"p"},"postcss.config.js")," \u6587\u4ef6\u5e76\u52a0\u5165\u914d\u7f6e\uff0c\u5de5\u7a0b\u4e0a\u4f1a\u6e05\u7a7a\u5185\u7f6e\u7684 postcss \u914d\u7f6e\u3002"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-js",metastring:'title="postcss.config.js"',title:'"postcss.config.js"'},"module.exports = {\n plugins: [\n [\n 'postcss-preset-env',\n // \u4fee\u6539 postcss-preset-env \u7684\u9009\u9879\n {\n stage: 2,\n }\n ]\n ],\n}\n")),(0,a.kt)("h3",{id:"polyfill"},"polyfill"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"\u7c7b\u578b\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"'usage' | 'entry' | false")),(0,a.kt)("li",{parentName:"ul"},"\u9ed8\u8ba4\u503c\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"false"))),(0,a.kt)("p",null,"\u6846\u67b6\u63d0\u4f9b\u4e86\u591a\u79cd polyfill \u7684\u65b9\u5f0f\uff0c\u5f00\u53d1\u8005\u53ef\u4ee5\u6309\u5b9e\u9645\u60c5\u51b5\u9009\u62e9\u5bf9\u5e94\u7684\u8bbe\u7f6e\uff1a"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("inlineCode",{parentName:"li"},"usage")," \u6309\u5f00\u53d1\u8005\u4f7f\u7528\u7684\u8bed\u6cd5\u81ea\u52a8\u5f15\u5165\u5bf9\u5e94\u7684 ",(0,a.kt)("inlineCode",{parentName:"li"},"polyfill"),"\uff0c\u9002\u7528\u4e8e ",(0,a.kt)("inlineCode",{parentName:"li"},"node_modules")," \u4e5f\u8fdb\u884c\u7f16\u8bd1\u7684\u573a\u666f\uff08\u4e00\u5b9a\u7a0b\u5ea6\u4e0a\u5f71\u54cd\u7f16\u8bd1\u6548\u7387\u4ee5\u53ca\u4e09\u65b9\u4f9d\u8d56\u4e8c\u6b21\u7f16\u8bd1\u9020\u6210\u7684\u4ee3\u7801\u5197\u4f59\uff09"),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("inlineCode",{parentName:"li"},"entry")," \u81ea\u52a8\u5f15\u5165 browser\uff08\u6d4f\u89c8\u5668\uff09\u9700\u8981\u517c\u5bb9\u7684 ",(0,a.kt)("inlineCode",{parentName:"li"},"polyfill"),"\uff0c\u9002\u7528\u4e8e ",(0,a.kt)("inlineCode",{parentName:"li"},"node_modules")," \u4f9d\u8d56\u4e0d\u8fdb\u884c\u7f16\u8bd1\u7684\u573a\u666f\uff08\u53ef\u80fd\u5b58\u5728\u5927\u91cf\u672a\u88ab\u4f7f\u7528\u7684 ",(0,a.kt)("inlineCode",{parentName:"li"},"polyfill")," \u88ab\u5f15\u5165\uff09")),(0,a.kt)("blockquote",null,(0,a.kt)("p",{parentName:"blockquote"},"\u5982\u679c\u9762\u5411\u73b0\u4ee3\u6d4f\u89c8\u5668\u8fdb\u884c\u5f00\u53d1\uff0c\u5927\u91cf ES \u8bed\u6cd5\u5747\u4e0d\u9700\u8981\u5f15\u5165 Polyfill\uff0c\u6211\u4eec\u63a8\u8350\u4e0d\u5f00\u542f ",(0,a.kt)("inlineCode",{parentName:"p"},"polyfill")," \u914d\u7f6e\u3002\u5982\u679c\u4f60\u7684\u4ee3\u7801\u6216\u8005\u4e09\u65b9\u4f9d\u8d56\u8981\u6c42\u517c\u5bb9\u5230 IE 11 \u7b49\u6d4f\u89c8\u5668\uff0c\u53ef\u4ee5\u9009\u62e9\u4e3b\u52a8\u5f15\u5165\u6307\u5b9a\u8bed\u6cd5\u7684 polyfill \u6216\u8005\u5f00\u542f ",(0,a.kt)("inlineCode",{parentName:"p"},"polyfill")," \u914d\u7f6e\u3002")),(0,a.kt)("h3",{id:"transform"},"transform"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"\u7c7b\u578b\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"(code:string, id: string) => string | {code: string; map?: SourceMap | null;}")),(0,a.kt)("li",{parentName:"ul"},"\u9ed8\u8ba4\u503c\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"undefined"))),(0,a.kt)("p",null,"\u901a\u8fc7 ",(0,a.kt)("inlineCode",{parentName:"p"},"transform")," \u914d\u7f6e\u5b9e\u73b0\u4ee3\u7801\u7684\u8f6c\u5316\uff1a"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-js"},"import { defineConfig } from '@ice/app';\nimport { transformSync } from '@babel/core';\n\nexport default defineConfig(() => ({\n transform: (originalCode, id) => {\n if (!id.includes('node_modules')) {\n // \u501f\u52a9 babel \u7f16\u8bd1\n const { code, map } = transformSync(originalCode, {\n plugins: ['transform-decorators-legacy'],\n });\n return { code, map };\n }\n },\n}));\n")),(0,a.kt)("blockquote",null,(0,a.kt)("p",{parentName:"blockquote"},"ice.js \u5185\u7f6e\u901a\u8fc7 ",(0,a.kt)("inlineCode",{parentName:"p"},"swc")," \u63d0\u5347\u7f16\u8bd1\u4f53\u9a8c\uff0c\u5982\u679c\u5728 ",(0,a.kt)("inlineCode",{parentName:"p"},"transform")," \u914d\u7f6e\u4e0a\u8fc7\u591a\u4f9d\u8d56 babel \u7b49\u5de5\u5177\u5c06\u53ef\u4ee5\u80fd\u9020\u6210\u7f16\u8bd1\u6027\u80fd\u74f6\u9888")),(0,a.kt)("h3",{id:"ssr"},"ssr"),(0,a.kt)("admonition",{type:"caution"},(0,a.kt)("p",{parentName:"admonition"},"\u5c0f\u7a0b\u5e8f\u7aef\u4e0d\u652f\u6301\u8be5\u914d\u7f6e\u3002")),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"\u7c7b\u578b\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"boolean")),(0,a.kt)("li",{parentName:"ul"},"\u9ed8\u8ba4\u503c\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"false"))),(0,a.kt)("p",null,"\u662f\u5426\u5f00\u542f SSR \u80fd\u529b\uff0c\u66f4\u591a SSR \u76f8\u5173\u5185\u5bb9\u53c2\u8003 ",(0,a.kt)("a",{parentName:"p",href:"./ssr"},"SSR \u6587\u6863"),"\u3002"),(0,a.kt)("h3",{id:"ssg"},"ssg"),(0,a.kt)("admonition",{type:"caution"},(0,a.kt)("p",{parentName:"admonition"},"\u5c0f\u7a0b\u5e8f\u7aef\u4e0d\u652f\u6301\u8be5\u914d\u7f6e\u3002")),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"\u7c7b\u578b\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"boolean")),(0,a.kt)("li",{parentName:"ul"},"\u9ed8\u8ba4\u503c\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"true"))),(0,a.kt)("p",null,"\u662f\u5426\u5f00\u542f SSG \u80fd\u529b\uff0c\u66f4\u591a SSG \u76f8\u5173\u5185\u5bb9\u53c2\u8003 ",(0,a.kt)("a",{parentName:"p",href:"./ssg"},"SSG \u6587\u6863"),"\u3002"),(0,a.kt)("h3",{id:"server"},"server"),(0,a.kt)("admonition",{type:"caution"},(0,a.kt)("p",{parentName:"admonition"},"\u5c0f\u7a0b\u5e8f\u7aef\u4e0d\u652f\u6301\u8be5\u914d\u7f6e\u3002")),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"\u7c7b\u578b\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"{ format: 'esm' | 'cjs'; bundle: boolean; ignores: IgnorePattern[]; externals: string[]; onDemand: boolean; }")),(0,a.kt)("li",{parentName:"ul"},"\u9ed8\u8ba4\u503c\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"{ format: 'esm', bundle: false, ignores: [], externals: [], onDemand: false }"))),(0,a.kt)("p",null,"SSR / SSG \u4ea7\u7269\u6807\u51c6\uff0c\u63a8\u8350\u4ee5 ESM \u6807\u51c6\u8fdb\u884c\u6267\u884c\uff0c\u5982\u679c\u5e0c\u671b\u6253\u5305\u6210\u4e00\u4e2a cjs \u6a21\u5757\uff0c\u53ef\u4ee5\u8fdb\u884c\u5982\u4e0b\u8bbe\u7f6e\uff1a"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-js"},"import { defineConfig } from '@ice/app';\n\nexport default defineConfig(() => ({\n server: {\n format: 'cjs',\n bundle: true,\n },\n}));\n")),(0,a.kt)("p",null,"\u53ef\u4ee5\u901a\u8fc7 ",(0,a.kt)("inlineCode",{parentName:"p"},"ignores")," \u53c2\u6570\uff0c\u4e3a SSR / SSG \u4ea7\u7269\u8fc7\u6ee4\u6307\u5b9a\u6587\u4ef6\uff1a"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-js"},"import { defineConfig } from '@ice/app';\n\nexport default defineConfig(() => ({\n server: {\n ignores: [{\n resourceRegExp: /^\\.\\/locale$/,\n contextRegExp: /moment$/,\n }]\n },\n}));\n")),(0,a.kt)("p",null,"\u5176\u4e2d\uff1a"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"resourceRegExp \u5bf9\u5e94\u6587\u4ef6\u7684\u5339\u914d\u8def\u5f84"),(0,a.kt)("li",{parentName:"ul"},"contextRegExp \uff08\u53ef\u9009\uff09\u5bf9\u5e94\u6587\u4ef6\u5185\u5bb9\u7684\u5339\u914d\u89c4\u5219")),(0,a.kt)("p",null,"\u901a\u8fc7 ",(0,a.kt)("inlineCode",{parentName:"p"},"externals")," \u53c2\u6570\uff0c\u53ef\u4ee5\u5728\u6784\u5efa Server \u7aef\u4ea7\u7269\u65f6 external \u6307\u5b9a\u5185\u5bb9\uff1a"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-js"},"import { defineConfig } from '@ice/app';\n\nexport default defineConfig(() => ({\n server: {\n externals: ['react', 'react-dom']\n },\n}));\n")),(0,a.kt)("p",null,"\u901a\u8fc7 ",(0,a.kt)("inlineCode",{parentName:"p"},"onDemand")," \u53c2\u6570\uff0c\u53ef\u4ee5\u5728\u6267\u884c Server \u7aef\u4ea7\u7269\u65f6\uff0c\u6309\u9700\u6784\u5efa\u6240\u9700\u7684\u95ee\u9898\uff0c\u5e76\u4e14\u63d0\u4f9b\u4f53\u9a8c\u826f\u597d\u7684\u6a21\u5757\u70ed\u66f4\u65b0\u670d\u52a1\uff1a"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-js"},"import { defineConfig } from '@ice/app';\n\nexport default defineConfig(() => ({\n server: {\n onDemand: true,\n format: 'esm',\n },\n}));\n")),(0,a.kt)("h3",{id:"routes"},"routes"),(0,a.kt)("admonition",{type:"caution"},(0,a.kt)("p",{parentName:"admonition"},"\u5c0f\u7a0b\u5e8f\u7aef\u4e0d\u652f\u6301\u8be5\u914d\u7f6e\u3002")),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"\u7c7b\u578b\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"{ ignoreFiles: string[]; defineRoutes: (route: DefineRouteFunction) => void }")),(0,a.kt)("li",{parentName:"ul"},"\u9ed8\u8ba4\u503c\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"{}"))),(0,a.kt)("h4",{id:"ignorefiles"},"ignoreFiles"),(0,a.kt)("p",null,"\u7528\u4e8e\u5ffd\u7565 ",(0,a.kt)("inlineCode",{parentName:"p"},"src/pages")," \u4e0b\u7684\u6587\u4ef6\u88ab\u5904\u7406\u6210\u8def\u7531\u6a21\u5757\uff0c\u4f7f\u7528 glob \u8868\u8fbe\u5f0f(",(0,a.kt)("a",{parentName:"p",href:"https://github.com/isaacs/minimatch"},"minimatch"),")\u5bf9\u6587\u4ef6\u8def\u5f84\u5339\u914d\u3002"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-ts"},"import { defineConfig } from '@ice/app';\n\nexport default defineConfig(() => ({\n routes: {\n // \u5ffd\u7565 src/pages \u4e0b\u6240\u6709 components \u76ee\u5f55\n ignoreFiles: ['**/components/**'],\n },\n}));\n")),(0,a.kt)("h4",{id:"defineroutes"},"defineRoutes"),(0,a.kt)("p",null,"\u5bf9\u4e8e\u7ea6\u5b9a\u5f0f\u8def\u7531\u4e0d\u6ee1\u8db3\u7684\u573a\u666f\uff0c\u53ef\u4ee5\u901a\u8fc7\u4ee5\u4e0b\u65b9\u5f0f\u81ea\u5b9a\u4e49\u8def\u7531\u5730\u5740\u3002"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-ts"},"import { defineConfig } from '@ice/app';\n\nexport default defineConfig(() => ({\n routes: {\n defineRoutes: (route) => {\n // \u5c06 /about-me \u8def\u7531\u8bbf\u95ee\u5185\u5bb9\u6307\u5b9a\u4e3a about.tsx\n // \u7b2c\u4e00\u4e2a\u53c2\u6570\u662f\u8def\u7531\u5730\u5740\n // \u7b2c\u4e8c\u4e2a\u53c2\u6570\u662f\u9875\u9762\u7ec4\u4ef6\u7684\u76f8\u5bf9\u5730\u5740\uff08\u524d\u9762\u4e0d\u80fd\u5e26 `/`\uff09\uff0c\u76f8\u5bf9\u4e8e `src/pages` \u76ee\u5f55\n route('/about-me', 'about.tsx');\n\n // \u5d4c\u5957\u8def\u7531\u7684\u573a\u666f\u9700\u8981\u4f7f\u7528\u7b2c\u4e09\u4e2a callback \u53c2\u6570\u6765\u5b9a\u4e49\u5d4c\u5957\u8def\u7531\n route('/', 'layout.tsx', () => {\n route('/product', 'products.tsx');\n });\n },\n },\n}));\n")),(0,a.kt)("admonition",{type:"caution"},(0,a.kt)("p",{parentName:"admonition"},"\u540c\u4e00\u4e2a\u8def\u7531\u7ec4\u4ef6\u53ea\u80fd\u5206\u914d\u4e00\u6761\u8def\u7531\u89c4\u5219\uff0c\u5373\u540c\u65f6\u6267\u884c\u4ee5\u4e0b\u8bed\u53e5\u65f6\uff0c\u4ec5\u751f\u6548\u540e\u6267\u884c\u7684\u903b\u8f91\u3002"),(0,a.kt)("pre",{parentName:"admonition"},(0,a.kt)("code",{parentName:"pre",className:"language-ts"},"route('/about-me', 'about.tsx');\nroute('/about-you', 'about.tsx');\n"))),(0,a.kt)("h4",{id:"config"},"config"),(0,a.kt)("p",null,"\u5bf9\u4e8e\u7b80\u5355\u7684\u81ea\u5b9a\u4e49\u573a\u666f\uff0c\u901a\u8fc7 ",(0,a.kt)("inlineCode",{parentName:"p"},"defineRoutes")," \u53ef\u4ee5\u5feb\u901f\u5728\u7ea6\u5b9a\u5f0f\u8def\u7531\u7684\u57fa\u7840\u4e0a\u8fdb\u884c\u81ea\u5b9a\u4e49\u3002\u4f46\u5bf9\u4e8e\u5927\u91cf\u81ea\u5b9a\u4e49\u6216\u8005\u539f\u914d\u7f6e\u5f0f\u8def\u7531\u7684\u5347\u7ea7\u9879\u76ee\uff0c\u652f\u6301\u4ee5 ",(0,a.kt)("inlineCode",{parentName:"p"},"config")," \u7684\u5b57\u6bb5\u6307\u5b9a\u8def\u7531\u4fe1\u606f\uff1a"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-ts"},"import { defineConfig } from '@ice/app';\n\nexport default defineConfig({\n routes: {\n config: [\n {\n path: 'rewrite',\n // \u4ece src/page \u5f00\u59cb\u8ba1\u7b97\u8def\u5f84\uff0c\u5e76\u4e14\u9700\u8981\u5199\u540e\u7f00\u3002\n component: 'sales/layout.tsx',\n children: [\n {\n path: '/favorites',\n component: 'sales/favorites.tsx',\n },\n {\n path: 'overview',\n component: 'sales/overview.tsx',\n },\n {\n path: 'recommends',\n component: 'sales/recommends.tsx',\n },\n ],\n },\n {\n path: '/',\n component: 'index.tsx',\n },\n ],\n },\n});\n")),(0,a.kt)("h3",{id:"sourcemap"},"sourceMap"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"\u7c7b\u578b\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"boolean | string")),(0,a.kt)("li",{parentName:"ul"},"\u9ed8\u8ba4\u503c\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"development")," \u6a21\u5f0f\uff1a\u9ed8\u8ba4\u4e3a 'cheap-module-source-map'\uff0c\u652f\u6301\u901a\u8fc7 ",(0,a.kt)("inlineCode",{parentName:"li"},"false")," \u5173\u95ed\uff0c\u4e0d\u652f\u6301\u8bbe\u7f6e\u4e3a\u5176\u4ed6\u679a\u4e3e\u503c\u3002",(0,a.kt)("inlineCode",{parentName:"li"},"production")," \u6a21\u5f0f\uff1a\u9ed8\u8ba4 ",(0,a.kt)("inlineCode",{parentName:"li"},"false"),"\u3002")),(0,a.kt)("h3",{id:"splitchunks-deprecated"},"splitChunks @deprecated"),(0,a.kt)("admonition",{type:"caution"},(0,a.kt)("p",{parentName:"admonition"},"\u4e0d\u518d\u5efa\u8bae\u4f7f\u7528\uff0c\u80fd\u529b\u7531 codeSplitting \u66ff\u4ee3\u3002\n\u5c0f\u7a0b\u5e8f\u7aef\u4e0d\u652f\u6301\u8be5\u914d\u7f6e\u3002")),(0,a.kt)("p",null,"\u9ed8\u8ba4\u4f1a\u6839\u636e\u6a21\u5757\u4f53\u79ef\u81ea\u52a8\u62c6\u5206 chunks\uff0c\u6709\u53ef\u80fd\u4f1a\u51fa\u73b0\u591a\u4e2a bundle\u3002\u5982\u679c\u4e0d\u5e0c\u671b\u6253\u5305\u4ea7\u7269\u51fa\u73b0\u8fc7\u591a bundle \uff0c\u53ef\u8bbe\u7f6e\u6210 ",(0,a.kt)("inlineCode",{parentName:"p"},"false"),"\u3002"),(0,a.kt)("h3",{id:"codesplitting"},"codeSplitting"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"\u7c7b\u578b\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"boolean | 'vendors' | 'page' | 'chunks' | 'page-vendors'")),(0,a.kt)("li",{parentName:"ul"},"\u9ed8\u8ba4\u503c\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"true"))),(0,a.kt)("p",null,"\u6846\u67b6\u5185\u7f6e\u4e86\u4e09\u79cd\u5206\u5305\u7b56\u7565\u5206\u522b\u4e3a ",(0,a.kt)("inlineCode",{parentName:"p"},"chunks"),"\uff08\u9ed8\u8ba4\u7b56\u7565\uff0c\u65e0\u9700\u989d\u5916\u8bbe\u7f6e\uff09\uff0c",(0,a.kt)("inlineCode",{parentName:"p"},"page")," \u548c ",(0,a.kt)("inlineCode",{parentName:"p"},"vendors"),"\u3002"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("inlineCode",{parentName:"li"},"vendors")," \u7b56\u7565\uff1a\u5c06\u5f02\u6b65 chunks \u91cc\u7684\u4e09\u65b9\u4f9d\u8d56\u7edf\u4e00\u6253\u5165\u5230 vendor.js \u4e2d\uff0c\u907f\u514d\u91cd\u590d\uff0c\u5728\u4f9d\u8d56\u4e0d\u53d8\u7684\u60c5\u51b5\u4e0b\u6709\u6548\u5229\u7528\u7f13\u5b58\u3002\u7f3a\u9677\u662f\u5982\u679c\u9879\u76ee\u8fc7\u5927\u4f1a\u5bfc\u81f4\u5355\u6587\u4ef6\u5c3a\u5bf8\u8fc7\u5927\u3002"),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("inlineCode",{parentName:"li"},"page")," \u7b56\u7565\uff1a\u6240\u6709\u8def\u7531\u7ea7\u522b\u7ec4\u4ef6\u6309\u9700\u52a0\u8f7d\uff0c\u5982\u679c\u9700\u4fdd\u7559\u539f ",(0,a.kt)("inlineCode",{parentName:"li"},"splitChunks: false")," \u7684\u6548\u679c\uff0c\u914d\u7f6e\u8be5\u7b56\u7565 \u3002"),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("inlineCode",{parentName:"li"},"page-vendors")," \u7b56\u7565\uff1a\u5728 ",(0,a.kt)("inlineCode",{parentName:"li"},"page")," \u7b56\u7565\u7684\u57fa\u7840\u4e0a\uff0c\u5c06\u5f02\u6b65 chunks \u91cc\u7684\u4e09\u65b9\u4f9d\u8d56\u7edf\u4e00\u6253\u5165\u5230 vendor.js \u4e2d\uff0c\u4ee5\u8fbe\u5230\u6709\u6548\u5229\u7528\u7f13\u5b58\u7684\u7ed3\u679c\u3002"),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("inlineCode",{parentName:"li"},"chunks")," \u7b56\u7565\uff1a\u5728\u8def\u7531\u7ea7\u522b\u7ec4\u4ef6\u6309\u9700\u52a0\u8f7d\u7684\u57fa\u7840\u4e0a\uff0c\u6839\u636e\u6a21\u5757\u4f53\u79ef\u5927\u5c0f\u81ea\u52a8\u62c6\u5206 chunks\uff0c\u4e3a\u6846\u67b6\u9ed8\u8ba4\u63a8\u8350\u7b56\u7565\u3002")),(0,a.kt)("p",null,"\u5982\u679c\u5b58\u5728\u7279\u6b8a\u573a\u666f\u671f\u671b\u5173\u95ed\u5206\u5305\u80fd\u529b\uff0c\u53ef\u4ee5\u8bbe\u7f6e\u6210 ",(0,a.kt)("inlineCode",{parentName:"p"},"false"),"\u3002"),(0,a.kt)("h3",{id:"syntaxfeatures"},"syntaxFeatures"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"\u7c7b\u578b\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"{ exportDefaultFrom: boolean; functionBind: boolean; }")),(0,a.kt)("li",{parentName:"ul"},"\u9ed8\u8ba4\u503c\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"undefined"))),(0,a.kt)("p",null,"ice.js \u5185\u7f6e\u4e86\u5927\u91cf ES \u8bed\u6cd5\u652f\u6301\uff0c\u4fbf\u4e8e\u5f00\u53d1\u8005\u8fdb\u884c\u7f16\u7801\u3002\u5bf9\u4e8e ",(0,a.kt)("a",{parentName:"p",href:"https://github.com/tc39/proposal-export-default-from"},"proposal-export-default-from")," \u548c ",(0,a.kt)("a",{parentName:"p",href:"https://github.com/tc39/proposal-bind-operator"},"proposal-bind-operator")," \u7531\u4e8e\u5176\u63d0\u6848\u8fdb\u5ea6\u8f83\u6162\uff0c\u6211\u4eec\u5e76\u4e0d\u63a8\u8350\u4f7f\u7528\u3002\u5982\u679c\u5e0c\u671b\u652f\u6301\u8be5\u8bed\u6cd5\uff0c\u53ef\u4ee5\u4e3b\u52a8\u914d\u7f6e ",(0,a.kt)("inlineCode",{parentName:"p"},"syntaxFeatures")," \u8fdb\u884c\u542f\u7528\u3002"),(0,a.kt)("h3",{id:"tschecker"},"tsChecker"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"\u7c7b\u578b\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"boolean")),(0,a.kt)("li",{parentName:"ul"},"\u9ed8\u8ba4\u503c\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"false"))),(0,a.kt)("p",null,"\u9ed8\u8ba4\u5173\u95ed TypeScript \u7c7b\u578b\u68c0\u6d4b\uff0c\u5982\u9700\u5f00\u542f\u914d\u7f6e\u4e3a ",(0,a.kt)("inlineCode",{parentName:"p"},"true")," \u5373\u53ef\u3002"),(0,a.kt)("h3",{id:"eslint"},"eslint"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"\u7c7b\u578b\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"boolean | object")),(0,a.kt)("li",{parentName:"ul"},"\u9ed8\u8ba4\u503c\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"undefined"))),(0,a.kt)("p",null,"\u914d\u7f6e\u8bf4\u660e\uff1a"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("inlineCode",{parentName:"li"},"false"),"\uff1a\u4e0d\u68c0\u6d4b eslint \u9519\u8bef"),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("inlineCode",{parentName:"li"},"true"),"\uff1a\u5c06 eslint \u9519\u8bef\u5c55\u793a\u5728\u9884\u89c8\u9875\u9762\u4e0a"),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("inlineCode",{parentName:"li"},"object"),": \u4ec5 Webpack \u6a21\u5f0f\u652f\u6301\uff0c\u8868\u73b0\u7b49\u540c\u4e8e true\uff0c\u652f\u6301\u914d\u7f6e ",(0,a.kt)("a",{parentName:"li",href:"https://github.com/webpack-contrib/eslint-webpack-plugin"},"eslint-webpack-plugin")," \u7684\u66f4\u591a\u53c2\u6570")),(0,a.kt)("h3",{id:"mock"},"mock"),(0,a.kt)("admonition",{type:"caution"},(0,a.kt)("p",{parentName:"admonition"},"\u5c0f\u7a0b\u5e8f\u7aef\u4e0d\u652f\u6301\u8be5\u914d\u7f6e\u3002")),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"\u7c7b\u578b\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"{ exclude: string[] }")),(0,a.kt)("li",{parentName:"ul"},"\u9ed8\u8ba4\u503c\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"{}"))),(0,a.kt)("p",null,"\u914d\u7f6e\u5ffd\u7565 mock \u7684\u6587\u4ef6\u3002"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-js"},'import { defineConfig } from \'@ice/app\';\n\nexport default defineConfig(() => ({\n mock: {\n // \u5ffd\u7565 mock \u76ee\u5f55\u4e2d custom \u76ee\u5f55\u4e0b\u7684\u6587\u4ef6\u4ee5\u53ca api.ts \u6587\u4ef6\n exclude: ["custom/**", "api.ts"]\n },\n}));\n')),(0,a.kt)("h3",{id:"htmlgenerating"},"htmlGenerating"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"\u7c7b\u578b\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"boolean")),(0,a.kt)("li",{parentName:"ul"},"\u9ed8\u8ba4\u503c\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"true"))),(0,a.kt)("p",null,"\u5982\u679c\u4ea7\u7269\u4e0d\u60f3\u751f\u6210 html\uff0c\u53ef\u4ee5\u8bbe\u7f6e\u4e3a ",(0,a.kt)("inlineCode",{parentName:"p"},"false"),"\uff0c\u5728 SSG \u5f00\u542f\u7684\u60c5\u51b5\u4e0b\uff0c\u5f3a\u5236\u5173\u95ed html \u751f\u6210\uff0c\u5c06\u5bfc\u81f4 SSG \u5931\u6548\u3002"),(0,a.kt)("h3",{id:"plugins"},"plugins"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"\u7c7b\u578b\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"PluginList<Config, OverwritePluginAPI>")),(0,a.kt)("li",{parentName:"ul"},"\u9ed8\u8ba4\u503c\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"[]"))),(0,a.kt)("p",null,"\u6dfb\u52a0\u63d2\u4ef6"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-js"},"import { defineConfig } from '@ice/app';\nimport customPlugin from './custom-plugin';\nimport myPlugin from '@ice/my-plugin';\n\nexport default defineConfig(() => ({\n plugins: [\n customPlugin(),\n myPlugin(),\n ],\n}));\n")),(0,a.kt)("h3",{id:"webpack"},"webpack"),(0,a.kt)("admonition",{type:"tip"},(0,a.kt)("p",{parentName:"admonition"},"ice.js \u5bf9 webpack \u6784\u5efa\u914d\u7f6e\u8fdb\u884c\u4e86\u5b9a\u5236\uff0c\u5e76\u501f\u52a9 esbuild \u7b49\u5de5\u5177\u63d0\u5347\u7528\u6237\u5f00\u53d1\u4f53\u9a8c\uff0c\u76f4\u63a5\u4fee\u6539 webpack \u914d\u7f6e\u7684\u65b9\u5f0f\u5e76\u4e0d\u63a8\u8350\u3002")),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"\u7c7b\u578b\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"(config: WebpackConfig, taskConfig: TaskConfig) => WebpackConfig")),(0,a.kt)("li",{parentName:"ul"},"\u9ed8\u8ba4\u503c\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"true"))),(0,a.kt)("p",null,"ice.js \u9ed8\u8ba4\u57fa\u4e8e webpack 5 \u8fdb\u884c\u6784\u5efa\uff0c\u5728\u4e0a\u8ff0\u63d0\u4f9b\u7684\u6784\u5efa\u914d\u7f6e\u65e0\u6cd5\u6ee1\u8db3\u7684\u60c5\u51b5\u4e0b\uff0c\u7528\u6237\u53ef\u4ee5\u5b9a\u5236 webpack \u914d\u7f6e\uff1a"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-js"},"import { defineConfig } from '@ice/app';\nimport SpeedMeasurePlugin from 'speed-measure-webpack-plugin';\n\nexport default defineConfig(() => ({\n webpack: (webpackConfig) => {\n if (process.env.NODE_ENV !== 'test') {\n // \u6dfb\u52a0 webpack \u63d2\u4ef6\n webpackConfig.plugins?.push(new SpeedMeasurePlugin());\n }\n return webpackConfig;\n },\n}));\n")),(0,a.kt)("h3",{id:"cssmodules"},"cssModules"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"\u7c7b\u578b\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"{ localIdentName: string }")),(0,a.kt)("li",{parentName:"ul"},"\u9ed8\u8ba4\u503c\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},"{}"))),(0,a.kt)("p",null,"\u6784\u5efa cssModules \u65f6\uff0c\u5b9a\u5236 class \u540d\u79f0\u7684\u751f\u6210\u89c4\u5219\uff0c\u914d\u7f6e\u53c2\u8003 ",(0,a.kt)("a",{parentName:"p",href:"https://webpack.js.org/loaders/css-loader/#localidentname"},"https://webpack.js.org/loaders/css-loader/#localidentname")),(0,a.kt)("p",null,"\u4f8b\u5982\uff0c\u914d\u7f6e '","[hash:8]","' \u53ef\u4ee5\u53ea\u4fdd\u7559 hash \u503c\uff0c\u4ee5\u7cbe\u7b80 HTML \u5927\u5c0f\u53ca CSS \u6587\u4ef6\u5927\u5c0f\u3002\u9ed8\u8ba4\u60c5\u51b5 ",(0,a.kt)("inlineCode",{parentName:"p"},'className="custom-head-tab-wrap"')," \u4f1a\u88ab\u6784\u5efa\u4e3a ",(0,a.kt)("inlineCode",{parentName:"p"},'class="custom-head-tab-wrap--rAEgGaqM"'),"\uff0c\u81ea\u5b9a\u4e49\u6784\u5efa\u89c4\u5219\u540e\u540e\u6837\u5f0f\u540d\u4f1a\u88ab\u7cbe\u7b80\u4e3a ",(0,a.kt)("inlineCode",{parentName:"p"},'class="rAEgGaqM"'),"\u3002"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-js"},"import { defineConfig } from '@ice/app';\n\nexport default defineConfig(() => ({\n cssModules: {\n localIdentName: '[hash:8]'\n },\n}));\n")),(0,a.kt)("blockquote",null,(0,a.kt)("p",{parentName:"blockquote"},"\u5982\u6709\u5b9a\u5236\u9700\u6c42\u6b22\u8fce\ud83d\udc4f PR \u6216\u53cd\u9988\uff1a",(0,a.kt)("a",{parentName:"p",href:"https://github.com/alibaba/ice/issues"},"https://github.com/alibaba/ice/issues"))))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/1893df5a.9b3953eb.js b/assets/js/1893df5a.0d58bc48.js similarity index 97% rename from assets/js/1893df5a.9b3953eb.js rename to assets/js/1893df5a.0d58bc48.js index 32c7907c81..86c8e9998d 100644 --- a/assets/js/1893df5a.9b3953eb.js +++ b/assets/js/1893df5a.0d58bc48.js @@ -1 +1 @@ -"use strict";(self.webpackChunkice_website_v3=self.webpackChunkice_website_v3||[]).push([[9398],{4852:(e,t,r)=>{r.d(t,{Zo:()=>p,kt:()=>m});var n=r(9231);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function c(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?o(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):o(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function i(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},o=Object.keys(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var u=n.createContext({}),l=function(e){var t=n.useContext(u),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},p=function(e){var t=l(e.components);return n.createElement(u.Provider,{value:t},e.children)},s="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},f=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,o=e.originalType,u=e.parentName,p=i(e,["components","mdxType","originalType","parentName"]),s=l(r),f=a,m=s["".concat(u,".").concat(f)]||s[f]||d[f]||o;return r?n.createElement(m,c(c({ref:t},p),{},{components:r})):n.createElement(m,c({ref:t},p))}));function m(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=r.length,c=new Array(o);c[0]=f;var i={};for(var u in t)hasOwnProperty.call(t,u)&&(i[u]=t[u]);i.originalType=e,i[s]="string"==typeof e?e:a,c[1]=i;for(var l=2;l<o;l++)c[l]=r[l];return n.createElement.apply(null,c)}return n.createElement.apply(null,r)}f.displayName="MDXCreateElement"},2896:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>u,contentTitle:()=>c,default:()=>d,frontMatter:()=>o,metadata:()=>i,toc:()=>l});var n=r(5675),a=(r(9231),r(4852));const o={title:"\u4e00\u4f53\u5316",hide:!0},c=void 0,i={unversionedId:"guide/advanced/faas",id:"guide/advanced/faas",title:"\u4e00\u4f53\u5316",description:"@TODO",source:"@site/docs/guide/advanced/faas.md",sourceDirName:"guide/advanced",slug:"/guide/advanced/faas",permalink:"/docs/guide/advanced/faas",draft:!1,editUrl:"https://github.com/alibaba/ice/edit/master/website/docs/guide/advanced/faas.md",tags:[],version:"current",frontMatter:{title:"\u4e00\u4f53\u5316",hide:!0}},u={},l=[],p={toc:l},s="wrapper";function d(e){let{components:t,...r}=e;return(0,a.kt)(s,(0,n.Z)({},p,r,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("p",null,"@TODO"))}d.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunkice_website_v3=self.webpackChunkice_website_v3||[]).push([[9398],{4852:(e,t,r)=>{r.d(t,{Zo:()=>p,kt:()=>m});var n=r(9231);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function c(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?o(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):o(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function i(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},o=Object.keys(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var u=n.createContext({}),l=function(e){var t=n.useContext(u),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},p=function(e){var t=l(e.components);return n.createElement(u.Provider,{value:t},e.children)},s="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},f=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,o=e.originalType,u=e.parentName,p=i(e,["components","mdxType","originalType","parentName"]),s=l(r),f=a,m=s["".concat(u,".").concat(f)]||s[f]||d[f]||o;return r?n.createElement(m,c(c({ref:t},p),{},{components:r})):n.createElement(m,c({ref:t},p))}));function m(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=r.length,c=new Array(o);c[0]=f;var i={};for(var u in t)hasOwnProperty.call(t,u)&&(i[u]=t[u]);i.originalType=e,i[s]="string"==typeof e?e:a,c[1]=i;for(var l=2;l<o;l++)c[l]=r[l];return n.createElement.apply(null,c)}return n.createElement.apply(null,r)}f.displayName="MDXCreateElement"},5931:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>u,contentTitle:()=>c,default:()=>d,frontMatter:()=>o,metadata:()=>i,toc:()=>l});var n=r(5675),a=(r(9231),r(4852));const o={title:"\u4e00\u4f53\u5316",hide:!0},c=void 0,i={unversionedId:"guide/advanced/faas",id:"guide/advanced/faas",title:"\u4e00\u4f53\u5316",description:"@TODO",source:"@site/docs/guide/advanced/faas.md",sourceDirName:"guide/advanced",slug:"/guide/advanced/faas",permalink:"/docs/guide/advanced/faas",draft:!1,editUrl:"https://github.com/alibaba/ice/edit/master/website/docs/guide/advanced/faas.md",tags:[],version:"current",frontMatter:{title:"\u4e00\u4f53\u5316",hide:!0}},u={},l=[],p={toc:l},s="wrapper";function d(e){let{components:t,...r}=e;return(0,a.kt)(s,(0,n.Z)({},p,r,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("p",null,"@TODO"))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/193b5d6c.cd59a358.js b/assets/js/193b5d6c.e0c0064b.js similarity index 99% rename from assets/js/193b5d6c.cd59a358.js rename to assets/js/193b5d6c.e0c0064b.js index ddf8427482..4871e45bb9 100644 --- a/assets/js/193b5d6c.cd59a358.js +++ b/assets/js/193b5d6c.e0c0064b.js @@ -1 +1 @@ -"use strict";(self.webpackChunkice_website_v3=self.webpackChunkice_website_v3||[]).push([[4120],{4852:(e,t,a)=>{a.d(t,{Zo:()=>s,kt:()=>k});var n=a(9231);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function p(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?i(Object(a),!0).forEach((function(t){r(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):i(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function l(e,t){if(null==e)return{};var a,n,r=function(e,t){if(null==e)return{};var a,n,r={},i=Object.keys(e);for(n=0;n<i.length;n++)a=i[n],t.indexOf(a)>=0||(r[a]=e[a]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)a=i[n],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var o=n.createContext({}),c=function(e){var t=n.useContext(o),a=t;return e&&(a="function"==typeof e?e(t):p(p({},t),e)),a},s=function(e){var t=c(e.components);return n.createElement(o.Provider,{value:t},e.children)},m="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},u=n.forwardRef((function(e,t){var a=e.components,r=e.mdxType,i=e.originalType,o=e.parentName,s=l(e,["components","mdxType","originalType","parentName"]),m=c(a),u=r,k=m["".concat(o,".").concat(u)]||m[u]||d[u]||i;return a?n.createElement(k,p(p({ref:t},s),{},{components:a})):n.createElement(k,p({ref:t},s))}));function k(e,t){var a=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=a.length,p=new Array(i);p[0]=u;var l={};for(var o in t)hasOwnProperty.call(t,o)&&(l[o]=t[o]);l.originalType=e,l[m]="string"==typeof e?e:r,p[1]=l;for(var c=2;c<i;c++)p[c]=a[c];return n.createElement.apply(null,p)}return n.createElement.apply(null,a)}u.displayName="MDXCreateElement"},5715:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>o,contentTitle:()=>p,default:()=>d,frontMatter:()=>i,metadata:()=>l,toc:()=>c});var n=a(5675),r=(a(9231),a(4852));const i={title:"\u517c\u5bb9 Rax",order:129},p=void 0,l={unversionedId:"guide/advanced/rax-compat",id:"guide/advanced/rax-compat",title:"\u517c\u5bb9 Rax",description:"\u6846\u67b6\u63d0\u4f9b\u4e86 rax-compat \u4ee5\u652f\u6301 rax.js \u5230 react \u7684\u517c\u5bb9\u3002",source:"@site/docs/guide/advanced/rax-compat.md",sourceDirName:"guide/advanced",slug:"/guide/advanced/rax-compat",permalink:"/docs/guide/advanced/rax-compat",draft:!1,editUrl:"https://github.com/alibaba/ice/edit/master/website/docs/guide/advanced/rax-compat.md",tags:[],version:"current",frontMatter:{title:"\u517c\u5bb9 Rax",order:129},sidebar:"docs",previous:{title:"\u56fd\u9645\u5316",permalink:"/docs/guide/advanced/i18n"},next:{title:"\u72b6\u6001\u7ba1\u7406",permalink:"/docs/guide/advanced/store"}},o={},c=[{value:"\u63d2\u4ef6\u5b89\u88c5\u4e0e\u4f7f\u7528",id:"\u63d2\u4ef6\u5b89\u88c5\u4e0e\u4f7f\u7528",level:2},{value:"<code>rax-compat</code> \u517c\u5bb9\u6027",id:"rax-compat-\u517c\u5bb9\u6027",level:2},{value:"Rax \u6838\u5fc3 API",id:"rax-\u6838\u5fc3-api",level:3},{value:"Appear \u548c Disappear \u4e8b\u4ef6\u7684\u5904\u7406",id:"appear-\u548c-disappear-\u4e8b\u4ef6\u7684\u5904\u7406",level:3},{value:"\u6837\u5f0f\u7684\u5904\u7406",id:"\u6837\u5f0f\u7684\u5904\u7406",level:3},{value:"\u517c\u5bb9 rax-swiper",id:"\u517c\u5bb9-rax-swiper",level:3},{value:"\u517c\u5bb9\u4f7f\u7528\u5185\u8054\u6837\u5f0f\u6784\u5efa\u7684\u6a21\u5757",id:"\u517c\u5bb9\u4f7f\u7528\u5185\u8054\u6837\u5f0f\u6784\u5efa\u7684\u6a21\u5757",level:3},{value:"DOM \u5c5e\u6027\u5dee\u5f02",id:"dom-\u5c5e\u6027\u5dee\u5f02",level:3},{value:"\u4e8b\u4ef6\u5dee\u5f02",id:"\u4e8b\u4ef6\u5dee\u5f02",level:3}],s={toc:c},m="wrapper";function d(e){let{components:t,...a}=e;return(0,r.kt)(m,(0,n.Z)({},s,a,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("p",null,"\u6846\u67b6\u63d0\u4f9b\u4e86 ",(0,r.kt)("a",{parentName:"p",href:"https://github.com/alibaba/ice/tree/master/packages/rax-compat"},"rax-compat")," \u4ee5\u652f\u6301 ",(0,r.kt)("a",{parentName:"p",href:"https://github.com/alibaba/rax"},"rax.js")," \u5230 ",(0,r.kt)("a",{parentName:"p",href:"https://github.com/facebook/react"},"react")," \u7684\u517c\u5bb9\u3002"),(0,r.kt)("p",null,(0,r.kt)("inlineCode",{parentName:"p"},"rax-compat")," \u901a\u8fc7\u5bf9 react API \u7684\u5c01\u88c5\uff0c\u5728\u5185\u90e8\u62b9\u5e73\u4e86 rax.js \u4e0e react \u4f7f\u7528\u4e0a\u7684\u5927\u90e8\u5206\u5dee\u5f02\uff0c\u540c\u65f6\u5bfc\u51fa\u4e86\u4e0e rax.js \u4e00\u81f4\u7684 API \u80fd\u529b\uff0c\u901a\u8fc7\u5c06\u6e90\u7801\u4e2d\u7684 ",(0,r.kt)("inlineCode",{parentName:"p"},"rax")," \u5f15\u5165\u66ff\u6362\u4e3a ",(0,r.kt)("inlineCode",{parentName:"p"},"rax-compat"),"\uff0c\u53ef\u4ee5\u6865\u63a5\u4e0a\u7edd\u5927\u90e8\u5206 react \u8fd0\u884c\u65f6\u80fd\u529b\u3002"),(0,r.kt)("h2",{id:"\u63d2\u4ef6\u5b89\u88c5\u4e0e\u4f7f\u7528"},"\u63d2\u4ef6\u5b89\u88c5\u4e0e\u4f7f\u7528"),(0,r.kt)("p",null,"\u7528\u6237\u53ef\u4ee5\u76f4\u63a5\u901a\u8fc7\u5f15\u5165\u63d2\u4ef6 ",(0,r.kt)("a",{parentName:"p",href:"https://www.npmjs.com/package/@ice/plugin-rax-compat"},"@ice/plugin-rax-compat")," \u6765\u5b8c\u6210\u5728 ice.js \u4e2d\u8fd0\u884c Rax \u7ec4\u4ef6\u3002"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"$ npm i @ice/plugin-rax-compat --save-dev\n")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-diff",metastring:'title="ice.config.mts"',title:'"ice.config.mts"'},"+ import compatRax from '@ice/plugin-rax-compat';\n\nexport default defineConfig(() => ({\n plugins: [\n+ compatRax({ inlineStyle: true }), // \u662f\u5426\u5f00\u542f\u5185\u8054\u6837\u5f0f\uff0c\u8fd9\u91cc\u662f\u5f00\u542f\n+ // \u4e5f\u53ef\u4ee5\u4f7f\u7528\u51fd\u6570\u5f62\u5f0f\uff0c\u6839\u636e\u6587\u4ef6\u540d\u6765\u5224\u65ad\u662f\u5426\u5f00\u542f\u5185\u8054\u6837\u5f0f\n+ compatRax({ inlineStyle: (id) => id.includes('some-module') }),\n ],\n}));\n")),(0,r.kt)("h2",{id:"rax-compat-\u517c\u5bb9\u6027"},(0,r.kt)("inlineCode",{parentName:"h2"},"rax-compat")," \u517c\u5bb9\u6027"),(0,r.kt)("h3",{id:"rax-\u6838\u5fc3-api"},"Rax \u6838\u5fc3 API"),(0,r.kt)("p",null,(0,r.kt)("inlineCode",{parentName:"p"},"rax-compat")," \u5b9e\u73b0\u4e86\u6240\u6709\u7684 Rax \u6838\u5fc3 API\uff0c\u5177\u4f53\u5217\u8868\u53ef\u4ee5\u53c2\u8003",(0,r.kt)("a",{parentName:"p",href:"https://rax.js.org/docs/api/DOM"},"Rax \u5b98\u7f51"),"\u3002"),(0,r.kt)("h3",{id:"appear-\u548c-disappear-\u4e8b\u4ef6\u7684\u5904\u7406"},"Appear \u548c Disappear \u4e8b\u4ef6\u7684\u5904\u7406"),(0,r.kt)("p",null,"\u901a\u8fc7 ",(0,r.kt)("inlineCode",{parentName:"p"},"onAppear")," \u4ee5\u53ca ",(0,r.kt)("inlineCode",{parentName:"p"},"onDisapper")," \u4e8b\u4ef6\u53ef\u4ee5\u76d1\u542c\u5143\u7d20\u7684\u53ef\u89c1\u6027\u53d8\u5316\uff0cRax DSL \u901a\u8fc7 ",(0,r.kt)("inlineCode",{parentName:"p"},"appear-polyfill")," \u6765\u5b9e\u73b0\u8fd9\u90e8\u5206\u80fd\u529b\uff0c\u4f46\u662f React Runtime \u5e76\u6ca1\u6709\u8fd9\u90e8\u5206\u80fd\u529b\uff0c\u56e0\u6b64 ",(0,r.kt)("inlineCode",{parentName:"p"},"rax-compat")," \u4f1a\u5728 React Runtime \u4e2d\u505a\u517c\u5bb9\u5904\u7406\u3002"),(0,r.kt)("p",null,"\u4f60\u4f9d\u65e7\u53ef\u4ee5\u50cf\u4e4b\u524d\u4e00\u6837\u4f7f\u7528 ",(0,r.kt)("inlineCode",{parentName:"p"},"onAppear")," \u4ee5\u53ca ",(0,r.kt)("inlineCode",{parentName:"p"},"onDisapper")," \u56de\u8c03\uff0c\u5982\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-jsx"},"import { createElement } from 'rax';\n\nfunction App {\n return (<div\n onAppear={() => {\n alert('appear')\n }}\n onDisappear={() => {\n alert('disappear')\n }}\n >\n RaxApp\n </div>)\n}\n")),(0,r.kt)("p",null,"\u4f7f\u7528 Rax \u517c\u5bb9\u6a21\u5f0f\u65e0\u9700\u505a\u4efb\u4f55\u6539\u9020\uff0c\u4e5f\u65e0\u9700\u624b\u52a8\u5f15\u5165 ",(0,r.kt)("a",{parentName:"p",href:"https://www.npmjs.com/package/appear-polyfill"},"appear-polyfill"),"\uff0c",(0,r.kt)("inlineCode",{parentName:"p"},"rax-compat")," \u5df2\u7ecf\u5e2e\u4f60\u5904\u7406\u6389\u4e86\u3002"),(0,r.kt)("p",null,"\u5bf9\u4e8e\u7eaf React \u7ec4\u4ef6\uff0c\u63a8\u8350\u4f7f\u7528 ",(0,r.kt)("inlineCode",{parentName:"p"},"<VisibilityChange />"),"\uff0c\u8be6\u89c1",(0,r.kt)("a",{parentName:"p",href:"/docs/guide/basic/appear"},"\u5143\u7d20\u53ef\u89c1"),"\u3002"),(0,r.kt)("h3",{id:"\u6837\u5f0f\u7684\u5904\u7406"},"\u6837\u5f0f\u7684\u5904\u7406"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"inlineStyle"),"\uff1a\n\u5f53\u6253\u5f00 ",(0,r.kt)("inlineCode",{parentName:"li"},"@ice/plugin-rax-compat")," \u63d2\u4ef6\u7684 ",(0,r.kt)("inlineCode",{parentName:"li"},"inlineStyle")," \u53c2\u6570\u65f6\uff0c\u9664\u4e86\u4ee5 ",(0,r.kt)("inlineCode",{parentName:"li"},".module.css")," \u7ed3\u5c3e\u7684\u6587\u4ef6\u4f1a\u4f7f\u7528 CSS Modules \u6a21\u5f0f\u5916\uff0c\u5176\u5b83\u7684 ",(0,r.kt)("inlineCode",{parentName:"li"},".css")," \u6587\u4ef6\u90fd\u4f1a\u88ab\u8f6c\u6362\u6210 JavaScript \u5bf9\u8c61\u3002")),(0,r.kt)("p",null,"eg\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-css",metastring:'title="src/pages/home.css"',title:'"src/pages/home.css"'},".foo {\n color: red;\n}\n")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-tsx",metastring:'title="src/pages/home.tsx"',title:'"src/pages/home.tsx"'},"import { createElement } from 'rax';\nimport styles from './home.css';\n\nconsole.log(styles); // { foo: { color: 'red' } }\n")),(0,r.kt)("p",null,"\u6b64\u5916\uff0c\u5f53 ",(0,r.kt)("inlineCode",{parentName:"p"},"width")," \u7b49\u5c5e\u6027\u6ca1\u6709\u5355\u4f4d\u65f6\uff0c\u5982 ",(0,r.kt)("inlineCode",{parentName:"p"},"width: 300"),"\uff0c\u5728 ",(0,r.kt)("inlineCode",{parentName:"p"},"inlineStyle")," \u6a21\u5f0f\u4e0b\u4f1a\u81ea\u52a8\u8865\u9f50 ",(0,r.kt)("inlineCode",{parentName:"p"},"rpx")," \u5355\u4f4d\u5e76\u6700\u7ec8\u8f6c\u5316\u6210 ",(0,r.kt)("inlineCode",{parentName:"p"},"vw"),"\uff0c\u540c\u7406\uff0c\u5199\u4e86 ",(0,r.kt)("inlineCode",{parentName:"p"},"rpx")," \u5355\u4f4d\u7684\u503c\u4e5f\u4e00\u6837\u4f1a\u88ab\u8f6c\u5316\u6210 ",(0,r.kt)("inlineCode",{parentName:"p"},"vw"),"\u3002"),(0,r.kt)("h3",{id:"\u517c\u5bb9-rax-swiper"},"\u517c\u5bb9 rax-swiper"),(0,r.kt)("p",null,"\u7531\u4e8e ",(0,r.kt)("a",{parentName:"p",href:"https://rax.alibaba-inc.com/docs/components/swiper"},"rax-swiper")," \u4ec5\u652f\u6301\u5728\u975e\u5185\u8054\u6a21\u5f0f\u4e0b\u4f7f\u7528\uff0c\u5982\u679c\u4f60\u542f\u7528\u4e86 ",(0,r.kt)("inlineCode",{parentName:"p"},"inlineStyle"),"\uff0c\u5219\u9700\u8981\u5728\u9879\u76ee\u7684\u5168\u5c40 CSS \u4e2d\u65b0\u589e\u5bf9\u5176\u6837\u5f0f\u7684\u5bfc\u5165\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-diff",metastring:'title="global.css"',title:'"global.css"'},"+ @import url('swiper/swiper-bundle.min.css');\n")),(0,r.kt)("p",null,"\u6216\u8005\u4f60\u4e5f\u53ef\u4ee5\u4f7f\u7528\u51fd\u6570\u5f62\u5f0f\u7684 lineStyle\uff0c\u5c06\u5f15\u7528\u4e86 ",(0,r.kt)("inlineCode",{parentName:"p"},"rax-swiper")," \u7684\u6a21\u5757\u6392\u9664\u51fa\u5185\u8054\u6837\u5f0f\u7684\u5904\u7406\u6d41\u7a0b\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-diff",metastring:'title="ice.config.mts"',title:'"ice.config.mts"'},"import compatRax from '@ice/plugin-rax-compat';\n\nexport default defineConfig(() => ({\n plugins: [\n+ compatRax({ inlineStyle: (id) => !id.includes('feeds-module') }), \n ],\n}));\n")),(0,r.kt)("h3",{id:"\u517c\u5bb9\u4f7f\u7528\u5185\u8054\u6837\u5f0f\u6784\u5efa\u7684\u6a21\u5757"},"\u517c\u5bb9\u4f7f\u7528\u5185\u8054\u6837\u5f0f\u6784\u5efa\u7684\u6a21\u5757"),(0,r.kt)("p",null,"Rax \u7684 inlineStyle \u6a21\u5f0f\u662f\u5177\u6709\u4f20\u67d3\u6027\u7684\uff0c\u56e0\u6b64\uff0c\u5982\u679c\u4f60\u7684\u9879\u76ee\u4e2d\u5b58\u5728\u4f7f\u7528\u5185\u8054\u6837\u5f0f\u6784\u5efa\u7684\u6a21\u5757\uff0c\u5728 rax-compat \u6a21\u5f0f\u4e0b\u9700\u8981\u786e\u4fdd\u8fd9\u4e9b\u6a21\u5757\u4e5f\u4f7f\u7528\u5185\u8054\u6837\u5f0f\u5904\u7406\uff0c\u5426\u5219\u4f1a\u51fa\u73b0\u6837\u5f0f\u4e22\u5931\u7684\u95ee\u9898\u3002\u6b64\u65f6\u4f60\u53ef\u4ee5\u4f7f\u7528\u51fd\u6570\u5f62\u5f0f\u7684 inlineStyle\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-diff",metastring:'title="ice.config.mts"',title:'"ice.config.mts"'},"import compatRax from '@ice/plugin-rax-compat';\n\nexport default defineConfig(() => ({\n plugins: [\n+ compatRax({ inlineStyle: (id) => id.includes('inline-style-module') }), \n ],\n}));\n")),(0,r.kt)("h3",{id:"dom-\u5c5e\u6027\u5dee\u5f02"},"DOM \u5c5e\u6027\u5dee\u5f02"),(0,r.kt)("p",null,"\u5728 React \u4e2d\uff0c\u539f\u751f\u6807\u7b7e\u7684 ",(0,r.kt)("inlineCode",{parentName:"p"},"props")," \u662f\u5b58\u5728\u767d\u540d\u5355\u7684\uff0c\u800c rax.js \u4e2d\u6ca1\u6709\u3002\u8fd9\u5bfc\u81f4\u4f7f\u7528\u975e dataset \u7684\u81ea\u5b9a\u4e49\u5c5e\u6027\u5728 React \u4e2d\u4f1a\u88ab\u5ffd\u7565\uff08Dev \u9636\u6bb5\u6709\u8b66\u544a\uff09\uff0c\u4ece\u800c\u65e0\u6cd5\u4ece\u771f\u5b9e\u8282\u70b9\u7684 DOM \u5bf9\u8c61\u4e2d\u901a\u8fc7 ",(0,r.kt)("inlineCode",{parentName:"p"},"getAttribute()")," \u65b9\u6cd5\u83b7\u53d6\u3002\u5982\u679c\u7528\u4e86\u8fd9\u4e9b\u975e\u6807\u81ea\u5b9a\u4e49\u5c5e\u6027\uff0c\u63a8\u8350\u4f7f\u7528 dataset(",(0,r.kt)("inlineCode",{parentName:"p"},"data-*"),") \u6765\u6807\u8bc6\u81ea\u5b9a\u4e49\u5c5e\u6027\u3002"),(0,r.kt)("h3",{id:"\u4e8b\u4ef6\u5dee\u5f02"},"\u4e8b\u4ef6\u5dee\u5f02"),(0,r.kt)("p",null,"React \u901a\u8fc7",(0,r.kt)("a",{parentName:"p",href:"https://zh-hans.reactjs.org/docs/events.html"},"\u5408\u6210\u4e8b\u4ef6"),"\u673a\u5236\u5bf9\u6d4f\u89c8\u5668\u73af\u5883\u4e2d\u7684\u4e8b\u4ef6\u8fdb\u884c\u4ee3\u7406\uff0c\u800c rax.js \u5219\u662f\u901a\u8fc7\u8282\u70b9(EventTarget)\u539f\u751f\u7684 ",(0,r.kt)("inlineCode",{parentName:"p"},"addEventListener()")," \u65b9\u6cd5\u5c06\u4e8b\u4ef6\u4e0e\u5904\u7406\u51fd\u6570\u7ed1\u5b9a\u5728\u4e00\u8d77\u3002\u5728\u4f60\u6e05\u695a\u5730\u4e86\u89e3 Rax \u4e0e React \u7684\u4e8b\u4ef6\u5b9e\u73b0\u5dee\u5f02\u4e4b\u524d\uff0c\u5c3d\u91cf\u4e0d\u8981\u4f7f\u7528 ref \u8bbf\u95ee\u771f\u5b9e DOM \u8282\u70b9\u6765\u5904\u7406\u539f\u751f\u4e8b\u4ef6\uff0c\u5426\u5219\u53ef\u80fd\u4f1a\u51fa\u73b0\u672a\u9884\u6599\u7684\u884c\u4e3a\u3002"))}d.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunkice_website_v3=self.webpackChunkice_website_v3||[]).push([[4120],{4852:(e,t,a)=>{a.d(t,{Zo:()=>s,kt:()=>k});var n=a(9231);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function p(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?i(Object(a),!0).forEach((function(t){r(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):i(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function l(e,t){if(null==e)return{};var a,n,r=function(e,t){if(null==e)return{};var a,n,r={},i=Object.keys(e);for(n=0;n<i.length;n++)a=i[n],t.indexOf(a)>=0||(r[a]=e[a]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)a=i[n],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var o=n.createContext({}),c=function(e){var t=n.useContext(o),a=t;return e&&(a="function"==typeof e?e(t):p(p({},t),e)),a},s=function(e){var t=c(e.components);return n.createElement(o.Provider,{value:t},e.children)},m="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},u=n.forwardRef((function(e,t){var a=e.components,r=e.mdxType,i=e.originalType,o=e.parentName,s=l(e,["components","mdxType","originalType","parentName"]),m=c(a),u=r,k=m["".concat(o,".").concat(u)]||m[u]||d[u]||i;return a?n.createElement(k,p(p({ref:t},s),{},{components:a})):n.createElement(k,p({ref:t},s))}));function k(e,t){var a=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=a.length,p=new Array(i);p[0]=u;var l={};for(var o in t)hasOwnProperty.call(t,o)&&(l[o]=t[o]);l.originalType=e,l[m]="string"==typeof e?e:r,p[1]=l;for(var c=2;c<i;c++)p[c]=a[c];return n.createElement.apply(null,p)}return n.createElement.apply(null,a)}u.displayName="MDXCreateElement"},2376:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>o,contentTitle:()=>p,default:()=>d,frontMatter:()=>i,metadata:()=>l,toc:()=>c});var n=a(5675),r=(a(9231),a(4852));const i={title:"\u517c\u5bb9 Rax",order:129},p=void 0,l={unversionedId:"guide/advanced/rax-compat",id:"guide/advanced/rax-compat",title:"\u517c\u5bb9 Rax",description:"\u6846\u67b6\u63d0\u4f9b\u4e86 rax-compat \u4ee5\u652f\u6301 rax.js \u5230 react \u7684\u517c\u5bb9\u3002",source:"@site/docs/guide/advanced/rax-compat.md",sourceDirName:"guide/advanced",slug:"/guide/advanced/rax-compat",permalink:"/docs/guide/advanced/rax-compat",draft:!1,editUrl:"https://github.com/alibaba/ice/edit/master/website/docs/guide/advanced/rax-compat.md",tags:[],version:"current",frontMatter:{title:"\u517c\u5bb9 Rax",order:129},sidebar:"docs",previous:{title:"\u56fd\u9645\u5316",permalink:"/docs/guide/advanced/i18n"},next:{title:"\u72b6\u6001\u7ba1\u7406",permalink:"/docs/guide/advanced/store"}},o={},c=[{value:"\u63d2\u4ef6\u5b89\u88c5\u4e0e\u4f7f\u7528",id:"\u63d2\u4ef6\u5b89\u88c5\u4e0e\u4f7f\u7528",level:2},{value:"<code>rax-compat</code> \u517c\u5bb9\u6027",id:"rax-compat-\u517c\u5bb9\u6027",level:2},{value:"Rax \u6838\u5fc3 API",id:"rax-\u6838\u5fc3-api",level:3},{value:"Appear \u548c Disappear \u4e8b\u4ef6\u7684\u5904\u7406",id:"appear-\u548c-disappear-\u4e8b\u4ef6\u7684\u5904\u7406",level:3},{value:"\u6837\u5f0f\u7684\u5904\u7406",id:"\u6837\u5f0f\u7684\u5904\u7406",level:3},{value:"\u517c\u5bb9 rax-swiper",id:"\u517c\u5bb9-rax-swiper",level:3},{value:"\u517c\u5bb9\u4f7f\u7528\u5185\u8054\u6837\u5f0f\u6784\u5efa\u7684\u6a21\u5757",id:"\u517c\u5bb9\u4f7f\u7528\u5185\u8054\u6837\u5f0f\u6784\u5efa\u7684\u6a21\u5757",level:3},{value:"DOM \u5c5e\u6027\u5dee\u5f02",id:"dom-\u5c5e\u6027\u5dee\u5f02",level:3},{value:"\u4e8b\u4ef6\u5dee\u5f02",id:"\u4e8b\u4ef6\u5dee\u5f02",level:3}],s={toc:c},m="wrapper";function d(e){let{components:t,...a}=e;return(0,r.kt)(m,(0,n.Z)({},s,a,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("p",null,"\u6846\u67b6\u63d0\u4f9b\u4e86 ",(0,r.kt)("a",{parentName:"p",href:"https://github.com/alibaba/ice/tree/master/packages/rax-compat"},"rax-compat")," \u4ee5\u652f\u6301 ",(0,r.kt)("a",{parentName:"p",href:"https://github.com/alibaba/rax"},"rax.js")," \u5230 ",(0,r.kt)("a",{parentName:"p",href:"https://github.com/facebook/react"},"react")," \u7684\u517c\u5bb9\u3002"),(0,r.kt)("p",null,(0,r.kt)("inlineCode",{parentName:"p"},"rax-compat")," \u901a\u8fc7\u5bf9 react API \u7684\u5c01\u88c5\uff0c\u5728\u5185\u90e8\u62b9\u5e73\u4e86 rax.js \u4e0e react \u4f7f\u7528\u4e0a\u7684\u5927\u90e8\u5206\u5dee\u5f02\uff0c\u540c\u65f6\u5bfc\u51fa\u4e86\u4e0e rax.js \u4e00\u81f4\u7684 API \u80fd\u529b\uff0c\u901a\u8fc7\u5c06\u6e90\u7801\u4e2d\u7684 ",(0,r.kt)("inlineCode",{parentName:"p"},"rax")," \u5f15\u5165\u66ff\u6362\u4e3a ",(0,r.kt)("inlineCode",{parentName:"p"},"rax-compat"),"\uff0c\u53ef\u4ee5\u6865\u63a5\u4e0a\u7edd\u5927\u90e8\u5206 react \u8fd0\u884c\u65f6\u80fd\u529b\u3002"),(0,r.kt)("h2",{id:"\u63d2\u4ef6\u5b89\u88c5\u4e0e\u4f7f\u7528"},"\u63d2\u4ef6\u5b89\u88c5\u4e0e\u4f7f\u7528"),(0,r.kt)("p",null,"\u7528\u6237\u53ef\u4ee5\u76f4\u63a5\u901a\u8fc7\u5f15\u5165\u63d2\u4ef6 ",(0,r.kt)("a",{parentName:"p",href:"https://www.npmjs.com/package/@ice/plugin-rax-compat"},"@ice/plugin-rax-compat")," \u6765\u5b8c\u6210\u5728 ice.js \u4e2d\u8fd0\u884c Rax \u7ec4\u4ef6\u3002"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"$ npm i @ice/plugin-rax-compat --save-dev\n")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-diff",metastring:'title="ice.config.mts"',title:'"ice.config.mts"'},"+ import compatRax from '@ice/plugin-rax-compat';\n\nexport default defineConfig(() => ({\n plugins: [\n+ compatRax({ inlineStyle: true }), // \u662f\u5426\u5f00\u542f\u5185\u8054\u6837\u5f0f\uff0c\u8fd9\u91cc\u662f\u5f00\u542f\n+ // \u4e5f\u53ef\u4ee5\u4f7f\u7528\u51fd\u6570\u5f62\u5f0f\uff0c\u6839\u636e\u6587\u4ef6\u540d\u6765\u5224\u65ad\u662f\u5426\u5f00\u542f\u5185\u8054\u6837\u5f0f\n+ compatRax({ inlineStyle: (id) => id.includes('some-module') }),\n ],\n}));\n")),(0,r.kt)("h2",{id:"rax-compat-\u517c\u5bb9\u6027"},(0,r.kt)("inlineCode",{parentName:"h2"},"rax-compat")," \u517c\u5bb9\u6027"),(0,r.kt)("h3",{id:"rax-\u6838\u5fc3-api"},"Rax \u6838\u5fc3 API"),(0,r.kt)("p",null,(0,r.kt)("inlineCode",{parentName:"p"},"rax-compat")," \u5b9e\u73b0\u4e86\u6240\u6709\u7684 Rax \u6838\u5fc3 API\uff0c\u5177\u4f53\u5217\u8868\u53ef\u4ee5\u53c2\u8003",(0,r.kt)("a",{parentName:"p",href:"https://rax.js.org/docs/api/DOM"},"Rax \u5b98\u7f51"),"\u3002"),(0,r.kt)("h3",{id:"appear-\u548c-disappear-\u4e8b\u4ef6\u7684\u5904\u7406"},"Appear \u548c Disappear \u4e8b\u4ef6\u7684\u5904\u7406"),(0,r.kt)("p",null,"\u901a\u8fc7 ",(0,r.kt)("inlineCode",{parentName:"p"},"onAppear")," \u4ee5\u53ca ",(0,r.kt)("inlineCode",{parentName:"p"},"onDisapper")," \u4e8b\u4ef6\u53ef\u4ee5\u76d1\u542c\u5143\u7d20\u7684\u53ef\u89c1\u6027\u53d8\u5316\uff0cRax DSL \u901a\u8fc7 ",(0,r.kt)("inlineCode",{parentName:"p"},"appear-polyfill")," \u6765\u5b9e\u73b0\u8fd9\u90e8\u5206\u80fd\u529b\uff0c\u4f46\u662f React Runtime \u5e76\u6ca1\u6709\u8fd9\u90e8\u5206\u80fd\u529b\uff0c\u56e0\u6b64 ",(0,r.kt)("inlineCode",{parentName:"p"},"rax-compat")," \u4f1a\u5728 React Runtime \u4e2d\u505a\u517c\u5bb9\u5904\u7406\u3002"),(0,r.kt)("p",null,"\u4f60\u4f9d\u65e7\u53ef\u4ee5\u50cf\u4e4b\u524d\u4e00\u6837\u4f7f\u7528 ",(0,r.kt)("inlineCode",{parentName:"p"},"onAppear")," \u4ee5\u53ca ",(0,r.kt)("inlineCode",{parentName:"p"},"onDisapper")," \u56de\u8c03\uff0c\u5982\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-jsx"},"import { createElement } from 'rax';\n\nfunction App {\n return (<div\n onAppear={() => {\n alert('appear')\n }}\n onDisappear={() => {\n alert('disappear')\n }}\n >\n RaxApp\n </div>)\n}\n")),(0,r.kt)("p",null,"\u4f7f\u7528 Rax \u517c\u5bb9\u6a21\u5f0f\u65e0\u9700\u505a\u4efb\u4f55\u6539\u9020\uff0c\u4e5f\u65e0\u9700\u624b\u52a8\u5f15\u5165 ",(0,r.kt)("a",{parentName:"p",href:"https://www.npmjs.com/package/appear-polyfill"},"appear-polyfill"),"\uff0c",(0,r.kt)("inlineCode",{parentName:"p"},"rax-compat")," \u5df2\u7ecf\u5e2e\u4f60\u5904\u7406\u6389\u4e86\u3002"),(0,r.kt)("p",null,"\u5bf9\u4e8e\u7eaf React \u7ec4\u4ef6\uff0c\u63a8\u8350\u4f7f\u7528 ",(0,r.kt)("inlineCode",{parentName:"p"},"<VisibilityChange />"),"\uff0c\u8be6\u89c1",(0,r.kt)("a",{parentName:"p",href:"/docs/guide/basic/appear"},"\u5143\u7d20\u53ef\u89c1"),"\u3002"),(0,r.kt)("h3",{id:"\u6837\u5f0f\u7684\u5904\u7406"},"\u6837\u5f0f\u7684\u5904\u7406"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"inlineStyle"),"\uff1a\n\u5f53\u6253\u5f00 ",(0,r.kt)("inlineCode",{parentName:"li"},"@ice/plugin-rax-compat")," \u63d2\u4ef6\u7684 ",(0,r.kt)("inlineCode",{parentName:"li"},"inlineStyle")," \u53c2\u6570\u65f6\uff0c\u9664\u4e86\u4ee5 ",(0,r.kt)("inlineCode",{parentName:"li"},".module.css")," \u7ed3\u5c3e\u7684\u6587\u4ef6\u4f1a\u4f7f\u7528 CSS Modules \u6a21\u5f0f\u5916\uff0c\u5176\u5b83\u7684 ",(0,r.kt)("inlineCode",{parentName:"li"},".css")," \u6587\u4ef6\u90fd\u4f1a\u88ab\u8f6c\u6362\u6210 JavaScript \u5bf9\u8c61\u3002")),(0,r.kt)("p",null,"eg\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-css",metastring:'title="src/pages/home.css"',title:'"src/pages/home.css"'},".foo {\n color: red;\n}\n")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-tsx",metastring:'title="src/pages/home.tsx"',title:'"src/pages/home.tsx"'},"import { createElement } from 'rax';\nimport styles from './home.css';\n\nconsole.log(styles); // { foo: { color: 'red' } }\n")),(0,r.kt)("p",null,"\u6b64\u5916\uff0c\u5f53 ",(0,r.kt)("inlineCode",{parentName:"p"},"width")," \u7b49\u5c5e\u6027\u6ca1\u6709\u5355\u4f4d\u65f6\uff0c\u5982 ",(0,r.kt)("inlineCode",{parentName:"p"},"width: 300"),"\uff0c\u5728 ",(0,r.kt)("inlineCode",{parentName:"p"},"inlineStyle")," \u6a21\u5f0f\u4e0b\u4f1a\u81ea\u52a8\u8865\u9f50 ",(0,r.kt)("inlineCode",{parentName:"p"},"rpx")," \u5355\u4f4d\u5e76\u6700\u7ec8\u8f6c\u5316\u6210 ",(0,r.kt)("inlineCode",{parentName:"p"},"vw"),"\uff0c\u540c\u7406\uff0c\u5199\u4e86 ",(0,r.kt)("inlineCode",{parentName:"p"},"rpx")," \u5355\u4f4d\u7684\u503c\u4e5f\u4e00\u6837\u4f1a\u88ab\u8f6c\u5316\u6210 ",(0,r.kt)("inlineCode",{parentName:"p"},"vw"),"\u3002"),(0,r.kt)("h3",{id:"\u517c\u5bb9-rax-swiper"},"\u517c\u5bb9 rax-swiper"),(0,r.kt)("p",null,"\u7531\u4e8e ",(0,r.kt)("a",{parentName:"p",href:"https://rax.alibaba-inc.com/docs/components/swiper"},"rax-swiper")," \u4ec5\u652f\u6301\u5728\u975e\u5185\u8054\u6a21\u5f0f\u4e0b\u4f7f\u7528\uff0c\u5982\u679c\u4f60\u542f\u7528\u4e86 ",(0,r.kt)("inlineCode",{parentName:"p"},"inlineStyle"),"\uff0c\u5219\u9700\u8981\u5728\u9879\u76ee\u7684\u5168\u5c40 CSS \u4e2d\u65b0\u589e\u5bf9\u5176\u6837\u5f0f\u7684\u5bfc\u5165\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-diff",metastring:'title="global.css"',title:'"global.css"'},"+ @import url('swiper/swiper-bundle.min.css');\n")),(0,r.kt)("p",null,"\u6216\u8005\u4f60\u4e5f\u53ef\u4ee5\u4f7f\u7528\u51fd\u6570\u5f62\u5f0f\u7684 lineStyle\uff0c\u5c06\u5f15\u7528\u4e86 ",(0,r.kt)("inlineCode",{parentName:"p"},"rax-swiper")," \u7684\u6a21\u5757\u6392\u9664\u51fa\u5185\u8054\u6837\u5f0f\u7684\u5904\u7406\u6d41\u7a0b\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-diff",metastring:'title="ice.config.mts"',title:'"ice.config.mts"'},"import compatRax from '@ice/plugin-rax-compat';\n\nexport default defineConfig(() => ({\n plugins: [\n+ compatRax({ inlineStyle: (id) => !id.includes('feeds-module') }), \n ],\n}));\n")),(0,r.kt)("h3",{id:"\u517c\u5bb9\u4f7f\u7528\u5185\u8054\u6837\u5f0f\u6784\u5efa\u7684\u6a21\u5757"},"\u517c\u5bb9\u4f7f\u7528\u5185\u8054\u6837\u5f0f\u6784\u5efa\u7684\u6a21\u5757"),(0,r.kt)("p",null,"Rax \u7684 inlineStyle \u6a21\u5f0f\u662f\u5177\u6709\u4f20\u67d3\u6027\u7684\uff0c\u56e0\u6b64\uff0c\u5982\u679c\u4f60\u7684\u9879\u76ee\u4e2d\u5b58\u5728\u4f7f\u7528\u5185\u8054\u6837\u5f0f\u6784\u5efa\u7684\u6a21\u5757\uff0c\u5728 rax-compat \u6a21\u5f0f\u4e0b\u9700\u8981\u786e\u4fdd\u8fd9\u4e9b\u6a21\u5757\u4e5f\u4f7f\u7528\u5185\u8054\u6837\u5f0f\u5904\u7406\uff0c\u5426\u5219\u4f1a\u51fa\u73b0\u6837\u5f0f\u4e22\u5931\u7684\u95ee\u9898\u3002\u6b64\u65f6\u4f60\u53ef\u4ee5\u4f7f\u7528\u51fd\u6570\u5f62\u5f0f\u7684 inlineStyle\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-diff",metastring:'title="ice.config.mts"',title:'"ice.config.mts"'},"import compatRax from '@ice/plugin-rax-compat';\n\nexport default defineConfig(() => ({\n plugins: [\n+ compatRax({ inlineStyle: (id) => id.includes('inline-style-module') }), \n ],\n}));\n")),(0,r.kt)("h3",{id:"dom-\u5c5e\u6027\u5dee\u5f02"},"DOM \u5c5e\u6027\u5dee\u5f02"),(0,r.kt)("p",null,"\u5728 React \u4e2d\uff0c\u539f\u751f\u6807\u7b7e\u7684 ",(0,r.kt)("inlineCode",{parentName:"p"},"props")," \u662f\u5b58\u5728\u767d\u540d\u5355\u7684\uff0c\u800c rax.js \u4e2d\u6ca1\u6709\u3002\u8fd9\u5bfc\u81f4\u4f7f\u7528\u975e dataset \u7684\u81ea\u5b9a\u4e49\u5c5e\u6027\u5728 React \u4e2d\u4f1a\u88ab\u5ffd\u7565\uff08Dev \u9636\u6bb5\u6709\u8b66\u544a\uff09\uff0c\u4ece\u800c\u65e0\u6cd5\u4ece\u771f\u5b9e\u8282\u70b9\u7684 DOM \u5bf9\u8c61\u4e2d\u901a\u8fc7 ",(0,r.kt)("inlineCode",{parentName:"p"},"getAttribute()")," \u65b9\u6cd5\u83b7\u53d6\u3002\u5982\u679c\u7528\u4e86\u8fd9\u4e9b\u975e\u6807\u81ea\u5b9a\u4e49\u5c5e\u6027\uff0c\u63a8\u8350\u4f7f\u7528 dataset(",(0,r.kt)("inlineCode",{parentName:"p"},"data-*"),") \u6765\u6807\u8bc6\u81ea\u5b9a\u4e49\u5c5e\u6027\u3002"),(0,r.kt)("h3",{id:"\u4e8b\u4ef6\u5dee\u5f02"},"\u4e8b\u4ef6\u5dee\u5f02"),(0,r.kt)("p",null,"React \u901a\u8fc7",(0,r.kt)("a",{parentName:"p",href:"https://zh-hans.reactjs.org/docs/events.html"},"\u5408\u6210\u4e8b\u4ef6"),"\u673a\u5236\u5bf9\u6d4f\u89c8\u5668\u73af\u5883\u4e2d\u7684\u4e8b\u4ef6\u8fdb\u884c\u4ee3\u7406\uff0c\u800c rax.js \u5219\u662f\u901a\u8fc7\u8282\u70b9(EventTarget)\u539f\u751f\u7684 ",(0,r.kt)("inlineCode",{parentName:"p"},"addEventListener()")," \u65b9\u6cd5\u5c06\u4e8b\u4ef6\u4e0e\u5904\u7406\u51fd\u6570\u7ed1\u5b9a\u5728\u4e00\u8d77\u3002\u5728\u4f60\u6e05\u695a\u5730\u4e86\u89e3 Rax \u4e0e React \u7684\u4e8b\u4ef6\u5b9e\u73b0\u5dee\u5f02\u4e4b\u524d\uff0c\u5c3d\u91cf\u4e0d\u8981\u4f7f\u7528 ref \u8bbf\u95ee\u771f\u5b9e DOM \u8282\u70b9\u6765\u5904\u7406\u539f\u751f\u4e8b\u4ef6\uff0c\u5426\u5219\u53ef\u80fd\u4f1a\u51fa\u73b0\u672a\u9884\u6599\u7684\u884c\u4e3a\u3002"))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/1a4e3797.4b8a0695.js b/assets/js/1a4e3797.4b8a0695.js new file mode 100644 index 0000000000..46f72bfb35 --- /dev/null +++ b/assets/js/1a4e3797.4b8a0695.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkice_website_v3=self.webpackChunkice_website_v3||[]).push([[7920],{2083:(e,t,a)=>{a.r(t),a.d(t,{default:()=>x});var r=a(9231),n=a(7561),l=a(7107),s=a(7755),c=a(3826),u=a(6256),o=a(3286),m=a(9027);const h=["zero","one","two","few","many","other"];function i(e){return h.filter((t=>e.includes(t)))}const p={locale:"en",pluralForms:i(["one","other"]),select:e=>1===e?"one":"other"};function g(){const{i18n:{currentLocale:e}}=(0,n.Z)();return(0,r.useMemo)((()=>{try{return function(e){const t=new Intl.PluralRules(e);return{locale:e,pluralForms:i(t.resolvedOptions().pluralCategories),select:e=>t.select(e)}}(e)}catch(t){return console.error(`Failed to use Intl.PluralRules for locale "${e}".\nDocusaurus will fallback to the default (English) implementation.\nError: ${t.message}\n`),p}}),[e])}function d(){const e=g();return{selectMessage:(t,a)=>function(e,t,a){const r=e.split("|");if(1===r.length)return r[0];r.length>a.pluralForms.length&&console.error(`For locale=${a.locale}, a maximum of ${a.pluralForms.length} plural forms are expected (${a.pluralForms.join(",")}), but the message contains ${r.length}: ${e}`);const n=a.select(t),l=a.pluralForms.indexOf(n);return r[Math.min(l,r.length-1)]}(a,t,e)}}var f=a(5315),y=a(9409),E=a(122);const I="q";const S=function(){const e=(0,y.k6)(),t=(0,y.TH)(),{siteConfig:{baseUrl:a}}=(0,n.Z)();return{searchValue:E.Z.canUseDOM&&new URLSearchParams(t.search).get(I)||"",updateSearchPath:a=>{const r=new URLSearchParams(t.search);a?r.set(I,a):r.delete(I),e.replace({search:r.toString()})},generateSearchPageLink:e=>`${a}search?q=${encodeURIComponent(e)}`}};var w=a(9997),R=a(4982),b=a(8101),P=a(8032),v=a(5765),_=a(6222),F=a(1501),k=a(7578);const C={searchQueryInput:"searchQueryInput_cr6U",searchResultItem:"searchResultItem_gI4g",searchResultItemPath:"searchResultItemPath_OrYG",searchResultItemSummary:"searchResultItemSummary_pVa9"};function T(){const{siteConfig:{baseUrl:e}}=(0,n.Z)(),t=(0,f.gA)();let a=e;try{const{preferredVersion:e}=(0,o.J)((null==t?void 0:t.pluginId)??k.gQ);e&&!e.isLast&&(a=e.path+"/")}catch(v){if(k.l9&&!(v instanceof m.i6))throw v}const{selectMessage:l}=d(),{searchValue:c,updateSearchPath:h}=S(),[i,p]=(0,r.useState)(c),[g,y]=(0,r.useState)(),[E,I]=(0,r.useState)(),b=(0,r.useMemo)((()=>i?(0,u.I)({id:"theme.SearchPage.existingResultsTitle",message:'Search results for "{query}"',description:"The search page title for non-empty query"},{query:i}):(0,u.I)({id:"theme.SearchPage.emptyResultsTitle",message:"Search the documentation",description:"The search page title for empty query"})),[i]);(0,r.useEffect)((()=>{h(i),g&&(i?g(i,(e=>{I(e)})):I(void 0))}),[i,g]);const P=(0,r.useCallback)((e=>{p(e.target.value)}),[]);return(0,r.useEffect)((()=>{c&&c!==i&&p(c)}),[c]),(0,r.useEffect)((()=>{!async function(){const{wrappedIndexes:e,zhDictionary:t}=await(0,w.w)(a);y((()=>(0,R.v)(e,t,100)))}()}),[a]),r.createElement(r.Fragment,null,r.createElement(s.Z,null,r.createElement("meta",{property:"robots",content:"noindex, follow"}),r.createElement("title",null,b)),r.createElement("div",{className:"container margin-vert--lg"},r.createElement("h1",null,b),r.createElement("input",{type:"search",name:"q",className:C.searchQueryInput,"aria-label":"Search",onChange:P,value:i,autoComplete:"off",autoFocus:!0}),!g&&i&&r.createElement("div",null,r.createElement(_.Z,null)),E&&(E.length>0?r.createElement("p",null,l(E.length,(0,u.I)({id:"theme.SearchPage.documentsFound.plurals",message:"1 document found|{count} documents found",description:'Pluralized label for "{count} documents found". Use as much plural forms (separated by "|") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)'},{count:E.length}))):r.createElement("p",null,(0,u.I)({id:"theme.SearchPage.noResultsText",message:"No documents were found",description:"The paragraph for empty search result"}))),r.createElement("section",null,E&&E.map((e=>r.createElement($,{key:e.document.i,searchResult:e}))))))}function $(e){let{searchResult:{document:t,type:a,page:n,tokens:l,metadata:s}}=e;const u=0===a,o=2===a,m=(u?t.b:n.b).slice(),h=o?t.s:t.t;return u||m.push(n.t),r.createElement("article",{className:C.searchResultItem},r.createElement("h2",null,r.createElement(c.Z,{to:t.u+(t.h||""),dangerouslySetInnerHTML:{__html:o?(0,b.C)(h,l):(0,P.o)(h,(0,v.m)(s,"t"),l,100)}})),m.length>0&&r.createElement("p",{className:C.searchResultItemPath},(0,F.e)(m)),o&&r.createElement("p",{className:C.searchResultItemSummary,dangerouslySetInnerHTML:{__html:(0,P.o)(t.t,(0,v.m)(s,"t"),l,100)}}))}const x=function(){return r.createElement(l.Z,null,r.createElement(T,null))}}}]); \ No newline at end of file diff --git a/assets/js/1a4e3797.8e91d02e.js b/assets/js/1a4e3797.8e91d02e.js deleted file mode 100644 index 94ed7fe94e..0000000000 --- a/assets/js/1a4e3797.8e91d02e.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkice_website_v3=self.webpackChunkice_website_v3||[]).push([[7920],{8627:(e,t,a)=>{a.r(t),a.d(t,{default:()=>x});var r=a(9231),n=a(1045),l=a(6547),s=a(1667),c=a(646),u=a(3509),o=a(7626),m=a(7785);const h=["zero","one","two","few","many","other"];function i(e){return h.filter((t=>e.includes(t)))}const p={locale:"en",pluralForms:i(["one","other"]),select:e=>1===e?"one":"other"};function g(){const{i18n:{currentLocale:e}}=(0,n.Z)();return(0,r.useMemo)((()=>{try{return function(e){const t=new Intl.PluralRules(e);return{locale:e,pluralForms:i(t.resolvedOptions().pluralCategories),select:e=>t.select(e)}}(e)}catch(t){return console.error(`Failed to use Intl.PluralRules for locale "${e}".\nDocusaurus will fallback to the default (English) implementation.\nError: ${t.message}\n`),p}}),[e])}function d(){const e=g();return{selectMessage:(t,a)=>function(e,t,a){const r=e.split("|");if(1===r.length)return r[0];r.length>a.pluralForms.length&&console.error(`For locale=${a.locale}, a maximum of ${a.pluralForms.length} plural forms are expected (${a.pluralForms.join(",")}), but the message contains ${r.length}: ${e}`);const n=a.select(t),l=a.pluralForms.indexOf(n);return r[Math.min(l,r.length-1)]}(a,t,e)}}var f=a(9025),y=a(9409),E=a(5670);const I="q";const S=function(){const e=(0,y.k6)(),t=(0,y.TH)(),{siteConfig:{baseUrl:a}}=(0,n.Z)();return{searchValue:E.Z.canUseDOM&&new URLSearchParams(t.search).get(I)||"",updateSearchPath:a=>{const r=new URLSearchParams(t.search);a?r.set(I,a):r.delete(I),e.replace({search:r.toString()})},generateSearchPageLink:e=>`${a}search?q=${encodeURIComponent(e)}`}};var R=a(4119),w=a(5942),b=a(9357),P=a(2773),_=a(63),v=a(3449),k=a(1570),F=a(280);const C={searchQueryInput:"searchQueryInput_maN8",searchResultItem:"searchResultItem_BbR9",searchResultItemPath:"searchResultItemPath_J0Ke",searchResultItemSummary:"searchResultItemSummary_LktA"};function T(){const{siteConfig:{baseUrl:e}}=(0,n.Z)(),t=(0,f.gA)();let a=e;try{const{preferredVersion:e}=(0,o.J)(t?.pluginId??F.gQ);e&&!e.isLast&&(a=e.path+"/")}catch(_){if(F.l9&&!(_ instanceof m.i6))throw _}const{selectMessage:l}=d(),{searchValue:c,updateSearchPath:h}=S(),[i,p]=(0,r.useState)(c),[g,y]=(0,r.useState)(),[E,I]=(0,r.useState)(),b=(0,r.useMemo)((()=>i?(0,u.I)({id:"theme.SearchPage.existingResultsTitle",message:'Search results for "{query}"',description:"The search page title for non-empty query"},{query:i}):(0,u.I)({id:"theme.SearchPage.emptyResultsTitle",message:"Search the documentation",description:"The search page title for empty query"})),[i]);(0,r.useEffect)((()=>{h(i),g&&(i?g(i,(e=>{I(e)})):I(void 0))}),[i,g]);const P=(0,r.useCallback)((e=>{p(e.target.value)}),[]);return(0,r.useEffect)((()=>{c&&c!==i&&p(c)}),[c]),(0,r.useEffect)((()=>{!async function(){const{wrappedIndexes:e,zhDictionary:t}=await(0,R.w)(a);y((()=>(0,w.v)(e,t,100)))}()}),[a]),r.createElement(r.Fragment,null,r.createElement(s.Z,null,r.createElement("meta",{property:"robots",content:"noindex, follow"}),r.createElement("title",null,b)),r.createElement("div",{className:"container margin-vert--lg"},r.createElement("h1",null,b),r.createElement("input",{type:"search",name:"q",className:C.searchQueryInput,"aria-label":"Search",onChange:P,value:i,autoComplete:"off",autoFocus:!0}),!g&&i&&r.createElement("div",null,r.createElement(v.Z,null)),E&&(E.length>0?r.createElement("p",null,l(E.length,(0,u.I)({id:"theme.SearchPage.documentsFound.plurals",message:"1 document found|{count} documents found",description:'Pluralized label for "{count} documents found". Use as much plural forms (separated by "|") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)'},{count:E.length}))):r.createElement("p",null,(0,u.I)({id:"theme.SearchPage.noResultsText",message:"No documents were found",description:"The paragraph for empty search result"}))),r.createElement("section",null,E&&E.map((e=>r.createElement($,{key:e.document.i,searchResult:e}))))))}function $(e){let{searchResult:{document:t,type:a,page:n,tokens:l,metadata:s}}=e;const u=0===a,o=2===a,m=(u?t.b:n.b).slice(),h=o?t.s:t.t;return u||m.push(n.t),r.createElement("article",{className:C.searchResultItem},r.createElement("h2",null,r.createElement(c.Z,{to:t.u+(t.h||""),dangerouslySetInnerHTML:{__html:o?(0,b.C)(h,l):(0,P.o)(h,(0,_.m)(s,"t"),l,100)}})),m.length>0&&r.createElement("p",{className:C.searchResultItemPath},(0,k.e)(m)),o&&r.createElement("p",{className:C.searchResultItemSummary,dangerouslySetInnerHTML:{__html:(0,P.o)(t.t,(0,_.m)(s,"t"),l,100)}}))}const x=function(){return r.createElement(l.Z,null,r.createElement(T,null))}}}]); \ No newline at end of file diff --git a/assets/js/1be78505.954afb34.js b/assets/js/1be78505.954afb34.js new file mode 100644 index 0000000000..2ffc2bccaa --- /dev/null +++ b/assets/js/1be78505.954afb34.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkice_website_v3=self.webpackChunkice_website_v3||[]).push([[9514,9425],{6203:(e,t,n)=>{n.r(t),n.d(t,{default:()=>pe});var a=n(9231),l=n(9841),o=n(659),r=n(3226),i=n(5668),c=n(691),s=n(8299),d=n(5685),m=n(7107),u=n(6256),b=n(2571),p=n(626);const h={backToTopButton:"backToTopButton_dK1y",backToTopButtonShow:"backToTopButtonShow_BLmh"};function E(){const{shown:e,scrollToTop:t}=function(e){let{threshold:t}=e;const[n,l]=(0,a.useState)(!1),o=(0,a.useRef)(!1),{startScroll:r,cancelScroll:i}=(0,b.Ct)();return(0,b.RF)(((e,n)=>{let{scrollY:a}=e;const r=null==n?void 0:n.scrollY;r&&(o.current?o.current=!1:a>=r?(i(),l(!1)):a<t?l(!1):a+window.innerHeight<document.documentElement.scrollHeight&&l(!0))})),(0,p.S)((e=>{e.location.hash&&(o.current=!0,l(!1))})),{shown:n,scrollToTop:()=>r(0)}}({threshold:300});return a.createElement("button",{"aria-label":(0,u.I)({id:"theme.BackToTopButton.buttonAriaLabel",message:"Scroll back to top",description:"The ARIA label for the back to top button"}),className:(0,l.Z)("clean-btn",r.k.common.backToTopButton,h.backToTopButton,e&&h.backToTopButtonShow),type:"button",onClick:t})}var f=n(9409),g=n(2163),v=n(3962),k=n(9877),_=n(5675);function C(e){return a.createElement("svg",(0,_.Z)({width:"20",height:"20","aria-hidden":"true"},e),a.createElement("g",{fill:"#7a7a7a"},a.createElement("path",{d:"M9.992 10.023c0 .2-.062.399-.172.547l-4.996 7.492a.982.982 0 01-.828.454H1c-.55 0-1-.453-1-1 0-.2.059-.403.168-.551l4.629-6.942L.168 3.078A.939.939 0 010 2.528c0-.548.45-.997 1-.997h2.996c.352 0 .649.18.828.45L9.82 9.472c.11.148.172.347.172.55zm0 0"}),a.createElement("path",{d:"M19.98 10.023c0 .2-.058.399-.168.547l-4.996 7.492a.987.987 0 01-.828.454h-3c-.547 0-.996-.453-.996-1 0-.2.059-.403.168-.551l4.625-6.942-4.625-6.945a.939.939 0 01-.168-.55 1 1 0 01.996-.997h3c.348 0 .649.18.828.45l4.996 7.492c.11.148.168.347.168.55zm0 0"})))}const S={collapseSidebarButton:"collapseSidebarButton_aDgI",collapseSidebarButtonIcon:"collapseSidebarButtonIcon_OQ2o"};function I(e){let{onClick:t}=e;return a.createElement("button",{type:"button",title:(0,u.I)({id:"theme.docs.sidebar.collapseButtonTitle",message:"Collapse sidebar",description:"The title attribute for collapse button of doc sidebar"}),"aria-label":(0,u.I)({id:"theme.docs.sidebar.collapseButtonAriaLabel",message:"Collapse sidebar",description:"The title attribute for collapse button of doc sidebar"}),className:(0,l.Z)("button button--secondary button--outline",S.collapseSidebarButton),onClick:t},a.createElement(C,{className:S.collapseSidebarButtonIcon}))}var N=n(2935),x=n(9027);const T=Symbol("EmptyContext"),Z=a.createContext(T);function w(e){let{children:t}=e;const[n,l]=(0,a.useState)(null),o=(0,a.useMemo)((()=>({expandedItem:n,setExpandedItem:l})),[n]);return a.createElement(Z.Provider,{value:o},t)}var y=n(4993),B=n(2672),L=n(3826),A=n(7101);function H(e){let{categoryLabel:t,onClick:n}=e;return a.createElement("button",{"aria-label":(0,u.I)({id:"theme.DocSidebarItem.toggleCollapsedCategoryAriaLabel",message:"Toggle the collapsible sidebar category '{label}'",description:"The ARIA label to toggle the collapsible sidebar category"},{label:t}),type:"button",className:"clean-btn menu__caret",onClick:n})}function M(e){let{item:t,onItemClick:n,activePath:o,level:i,index:s,...d}=e;const{items:m,label:u,collapsible:b,className:p,href:h}=t,{docs:{sidebar:{autoCollapseCategories:E}}}=(0,v.L)(),f=function(e){const t=(0,A.Z)();return(0,a.useMemo)((()=>e.href?e.href:!t&&e.collapsible?(0,c.Wl)(e):void 0),[e,t])}(t),g=(0,c._F)(t,o),k=(0,B.Mg)(h,o),{collapsed:C,setCollapsed:S}=(0,y.u)({initialState:()=>!!b&&(!g&&t.collapsed)}),{expandedItem:I,setExpandedItem:N}=function(){const e=(0,a.useContext)(Z);if(e===T)throw new x.i6("DocSidebarItemsExpandedStateProvider");return e}(),w=function(e){void 0===e&&(e=!C),N(e?null:s),S(e)};return function(e){let{isActive:t,collapsed:n,updateCollapsed:l}=e;const o=(0,x.D9)(t);(0,a.useEffect)((()=>{t&&!o&&n&&l(!1)}),[t,o,n,l])}({isActive:g,collapsed:C,updateCollapsed:w}),(0,a.useEffect)((()=>{b&&null!=I&&I!==s&&E&&S(!0)}),[b,I,s,S,E]),a.createElement("li",{className:(0,l.Z)(r.k.docs.docSidebarItemCategory,r.k.docs.docSidebarItemCategoryLevel(i),"menu__list-item",{"menu__list-item--collapsed":C},p)},a.createElement("div",{className:(0,l.Z)("menu__list-item-collapsible",{"menu__list-item-collapsible--active":k})},a.createElement(L.Z,(0,_.Z)({className:(0,l.Z)("menu__link",{"menu__link--sublist":b,"menu__link--sublist-caret":!h&&b,"menu__link--active":g}),onClick:b?e=>{null==n||n(t),h?w(!1):(e.preventDefault(),w())}:()=>{null==n||n(t)},"aria-current":k?"page":void 0,"aria-expanded":b?!C:void 0,href:b?f??"#":f},d),u),h&&b&&a.createElement(H,{categoryLabel:u,onClick:e=>{e.preventDefault(),w()}})),a.createElement(y.z,{lazy:!0,as:"ul",className:"menu__list",collapsed:C},a.createElement(Q,{items:m,tabIndex:C?-1:0,onItemClick:n,activePath:o,level:i+1})))}var F=n(4086),P=n(6306);const W={menuExternalLink:"menuExternalLink_g8Go"};function R(e){let{item:t,onItemClick:n,activePath:o,level:i,index:s,...d}=e;const{href:m,label:u,className:b,autoAddBaseUrl:p}=t,h=(0,c._F)(t,o),E=(0,F.Z)(m);return a.createElement("li",{className:(0,l.Z)(r.k.docs.docSidebarItemLink,r.k.docs.docSidebarItemLinkLevel(i),"menu__list-item",b),key:u},a.createElement(L.Z,(0,_.Z)({className:(0,l.Z)("menu__link",!E&&W.menuExternalLink,{"menu__link--active":h}),autoAddBaseUrl:p,"aria-current":h?"page":void 0,to:m},E&&{onClick:n?()=>n(t):void 0},d),u,!E&&a.createElement(P.Z,null)))}const D={menuHtmlItem:"menuHtmlItem_fSHC"};function V(e){let{item:t,level:n,index:o}=e;const{value:i,defaultStyle:c,className:s}=t;return a.createElement("li",{className:(0,l.Z)(r.k.docs.docSidebarItemLink,r.k.docs.docSidebarItemLinkLevel(n),c&&[D.menuHtmlItem,"menu__list-item"],s),key:o,dangerouslySetInnerHTML:{__html:i}})}function z(e){let{item:t,...n}=e;switch(t.type){case"category":return a.createElement(M,(0,_.Z)({item:t},n));case"html":return a.createElement(V,(0,_.Z)({item:t},n));default:return a.createElement(R,(0,_.Z)({item:t},n))}}function G(e){let{items:t,...n}=e;return a.createElement(w,null,t.map(((e,t)=>a.createElement(z,(0,_.Z)({key:t,item:e,index:t},n)))))}const Q=(0,a.memo)(G),U={menu:"menu_nhuy",menuWithAnnouncementBar:"menuWithAnnouncementBar_wMl_"};function Y(e){let{path:t,sidebar:n,className:o}=e;const i=function(){const{isActive:e}=(0,N.nT)(),[t,n]=(0,a.useState)(e);return(0,b.RF)((t=>{let{scrollY:a}=t;e&&n(0===a)}),[e]),e&&t}();return a.createElement("nav",{"aria-label":(0,u.I)({id:"theme.docs.sidebar.navAriaLabel",message:"Docs sidebar",description:"The ARIA label for the sidebar navigation"}),className:(0,l.Z)("menu thin-scrollbar",U.menu,i&&U.menuWithAnnouncementBar,o)},a.createElement("ul",{className:(0,l.Z)(r.k.docs.docSidebarMenu,"menu__list")},a.createElement(Q,{items:n,activePath:t,level:1})))}const q={sidebar:"sidebar_WwmS",sidebarWithHideableNavbar:"sidebarWithHideableNavbar_keSI",sidebarHidden:"sidebarHidden_Hm3x",sidebarLogo:"sidebarLogo_Azxb"};function K(e){let{path:t,sidebar:n,onCollapse:o,isHidden:r}=e;const{navbar:{hideOnScroll:i},docs:{sidebar:{hideable:c}}}=(0,v.L)();return a.createElement("div",{className:(0,l.Z)(q.sidebar,i&&q.sidebarWithHideableNavbar,r&&q.sidebarHidden)},i&&a.createElement(k.Z,{tabIndex:-1,className:q.sidebarLogo}),a.createElement(Y,{path:t,sidebar:n}),c&&a.createElement(I,{onClick:o}))}const O=a.memo(K);var j=n(5953),J=n(6273);const X=e=>{let{sidebar:t,path:n}=e;const o=(0,J.e)();return a.createElement("ul",{className:(0,l.Z)(r.k.docs.docSidebarMenu,"menu__list")},a.createElement(Q,{items:t,activePath:n,onItemClick:e=>{"category"===e.type&&e.href&&o.toggle(),"link"===e.type&&o.toggle()},level:1}))};function $(e){return a.createElement(j.Zo,{component:X,props:e})}const ee=a.memo($);function te(e){const t=(0,g.i)(),n="desktop"===t||"ssr"===t,l="mobile"===t;return a.createElement(a.Fragment,null,n&&a.createElement(O,e),l&&a.createElement(ee,e))}const ne={expandButton:"expandButton_b21y",expandButtonIcon:"expandButtonIcon__mG8"};function ae(e){let{toggleSidebar:t}=e;return a.createElement("div",{className:ne.expandButton,title:(0,u.I)({id:"theme.docs.sidebar.expandButtonTitle",message:"Expand sidebar",description:"The ARIA label and title attribute for expand button of doc sidebar"}),"aria-label":(0,u.I)({id:"theme.docs.sidebar.expandButtonAriaLabel",message:"Expand sidebar",description:"The ARIA label and title attribute for expand button of doc sidebar"}),tabIndex:0,role:"button",onKeyDown:t,onClick:t},a.createElement(C,{className:ne.expandButtonIcon}))}const le={docSidebarContainer:"docSidebarContainer_rfw4",docSidebarContainerHidden:"docSidebarContainerHidden_TdjQ",sidebarViewport:"sidebarViewport_IQA6"};function oe(e){let{children:t}=e;const n=(0,d.V)();return a.createElement(a.Fragment,{key:(null==n?void 0:n.name)??"noSidebar"},t)}function re(e){let{sidebar:t,hiddenSidebarContainer:n,setHiddenSidebarContainer:o}=e;const{pathname:i}=(0,f.TH)(),[c,s]=(0,a.useState)(!1),d=(0,a.useCallback)((()=>{c&&s(!1),o((e=>!e))}),[o,c]);return a.createElement("aside",{className:(0,l.Z)(r.k.docs.docSidebarContainer,le.docSidebarContainer,n&&le.docSidebarContainerHidden),onTransitionEnd:e=>{e.currentTarget.classList.contains(le.docSidebarContainer)&&n&&s(!0)}},a.createElement(oe,null,a.createElement("div",{className:(0,l.Z)(le.sidebarViewport,c&&le.sidebarViewportHidden)},a.createElement(te,{sidebar:t,path:i,onCollapse:d,isHidden:c}),c&&a.createElement(ae,{toggleSidebar:d}))))}const ie={docMainContainer:"docMainContainer_rbFc",docMainContainerEnhanced:"docMainContainerEnhanced_kRx8",docItemWrapperEnhanced:"docItemWrapperEnhanced_dRaS"};function ce(e){let{hiddenSidebarContainer:t,children:n}=e;const o=(0,d.V)();return a.createElement("main",{className:(0,l.Z)(ie.docMainContainer,(t||!o)&&ie.docMainContainerEnhanced)},a.createElement("div",{className:(0,l.Z)("container padding-top--md padding-bottom--lg",ie.docItemWrapper,t&&ie.docItemWrapperEnhanced)},n))}const se={docPage:"docPage_oul_",docsWrapper:"docsWrapper_JEf9"};function de(e){let{children:t}=e;const n=(0,d.V)(),[l,o]=(0,a.useState)(!1);return a.createElement(m.Z,{wrapperClassName:se.docsWrapper},a.createElement(E,null),a.createElement("div",{className:se.docPage},n&&a.createElement(re,{sidebar:n.items,hiddenSidebarContainer:l,setHiddenSidebarContainer:o}),a.createElement(ce,{hiddenSidebarContainer:l},t)))}var me=n(9425),ue=n(8087);function be(e){const{versionMetadata:t}=e;return a.createElement(a.Fragment,null,a.createElement(ue.Z,{version:t.version,tag:(0,i.os)(t.pluginId,t.version)}),a.createElement(o.d,null,t.noIndex&&a.createElement("meta",{name:"robots",content:"noindex, nofollow"})))}function pe(e){const{versionMetadata:t}=e,n=(0,c.hI)(e);if(!n)return a.createElement(me.default,null);const{docElement:i,sidebarName:m,sidebarItems:u}=n;return a.createElement(a.Fragment,null,a.createElement(be,e),a.createElement(o.FG,{className:(0,l.Z)(r.k.wrapper.docsPages,r.k.page.docsDocPage,e.versionMetadata.className)},a.createElement(s.q,{version:t},a.createElement(d.b,{name:m,items:u},a.createElement(de,null,i)))))}},9425:(e,t,n)=>{n.r(t),n.d(t,{default:()=>i});var a=n(9231),l=n(6256),o=n(659),r=n(7107);function i(){return a.createElement(a.Fragment,null,a.createElement(o.d,{title:(0,l.I)({id:"theme.NotFound.title",message:"Page Not Found"})}),a.createElement(r.Z,null,a.createElement("main",{className:"container margin-vert--xl"},a.createElement("div",{className:"row"},a.createElement("div",{className:"col col--6 col--offset-3"},a.createElement("h1",{className:"hero__title"},a.createElement(l.Z,{id:"theme.NotFound.title",description:"The title of the 404 page"},"Page Not Found")),a.createElement("p",null,a.createElement(l.Z,{id:"theme.NotFound.p1",description:"The first paragraph of the 404 page"},"We could not find what you were looking for.")),a.createElement("p",null,a.createElement(l.Z,{id:"theme.NotFound.p2",description:"The 2nd paragraph of the 404 page"},"Please contact the owner of the site that linked you to the original URL and let them know their link is broken.")))))))}},8299:(e,t,n)=>{n.d(t,{E:()=>i,q:()=>r});var a=n(9231),l=n(9027);const o=a.createContext(null);function r(e){let{children:t,version:n}=e;return a.createElement(o.Provider,{value:n},t)}function i(){const e=(0,a.useContext)(o);if(null===e)throw new l.i6("DocsVersionProvider");return e}}}]); \ No newline at end of file diff --git a/assets/js/1be78505.af632256.js b/assets/js/1be78505.af632256.js deleted file mode 100644 index 80d07beaa1..0000000000 --- a/assets/js/1be78505.af632256.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkice_website_v3=self.webpackChunkice_website_v3||[]).push([[9514,289],{4897:(e,t,n)=>{n.r(t),n.d(t,{default:()=>pe});var a=n(9231),o=n(9841),l=n(4439),r=n(5354),i=n(6092),c=n(5611),s=n(4099),d=n(6786),m=n(6547),u=n(3509),b=n(358),p=n(575);const h={backToTopButton:"backToTopButton_uwYb",backToTopButtonShow:"backToTopButtonShow_P1oP"};function E(){const{shown:e,scrollToTop:t}=function(e){let{threshold:t}=e;const[n,o]=(0,a.useState)(!1),l=(0,a.useRef)(!1),{startScroll:r,cancelScroll:i}=(0,b.Ct)();return(0,b.RF)(((e,n)=>{let{scrollY:a}=e;const r=n?.scrollY;r&&(l.current?l.current=!1:a>=r?(i(),o(!1)):a<t?o(!1):a+window.innerHeight<document.documentElement.scrollHeight&&o(!0))})),(0,p.S)((e=>{e.location.hash&&(l.current=!0,o(!1))})),{shown:n,scrollToTop:()=>r(0)}}({threshold:300});return a.createElement("button",{"aria-label":(0,u.I)({id:"theme.BackToTopButton.buttonAriaLabel",message:"Scroll back to top",description:"The ARIA label for the back to top button"}),className:(0,o.Z)("clean-btn",r.k.common.backToTopButton,h.backToTopButton,e&&h.backToTopButtonShow),type:"button",onClick:t})}var g=n(9409),f=n(6677),v=n(7980),k=n(4049),_=n(5675);function C(e){return a.createElement("svg",(0,_.Z)({width:"20",height:"20","aria-hidden":"true"},e),a.createElement("g",{fill:"#7a7a7a"},a.createElement("path",{d:"M9.992 10.023c0 .2-.062.399-.172.547l-4.996 7.492a.982.982 0 01-.828.454H1c-.55 0-1-.453-1-1 0-.2.059-.403.168-.551l4.629-6.942L.168 3.078A.939.939 0 010 2.528c0-.548.45-.997 1-.997h2.996c.352 0 .649.18.828.45L9.82 9.472c.11.148.172.347.172.55zm0 0"}),a.createElement("path",{d:"M19.98 10.023c0 .2-.058.399-.168.547l-4.996 7.492a.987.987 0 01-.828.454h-3c-.547 0-.996-.453-.996-1 0-.2.059-.403.168-.551l4.625-6.942-4.625-6.945a.939.939 0 01-.168-.55 1 1 0 01.996-.997h3c.348 0 .649.18.828.45l4.996 7.492c.11.148.168.347.168.55zm0 0"})))}const S={collapseSidebarButton:"collapseSidebarButton_DdT7",collapseSidebarButtonIcon:"collapseSidebarButtonIcon_umEY"};function I(e){let{onClick:t}=e;return a.createElement("button",{type:"button",title:(0,u.I)({id:"theme.docs.sidebar.collapseButtonTitle",message:"Collapse sidebar",description:"The title attribute for collapse button of doc sidebar"}),"aria-label":(0,u.I)({id:"theme.docs.sidebar.collapseButtonAriaLabel",message:"Collapse sidebar",description:"The title attribute for collapse button of doc sidebar"}),className:(0,o.Z)("button button--secondary button--outline",S.collapseSidebarButton),onClick:t},a.createElement(C,{className:S.collapseSidebarButtonIcon}))}var N=n(6286),T=n(7785);const Z=Symbol("EmptyContext"),x=a.createContext(Z);function w(e){let{children:t}=e;const[n,o]=(0,a.useState)(null),l=(0,a.useMemo)((()=>({expandedItem:n,setExpandedItem:o})),[n]);return a.createElement(x.Provider,{value:l},t)}var B=n(3817),y=n(4466),L=n(646),A=n(348);function H(e){let{categoryLabel:t,onClick:n}=e;return a.createElement("button",{"aria-label":(0,u.I)({id:"theme.DocSidebarItem.toggleCollapsedCategoryAriaLabel",message:"Toggle the collapsible sidebar category '{label}'",description:"The ARIA label to toggle the collapsible sidebar category"},{label:t}),type:"button",className:"clean-btn menu__caret",onClick:n})}function P(e){let{item:t,onItemClick:n,activePath:l,level:i,index:s,...d}=e;const{items:m,label:u,collapsible:b,className:p,href:h}=t,{docs:{sidebar:{autoCollapseCategories:E}}}=(0,v.L)(),g=function(e){const t=(0,A.Z)();return(0,a.useMemo)((()=>e.href?e.href:!t&&e.collapsible?(0,c.Wl)(e):void 0),[e,t])}(t),f=(0,c._F)(t,l),k=(0,y.Mg)(h,l),{collapsed:C,setCollapsed:S}=(0,B.u)({initialState:()=>!!b&&(!f&&t.collapsed)}),{expandedItem:I,setExpandedItem:N}=function(){const e=(0,a.useContext)(x);if(e===Z)throw new T.i6("DocSidebarItemsExpandedStateProvider");return e}(),w=function(e){void 0===e&&(e=!C),N(e?null:s),S(e)};return function(e){let{isActive:t,collapsed:n,updateCollapsed:o}=e;const l=(0,T.D9)(t);(0,a.useEffect)((()=>{t&&!l&&n&&o(!1)}),[t,l,n,o])}({isActive:f,collapsed:C,updateCollapsed:w}),(0,a.useEffect)((()=>{b&&null!=I&&I!==s&&E&&S(!0)}),[b,I,s,S,E]),a.createElement("li",{className:(0,o.Z)(r.k.docs.docSidebarItemCategory,r.k.docs.docSidebarItemCategoryLevel(i),"menu__list-item",{"menu__list-item--collapsed":C},p)},a.createElement("div",{className:(0,o.Z)("menu__list-item-collapsible",{"menu__list-item-collapsible--active":k})},a.createElement(L.Z,(0,_.Z)({className:(0,o.Z)("menu__link",{"menu__link--sublist":b,"menu__link--sublist-caret":!h&&b,"menu__link--active":f}),onClick:b?e=>{n?.(t),h?w(!1):(e.preventDefault(),w())}:()=>{n?.(t)},"aria-current":k?"page":void 0,"aria-expanded":b?!C:void 0,href:b?g??"#":g},d),u),h&&b&&a.createElement(H,{categoryLabel:u,onClick:e=>{e.preventDefault(),w()}})),a.createElement(B.z,{lazy:!0,as:"ul",className:"menu__list",collapsed:C},a.createElement(q,{items:m,tabIndex:C?-1:0,onItemClick:n,activePath:l,level:i+1})))}var M=n(8052),F=n(3523);const W={menuExternalLink:"menuExternalLink_OjDg"};function D(e){let{item:t,onItemClick:n,activePath:l,level:i,index:s,...d}=e;const{href:m,label:u,className:b,autoAddBaseUrl:p}=t,h=(0,c._F)(t,l),E=(0,M.Z)(m);return a.createElement("li",{className:(0,o.Z)(r.k.docs.docSidebarItemLink,r.k.docs.docSidebarItemLinkLevel(i),"menu__list-item",b),key:u},a.createElement(L.Z,(0,_.Z)({className:(0,o.Z)("menu__link",!E&&W.menuExternalLink,{"menu__link--active":h}),autoAddBaseUrl:p,"aria-current":h?"page":void 0,to:m},E&&{onClick:n?()=>n(t):void 0},d),u,!E&&a.createElement(F.Z,null)))}const R={menuHtmlItem:"menuHtmlItem_yScY"};function V(e){let{item:t,level:n,index:l}=e;const{value:i,defaultStyle:c,className:s}=t;return a.createElement("li",{className:(0,o.Z)(r.k.docs.docSidebarItemLink,r.k.docs.docSidebarItemLinkLevel(n),c&&[R.menuHtmlItem,"menu__list-item"],s),key:l,dangerouslySetInnerHTML:{__html:i}})}function z(e){let{item:t,...n}=e;switch(t.type){case"category":return a.createElement(P,(0,_.Z)({item:t},n));case"html":return a.createElement(V,(0,_.Z)({item:t},n));default:return a.createElement(D,(0,_.Z)({item:t},n))}}function Y(e){let{items:t,...n}=e;return a.createElement(w,null,t.map(((e,t)=>a.createElement(z,(0,_.Z)({key:t,item:e,index:t},n)))))}const q=(0,a.memo)(Y),X={menu:"menu__fEV",menuWithAnnouncementBar:"menuWithAnnouncementBar_QXTr"};function j(e){let{path:t,sidebar:n,className:l}=e;const i=function(){const{isActive:e}=(0,N.nT)(),[t,n]=(0,a.useState)(e);return(0,b.RF)((t=>{let{scrollY:a}=t;e&&n(0===a)}),[e]),e&&t}();return a.createElement("nav",{"aria-label":(0,u.I)({id:"theme.docs.sidebar.navAriaLabel",message:"Docs sidebar",description:"The ARIA label for the sidebar navigation"}),className:(0,o.Z)("menu thin-scrollbar",X.menu,i&&X.menuWithAnnouncementBar,l)},a.createElement("ul",{className:(0,o.Z)(r.k.docs.docSidebarMenu,"menu__list")},a.createElement(q,{items:n,activePath:t,level:1})))}const K={sidebar:"sidebar_rahD",sidebarWithHideableNavbar:"sidebarWithHideableNavbar_yjxb",sidebarHidden:"sidebarHidden_pZqE",sidebarLogo:"sidebarLogo_LMsw"};function U(e){let{path:t,sidebar:n,onCollapse:l,isHidden:r}=e;const{navbar:{hideOnScroll:i},docs:{sidebar:{hideable:c}}}=(0,v.L)();return a.createElement("div",{className:(0,o.Z)(K.sidebar,i&&K.sidebarWithHideableNavbar,r&&K.sidebarHidden)},i&&a.createElement(k.Z,{tabIndex:-1,className:K.sidebarLogo}),a.createElement(j,{path:t,sidebar:n}),c&&a.createElement(I,{onClick:l}))}const G=a.memo(U);var O=n(7028),Q=n(2826);const J=e=>{let{sidebar:t,path:n}=e;const l=(0,Q.e)();return a.createElement("ul",{className:(0,o.Z)(r.k.docs.docSidebarMenu,"menu__list")},a.createElement(q,{items:t,activePath:n,onItemClick:e=>{"category"===e.type&&e.href&&l.toggle(),"link"===e.type&&l.toggle()},level:1}))};function $(e){return a.createElement(O.Zo,{component:J,props:e})}const ee=a.memo($);function te(e){const t=(0,f.i)(),n="desktop"===t||"ssr"===t,o="mobile"===t;return a.createElement(a.Fragment,null,n&&a.createElement(G,e),o&&a.createElement(ee,e))}const ne={expandButton:"expandButton_HhRg",expandButtonIcon:"expandButtonIcon_z3Ge"};function ae(e){let{toggleSidebar:t}=e;return a.createElement("div",{className:ne.expandButton,title:(0,u.I)({id:"theme.docs.sidebar.expandButtonTitle",message:"Expand sidebar",description:"The ARIA label and title attribute for expand button of doc sidebar"}),"aria-label":(0,u.I)({id:"theme.docs.sidebar.expandButtonAriaLabel",message:"Expand sidebar",description:"The ARIA label and title attribute for expand button of doc sidebar"}),tabIndex:0,role:"button",onKeyDown:t,onClick:t},a.createElement(C,{className:ne.expandButtonIcon}))}const oe={docSidebarContainer:"docSidebarContainer_x1id",docSidebarContainerHidden:"docSidebarContainerHidden_qDZ0",sidebarViewport:"sidebarViewport_Xnca"};function le(e){let{children:t}=e;const n=(0,d.V)();return a.createElement(a.Fragment,{key:n?.name??"noSidebar"},t)}function re(e){let{sidebar:t,hiddenSidebarContainer:n,setHiddenSidebarContainer:l}=e;const{pathname:i}=(0,g.TH)(),[c,s]=(0,a.useState)(!1),d=(0,a.useCallback)((()=>{c&&s(!1),l((e=>!e))}),[l,c]);return a.createElement("aside",{className:(0,o.Z)(r.k.docs.docSidebarContainer,oe.docSidebarContainer,n&&oe.docSidebarContainerHidden),onTransitionEnd:e=>{e.currentTarget.classList.contains(oe.docSidebarContainer)&&n&&s(!0)}},a.createElement(le,null,a.createElement("div",{className:(0,o.Z)(oe.sidebarViewport,c&&oe.sidebarViewportHidden)},a.createElement(te,{sidebar:t,path:i,onCollapse:d,isHidden:c}),c&&a.createElement(ae,{toggleSidebar:d}))))}const ie={docMainContainer:"docMainContainer_g21Z",docMainContainerEnhanced:"docMainContainerEnhanced_dlQX",docItemWrapperEnhanced:"docItemWrapperEnhanced_XzBF"};function ce(e){let{hiddenSidebarContainer:t,children:n}=e;const l=(0,d.V)();return a.createElement("main",{className:(0,o.Z)(ie.docMainContainer,(t||!l)&&ie.docMainContainerEnhanced)},a.createElement("div",{className:(0,o.Z)("container padding-top--md padding-bottom--lg",ie.docItemWrapper,t&&ie.docItemWrapperEnhanced)},n))}const se={docPage:"docPage_Kjzg",docsWrapper:"docsWrapper_glKT"};function de(e){let{children:t}=e;const n=(0,d.V)(),[o,l]=(0,a.useState)(!1);return a.createElement(m.Z,{wrapperClassName:se.docsWrapper},a.createElement(E,null),a.createElement("div",{className:se.docPage},n&&a.createElement(re,{sidebar:n.items,hiddenSidebarContainer:o,setHiddenSidebarContainer:l}),a.createElement(ce,{hiddenSidebarContainer:o},t)))}var me=n(289),ue=n(8637);function be(e){const{versionMetadata:t}=e;return a.createElement(a.Fragment,null,a.createElement(ue.Z,{version:t.version,tag:(0,i.os)(t.pluginId,t.version)}),a.createElement(l.d,null,t.noIndex&&a.createElement("meta",{name:"robots",content:"noindex, nofollow"})))}function pe(e){const{versionMetadata:t}=e,n=(0,c.hI)(e);if(!n)return a.createElement(me.default,null);const{docElement:i,sidebarName:m,sidebarItems:u}=n;return a.createElement(a.Fragment,null,a.createElement(be,e),a.createElement(l.FG,{className:(0,o.Z)(r.k.wrapper.docsPages,r.k.page.docsDocPage,e.versionMetadata.className)},a.createElement(s.q,{version:t},a.createElement(d.b,{name:m,items:u},a.createElement(de,null,i)))))}},289:(e,t,n)=>{n.r(t),n.d(t,{default:()=>i});var a=n(9231),o=n(3509),l=n(4439),r=n(6547);function i(){return a.createElement(a.Fragment,null,a.createElement(l.d,{title:(0,o.I)({id:"theme.NotFound.title",message:"Page Not Found"})}),a.createElement(r.Z,null,a.createElement("main",{className:"container margin-vert--xl"},a.createElement("div",{className:"row"},a.createElement("div",{className:"col col--6 col--offset-3"},a.createElement("h1",{className:"hero__title"},a.createElement(o.Z,{id:"theme.NotFound.title",description:"The title of the 404 page"},"Page Not Found")),a.createElement("p",null,a.createElement(o.Z,{id:"theme.NotFound.p1",description:"The first paragraph of the 404 page"},"We could not find what you were looking for.")),a.createElement("p",null,a.createElement(o.Z,{id:"theme.NotFound.p2",description:"The 2nd paragraph of the 404 page"},"Please contact the owner of the site that linked you to the original URL and let them know their link is broken.")))))))}},4099:(e,t,n)=>{n.d(t,{E:()=>i,q:()=>r});var a=n(9231),o=n(7785);const l=a.createContext(null);function r(e){let{children:t,version:n}=e;return a.createElement(l.Provider,{value:n},t)}function i(){const e=(0,a.useContext)(l);if(null===e)throw new o.i6("DocsVersionProvider");return e}}}]); \ No newline at end of file diff --git a/assets/js/1c4cfb0f.e872aa42.js b/assets/js/1c4cfb0f.e872aa42.js new file mode 100644 index 0000000000..7d4d9e0c49 --- /dev/null +++ b/assets/js/1c4cfb0f.e872aa42.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkice_website_v3=self.webpackChunkice_website_v3||[]).push([[4959],{4852:(e,t,n)=>{n.d(t,{Zo:()=>c,kt:()=>b});var a=n(9231);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function s(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?l(Object(n),!0).forEach((function(t){r(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):l(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function o(e,t){if(null==e)return{};var n,a,r=function(e,t){if(null==e)return{};var n,a,r={},l=Object.keys(e);for(a=0;a<l.length;a++)n=l[a],t.indexOf(n)>=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a<l.length;a++)n=l[a],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var i=a.createContext({}),u=function(e){var t=a.useContext(i),n=t;return e&&(n="function"==typeof e?e(t):s(s({},t),e)),n},c=function(e){var t=u(e.components);return a.createElement(i.Provider,{value:t},e.children)},p="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},m=a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,l=e.originalType,i=e.parentName,c=o(e,["components","mdxType","originalType","parentName"]),p=u(n),m=r,b=p["".concat(i,".").concat(m)]||p[m]||d[m]||l;return n?a.createElement(b,s(s({ref:t},c),{},{components:n})):a.createElement(b,s({ref:t},c))}));function b(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var l=n.length,s=new Array(l);s[0]=m;var o={};for(var i in t)hasOwnProperty.call(t,i)&&(o[i]=t[i]);o.originalType=e,o[p]="string"==typeof e?e:r,s[1]=o;for(var u=2;u<l;u++)s[u]=n[u];return a.createElement.apply(null,s)}return a.createElement.apply(null,n)}m.displayName="MDXCreateElement"},5577:(e,t,n)=>{n.d(t,{Z:()=>s});var a=n(9231),r=n(9841);const l={tabItem:"tabItem_M7ZN"};function s(e){let{children:t,hidden:n,className:s}=e;return a.createElement("div",{role:"tabpanel",className:(0,r.Z)(l.tabItem,s),hidden:n},t)}},7642:(e,t,n)=>{n.d(t,{Z:()=>x});var a=n(5675),r=n(9231),l=n(9841),s=n(2571),o=n(9409),i=n(1954),u=n(7250),c=n(4967);function p(e){return function(e){return r.Children.map(e,(e=>{if((0,r.isValidElement)(e)&&"value"in e.props)return e;throw new Error(`Docusaurus error: Bad <Tabs> child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the <Tabs> component should be <TabItem>, and every <TabItem> should have a unique "value" prop.`)}))}(e).map((e=>{let{props:{value:t,label:n,attributes:a,default:r}}=e;return{value:t,label:n,attributes:a,default:r}}))}function d(e){const{values:t,children:n}=e;return(0,r.useMemo)((()=>{const e=t??p(n);return function(e){const t=(0,u.l)(e,((e,t)=>e.value===t.value));if(t.length>0)throw new Error(`Docusaurus error: Duplicate values "${t.map((e=>e.value)).join(", ")}" found in <Tabs>. Every value needs to be unique.`)}(e),e}),[t,n])}function m(e){let{value:t,tabValues:n}=e;return n.some((e=>e.value===t))}function b(e){let{queryString:t=!1,groupId:n}=e;const a=(0,o.k6)(),l=function(e){let{queryString:t=!1,groupId:n}=e;if("string"==typeof t)return t;if(!1===t)return null;if(!0===t&&!n)throw new Error('Docusaurus error: The <Tabs> component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return n??null}({queryString:t,groupId:n});return[(0,i._X)(l),(0,r.useCallback)((e=>{if(!l)return;const t=new URLSearchParams(a.location.search);t.set(l,e),a.replace({...a.location,search:t.toString()})}),[l,a])]}function f(e){const{defaultValue:t,queryString:n=!1,groupId:a}=e,l=d(e),[s,o]=(0,r.useState)((()=>function(e){let{defaultValue:t,tabValues:n}=e;if(0===n.length)throw new Error("Docusaurus error: the <Tabs> component requires at least one <TabItem> children component");if(t){if(!m({value:t,tabValues:n}))throw new Error(`Docusaurus error: The <Tabs> has a defaultValue "${t}" but none of its children has the corresponding value. Available values are: ${n.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return t}const a=n.find((e=>e.default))??n[0];if(!a)throw new Error("Unexpected error: 0 tabValues");return a.value}({defaultValue:t,tabValues:l}))),[i,u]=b({queryString:n,groupId:a}),[p,f]=function(e){let{groupId:t}=e;const n=function(e){return e?`docusaurus.tab.${e}`:null}(t),[a,l]=(0,c.Nk)(n);return[a,(0,r.useCallback)((e=>{n&&l.set(e)}),[n,l])]}({groupId:a}),k=(()=>{const e=i??p;return m({value:e,tabValues:l})?e:null})();(0,r.useLayoutEffect)((()=>{k&&o(k)}),[k]);return{selectedValue:s,selectValue:(0,r.useCallback)((e=>{if(!m({value:e,tabValues:l}))throw new Error(`Can't select invalid tab value=${e}`);o(e),u(e),f(e)}),[u,f,l]),tabValues:l}}var k=n(7101);const g={tabList:"tabList_bgMo",tabItem:"tabItem_E4E1"};function v(e){let{className:t,block:n,selectedValue:o,selectValue:i,tabValues:u}=e;const c=[],{blockElementScrollPositionUntilNextRender:p}=(0,s.o5)(),d=e=>{const t=e.currentTarget,n=c.indexOf(t),a=u[n].value;a!==o&&(p(t),i(a))},m=e=>{var t;let n=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":{const t=c.indexOf(e.currentTarget)+1;n=c[t]??c[0];break}case"ArrowLeft":{const t=c.indexOf(e.currentTarget)-1;n=c[t]??c[c.length-1];break}}null==(t=n)||t.focus()};return r.createElement("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,l.Z)("tabs",{"tabs--block":n},t)},u.map((e=>{let{value:t,label:n,attributes:s}=e;return r.createElement("li",(0,a.Z)({role:"tab",tabIndex:o===t?0:-1,"aria-selected":o===t,key:t,ref:e=>c.push(e),onKeyDown:m,onClick:d},s,{className:(0,l.Z)("tabs__item",g.tabItem,null==s?void 0:s.className,{"tabs__item--active":o===t})}),n??t)})))}function h(e){let{lazy:t,children:n,selectedValue:a}=e;if(n=Array.isArray(n)?n:[n],t){const e=n.find((e=>e.props.value===a));return e?(0,r.cloneElement)(e,{className:"margin-top--md"}):null}return r.createElement("div",{className:"margin-top--md"},n.map(((e,t)=>(0,r.cloneElement)(e,{key:t,hidden:e.props.value!==a}))))}function y(e){const t=f(e);return r.createElement("div",{className:(0,l.Z)("tabs-container",g.tabList)},r.createElement(v,(0,a.Z)({},e,t)),r.createElement(h,(0,a.Z)({},e,t)))}function x(e){const t=(0,k.Z)();return r.createElement(y,(0,a.Z)({key:String(t)},e))}},4024:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>b,frontMatter:()=>o,metadata:()=>u,toc:()=>p});var a=n(5675),r=(n(9231),n(4852)),l=n(7642),s=n(5577);const o={title:"\u6837\u5f0f",order:5},i=void 0,u={unversionedId:"guide/basic/style",id:"guide/basic/style",title:"\u6837\u5f0f",description:"ice.js \u63a8\u8350\u4f7f\u7528\u539f\u751f CSS + PostCSS \u7684\u65b9\u6848\u7f16\u5199\u6837\u5f0f\uff0c\u4e0d\u5efa\u8bae\u4f7f\u7528 less/sass \u4e4b\u7c7b\u7684\u9884\u7f16\u8bd1\u65b9\u6848\uff0cCSS \u5199\u6cd5\u76ee\u524d\u6269\u5c55\u652f\u6301\u4e86 @import \u4ee5\u53ca\u5d4c\u5957\u5199\u6cd5\u3002",source:"@site/docs/guide/basic/style.md",sourceDirName:"guide/basic",slug:"/guide/basic/style",permalink:"/docs/guide/basic/style",draft:!1,editUrl:"https://github.com/alibaba/ice/edit/master/website/docs/guide/basic/style.md",tags:[],version:"current",frontMatter:{title:"\u6837\u5f0f",order:5},sidebar:"docs",previous:{title:"\u9875\u9762",permalink:"/docs/guide/basic/page"},next:{title:"\u6570\u636e\u52a0\u8f7d",permalink:"/docs/guide/basic/data-loader"}},c={},p=[{value:"\u5168\u5c40\u6837\u5f0f",id:"\u5168\u5c40\u6837\u5f0f",level:2},{value:"\u5c40\u90e8\u6837\u5f0f",id:"\u5c40\u90e8\u6837\u5f0f",level:2},{value:"\u5e38\u89c1\u95ee\u9898",id:"\u5e38\u89c1\u95ee\u9898",level:2},{value:"ice.js \u652f\u6301 rpx \u5417",id:"icejs-\u652f\u6301-rpx-\u5417",level:3},{value:"\u5982\u4f55\u8986\u76d6\u5168\u5c40\u57fa\u7840\u7ec4\u4ef6\uff08next/antd\uff09\u6837\u5f0f",id:"\u5982\u4f55\u8986\u76d6\u5168\u5c40\u57fa\u7840\u7ec4\u4ef6nextantd\u6837\u5f0f",level:3},{value:"\u5982\u4f55\u8986\u76d6\u5c40\u90e8\u57fa\u7840\u7ec4\u4ef6\u6837\u5f0f",id:"\u5982\u4f55\u8986\u76d6\u5c40\u90e8\u57fa\u7840\u7ec4\u4ef6\u6837\u5f0f",level:3},{value:"\u5982\u4f55\u83b7\u5f97 CSS \u5d4c\u5957\u7684\u7c7b\u578b\u63d0\u793a",id:"\u5982\u4f55\u83b7\u5f97-css-\u5d4c\u5957\u7684\u7c7b\u578b\u63d0\u793a",level:3}],d={toc:p},m="wrapper";function b(e){let{components:t,...n}=e;return(0,r.kt)(m,(0,a.Z)({},d,n,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("p",null,"ice.js \u63a8\u8350\u4f7f\u7528\u539f\u751f CSS + PostCSS \u7684\u65b9\u6848\u7f16\u5199\u6837\u5f0f\uff0c\u4e0d\u5efa\u8bae\u4f7f\u7528 ",(0,r.kt)("inlineCode",{parentName:"p"},"less/sass")," \u4e4b\u7c7b\u7684\u9884\u7f16\u8bd1\u65b9\u6848\uff0cCSS \u5199\u6cd5\u76ee\u524d\u6269\u5c55\u652f\u6301\u4e86 ",(0,r.kt)("inlineCode",{parentName:"p"},"@import")," \u4ee5\u53ca\u5d4c\u5957\u5199\u6cd5\u3002"),(0,r.kt)(l.Z,{mdxType:"Tabs"},(0,r.kt)(s.Z,{value:"css",label:"index.css",mdxType:"TabItem"},(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-css"},"@import './theme.css';\n\n.home {\n color: red;\n\n h2 {\n display: block;\n }\n}\n"))),(0,r.kt)(s.Z,{value:"tsx",label:"index.tsx",mdxType:"TabItem"},(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-tsx"},"import './index.css';\n\nfunction Home() {\n return (\n <div className=\"home\">\n <h2>CSS Modules</h2>\n </div>\n );\n}\n")))),(0,r.kt)("blockquote",null,(0,r.kt)("p",{parentName:"blockquote"},"ice.js \u540c\u65f6\u652f\u6301 ",(0,r.kt)("inlineCode",{parentName:"p"},"less/scss")," \u9884\u7f16\u8bd1\u5668\uff0c\u53ea\u8981\u4fdd\u8bc1\u6587\u4ef6\u540e\u7f00\u5339\u914d\u5373\u53ef\u3002")),(0,r.kt)("h2",{id:"\u5168\u5c40\u6837\u5f0f"},"\u5168\u5c40\u6837\u5f0f"),(0,r.kt)("p",null,"\u5bf9\u4e8e\u6574\u4e2a\u9879\u76ee\u7684\u5168\u5c40\u6837\u5f0f\uff0c\u7edf\u4e00\u5b9a\u4e49\u5728 ",(0,r.kt)("inlineCode",{parentName:"p"},"src/global.css")," \u6587\u4ef6\u4e2d\uff0c\u6846\u67b6\u4f1a\u9ed8\u8ba4\u5f15\u5165\u8be5\u6587\u4ef6\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-css"},"body {\n -webkit-font-smoothing: antialiased;\n}\n")),(0,r.kt)("h2",{id:"\u5c40\u90e8\u6837\u5f0f"},"\u5c40\u90e8\u6837\u5f0f"),(0,r.kt)("p",null,"\u5bf9\u4e8e\u9875\u9762\u7ea7\u548c\u7ec4\u4ef6\u7ea7\u7684\u6837\u5f0f\uff0c\u6211\u4eec\u63a8\u8350\u4f7f\u7528 CSS Modules \u7684\u65b9\u6848\uff0c\u8fd9\u80fd\u5f88\u597d\u7684\u89e3\u51b3\u6837\u5f0f\u5f00\u53d1\u4e2d\u7684\u4e24\u4e2a\u75db\u70b9\u95ee\u9898\uff1a"),(0,r.kt)("ol",null,(0,r.kt)("li",{parentName:"ol"},"\u5168\u5c40\u6c61\u67d3\uff1aCSS \u4f7f\u7528\u5168\u5c40\u9009\u62e9\u5668\u673a\u5236\u6765\u8bbe\u7f6e\u6837\u5f0f\uff0c\u4f18\u70b9\u662f\u65b9\u4fbf\u91cd\u5199\u6837\u5f0f\u3002\u7f3a\u70b9\u662f\u6240\u6709\u7684\u6837\u5f0f\u90fd\u662f\u5168\u5c40\u751f\u6548\uff0c\u6837\u5f0f\u53ef\u80fd\u88ab\u9519\u8bef\u8986\u76d6\uff0c\u56e0\u6b64\u4ea7\u751f\u4e86\u975e\u5e38\u4e11\u964b\u7684 !important\uff0c\u751a\u81f3 inline !important \u7b49\u95ee\u9898\u3002"),(0,r.kt)("li",{parentName:"ol"},"\u547d\u540d\u6df7\u4e71\uff1a\u7531\u4e8e\u5168\u5c40\u6c61\u67d3\u7684\u95ee\u9898\uff0c\u591a\u4eba\u534f\u540c\u5f00\u53d1\u65f6\u4e3a\u4e86\u907f\u514d\u6837\u5f0f\u51b2\u7a81\uff0c\u9009\u62e9\u5668\u8d8a\u6765\u8d8a\u590d\u6742\uff0c\u5bb9\u6613\u5f62\u6210\u4e0d\u540c\u7684\u547d\u540d\u98ce\u683c\uff0c\u5f88\u96be\u7edf\u4e00\uff0c\u6837\u5f0f\u53d8\u591a\u540e\uff0c\u547d\u540d\u5c06\u66f4\u52a0\u6df7\u4e71\u3002")),(0,r.kt)("p",null,"\u5177\u4f53\u89c4\u8303\u89c4\u5219\u5982\u4e0b\uff1a"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"\u6587\u4ef6\u540d\uff1a\u7ea6\u5b9a\u6587\u4ef6\u540d\u683c\u5f0f\u5982 ",(0,r.kt)("inlineCode",{parentName:"li"},"xxx.module.css")),(0,r.kt)("li",{parentName:"ul"},"\u6a21\u5757\u5316\uff1a\u4e00\u4e2a\u9875\u9762\u6216\u8005\u4e00\u4e2a\u7ec4\u4ef6\u5bf9\u5e94\u4e00\u4e2a\u6837\u5f0f\u6587\u4ef6")),(0,r.kt)("p",null,"\u5982\u6709\u4ee5\u4e0b\u7684\u76ee\u5f55\u7ed3\u6784\u548c\u4ee3\u7801\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"\u251c\u2500\u2500 src\n| \u251c\u2500\u2500 pages\n| | \u251c\u2500\u2500 index.module.css\n| | \u2514\u2500\u2500 index.tsx\n")),(0,r.kt)(l.Z,{mdxType:"Tabs"},(0,r.kt)(s.Z,{value:"css",label:"index.module.css",mdxType:"TabItem"},(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-css"},".container {\n background: #fff;\n}\n"))),(0,r.kt)(s.Z,{value:"tsx",label:"index.tsx",mdxType:"TabItem"},(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-tsx"},"import styles from './index.module.css';\n\nfunction Home() {\n return (\n <div className={styles.container}>\n <h2>CSS Modules</h2>\n </div>\n );\n}\n")))),"\u4f7f\u7528\u8be5\u65b9\u6848\u4e4b\u540e\uff0c\u4e0a\u6587\u4e2d\u7684 `className` \u90fd\u4f1a\u88ab\u7f16\u8bd1\u4e3a\u552f\u4e00\u6027\u7684\u540d\u5b57\uff0c\u907f\u514d\u56e0\u4e3a\u91cd\u540d `class` \u800c\u4ea7\u751f\u6837\u5f0f\u51b2\u7a81\u3002\u5982\u679c\u5728\u6d4f\u89c8\u5668\u91cc\u67e5\u770b\u8fd9\u4e2a\u793a\u4f8b\u7684 DOM \u7ed3\u6784\uff0c\u4f60\u4f1a\u53d1\u73b0\u5b9e\u9645\u6e32\u67d3\u51fa\u6765\u662f\u8fd9\u6837\u7684\uff1a",(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-html"},'<div class="container--WZ5p3kdM"><h2>CSS Modules</h2></div>\n')),(0,r.kt)("p",null,"\u540c\u65f6 CSS Modules \u652f\u6301 less/scss \u9884\u7f16\u8bd1\u5668\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-tsx"},"import lessStyles from './index.module.less';\nimport scssStyles from './index.module.scss';\n \nexport default function () {\n return <div className={lessStyles.title}>\n Hello World\n <p className={scssStyles.blue}>I am blue</p>\n </div>;\n}\n")),(0,r.kt)("p",null,"\u66f4\u591a CSS Modules \u6587\u6863\u8bf7\u53c2\u8003\uff1a"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://github.com/css-modules/css-modules"},"css-modules \u5b98\u65b9\u6587\u6863")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://zhuanlan.zhihu.com/p/20495964"},"CSS Modules \u8be6\u89e3\u53ca React \u4e2d\u5b9e\u8df5"))),(0,r.kt)("h2",{id:"\u5e38\u89c1\u95ee\u9898"},"\u5e38\u89c1\u95ee\u9898"),(0,r.kt)("h3",{id:"icejs-\u652f\u6301-rpx-\u5417"},"ice.js \u652f\u6301 rpx \u5417"),(0,r.kt)("p",null,"ice.js \u539f\u751f\u652f\u6301 ",(0,r.kt)("inlineCode",{parentName:"p"},"rpx")," \u5355\u4f4d\u3002\u5728\u65e0\u7ebf\u7aef\u4e2d\uff0c\u963f\u91cc\u5df4\u5df4\u96c6\u56e2\u6807\u51c6\u7edf\u4e00\u4f7f\u7528 ",(0,r.kt)("inlineCode",{parentName:"p"},"rpx")," \u4f5c\u4e3a\u54cd\u5e94\u5f0f\u957f\u5ea6\u5355\u4f4d\u3002\u4f60\u53ef\u4ee5\u76f4\u63a5\u5728\u6837\u5f0f\u6587\u4ef6\u4e2d\u4f7f\u7528 rpx\uff0c\u4e0d\u9700\u8981\u62c5\u5fc3\u8f6c\u6362\u7684\u95ee\u9898\u3002"),(0,r.kt)("blockquote",null,(0,r.kt)("p",{parentName:"blockquote"},"rpx\uff08responsive pixel\uff09\uff0c\u53ef\u4ee5\u6839\u636e\u5c4f\u5e55\u5bbd\u5ea6\u8fdb\u884c\u81ea\u9002\u5e94\u3002\u89c4\u5b9a\u5c4f\u5e55\u5bbd\u4e3a 750rpx\u3002\u4ee5 iPhone6 \u4e3a\u4f8b\uff0c\u5c4f\u5e55\u5bbd\u5ea6\u4e3a 375px\uff0c\u5171\u6709 750 \u4e2a\u7269\u7406\u50cf\u7d20\uff0c\u5219 750rpx = 375px = 750 \u7269\u7406\u50cf\u7d20\uff0c1rpx = 0.5px = 1\u7269\u7406\u50cf\u7d20\u3002")),(0,r.kt)("p",null,"\u5728\u6d4f\u89c8\u5668\u4e2d\uff0cice.js \u4f1a\u5c06 rpx \u4f1a\u8f6c\u6362\u4e3a vw \u8fdb\u884c\u6e32\u67d3\uff0c\u5176\u8f6c\u6362\u5173\u7cfb\u4e3a\uff1a750rpx = 100vw\uff0c\u5373 1rpx = 1/7.5vw\uff0c\u4fdd\u7559 5 \u4f4d\u5c0f\u6570\u3002\u5c0f\u7a0b\u5e8f\u7531\u4e8e\u5929\u7136\u652f\u6301 ",(0,r.kt)("inlineCode",{parentName:"p"},"rpx")," \u5355\u4f4d\uff0c\u56e0\u6b64\u53ef\u4ee5\u76f4\u63a5\u4f7f\u7528\u5e76\u4e14 ice.js \u4e0d\u4f1a\u5c06\u5176\u8f6c\u6362\u4e3a vw\u3002"),(0,r.kt)("h3",{id:"\u5982\u4f55\u8986\u76d6\u5168\u5c40\u57fa\u7840\u7ec4\u4ef6nextantd\u6837\u5f0f"},"\u5982\u4f55\u8986\u76d6\u5168\u5c40\u57fa\u7840\u7ec4\u4ef6\uff08next/antd\uff09\u6837\u5f0f"),(0,r.kt)("p",null,"\u63a8\u8350\u901a\u8fc7 ",(0,r.kt)("inlineCode",{parentName:"p"},"src/global.css")," \u8986\u76d6\u5168\u5c40\u6837\u5f0f\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-css",metastring:'title="src/global.css"',title:'"src/global.css"'},"body {\n -webkit-font-smoothing: antialiased;\n\n /* \u8986\u76d6 next \u7ec4\u4ef6\u7684\u6837\u5f0f */\n .next-btn {\n font-size: 18px;\n }\n}\n")),(0,r.kt)("p",null,"\u8be5\u65b9\u5f0f\u4f1a\u8986\u76d6\u5e94\u7528\u4e2d\u6240\u6709 ",(0,r.kt)("inlineCode",{parentName:"p"},"Button")," \u7ec4\u4ef6\u7684 ",(0,r.kt)("inlineCode",{parentName:"p"},"font-size")," \u5c5e\u6027\u3002"),(0,r.kt)("h3",{id:"\u5982\u4f55\u8986\u76d6\u5c40\u90e8\u57fa\u7840\u7ec4\u4ef6\u6837\u5f0f"},"\u5982\u4f55\u8986\u76d6\u5c40\u90e8\u57fa\u7840\u7ec4\u4ef6\u6837\u5f0f"),(0,r.kt)("p",null,"\u5982\u679c\u53ea\u662f\u60f3\u8986\u76d6\u67d0\u4e2a\u9875\u9762/\u6a21\u5757\u91cc\u7684\u7ec4\u4ef6\u6837\u5f0f\uff0c\u5219\u63a8\u8350\u91c7\u7528\u5c40\u90e8\u8986\u76d6\u7684\u65b9\u5f0f\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-css",metastring:'title="./pages/Home/index.module.css"',title:'"./pages/Home/index.module.css"'},".home {\n padding: 10px;\n}\n\n.home :global {\n /* \u4ec5\u4fee\u6539 .home \u4e0b\u7684 button \u6837\u5f0f */\n .next-btn {\n font-size: 24px;\n }\n}\n")),(0,r.kt)("p",null,"\u5982\u679c\u7ec4\u4ef6\u672c\u8eab\u652f\u6301 ",(0,r.kt)("inlineCode",{parentName:"p"},"style")," \u5c5e\u6027\uff0c\u4e5f\u53ef\u901a\u8fc7 ",(0,r.kt)("inlineCode",{parentName:"p"},"style")," \u5c5e\u6027\u4fee\u6539\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-tsx",metastring:'title="./pages/Home/index.tsx"',title:'"./pages/Home/index.tsx"'},"export default function () {\n return (\n <>\n <Button style={{ fontSize: '16px' }}>OK</Button>\n </>\n );\n}\n")),(0,r.kt)("h3",{id:"\u5982\u4f55\u83b7\u5f97-css-\u5d4c\u5957\u7684\u7c7b\u578b\u63d0\u793a"},"\u5982\u4f55\u83b7\u5f97 CSS \u5d4c\u5957\u7684\u7c7b\u578b\u63d0\u793a"),(0,r.kt)("p",null,"\u53ef\u4ee5\u5728 VSCode \u7f16\u8f91\u5668\u4e2d\u9700\u8981\u5b89\u88c5 ",(0,r.kt)("a",{parentName:"p",href:"https://marketplace.visualstudio.com/items?itemName=csstools.postcss"},"PostCSS Language Support \u63d2\u4ef6")," \u4ee5\u652f\u6301\u5d4c\u5957\u5199\u6cd5\u3002"))}b.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/1c4cfb0f.ee7607f0.js b/assets/js/1c4cfb0f.ee7607f0.js deleted file mode 100644 index 9ac5789385..0000000000 --- a/assets/js/1c4cfb0f.ee7607f0.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkice_website_v3=self.webpackChunkice_website_v3||[]).push([[4959],{4852:(e,t,n)=>{n.d(t,{Zo:()=>c,kt:()=>b});var a=n(9231);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function s(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?l(Object(n),!0).forEach((function(t){r(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):l(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function o(e,t){if(null==e)return{};var n,a,r=function(e,t){if(null==e)return{};var n,a,r={},l=Object.keys(e);for(a=0;a<l.length;a++)n=l[a],t.indexOf(n)>=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a<l.length;a++)n=l[a],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var i=a.createContext({}),u=function(e){var t=a.useContext(i),n=t;return e&&(n="function"==typeof e?e(t):s(s({},t),e)),n},c=function(e){var t=u(e.components);return a.createElement(i.Provider,{value:t},e.children)},p="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},m=a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,l=e.originalType,i=e.parentName,c=o(e,["components","mdxType","originalType","parentName"]),p=u(n),m=r,b=p["".concat(i,".").concat(m)]||p[m]||d[m]||l;return n?a.createElement(b,s(s({ref:t},c),{},{components:n})):a.createElement(b,s({ref:t},c))}));function b(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var l=n.length,s=new Array(l);s[0]=m;var o={};for(var i in t)hasOwnProperty.call(t,i)&&(o[i]=t[i]);o.originalType=e,o[p]="string"==typeof e?e:r,s[1]=o;for(var u=2;u<l;u++)s[u]=n[u];return a.createElement.apply(null,s)}return a.createElement.apply(null,n)}m.displayName="MDXCreateElement"},2970:(e,t,n)=>{n.d(t,{Z:()=>s});var a=n(9231),r=n(9841);const l={tabItem:"tabItem_Z7jx"};function s(e){let{children:t,hidden:n,className:s}=e;return a.createElement("div",{role:"tabpanel",className:(0,r.Z)(l.tabItem,s),hidden:n},t)}},6507:(e,t,n)=>{n.d(t,{Z:()=>x});var a=n(5675),r=n(9231),l=n(9841),s=n(358),o=n(9409),i=n(8800),u=n(548),c=n(3536);function p(e){return function(e){return r.Children.map(e,(e=>{if((0,r.isValidElement)(e)&&"value"in e.props)return e;throw new Error(`Docusaurus error: Bad <Tabs> child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the <Tabs> component should be <TabItem>, and every <TabItem> should have a unique "value" prop.`)}))}(e).map((e=>{let{props:{value:t,label:n,attributes:a,default:r}}=e;return{value:t,label:n,attributes:a,default:r}}))}function d(e){const{values:t,children:n}=e;return(0,r.useMemo)((()=>{const e=t??p(n);return function(e){const t=(0,u.l)(e,((e,t)=>e.value===t.value));if(t.length>0)throw new Error(`Docusaurus error: Duplicate values "${t.map((e=>e.value)).join(", ")}" found in <Tabs>. Every value needs to be unique.`)}(e),e}),[t,n])}function m(e){let{value:t,tabValues:n}=e;return n.some((e=>e.value===t))}function b(e){let{queryString:t=!1,groupId:n}=e;const a=(0,o.k6)(),l=function(e){let{queryString:t=!1,groupId:n}=e;if("string"==typeof t)return t;if(!1===t)return null;if(!0===t&&!n)throw new Error('Docusaurus error: The <Tabs> component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return n??null}({queryString:t,groupId:n});return[(0,i._X)(l),(0,r.useCallback)((e=>{if(!l)return;const t=new URLSearchParams(a.location.search);t.set(l,e),a.replace({...a.location,search:t.toString()})}),[l,a])]}function f(e){const{defaultValue:t,queryString:n=!1,groupId:a}=e,l=d(e),[s,o]=(0,r.useState)((()=>function(e){let{defaultValue:t,tabValues:n}=e;if(0===n.length)throw new Error("Docusaurus error: the <Tabs> component requires at least one <TabItem> children component");if(t){if(!m({value:t,tabValues:n}))throw new Error(`Docusaurus error: The <Tabs> has a defaultValue "${t}" but none of its children has the corresponding value. Available values are: ${n.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return t}const a=n.find((e=>e.default))??n[0];if(!a)throw new Error("Unexpected error: 0 tabValues");return a.value}({defaultValue:t,tabValues:l}))),[i,u]=b({queryString:n,groupId:a}),[p,f]=function(e){let{groupId:t}=e;const n=function(e){return e?`docusaurus.tab.${e}`:null}(t),[a,l]=(0,c.Nk)(n);return[a,(0,r.useCallback)((e=>{n&&l.set(e)}),[n,l])]}({groupId:a}),k=(()=>{const e=i??p;return m({value:e,tabValues:l})?e:null})();(0,r.useLayoutEffect)((()=>{k&&o(k)}),[k]);return{selectedValue:s,selectValue:(0,r.useCallback)((e=>{if(!m({value:e,tabValues:l}))throw new Error(`Can't select invalid tab value=${e}`);o(e),u(e),f(e)}),[u,f,l]),tabValues:l}}var k=n(348);const g={tabList:"tabList_YkLP",tabItem:"tabItem_dswv"};function v(e){let{className:t,block:n,selectedValue:o,selectValue:i,tabValues:u}=e;const c=[],{blockElementScrollPositionUntilNextRender:p}=(0,s.o5)(),d=e=>{const t=e.currentTarget,n=c.indexOf(t),a=u[n].value;a!==o&&(p(t),i(a))},m=e=>{let t=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":{const n=c.indexOf(e.currentTarget)+1;t=c[n]??c[0];break}case"ArrowLeft":{const n=c.indexOf(e.currentTarget)-1;t=c[n]??c[c.length-1];break}}t?.focus()};return r.createElement("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,l.Z)("tabs",{"tabs--block":n},t)},u.map((e=>{let{value:t,label:n,attributes:s}=e;return r.createElement("li",(0,a.Z)({role:"tab",tabIndex:o===t?0:-1,"aria-selected":o===t,key:t,ref:e=>c.push(e),onKeyDown:m,onClick:d},s,{className:(0,l.Z)("tabs__item",g.tabItem,s?.className,{"tabs__item--active":o===t})}),n??t)})))}function h(e){let{lazy:t,children:n,selectedValue:a}=e;if(n=Array.isArray(n)?n:[n],t){const e=n.find((e=>e.props.value===a));return e?(0,r.cloneElement)(e,{className:"margin-top--md"}):null}return r.createElement("div",{className:"margin-top--md"},n.map(((e,t)=>(0,r.cloneElement)(e,{key:t,hidden:e.props.value!==a}))))}function y(e){const t=f(e);return r.createElement("div",{className:(0,l.Z)("tabs-container",g.tabList)},r.createElement(v,(0,a.Z)({},e,t)),r.createElement(h,(0,a.Z)({},e,t)))}function x(e){const t=(0,k.Z)();return r.createElement(y,(0,a.Z)({key:String(t)},e))}},3865:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>b,frontMatter:()=>o,metadata:()=>u,toc:()=>p});var a=n(5675),r=(n(9231),n(4852)),l=n(6507),s=n(2970);const o={title:"\u6837\u5f0f",order:5},i=void 0,u={unversionedId:"guide/basic/style",id:"guide/basic/style",title:"\u6837\u5f0f",description:"ice.js \u63a8\u8350\u4f7f\u7528\u539f\u751f CSS + PostCSS \u7684\u65b9\u6848\u7f16\u5199\u6837\u5f0f\uff0c\u4e0d\u5efa\u8bae\u4f7f\u7528 less/sass \u4e4b\u7c7b\u7684\u9884\u7f16\u8bd1\u65b9\u6848\uff0cCSS \u5199\u6cd5\u76ee\u524d\u6269\u5c55\u652f\u6301\u4e86 @import \u4ee5\u53ca\u5d4c\u5957\u5199\u6cd5\u3002",source:"@site/docs/guide/basic/style.md",sourceDirName:"guide/basic",slug:"/guide/basic/style",permalink:"/docs/guide/basic/style",draft:!1,editUrl:"https://github.com/alibaba/ice/edit/master/website/docs/guide/basic/style.md",tags:[],version:"current",frontMatter:{title:"\u6837\u5f0f",order:5},sidebar:"docs",previous:{title:"\u9875\u9762",permalink:"/docs/guide/basic/page"},next:{title:"\u6570\u636e\u52a0\u8f7d",permalink:"/docs/guide/basic/data-loader"}},c={},p=[{value:"\u5168\u5c40\u6837\u5f0f",id:"\u5168\u5c40\u6837\u5f0f",level:2},{value:"\u5c40\u90e8\u6837\u5f0f",id:"\u5c40\u90e8\u6837\u5f0f",level:2},{value:"\u5e38\u89c1\u95ee\u9898",id:"\u5e38\u89c1\u95ee\u9898",level:2},{value:"ice.js \u652f\u6301 rpx \u5417",id:"icejs-\u652f\u6301-rpx-\u5417",level:3},{value:"\u5982\u4f55\u8986\u76d6\u5168\u5c40\u57fa\u7840\u7ec4\u4ef6\uff08next/antd\uff09\u6837\u5f0f",id:"\u5982\u4f55\u8986\u76d6\u5168\u5c40\u57fa\u7840\u7ec4\u4ef6nextantd\u6837\u5f0f",level:3},{value:"\u5982\u4f55\u8986\u76d6\u5c40\u90e8\u57fa\u7840\u7ec4\u4ef6\u6837\u5f0f",id:"\u5982\u4f55\u8986\u76d6\u5c40\u90e8\u57fa\u7840\u7ec4\u4ef6\u6837\u5f0f",level:3},{value:"\u5982\u4f55\u83b7\u5f97 CSS \u5d4c\u5957\u7684\u7c7b\u578b\u63d0\u793a",id:"\u5982\u4f55\u83b7\u5f97-css-\u5d4c\u5957\u7684\u7c7b\u578b\u63d0\u793a",level:3}],d={toc:p},m="wrapper";function b(e){let{components:t,...n}=e;return(0,r.kt)(m,(0,a.Z)({},d,n,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("p",null,"ice.js \u63a8\u8350\u4f7f\u7528\u539f\u751f CSS + PostCSS \u7684\u65b9\u6848\u7f16\u5199\u6837\u5f0f\uff0c\u4e0d\u5efa\u8bae\u4f7f\u7528 ",(0,r.kt)("inlineCode",{parentName:"p"},"less/sass")," \u4e4b\u7c7b\u7684\u9884\u7f16\u8bd1\u65b9\u6848\uff0cCSS \u5199\u6cd5\u76ee\u524d\u6269\u5c55\u652f\u6301\u4e86 ",(0,r.kt)("inlineCode",{parentName:"p"},"@import")," \u4ee5\u53ca\u5d4c\u5957\u5199\u6cd5\u3002"),(0,r.kt)(l.Z,{mdxType:"Tabs"},(0,r.kt)(s.Z,{value:"css",label:"index.css",mdxType:"TabItem"},(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-css"},"@import './theme.css';\n\n.home {\n color: red;\n\n h2 {\n display: block;\n }\n}\n"))),(0,r.kt)(s.Z,{value:"tsx",label:"index.tsx",mdxType:"TabItem"},(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-tsx"},"import './index.css';\n\nfunction Home() {\n return (\n <div className=\"home\">\n <h2>CSS Modules</h2>\n </div>\n );\n}\n")))),(0,r.kt)("blockquote",null,(0,r.kt)("p",{parentName:"blockquote"},"ice.js \u540c\u65f6\u652f\u6301 ",(0,r.kt)("inlineCode",{parentName:"p"},"less/scss")," \u9884\u7f16\u8bd1\u5668\uff0c\u53ea\u8981\u4fdd\u8bc1\u6587\u4ef6\u540e\u7f00\u5339\u914d\u5373\u53ef\u3002")),(0,r.kt)("h2",{id:"\u5168\u5c40\u6837\u5f0f"},"\u5168\u5c40\u6837\u5f0f"),(0,r.kt)("p",null,"\u5bf9\u4e8e\u6574\u4e2a\u9879\u76ee\u7684\u5168\u5c40\u6837\u5f0f\uff0c\u7edf\u4e00\u5b9a\u4e49\u5728 ",(0,r.kt)("inlineCode",{parentName:"p"},"src/global.css")," \u6587\u4ef6\u4e2d\uff0c\u6846\u67b6\u4f1a\u9ed8\u8ba4\u5f15\u5165\u8be5\u6587\u4ef6\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-css"},"body {\n -webkit-font-smoothing: antialiased;\n}\n")),(0,r.kt)("h2",{id:"\u5c40\u90e8\u6837\u5f0f"},"\u5c40\u90e8\u6837\u5f0f"),(0,r.kt)("p",null,"\u5bf9\u4e8e\u9875\u9762\u7ea7\u548c\u7ec4\u4ef6\u7ea7\u7684\u6837\u5f0f\uff0c\u6211\u4eec\u63a8\u8350\u4f7f\u7528 CSS Modules \u7684\u65b9\u6848\uff0c\u8fd9\u80fd\u5f88\u597d\u7684\u89e3\u51b3\u6837\u5f0f\u5f00\u53d1\u4e2d\u7684\u4e24\u4e2a\u75db\u70b9\u95ee\u9898\uff1a"),(0,r.kt)("ol",null,(0,r.kt)("li",{parentName:"ol"},"\u5168\u5c40\u6c61\u67d3\uff1aCSS \u4f7f\u7528\u5168\u5c40\u9009\u62e9\u5668\u673a\u5236\u6765\u8bbe\u7f6e\u6837\u5f0f\uff0c\u4f18\u70b9\u662f\u65b9\u4fbf\u91cd\u5199\u6837\u5f0f\u3002\u7f3a\u70b9\u662f\u6240\u6709\u7684\u6837\u5f0f\u90fd\u662f\u5168\u5c40\u751f\u6548\uff0c\u6837\u5f0f\u53ef\u80fd\u88ab\u9519\u8bef\u8986\u76d6\uff0c\u56e0\u6b64\u4ea7\u751f\u4e86\u975e\u5e38\u4e11\u964b\u7684 !important\uff0c\u751a\u81f3 inline !important \u7b49\u95ee\u9898\u3002"),(0,r.kt)("li",{parentName:"ol"},"\u547d\u540d\u6df7\u4e71\uff1a\u7531\u4e8e\u5168\u5c40\u6c61\u67d3\u7684\u95ee\u9898\uff0c\u591a\u4eba\u534f\u540c\u5f00\u53d1\u65f6\u4e3a\u4e86\u907f\u514d\u6837\u5f0f\u51b2\u7a81\uff0c\u9009\u62e9\u5668\u8d8a\u6765\u8d8a\u590d\u6742\uff0c\u5bb9\u6613\u5f62\u6210\u4e0d\u540c\u7684\u547d\u540d\u98ce\u683c\uff0c\u5f88\u96be\u7edf\u4e00\uff0c\u6837\u5f0f\u53d8\u591a\u540e\uff0c\u547d\u540d\u5c06\u66f4\u52a0\u6df7\u4e71\u3002")),(0,r.kt)("p",null,"\u5177\u4f53\u89c4\u8303\u89c4\u5219\u5982\u4e0b\uff1a"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"\u6587\u4ef6\u540d\uff1a\u7ea6\u5b9a\u6587\u4ef6\u540d\u683c\u5f0f\u5982 ",(0,r.kt)("inlineCode",{parentName:"li"},"xxx.module.css")),(0,r.kt)("li",{parentName:"ul"},"\u6a21\u5757\u5316\uff1a\u4e00\u4e2a\u9875\u9762\u6216\u8005\u4e00\u4e2a\u7ec4\u4ef6\u5bf9\u5e94\u4e00\u4e2a\u6837\u5f0f\u6587\u4ef6")),(0,r.kt)("p",null,"\u5982\u6709\u4ee5\u4e0b\u7684\u76ee\u5f55\u7ed3\u6784\u548c\u4ee3\u7801\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"\u251c\u2500\u2500 src\n| \u251c\u2500\u2500 pages\n| | \u251c\u2500\u2500 index.module.css\n| | \u2514\u2500\u2500 index.tsx\n")),(0,r.kt)(l.Z,{mdxType:"Tabs"},(0,r.kt)(s.Z,{value:"css",label:"index.module.css",mdxType:"TabItem"},(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-css"},".container {\n background: #fff;\n}\n"))),(0,r.kt)(s.Z,{value:"tsx",label:"index.tsx",mdxType:"TabItem"},(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-tsx"},"import styles from './index.module.css';\n\nfunction Home() {\n return (\n <div className={styles.container}>\n <h2>CSS Modules</h2>\n </div>\n );\n}\n")))),"\u4f7f\u7528\u8be5\u65b9\u6848\u4e4b\u540e\uff0c\u4e0a\u6587\u4e2d\u7684 `className` \u90fd\u4f1a\u88ab\u7f16\u8bd1\u4e3a\u552f\u4e00\u6027\u7684\u540d\u5b57\uff0c\u907f\u514d\u56e0\u4e3a\u91cd\u540d `class` \u800c\u4ea7\u751f\u6837\u5f0f\u51b2\u7a81\u3002\u5982\u679c\u5728\u6d4f\u89c8\u5668\u91cc\u67e5\u770b\u8fd9\u4e2a\u793a\u4f8b\u7684 DOM \u7ed3\u6784\uff0c\u4f60\u4f1a\u53d1\u73b0\u5b9e\u9645\u6e32\u67d3\u51fa\u6765\u662f\u8fd9\u6837\u7684\uff1a",(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-html"},'<div class="container--WZ5p3kdM"><h2>CSS Modules</h2></div>\n')),(0,r.kt)("p",null,"\u540c\u65f6 CSS Modules \u652f\u6301 less/scss \u9884\u7f16\u8bd1\u5668\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-tsx"},"import lessStyles from './index.module.less';\nimport scssStyles from './index.module.scss';\n \nexport default function () {\n return <div className={lessStyles.title}>\n Hello World\n <p className={scssStyles.blue}>I am blue</p>\n </div>;\n}\n")),(0,r.kt)("p",null,"\u66f4\u591a CSS Modules \u6587\u6863\u8bf7\u53c2\u8003\uff1a"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://github.com/css-modules/css-modules"},"css-modules \u5b98\u65b9\u6587\u6863")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://zhuanlan.zhihu.com/p/20495964"},"CSS Modules \u8be6\u89e3\u53ca React \u4e2d\u5b9e\u8df5"))),(0,r.kt)("h2",{id:"\u5e38\u89c1\u95ee\u9898"},"\u5e38\u89c1\u95ee\u9898"),(0,r.kt)("h3",{id:"icejs-\u652f\u6301-rpx-\u5417"},"ice.js \u652f\u6301 rpx \u5417"),(0,r.kt)("p",null,"ice.js \u539f\u751f\u652f\u6301 ",(0,r.kt)("inlineCode",{parentName:"p"},"rpx")," \u5355\u4f4d\u3002\u5728\u65e0\u7ebf\u7aef\u4e2d\uff0c\u963f\u91cc\u5df4\u5df4\u96c6\u56e2\u6807\u51c6\u7edf\u4e00\u4f7f\u7528 ",(0,r.kt)("inlineCode",{parentName:"p"},"rpx")," \u4f5c\u4e3a\u54cd\u5e94\u5f0f\u957f\u5ea6\u5355\u4f4d\u3002\u4f60\u53ef\u4ee5\u76f4\u63a5\u5728\u6837\u5f0f\u6587\u4ef6\u4e2d\u4f7f\u7528 rpx\uff0c\u4e0d\u9700\u8981\u62c5\u5fc3\u8f6c\u6362\u7684\u95ee\u9898\u3002"),(0,r.kt)("blockquote",null,(0,r.kt)("p",{parentName:"blockquote"},"rpx\uff08responsive pixel\uff09\uff0c\u53ef\u4ee5\u6839\u636e\u5c4f\u5e55\u5bbd\u5ea6\u8fdb\u884c\u81ea\u9002\u5e94\u3002\u89c4\u5b9a\u5c4f\u5e55\u5bbd\u4e3a 750rpx\u3002\u4ee5 iPhone6 \u4e3a\u4f8b\uff0c\u5c4f\u5e55\u5bbd\u5ea6\u4e3a 375px\uff0c\u5171\u6709 750 \u4e2a\u7269\u7406\u50cf\u7d20\uff0c\u5219 750rpx = 375px = 750 \u7269\u7406\u50cf\u7d20\uff0c1rpx = 0.5px = 1\u7269\u7406\u50cf\u7d20\u3002")),(0,r.kt)("p",null,"\u5728\u6d4f\u89c8\u5668\u4e2d\uff0cice.js \u4f1a\u5c06 rpx \u4f1a\u8f6c\u6362\u4e3a vw \u8fdb\u884c\u6e32\u67d3\uff0c\u5176\u8f6c\u6362\u5173\u7cfb\u4e3a\uff1a750rpx = 100vw\uff0c\u5373 1rpx = 1/7.5vw\uff0c\u4fdd\u7559 5 \u4f4d\u5c0f\u6570\u3002\u5c0f\u7a0b\u5e8f\u7531\u4e8e\u5929\u7136\u652f\u6301 ",(0,r.kt)("inlineCode",{parentName:"p"},"rpx")," \u5355\u4f4d\uff0c\u56e0\u6b64\u53ef\u4ee5\u76f4\u63a5\u4f7f\u7528\u5e76\u4e14 ice.js \u4e0d\u4f1a\u5c06\u5176\u8f6c\u6362\u4e3a vw\u3002"),(0,r.kt)("h3",{id:"\u5982\u4f55\u8986\u76d6\u5168\u5c40\u57fa\u7840\u7ec4\u4ef6nextantd\u6837\u5f0f"},"\u5982\u4f55\u8986\u76d6\u5168\u5c40\u57fa\u7840\u7ec4\u4ef6\uff08next/antd\uff09\u6837\u5f0f"),(0,r.kt)("p",null,"\u63a8\u8350\u901a\u8fc7 ",(0,r.kt)("inlineCode",{parentName:"p"},"src/global.css")," \u8986\u76d6\u5168\u5c40\u6837\u5f0f\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-css",metastring:'title="src/global.css"',title:'"src/global.css"'},"body {\n -webkit-font-smoothing: antialiased;\n\n /* \u8986\u76d6 next \u7ec4\u4ef6\u7684\u6837\u5f0f */\n .next-btn {\n font-size: 18px;\n }\n}\n")),(0,r.kt)("p",null,"\u8be5\u65b9\u5f0f\u4f1a\u8986\u76d6\u5e94\u7528\u4e2d\u6240\u6709 ",(0,r.kt)("inlineCode",{parentName:"p"},"Button")," \u7ec4\u4ef6\u7684 ",(0,r.kt)("inlineCode",{parentName:"p"},"font-size")," \u5c5e\u6027\u3002"),(0,r.kt)("h3",{id:"\u5982\u4f55\u8986\u76d6\u5c40\u90e8\u57fa\u7840\u7ec4\u4ef6\u6837\u5f0f"},"\u5982\u4f55\u8986\u76d6\u5c40\u90e8\u57fa\u7840\u7ec4\u4ef6\u6837\u5f0f"),(0,r.kt)("p",null,"\u5982\u679c\u53ea\u662f\u60f3\u8986\u76d6\u67d0\u4e2a\u9875\u9762/\u6a21\u5757\u91cc\u7684\u7ec4\u4ef6\u6837\u5f0f\uff0c\u5219\u63a8\u8350\u91c7\u7528\u5c40\u90e8\u8986\u76d6\u7684\u65b9\u5f0f\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-css",metastring:'title="./pages/Home/index.module.css"',title:'"./pages/Home/index.module.css"'},".home {\n padding: 10px;\n}\n\n.home :global {\n /* \u4ec5\u4fee\u6539 .home \u4e0b\u7684 button \u6837\u5f0f */\n .next-btn {\n font-size: 24px;\n }\n}\n")),(0,r.kt)("p",null,"\u5982\u679c\u7ec4\u4ef6\u672c\u8eab\u652f\u6301 ",(0,r.kt)("inlineCode",{parentName:"p"},"style")," \u5c5e\u6027\uff0c\u4e5f\u53ef\u901a\u8fc7 ",(0,r.kt)("inlineCode",{parentName:"p"},"style")," \u5c5e\u6027\u4fee\u6539\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-tsx",metastring:'title="./pages/Home/index.tsx"',title:'"./pages/Home/index.tsx"'},"export default function () {\n return (\n <>\n <Button style={{ fontSize: '16px' }}>OK</Button>\n </>\n );\n}\n")),(0,r.kt)("h3",{id:"\u5982\u4f55\u83b7\u5f97-css-\u5d4c\u5957\u7684\u7c7b\u578b\u63d0\u793a"},"\u5982\u4f55\u83b7\u5f97 CSS \u5d4c\u5957\u7684\u7c7b\u578b\u63d0\u793a"),(0,r.kt)("p",null,"\u53ef\u4ee5\u5728 VSCode \u7f16\u8f91\u5668\u4e2d\u9700\u8981\u5b89\u88c5 ",(0,r.kt)("a",{parentName:"p",href:"https://marketplace.visualstudio.com/items?itemName=csstools.postcss"},"PostCSS Language Support \u63d2\u4ef6")," \u4ee5\u652f\u6301\u5d4c\u5957\u5199\u6cd5\u3002"))}b.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/23944e90.03db60b7.js b/assets/js/23944e90.03db60b7.js deleted file mode 100644 index 6878bd4e56..0000000000 --- a/assets/js/23944e90.03db60b7.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkice_website_v3=self.webpackChunkice_website_v3||[]).push([[7481],{4852:(e,t,a)=>{a.d(t,{Zo:()=>c,kt:()=>k});var n=a(9231);function i(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function r(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?l(Object(a),!0).forEach((function(t){i(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):l(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function p(e,t){if(null==e)return{};var a,n,i=function(e,t){if(null==e)return{};var a,n,i={},l=Object.keys(e);for(n=0;n<l.length;n++)a=l[n],t.indexOf(a)>=0||(i[a]=e[a]);return i}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(n=0;n<l.length;n++)a=l[n],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(i[a]=e[a])}return i}var m=n.createContext({}),o=function(e){var t=n.useContext(m),a=t;return e&&(a="function"==typeof e?e(t):r(r({},t),e)),a},c=function(e){var t=o(e.components);return n.createElement(m.Provider,{value:t},e.children)},s="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},d=n.forwardRef((function(e,t){var a=e.components,i=e.mdxType,l=e.originalType,m=e.parentName,c=p(e,["components","mdxType","originalType","parentName"]),s=o(a),d=i,k=s["".concat(m,".").concat(d)]||s[d]||u[d]||l;return a?n.createElement(k,r(r({ref:t},c),{},{components:a})):n.createElement(k,r({ref:t},c))}));function k(e,t){var a=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var l=a.length,r=new Array(l);r[0]=d;var p={};for(var m in t)hasOwnProperty.call(t,m)&&(p[m]=t[m]);p.originalType=e,p[s]="string"==typeof e?e:i,r[1]=p;for(var o=2;o<l;o++)r[o]=a[o];return n.createElement.apply(null,r)}return n.createElement.apply(null,a)}d.displayName="MDXCreateElement"},6:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>m,contentTitle:()=>r,default:()=>u,frontMatter:()=>l,metadata:()=>p,toc:()=>o});var n=a(5675),i=(a(9231),a(4852));const l={title:"\u5feb\u901f\u5f00\u59cb",order:1},r=void 0,p={unversionedId:"guide/miniapp/start",id:"guide/miniapp/start",title:"\u5feb\u901f\u5f00\u59cb",description:"ice.js \u652f\u6301\u5c0f\u7a0b\u5e8f\u5f00\u53d1\u3002\u7531\u4e8e\u5c0f\u7a0b\u5e8f\u7aef\u5927\u90e8\u5206\u80fd\u529b\u53ca\u914d\u7f6e\u5747\u4e0e Web \u5e94\u7528\u5bf9\u9f50\uff0c\u672c\u7ae0\u8282\u4ec5\u4ecb\u7ecd\u5c0f\u7a0b\u5e8f\u5feb\u901f\u5f00\u59cb\u3001\u4e0e Web \u5e94\u7528\u7684\u5dee\u5f02\u70b9\u4ee5\u53ca\u5c0f\u7a0b\u5e8f\u72ec\u6709\u80fd\u529b\u7684\u4f7f\u7528\u3002",source:"@site/docs/guide/miniapp/start.md",sourceDirName:"guide/miniapp",slug:"/guide/miniapp/start",permalink:"/docs/guide/miniapp/start",draft:!1,editUrl:"https://github.com/alibaba/ice/edit/master/website/docs/guide/miniapp/start.md",tags:[],version:"current",frontMatter:{title:"\u5feb\u901f\u5f00\u59cb",order:1},sidebar:"docs",previous:{title:"\u5143\u7d20\u53ef\u89c1",permalink:"/docs/guide/basic/appear"},next:{title:"\u5e94\u7528\u914d\u7f6e",permalink:"/docs/guide/miniapp/app-config"}},m={},o=[{value:"\u521b\u5efa\u5c0f\u7a0b\u5e8f\u5e94\u7528",id:"\u521b\u5efa\u5c0f\u7a0b\u5e8f\u5e94\u7528",level:2},{value:"1. \u901a\u8fc7\u5c0f\u7a0b\u5e8f\u6a21\u677f\u521b\u5efa",id:"1-\u901a\u8fc7\u5c0f\u7a0b\u5e8f\u6a21\u677f\u521b\u5efa",level:3},{value:"2. \u6539\u9020\u5df2\u6709\u7684 Web \u5e94\u7528",id:"2-\u6539\u9020\u5df2\u6709\u7684-web-\u5e94\u7528",level:3},{value:"\u914d\u7f6e\u547d\u4ee4",id:"\u914d\u7f6e\u547d\u4ee4",level:4},{value:"\u914d\u7f6e\u5c0f\u7a0b\u5e8f\u5f00\u53d1\u63d2\u4ef6\u53ca\u8fd0\u884c\u65f6\u4f9d\u8d56",id:"\u914d\u7f6e\u5c0f\u7a0b\u5e8f\u5f00\u53d1\u63d2\u4ef6\u53ca\u8fd0\u884c\u65f6\u4f9d\u8d56",level:4},{value:"\u6dfb\u52a0 <code>miniappManifest</code>",id:"\u6dfb\u52a0-miniappmanifest",level:4},{value:"\u9002\u914d HTML \u6807\u7b7e\u6837\u5f0f",id:"\u9002\u914d-html-\u6807\u7b7e\u6837\u5f0f",level:4},{value:"\u8c03\u8bd5\u4e0e\u6784\u5efa",id:"\u8c03\u8bd5\u4e0e\u6784\u5efa",level:2},{value:"\u652f\u6301\u5c0f\u7a0b\u5e8f\u5e73\u53f0",id:"\u652f\u6301\u5c0f\u7a0b\u5e8f\u5e73\u53f0",level:2},{value:"\u5f85\u652f\u6301\u80fd\u529b",id:"\u5f85\u652f\u6301\u80fd\u529b",level:2},{value:"\u4e0d\u652f\u6301\u80fd\u529b",id:"\u4e0d\u652f\u6301\u80fd\u529b",level:2}],c={toc:o},s="wrapper";function u(e){let{components:t,...a}=e;return(0,i.kt)(s,(0,n.Z)({},c,a,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("p",null,"ice.js \u652f\u6301\u5c0f\u7a0b\u5e8f\u5f00\u53d1\u3002\u7531\u4e8e\u5c0f\u7a0b\u5e8f\u7aef\u5927\u90e8\u5206\u80fd\u529b\u53ca\u914d\u7f6e\u5747\u4e0e Web \u5e94\u7528\u5bf9\u9f50\uff0c\u672c\u7ae0\u8282\u4ec5\u4ecb\u7ecd\u5c0f\u7a0b\u5e8f\u5feb\u901f\u5f00\u59cb\u3001\u4e0e Web \u5e94\u7528\u7684\u5dee\u5f02\u70b9\u4ee5\u53ca\u5c0f\u7a0b\u5e8f\u72ec\u6709\u80fd\u529b\u7684\u4f7f\u7528\u3002"),(0,i.kt)("admonition",{type:"tip"},(0,i.kt)("p",{parentName:"admonition"},"\u5f53\u4f60\u51c6\u5907\u5f00\u53d1\u5c0f\u7a0b\u5e8f\u65f6\uff0c\u8bf7\u52a1\u5fc5\u9605\u8bfb\u672c\u6a21\u5757\u6587\u6863\u3002")),(0,i.kt)("h2",{id:"\u521b\u5efa\u5c0f\u7a0b\u5e8f\u5e94\u7528"},"\u521b\u5efa\u5c0f\u7a0b\u5e8f\u5e94\u7528"),(0,i.kt)("p",null,"\u5171\u6709\u4e24\u79cd\u65b9\u5f0f\u521b\u5efa ice.js \u5c0f\u7a0b\u5e8f\u5e94\u7528\uff1a"),(0,i.kt)("h3",{id:"1-\u901a\u8fc7\u5c0f\u7a0b\u5e8f\u6a21\u677f\u521b\u5efa"},"1. \u901a\u8fc7\u5c0f\u7a0b\u5e8f\u6a21\u677f\u521b\u5efa"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-bash"},"$ npm create ice ice-app --template @ice/miniapp-scaffold\n$ cd ice-app\n$ npm install\n")),(0,i.kt)("p",null,"\u521b\u5efa\u5b8c\u6bd5\u540e\u53ef\u4ee5\u76f4\u63a5\u8df3\u5230\u8c03\u8bd5\u4e0e\u6784\u5efa\u7ae0\u8282\u3002"),(0,i.kt)("h3",{id:"2-\u6539\u9020\u5df2\u6709\u7684-web-\u5e94\u7528"},"2. \u6539\u9020\u5df2\u6709\u7684 Web \u5e94\u7528"),(0,i.kt)("p",null,"\u5c06\u5df2\u6709\u7684 ice.js Web \u5e94\u7528\u6539\u9020\u4e3a\u652f\u6301\u5c0f\u7a0b\u5e8f\u5f00\u53d1\uff0c\u53ea\u9700\u8fdb\u884c\u4ee5\u4e0b\u51e0\u6b65\uff1a"),(0,i.kt)("h4",{id:"\u914d\u7f6e\u547d\u4ee4"},"\u914d\u7f6e\u547d\u4ee4"),(0,i.kt)("p",null,"\u5728 ",(0,i.kt)("inlineCode",{parentName:"p"},"package.json")," \u4e2d\u914d\u7f6e\u4ee5\u4e0b scripts \u547d\u4ee4\uff1a"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-json"},' "scripts": {\n "start": "ice start",\n "start:wechat": "ice start --target wechat-miniprogram",\n "start:ali": "ice start --target ali-miniapp",\n "build": "ice build",\n "build:wechat": "ice build --target wechat-miniprogram",\n "build:ali": "ice start --target ali-miniapp"\n }\n')),(0,i.kt)("h4",{id:"\u914d\u7f6e\u5c0f\u7a0b\u5e8f\u5f00\u53d1\u63d2\u4ef6\u53ca\u8fd0\u884c\u65f6\u4f9d\u8d56"},"\u914d\u7f6e\u5c0f\u7a0b\u5e8f\u5f00\u53d1\u63d2\u4ef6\u53ca\u8fd0\u884c\u65f6\u4f9d\u8d56"),(0,i.kt)("p",null,"\u5b89\u88c5\u5c0f\u7a0b\u5e8f\u5f00\u53d1\u63d2\u4ef6 ",(0,i.kt)("inlineCode",{parentName:"p"},"@ice/plugin-miniapp")," \u548c\u5c0f\u7a0b\u5e8f\u8fd0\u884c\u65f6\u4f9d\u8d56 ",(0,i.kt)("inlineCode",{parentName:"p"},"@ice/miniapp-runtime"),"\uff1a"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-shell"},"$ npm install @ice/plugin-miniapp -D\n$ npm install @ice/miniapp-runtime -S\n")),(0,i.kt)("p",null,"\u5728 ",(0,i.kt)("inlineCode",{parentName:"p"},"ice.config.mts")," \u4e2d\u914d\u7f6e\u63d2\u4ef6\uff1a"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-js",metastring:"title=ice.config.mts",title:"ice.config.mts"},"import miniapp from '@ice/plugin-miniapp';\n\nexport default defineConfig({\n plugins: [miniapp()],\n});\n")),(0,i.kt)("h4",{id:"\u6dfb\u52a0-miniappmanifest"},"\u6dfb\u52a0 ",(0,i.kt)("inlineCode",{parentName:"h4"},"miniappManifest")),(0,i.kt)("p",null,"\u5728 ",(0,i.kt)("inlineCode",{parentName:"p"},"src/app.tsx")," \u4e2d\u5bfc\u51fa ",(0,i.kt)("inlineCode",{parentName:"p"},"miniappManifest"),"\uff0c\u5728\u5176\u4e2d\u914d\u7f6e ",(0,i.kt)("inlineCode",{parentName:"p"},"routes")," \u6570\u7ec4\u7528\u4ee5\u6307\u5b9a\u5c0f\u7a0b\u5e8f\u4e2d\u7684\u9875\u9762\uff08\u8be6\u89c1",(0,i.kt)("a",{parentName:"p",href:"./router"},"\u5c0f\u7a0b\u5e8f-\u8def\u7531"),"\uff09:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-js"},"export const miniappManifest = {\n routes: [\n // \u521d\u59cb\u5316\u9879\u76ee\u4e2d\u4ec5\u6709 index \u4e00\u4e2a\u9875\u9762\n 'index' \n ]\n};\n")),(0,i.kt)("h4",{id:"\u9002\u914d-html-\u6807\u7b7e\u6837\u5f0f"},"\u9002\u914d HTML \u6807\u7b7e\u6837\u5f0f"),(0,i.kt)("p",null,"\u4ece Web \u5e94\u7528\u8fc1\u79fb\u800c\u6765\u610f\u5473\u7740\u4f60\u7684\u9879\u76ee\u4e2d\u4f7f\u7528\u4e86 HTML \u6807\u7b7e\uff0c\u4e3a\u4e86\u9002\u914d\u6837\u5f0f\uff0c\u4f60\u8fd8\u9700\u8981\u5728 ",(0,i.kt)("inlineCode",{parentName:"p"},"src/global.css")," \u5f15\u5165\u6837\u5f0f\u7684 polyfill\uff1a"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-css"},"@import '@ice/miniapp-html-styles/html';\n")),(0,i.kt)("p",null,"\u5173\u4e8e\u5728\u5c0f\u7a0b\u5e8f\u4e2d\u4f7f\u7528 HTML \u6807\u7b7e\u7684\u6ce8\u610f\u4e8b\u9879\uff0c\u8be6\u89c1\u6587\u6863",(0,i.kt)("a",{parentName:"p",href:"./use-html"},"\u4f7f\u7528 HTML \u6807\u7b7e"),"\u3002"),(0,i.kt)("h2",{id:"\u8c03\u8bd5\u4e0e\u6784\u5efa"},"\u8c03\u8bd5\u4e0e\u6784\u5efa"),(0,i.kt)("p",null,"\u5f53\u9700\u8981\u5f00\u53d1\u5c0f\u7a0b\u5e8f\u65f6\uff0c\u6267\u884c\u5bf9\u5e94\u7684\u547d\u4ee4\u5373\u53ef\u3002\u4f8b\u5982\uff0c\u9700\u8981\u5f00\u53d1\u8c03\u8bd5\u5fae\u4fe1\u5c0f\u7a0b\u5e8f\u65f6\uff0c\u6267\u884c"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-shell"},"$ npm run start:wechat\n")),(0,i.kt)("p",null,"\u9700\u8981\u6784\u5efa\u5fae\u4fe1\u5c0f\u7a0b\u5e8f\u751f\u4ea7\u73af\u5883\u7684\u4ea7\u7269\u65f6\uff0c\u6267\u884c"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-shell"},"$ npm run build:wechat\n")),(0,i.kt)("p",null,"\u7f16\u8bd1\u5b8c\u6210\u540e\uff0c\u547d\u4ee4\u884c\u4f1a\u7ed9\u51fa\u76f8\u5e94\u63d0\u793a\uff0c\u63d0\u9192\u5f00\u53d1\u8005\u4f7f\u7528\u5bf9\u5e94\u7684\u5c0f\u7a0b\u5e8f\u5f00\u53d1\u8005\u5de5\u5177\u6253\u5f00\u7f16\u8bd1\u4ea7\u7269\u76ee\u5f55\u8fdb\u884c\u8c03\u8bd5\u9884\u89c8\uff1a"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-shell"},"Use wechat-miniprogram developer tools to open the following folder:\n~/Code/ice-next/examples/miniapp-project/build\n")),(0,i.kt)("h2",{id:"\u652f\u6301\u5c0f\u7a0b\u5e8f\u5e73\u53f0"},"\u652f\u6301\u5c0f\u7a0b\u5e8f\u5e73\u53f0"),(0,i.kt)("p",null,"\u53ef\u4ee5\u770b\u5230\uff0c\u76f8\u6bd4\u5f00\u53d1 Web \u5e94\u7528\uff0c\u5f00\u53d1\u5c0f\u7a0b\u5e8f\u7684\u547d\u4ee4\u9700\u8981\u4f20\u9012 ",(0,i.kt)("inlineCode",{parentName:"p"},"platform")," \u53c2\u6570\uff0c\u76ee\u524d ice.js \u652f\u6301\u5f00\u53d1\u7684\u5c0f\u7a0b\u5e8f\u5e73\u53f0\u53ca\u5176 ",(0,i.kt)("inlineCode",{parentName:"p"},"platform")," \u540d\u79f0\u5982\u4e0b\uff1a"),(0,i.kt)("table",null,(0,i.kt)("thead",{parentName:"table"},(0,i.kt)("tr",{parentName:"thead"},(0,i.kt)("th",{parentName:"tr",align:null},"\u5c0f\u7a0b\u5e8f\u5e73\u53f0"),(0,i.kt)("th",{parentName:"tr",align:null},"platform"))),(0,i.kt)("tbody",{parentName:"table"},(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"\u963f\u91cc\u7cfb\uff08\u652f\u4ed8\u5b9d\u3001\u6dd8\u5b9d\u3001\u9489\u9489\u7b49\uff09"),(0,i.kt)("td",{parentName:"tr",align:null},"ali-miniapp")),(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"\u5fae\u4fe1"),(0,i.kt)("td",{parentName:"tr",align:null},"wechat-miniprogram")))),(0,i.kt)("p",null,"\u6682\u672a\u652f\u6301\u4f46\u8ba1\u5212\u652f\u6301\u7684\u5c0f\u7a0b\u5e8f\u5e73\u53f0\u53ca\u5176 ",(0,i.kt)("inlineCode",{parentName:"p"},"platform")," \u540d\u79f0\u5982\u4e0b\uff1a"),(0,i.kt)("table",null,(0,i.kt)("thead",{parentName:"table"},(0,i.kt)("tr",{parentName:"thead"},(0,i.kt)("th",{parentName:"tr",align:null},"\u5c0f\u7a0b\u5e8f\u5e73\u53f0"),(0,i.kt)("th",{parentName:"tr",align:null},"platform"))),(0,i.kt)("tbody",{parentName:"table"},(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"\u5b57\u8282"),(0,i.kt)("td",{parentName:"tr",align:null},"bytedance-microapp")),(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"\u767e\u5ea6"),(0,i.kt)("td",{parentName:"tr",align:null},"baidu-smartprogram")),(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"\u5feb\u624b"),(0,i.kt)("td",{parentName:"tr",align:null},"kuaishou-miniprogram")))),(0,i.kt)("h2",{id:"\u5f85\u652f\u6301\u80fd\u529b"},"\u5f85\u652f\u6301\u80fd\u529b"),(0,i.kt)("ul",{className:"contains-task-list"},(0,i.kt)("li",{parentName:"ul",className:"task-list-item"},(0,i.kt)("input",{parentName:"li",type:"checkbox",checked:!0,disabled:!0})," ","\u914d\u7f6e\u5c0f\u7a0b\u5e8f\u539f\u751f\u5e94\u7528\u751f\u547d\u5468\u671f\u53ca\u4e8b\u4ef6"),(0,i.kt)("li",{parentName:"ul",className:"task-list-item"},(0,i.kt)("input",{parentName:"li",type:"checkbox",checked:!0,disabled:!0})," ","\u914d\u7f6e\u5c0f\u7a0b\u5e8f\u539f\u751f\u9875\u9762\u751f\u547d\u5468\u671f\u53ca\u4e8b\u4ef6"),(0,i.kt)("li",{parentName:"ul",className:"task-list-item"},(0,i.kt)("input",{parentName:"li",type:"checkbox",checked:!0,disabled:!0})," ","\u914d\u7f6e\u539f\u751f\u5c0f\u7a0b\u5e8f project.config.json"),(0,i.kt)("li",{parentName:"ul",className:"task-list-item"},(0,i.kt)("input",{parentName:"li",type:"checkbox",checked:!1,disabled:!0})," ","\u4e0e\u539f\u751f\u9875\u9762\u3001\u7ec4\u4ef6\u3001\u63d2\u4ef6\u6df7\u7528"),(0,i.kt)("li",{parentName:"ul",className:"task-list-item"},(0,i.kt)("input",{parentName:"li",type:"checkbox",checked:!1,disabled:!0})," ","\u5206\u5305\u52a0\u8f7d")),(0,i.kt)("h2",{id:"\u4e0d\u652f\u6301\u80fd\u529b"},"\u4e0d\u652f\u6301\u80fd\u529b"),(0,i.kt)("p",null,"\u53d7\u5c0f\u7a0b\u5e8f\u73af\u5883\u9650\u5236\uff0c\u4ee5\u4e0b ice.js \u63d0\u4f9b\u7684\u80fd\u529b\u5728\u5c0f\u7a0b\u5e8f\u7aef\u4e0d\u9002\u7528\uff0c\u76f8\u5173\u7ae0\u8282\u4e2d\u4e5f\u4f1a\u8fdb\u884c\u6807\u6ce8\uff1a"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"../basic/mock"},"\u6570\u636e\u6a21\u62df Mock"))),(0,i.kt)("admonition",{type:"info"},(0,i.kt)("p",{parentName:"admonition"},"\u5c0f\u7a0b\u5e8f\u4e2d\u7684\u6570\u636e\u8bf7\u6c42\u9700\u8981\u7edf\u4e00\u4f7f\u7528\u5176\u63d0\u4f9b\u7684 request \u76f8\u5173 API\uff0c\u56e0\u6b64 ice.js \u63d0\u4f9b\u7684\u6570\u636e\u6a21\u62df Mock \u80fd\u529b\u5bf9\u5c0f\u7a0b\u5e8f\u4e0d\u9002\u7528\u3002\u5c0f\u7a0b\u5e8f\u7aef\u7684\u6570\u636e\u6a21\u62df\u80fd\u529b\u53ef\u901a\u8fc7\u5f00\u53d1\u8005\u5de5\u5177\u8fdb\u884c\u914d\u7f6e\u4f7f\u7528\uff0c\u8fd9\u91cc\u5217\u51fa\u963f\u91cc\u53ca\u5fae\u4fe1\u5c0f\u7a0b\u5e8f\u7684\u76f8\u5173\u4f7f\u7528\u6587\u6863\uff1a"),(0,i.kt)("ul",{parentName:"admonition"},(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"https://opendocs.alipay.com/mini/anymock"},"\u963f\u91cc\u5c0f\u7a0b\u5e8f Anymock \u573a\u666f\u6570\u636e\u5e73\u53f0\u6269\u5c55")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"https://developers.weixin.qq.com/miniprogram/dev/devtools/api-mock.html"},"\u5fae\u4fe1\u5c0f\u7a0b\u5e8f API Mock")))),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"../basic/ssg"},"\u6784\u5efa\u65f6\u6e32\u67d3 SSG")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"../basic/ssr"},"\u670d\u52a1\u7aef\u6e32\u67d3 SSR")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"../basic/document"},"\u5b9a\u5236 HTML")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"../advanced/auth"},"\u6743\u9650\u7ba1\u7406")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"../advanced/css-assets-local"},"CSS \u8d44\u6e90\u672c\u5730\u5316")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"../advanced/keep-alive"},"Keep Alive")),(0,i.kt)("li",{parentName:"ul"},"\u4f7f\u7528 antd/fusion \u7b49\u5df2\u6709 Web \u7ec4\u4ef6\u5e93")),(0,i.kt)("admonition",{type:"info"},(0,i.kt)("p",{parentName:"admonition"},"\u6ca1\u6709\u7ecf\u8fc7\u9002\u914d\u7684 Web \u7ec4\u4ef6\u5e93\u6682\u65f6\u65e0\u6cd5\u76f4\u63a5\u5728 ice.js \u5c0f\u7a0b\u5e8f\u7aef\u4f7f\u7528\u3002")))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/23944e90.30dc95dc.js b/assets/js/23944e90.30dc95dc.js new file mode 100644 index 0000000000..267fec2712 --- /dev/null +++ b/assets/js/23944e90.30dc95dc.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkice_website_v3=self.webpackChunkice_website_v3||[]).push([[7481],{4852:(e,t,a)=>{a.d(t,{Zo:()=>c,kt:()=>k});var n=a(9231);function i(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function r(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?l(Object(a),!0).forEach((function(t){i(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):l(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function p(e,t){if(null==e)return{};var a,n,i=function(e,t){if(null==e)return{};var a,n,i={},l=Object.keys(e);for(n=0;n<l.length;n++)a=l[n],t.indexOf(a)>=0||(i[a]=e[a]);return i}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(n=0;n<l.length;n++)a=l[n],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(i[a]=e[a])}return i}var m=n.createContext({}),o=function(e){var t=n.useContext(m),a=t;return e&&(a="function"==typeof e?e(t):r(r({},t),e)),a},c=function(e){var t=o(e.components);return n.createElement(m.Provider,{value:t},e.children)},s="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},d=n.forwardRef((function(e,t){var a=e.components,i=e.mdxType,l=e.originalType,m=e.parentName,c=p(e,["components","mdxType","originalType","parentName"]),s=o(a),d=i,k=s["".concat(m,".").concat(d)]||s[d]||u[d]||l;return a?n.createElement(k,r(r({ref:t},c),{},{components:a})):n.createElement(k,r({ref:t},c))}));function k(e,t){var a=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var l=a.length,r=new Array(l);r[0]=d;var p={};for(var m in t)hasOwnProperty.call(t,m)&&(p[m]=t[m]);p.originalType=e,p[s]="string"==typeof e?e:i,r[1]=p;for(var o=2;o<l;o++)r[o]=a[o];return n.createElement.apply(null,r)}return n.createElement.apply(null,a)}d.displayName="MDXCreateElement"},9604:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>m,contentTitle:()=>r,default:()=>u,frontMatter:()=>l,metadata:()=>p,toc:()=>o});var n=a(5675),i=(a(9231),a(4852));const l={title:"\u5feb\u901f\u5f00\u59cb",order:1},r=void 0,p={unversionedId:"guide/miniapp/start",id:"guide/miniapp/start",title:"\u5feb\u901f\u5f00\u59cb",description:"ice.js \u652f\u6301\u5c0f\u7a0b\u5e8f\u5f00\u53d1\u3002\u7531\u4e8e\u5c0f\u7a0b\u5e8f\u7aef\u5927\u90e8\u5206\u80fd\u529b\u53ca\u914d\u7f6e\u5747\u4e0e Web \u5e94\u7528\u5bf9\u9f50\uff0c\u672c\u7ae0\u8282\u4ec5\u4ecb\u7ecd\u5c0f\u7a0b\u5e8f\u5feb\u901f\u5f00\u59cb\u3001\u4e0e Web \u5e94\u7528\u7684\u5dee\u5f02\u70b9\u4ee5\u53ca\u5c0f\u7a0b\u5e8f\u72ec\u6709\u80fd\u529b\u7684\u4f7f\u7528\u3002",source:"@site/docs/guide/miniapp/start.md",sourceDirName:"guide/miniapp",slug:"/guide/miniapp/start",permalink:"/docs/guide/miniapp/start",draft:!1,editUrl:"https://github.com/alibaba/ice/edit/master/website/docs/guide/miniapp/start.md",tags:[],version:"current",frontMatter:{title:"\u5feb\u901f\u5f00\u59cb",order:1},sidebar:"docs",previous:{title:"\u5143\u7d20\u53ef\u89c1",permalink:"/docs/guide/basic/appear"},next:{title:"\u5e94\u7528\u914d\u7f6e",permalink:"/docs/guide/miniapp/app-config"}},m={},o=[{value:"\u521b\u5efa\u5c0f\u7a0b\u5e8f\u5e94\u7528",id:"\u521b\u5efa\u5c0f\u7a0b\u5e8f\u5e94\u7528",level:2},{value:"1. \u901a\u8fc7\u5c0f\u7a0b\u5e8f\u6a21\u677f\u521b\u5efa",id:"1-\u901a\u8fc7\u5c0f\u7a0b\u5e8f\u6a21\u677f\u521b\u5efa",level:3},{value:"2. \u6539\u9020\u5df2\u6709\u7684 Web \u5e94\u7528",id:"2-\u6539\u9020\u5df2\u6709\u7684-web-\u5e94\u7528",level:3},{value:"\u914d\u7f6e\u547d\u4ee4",id:"\u914d\u7f6e\u547d\u4ee4",level:4},{value:"\u914d\u7f6e\u5c0f\u7a0b\u5e8f\u5f00\u53d1\u63d2\u4ef6\u53ca\u8fd0\u884c\u65f6\u4f9d\u8d56",id:"\u914d\u7f6e\u5c0f\u7a0b\u5e8f\u5f00\u53d1\u63d2\u4ef6\u53ca\u8fd0\u884c\u65f6\u4f9d\u8d56",level:4},{value:"\u6dfb\u52a0 <code>miniappManifest</code>",id:"\u6dfb\u52a0-miniappmanifest",level:4},{value:"\u9002\u914d HTML \u6807\u7b7e\u6837\u5f0f",id:"\u9002\u914d-html-\u6807\u7b7e\u6837\u5f0f",level:4},{value:"\u8c03\u8bd5\u4e0e\u6784\u5efa",id:"\u8c03\u8bd5\u4e0e\u6784\u5efa",level:2},{value:"\u652f\u6301\u5c0f\u7a0b\u5e8f\u5e73\u53f0",id:"\u652f\u6301\u5c0f\u7a0b\u5e8f\u5e73\u53f0",level:2},{value:"\u5f85\u652f\u6301\u80fd\u529b",id:"\u5f85\u652f\u6301\u80fd\u529b",level:2},{value:"\u4e0d\u652f\u6301\u80fd\u529b",id:"\u4e0d\u652f\u6301\u80fd\u529b",level:2}],c={toc:o},s="wrapper";function u(e){let{components:t,...a}=e;return(0,i.kt)(s,(0,n.Z)({},c,a,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("p",null,"ice.js \u652f\u6301\u5c0f\u7a0b\u5e8f\u5f00\u53d1\u3002\u7531\u4e8e\u5c0f\u7a0b\u5e8f\u7aef\u5927\u90e8\u5206\u80fd\u529b\u53ca\u914d\u7f6e\u5747\u4e0e Web \u5e94\u7528\u5bf9\u9f50\uff0c\u672c\u7ae0\u8282\u4ec5\u4ecb\u7ecd\u5c0f\u7a0b\u5e8f\u5feb\u901f\u5f00\u59cb\u3001\u4e0e Web \u5e94\u7528\u7684\u5dee\u5f02\u70b9\u4ee5\u53ca\u5c0f\u7a0b\u5e8f\u72ec\u6709\u80fd\u529b\u7684\u4f7f\u7528\u3002"),(0,i.kt)("admonition",{type:"tip"},(0,i.kt)("p",{parentName:"admonition"},"\u5f53\u4f60\u51c6\u5907\u5f00\u53d1\u5c0f\u7a0b\u5e8f\u65f6\uff0c\u8bf7\u52a1\u5fc5\u9605\u8bfb\u672c\u6a21\u5757\u6587\u6863\u3002")),(0,i.kt)("h2",{id:"\u521b\u5efa\u5c0f\u7a0b\u5e8f\u5e94\u7528"},"\u521b\u5efa\u5c0f\u7a0b\u5e8f\u5e94\u7528"),(0,i.kt)("p",null,"\u5171\u6709\u4e24\u79cd\u65b9\u5f0f\u521b\u5efa ice.js \u5c0f\u7a0b\u5e8f\u5e94\u7528\uff1a"),(0,i.kt)("h3",{id:"1-\u901a\u8fc7\u5c0f\u7a0b\u5e8f\u6a21\u677f\u521b\u5efa"},"1. \u901a\u8fc7\u5c0f\u7a0b\u5e8f\u6a21\u677f\u521b\u5efa"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-bash"},"$ npm create ice ice-app --template @ice/miniapp-scaffold\n$ cd ice-app\n$ npm install\n")),(0,i.kt)("p",null,"\u521b\u5efa\u5b8c\u6bd5\u540e\u53ef\u4ee5\u76f4\u63a5\u8df3\u5230\u8c03\u8bd5\u4e0e\u6784\u5efa\u7ae0\u8282\u3002"),(0,i.kt)("h3",{id:"2-\u6539\u9020\u5df2\u6709\u7684-web-\u5e94\u7528"},"2. \u6539\u9020\u5df2\u6709\u7684 Web \u5e94\u7528"),(0,i.kt)("p",null,"\u5c06\u5df2\u6709\u7684 ice.js Web \u5e94\u7528\u6539\u9020\u4e3a\u652f\u6301\u5c0f\u7a0b\u5e8f\u5f00\u53d1\uff0c\u53ea\u9700\u8fdb\u884c\u4ee5\u4e0b\u51e0\u6b65\uff1a"),(0,i.kt)("h4",{id:"\u914d\u7f6e\u547d\u4ee4"},"\u914d\u7f6e\u547d\u4ee4"),(0,i.kt)("p",null,"\u5728 ",(0,i.kt)("inlineCode",{parentName:"p"},"package.json")," \u4e2d\u914d\u7f6e\u4ee5\u4e0b scripts \u547d\u4ee4\uff1a"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-json"},' "scripts": {\n "start": "ice start",\n "start:wechat": "ice start --target wechat-miniprogram",\n "start:ali": "ice start --target ali-miniapp",\n "build": "ice build",\n "build:wechat": "ice build --target wechat-miniprogram",\n "build:ali": "ice start --target ali-miniapp"\n }\n')),(0,i.kt)("h4",{id:"\u914d\u7f6e\u5c0f\u7a0b\u5e8f\u5f00\u53d1\u63d2\u4ef6\u53ca\u8fd0\u884c\u65f6\u4f9d\u8d56"},"\u914d\u7f6e\u5c0f\u7a0b\u5e8f\u5f00\u53d1\u63d2\u4ef6\u53ca\u8fd0\u884c\u65f6\u4f9d\u8d56"),(0,i.kt)("p",null,"\u5b89\u88c5\u5c0f\u7a0b\u5e8f\u5f00\u53d1\u63d2\u4ef6 ",(0,i.kt)("inlineCode",{parentName:"p"},"@ice/plugin-miniapp")," \u548c\u5c0f\u7a0b\u5e8f\u8fd0\u884c\u65f6\u4f9d\u8d56 ",(0,i.kt)("inlineCode",{parentName:"p"},"@ice/miniapp-runtime"),"\uff1a"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-shell"},"$ npm install @ice/plugin-miniapp -D\n$ npm install @ice/miniapp-runtime -S\n")),(0,i.kt)("p",null,"\u5728 ",(0,i.kt)("inlineCode",{parentName:"p"},"ice.config.mts")," \u4e2d\u914d\u7f6e\u63d2\u4ef6\uff1a"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-js",metastring:"title=ice.config.mts",title:"ice.config.mts"},"import miniapp from '@ice/plugin-miniapp';\n\nexport default defineConfig({\n plugins: [miniapp()],\n});\n")),(0,i.kt)("h4",{id:"\u6dfb\u52a0-miniappmanifest"},"\u6dfb\u52a0 ",(0,i.kt)("inlineCode",{parentName:"h4"},"miniappManifest")),(0,i.kt)("p",null,"\u5728 ",(0,i.kt)("inlineCode",{parentName:"p"},"src/app.tsx")," \u4e2d\u5bfc\u51fa ",(0,i.kt)("inlineCode",{parentName:"p"},"miniappManifest"),"\uff0c\u5728\u5176\u4e2d\u914d\u7f6e ",(0,i.kt)("inlineCode",{parentName:"p"},"routes")," \u6570\u7ec4\u7528\u4ee5\u6307\u5b9a\u5c0f\u7a0b\u5e8f\u4e2d\u7684\u9875\u9762\uff08\u8be6\u89c1",(0,i.kt)("a",{parentName:"p",href:"./router"},"\u5c0f\u7a0b\u5e8f-\u8def\u7531"),"\uff09:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-js"},"export const miniappManifest = {\n routes: [\n // \u521d\u59cb\u5316\u9879\u76ee\u4e2d\u4ec5\u6709 index \u4e00\u4e2a\u9875\u9762\n 'index' \n ]\n};\n")),(0,i.kt)("h4",{id:"\u9002\u914d-html-\u6807\u7b7e\u6837\u5f0f"},"\u9002\u914d HTML \u6807\u7b7e\u6837\u5f0f"),(0,i.kt)("p",null,"\u4ece Web \u5e94\u7528\u8fc1\u79fb\u800c\u6765\u610f\u5473\u7740\u4f60\u7684\u9879\u76ee\u4e2d\u4f7f\u7528\u4e86 HTML \u6807\u7b7e\uff0c\u4e3a\u4e86\u9002\u914d\u6837\u5f0f\uff0c\u4f60\u8fd8\u9700\u8981\u5728 ",(0,i.kt)("inlineCode",{parentName:"p"},"src/global.css")," \u5f15\u5165\u6837\u5f0f\u7684 polyfill\uff1a"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-css"},"@import '@ice/miniapp-html-styles/html';\n")),(0,i.kt)("p",null,"\u5173\u4e8e\u5728\u5c0f\u7a0b\u5e8f\u4e2d\u4f7f\u7528 HTML \u6807\u7b7e\u7684\u6ce8\u610f\u4e8b\u9879\uff0c\u8be6\u89c1\u6587\u6863",(0,i.kt)("a",{parentName:"p",href:"./use-html"},"\u4f7f\u7528 HTML \u6807\u7b7e"),"\u3002"),(0,i.kt)("h2",{id:"\u8c03\u8bd5\u4e0e\u6784\u5efa"},"\u8c03\u8bd5\u4e0e\u6784\u5efa"),(0,i.kt)("p",null,"\u5f53\u9700\u8981\u5f00\u53d1\u5c0f\u7a0b\u5e8f\u65f6\uff0c\u6267\u884c\u5bf9\u5e94\u7684\u547d\u4ee4\u5373\u53ef\u3002\u4f8b\u5982\uff0c\u9700\u8981\u5f00\u53d1\u8c03\u8bd5\u5fae\u4fe1\u5c0f\u7a0b\u5e8f\u65f6\uff0c\u6267\u884c"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-shell"},"$ npm run start:wechat\n")),(0,i.kt)("p",null,"\u9700\u8981\u6784\u5efa\u5fae\u4fe1\u5c0f\u7a0b\u5e8f\u751f\u4ea7\u73af\u5883\u7684\u4ea7\u7269\u65f6\uff0c\u6267\u884c"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-shell"},"$ npm run build:wechat\n")),(0,i.kt)("p",null,"\u7f16\u8bd1\u5b8c\u6210\u540e\uff0c\u547d\u4ee4\u884c\u4f1a\u7ed9\u51fa\u76f8\u5e94\u63d0\u793a\uff0c\u63d0\u9192\u5f00\u53d1\u8005\u4f7f\u7528\u5bf9\u5e94\u7684\u5c0f\u7a0b\u5e8f\u5f00\u53d1\u8005\u5de5\u5177\u6253\u5f00\u7f16\u8bd1\u4ea7\u7269\u76ee\u5f55\u8fdb\u884c\u8c03\u8bd5\u9884\u89c8\uff1a"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-shell"},"Use wechat-miniprogram developer tools to open the following folder:\n~/Code/ice-next/examples/miniapp-project/build\n")),(0,i.kt)("h2",{id:"\u652f\u6301\u5c0f\u7a0b\u5e8f\u5e73\u53f0"},"\u652f\u6301\u5c0f\u7a0b\u5e8f\u5e73\u53f0"),(0,i.kt)("p",null,"\u53ef\u4ee5\u770b\u5230\uff0c\u76f8\u6bd4\u5f00\u53d1 Web \u5e94\u7528\uff0c\u5f00\u53d1\u5c0f\u7a0b\u5e8f\u7684\u547d\u4ee4\u9700\u8981\u4f20\u9012 ",(0,i.kt)("inlineCode",{parentName:"p"},"platform")," \u53c2\u6570\uff0c\u76ee\u524d ice.js \u652f\u6301\u5f00\u53d1\u7684\u5c0f\u7a0b\u5e8f\u5e73\u53f0\u53ca\u5176 ",(0,i.kt)("inlineCode",{parentName:"p"},"platform")," \u540d\u79f0\u5982\u4e0b\uff1a"),(0,i.kt)("table",null,(0,i.kt)("thead",{parentName:"table"},(0,i.kt)("tr",{parentName:"thead"},(0,i.kt)("th",{parentName:"tr",align:null},"\u5c0f\u7a0b\u5e8f\u5e73\u53f0"),(0,i.kt)("th",{parentName:"tr",align:null},"platform"))),(0,i.kt)("tbody",{parentName:"table"},(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"\u963f\u91cc\u7cfb\uff08\u652f\u4ed8\u5b9d\u3001\u6dd8\u5b9d\u3001\u9489\u9489\u7b49\uff09"),(0,i.kt)("td",{parentName:"tr",align:null},"ali-miniapp")),(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"\u5fae\u4fe1"),(0,i.kt)("td",{parentName:"tr",align:null},"wechat-miniprogram")))),(0,i.kt)("p",null,"\u6682\u672a\u652f\u6301\u4f46\u8ba1\u5212\u652f\u6301\u7684\u5c0f\u7a0b\u5e8f\u5e73\u53f0\u53ca\u5176 ",(0,i.kt)("inlineCode",{parentName:"p"},"platform")," \u540d\u79f0\u5982\u4e0b\uff1a"),(0,i.kt)("table",null,(0,i.kt)("thead",{parentName:"table"},(0,i.kt)("tr",{parentName:"thead"},(0,i.kt)("th",{parentName:"tr",align:null},"\u5c0f\u7a0b\u5e8f\u5e73\u53f0"),(0,i.kt)("th",{parentName:"tr",align:null},"platform"))),(0,i.kt)("tbody",{parentName:"table"},(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"\u5b57\u8282"),(0,i.kt)("td",{parentName:"tr",align:null},"bytedance-microapp")),(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"\u767e\u5ea6"),(0,i.kt)("td",{parentName:"tr",align:null},"baidu-smartprogram")),(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"\u5feb\u624b"),(0,i.kt)("td",{parentName:"tr",align:null},"kuaishou-miniprogram")))),(0,i.kt)("h2",{id:"\u5f85\u652f\u6301\u80fd\u529b"},"\u5f85\u652f\u6301\u80fd\u529b"),(0,i.kt)("ul",{className:"contains-task-list"},(0,i.kt)("li",{parentName:"ul",className:"task-list-item"},(0,i.kt)("input",{parentName:"li",type:"checkbox",checked:!0,disabled:!0})," ","\u914d\u7f6e\u5c0f\u7a0b\u5e8f\u539f\u751f\u5e94\u7528\u751f\u547d\u5468\u671f\u53ca\u4e8b\u4ef6"),(0,i.kt)("li",{parentName:"ul",className:"task-list-item"},(0,i.kt)("input",{parentName:"li",type:"checkbox",checked:!0,disabled:!0})," ","\u914d\u7f6e\u5c0f\u7a0b\u5e8f\u539f\u751f\u9875\u9762\u751f\u547d\u5468\u671f\u53ca\u4e8b\u4ef6"),(0,i.kt)("li",{parentName:"ul",className:"task-list-item"},(0,i.kt)("input",{parentName:"li",type:"checkbox",checked:!0,disabled:!0})," ","\u914d\u7f6e\u539f\u751f\u5c0f\u7a0b\u5e8f project.config.json"),(0,i.kt)("li",{parentName:"ul",className:"task-list-item"},(0,i.kt)("input",{parentName:"li",type:"checkbox",checked:!1,disabled:!0})," ","\u4e0e\u539f\u751f\u9875\u9762\u3001\u7ec4\u4ef6\u3001\u63d2\u4ef6\u6df7\u7528"),(0,i.kt)("li",{parentName:"ul",className:"task-list-item"},(0,i.kt)("input",{parentName:"li",type:"checkbox",checked:!1,disabled:!0})," ","\u5206\u5305\u52a0\u8f7d")),(0,i.kt)("h2",{id:"\u4e0d\u652f\u6301\u80fd\u529b"},"\u4e0d\u652f\u6301\u80fd\u529b"),(0,i.kt)("p",null,"\u53d7\u5c0f\u7a0b\u5e8f\u73af\u5883\u9650\u5236\uff0c\u4ee5\u4e0b ice.js \u63d0\u4f9b\u7684\u80fd\u529b\u5728\u5c0f\u7a0b\u5e8f\u7aef\u4e0d\u9002\u7528\uff0c\u76f8\u5173\u7ae0\u8282\u4e2d\u4e5f\u4f1a\u8fdb\u884c\u6807\u6ce8\uff1a"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"../basic/mock"},"\u6570\u636e\u6a21\u62df Mock"))),(0,i.kt)("admonition",{type:"info"},(0,i.kt)("p",{parentName:"admonition"},"\u5c0f\u7a0b\u5e8f\u4e2d\u7684\u6570\u636e\u8bf7\u6c42\u9700\u8981\u7edf\u4e00\u4f7f\u7528\u5176\u63d0\u4f9b\u7684 request \u76f8\u5173 API\uff0c\u56e0\u6b64 ice.js \u63d0\u4f9b\u7684\u6570\u636e\u6a21\u62df Mock \u80fd\u529b\u5bf9\u5c0f\u7a0b\u5e8f\u4e0d\u9002\u7528\u3002\u5c0f\u7a0b\u5e8f\u7aef\u7684\u6570\u636e\u6a21\u62df\u80fd\u529b\u53ef\u901a\u8fc7\u5f00\u53d1\u8005\u5de5\u5177\u8fdb\u884c\u914d\u7f6e\u4f7f\u7528\uff0c\u8fd9\u91cc\u5217\u51fa\u963f\u91cc\u53ca\u5fae\u4fe1\u5c0f\u7a0b\u5e8f\u7684\u76f8\u5173\u4f7f\u7528\u6587\u6863\uff1a"),(0,i.kt)("ul",{parentName:"admonition"},(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"https://opendocs.alipay.com/mini/anymock"},"\u963f\u91cc\u5c0f\u7a0b\u5e8f Anymock \u573a\u666f\u6570\u636e\u5e73\u53f0\u6269\u5c55")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"https://developers.weixin.qq.com/miniprogram/dev/devtools/api-mock.html"},"\u5fae\u4fe1\u5c0f\u7a0b\u5e8f API Mock")))),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"../basic/ssg"},"\u6784\u5efa\u65f6\u6e32\u67d3 SSG")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"../basic/ssr"},"\u670d\u52a1\u7aef\u6e32\u67d3 SSR")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"../basic/document"},"\u5b9a\u5236 HTML")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"../advanced/auth"},"\u6743\u9650\u7ba1\u7406")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"../advanced/css-assets-local"},"CSS \u8d44\u6e90\u672c\u5730\u5316")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"../advanced/keep-alive"},"Keep Alive")),(0,i.kt)("li",{parentName:"ul"},"\u4f7f\u7528 antd/fusion \u7b49\u5df2\u6709 Web \u7ec4\u4ef6\u5e93")),(0,i.kt)("admonition",{type:"info"},(0,i.kt)("p",{parentName:"admonition"},"\u6ca1\u6709\u7ecf\u8fc7\u9002\u914d\u7684 Web \u7ec4\u4ef6\u5e93\u6682\u65f6\u65e0\u6cd5\u76f4\u63a5\u5728 ice.js \u5c0f\u7a0b\u5e8f\u7aef\u4f7f\u7528\u3002")))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/289.d24d849c.js b/assets/js/289.d24d849c.js deleted file mode 100644 index 94fe1b1443..0000000000 --- a/assets/js/289.d24d849c.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkice_website_v3=self.webpackChunkice_website_v3||[]).push([[289],{289:(e,t,n)=>{n.r(t),n.d(t,{default:()=>i});var a=n(9231),l=n(3509),o=n(4439),r=n(6547);function i(){return a.createElement(a.Fragment,null,a.createElement(o.d,{title:(0,l.I)({id:"theme.NotFound.title",message:"Page Not Found"})}),a.createElement(r.Z,null,a.createElement("main",{className:"container margin-vert--xl"},a.createElement("div",{className:"row"},a.createElement("div",{className:"col col--6 col--offset-3"},a.createElement("h1",{className:"hero__title"},a.createElement(l.Z,{id:"theme.NotFound.title",description:"The title of the 404 page"},"Page Not Found")),a.createElement("p",null,a.createElement(l.Z,{id:"theme.NotFound.p1",description:"The first paragraph of the 404 page"},"We could not find what you were looking for.")),a.createElement("p",null,a.createElement(l.Z,{id:"theme.NotFound.p2",description:"The 2nd paragraph of the 404 page"},"Please contact the owner of the site that linked you to the original URL and let them know their link is broken.")))))))}}}]); \ No newline at end of file diff --git a/assets/js/338e89cb.162a2514.js b/assets/js/338e89cb.162a2514.js deleted file mode 100644 index a44f0e3d9f..0000000000 --- a/assets/js/338e89cb.162a2514.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkice_website_v3=self.webpackChunkice_website_v3||[]).push([[659],{4852:(e,n,t)=>{t.d(n,{Zo:()=>s,kt:()=>k});var a=t(9231);function l(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function r(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,a)}return t}function i(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?r(Object(t),!0).forEach((function(n){l(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):r(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function o(e,n){if(null==e)return{};var t,a,l=function(e,n){if(null==e)return{};var t,a,l={},r=Object.keys(e);for(a=0;a<r.length;a++)t=r[a],n.indexOf(t)>=0||(l[t]=e[t]);return l}(e,n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(a=0;a<r.length;a++)t=r[a],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(l[t]=e[t])}return l}var u=a.createContext({}),c=function(e){var n=a.useContext(u),t=n;return e&&(t="function"==typeof e?e(n):i(i({},n),e)),t},s=function(e){var n=c(e.components);return a.createElement(u.Provider,{value:n},e.children)},p="mdxType",d={inlineCode:"code",wrapper:function(e){var n=e.children;return a.createElement(a.Fragment,{},n)}},m=a.forwardRef((function(e,n){var t=e.components,l=e.mdxType,r=e.originalType,u=e.parentName,s=o(e,["components","mdxType","originalType","parentName"]),p=c(t),m=l,k=p["".concat(u,".").concat(m)]||p[m]||d[m]||r;return t?a.createElement(k,i(i({ref:n},s),{},{components:t})):a.createElement(k,i({ref:n},s))}));function k(e,n){var t=arguments,l=n&&n.mdxType;if("string"==typeof e||l){var r=t.length,i=new Array(r);i[0]=m;var o={};for(var u in n)hasOwnProperty.call(n,u)&&(o[u]=n[u]);o.originalType=e,o[p]="string"==typeof e?e:l,i[1]=o;for(var c=2;c<r;c++)i[c]=t[c];return a.createElement.apply(null,i)}return a.createElement.apply(null,t)}m.displayName="MDXCreateElement"},2970:(e,n,t)=>{t.d(n,{Z:()=>i});var a=t(9231),l=t(9841);const r={tabItem:"tabItem_Z7jx"};function i(e){let{children:n,hidden:t,className:i}=e;return a.createElement("div",{role:"tabpanel",className:(0,l.Z)(r.tabItem,i),hidden:t},n)}},6507:(e,n,t)=>{t.d(n,{Z:()=>v});var a=t(5675),l=t(9231),r=t(9841),i=t(358),o=t(9409),u=t(8800),c=t(548),s=t(3536);function p(e){return function(e){return l.Children.map(e,(e=>{if((0,l.isValidElement)(e)&&"value"in e.props)return e;throw new Error(`Docusaurus error: Bad <Tabs> child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the <Tabs> component should be <TabItem>, and every <TabItem> should have a unique "value" prop.`)}))}(e).map((e=>{let{props:{value:n,label:t,attributes:a,default:l}}=e;return{value:n,label:t,attributes:a,default:l}}))}function d(e){const{values:n,children:t}=e;return(0,l.useMemo)((()=>{const e=n??p(t);return function(e){const n=(0,c.l)(e,((e,n)=>e.value===n.value));if(n.length>0)throw new Error(`Docusaurus error: Duplicate values "${n.map((e=>e.value)).join(", ")}" found in <Tabs>. Every value needs to be unique.`)}(e),e}),[n,t])}function m(e){let{value:n,tabValues:t}=e;return t.some((e=>e.value===n))}function k(e){let{queryString:n=!1,groupId:t}=e;const a=(0,o.k6)(),r=function(e){let{queryString:n=!1,groupId:t}=e;if("string"==typeof n)return n;if(!1===n)return null;if(!0===n&&!t)throw new Error('Docusaurus error: The <Tabs> component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return t??null}({queryString:n,groupId:t});return[(0,u._X)(r),(0,l.useCallback)((e=>{if(!r)return;const n=new URLSearchParams(a.location.search);n.set(r,e),a.replace({...a.location,search:n.toString()})}),[r,a])]}function f(e){const{defaultValue:n,queryString:t=!1,groupId:a}=e,r=d(e),[i,o]=(0,l.useState)((()=>function(e){let{defaultValue:n,tabValues:t}=e;if(0===t.length)throw new Error("Docusaurus error: the <Tabs> component requires at least one <TabItem> children component");if(n){if(!m({value:n,tabValues:t}))throw new Error(`Docusaurus error: The <Tabs> has a defaultValue "${n}" but none of its children has the corresponding value. Available values are: ${t.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return n}const a=t.find((e=>e.default))??t[0];if(!a)throw new Error("Unexpected error: 0 tabValues");return a.value}({defaultValue:n,tabValues:r}))),[u,c]=k({queryString:t,groupId:a}),[p,f]=function(e){let{groupId:n}=e;const t=function(e){return e?`docusaurus.tab.${e}`:null}(n),[a,r]=(0,s.Nk)(t);return[a,(0,l.useCallback)((e=>{t&&r.set(e)}),[t,r])]}({groupId:a}),N=(()=>{const e=u??p;return m({value:e,tabValues:r})?e:null})();(0,l.useLayoutEffect)((()=>{N&&o(N)}),[N]);return{selectedValue:i,selectValue:(0,l.useCallback)((e=>{if(!m({value:e,tabValues:r}))throw new Error(`Can't select invalid tab value=${e}`);o(e),c(e),f(e)}),[c,f,r]),tabValues:r}}var N=t(348);const g={tabList:"tabList_YkLP",tabItem:"tabItem_dswv"};function h(e){let{className:n,block:t,selectedValue:o,selectValue:u,tabValues:c}=e;const s=[],{blockElementScrollPositionUntilNextRender:p}=(0,i.o5)(),d=e=>{const n=e.currentTarget,t=s.indexOf(n),a=c[t].value;a!==o&&(p(n),u(a))},m=e=>{let n=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":{const t=s.indexOf(e.currentTarget)+1;n=s[t]??s[0];break}case"ArrowLeft":{const t=s.indexOf(e.currentTarget)-1;n=s[t]??s[s.length-1];break}}n?.focus()};return l.createElement("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,r.Z)("tabs",{"tabs--block":t},n)},c.map((e=>{let{value:n,label:t,attributes:i}=e;return l.createElement("li",(0,a.Z)({role:"tab",tabIndex:o===n?0:-1,"aria-selected":o===n,key:n,ref:e=>s.push(e),onKeyDown:m,onClick:d},i,{className:(0,r.Z)("tabs__item",g.tabItem,i?.className,{"tabs__item--active":o===n})}),t??n)})))}function C(e){let{lazy:n,children:t,selectedValue:a}=e;if(t=Array.isArray(t)?t:[t],n){const e=t.find((e=>e.props.value===a));return e?(0,l.cloneElement)(e,{className:"margin-top--md"}):null}return l.createElement("div",{className:"margin-top--md"},t.map(((e,n)=>(0,l.cloneElement)(e,{key:n,hidden:e.props.value!==a}))))}function b(e){const n=f(e);return l.createElement("div",{className:(0,r.Z)("tabs-container",g.tabList)},l.createElement(h,(0,a.Z)({},e,n)),l.createElement(C,(0,a.Z)({},e,n)))}function v(e){const n=(0,N.Z)();return l.createElement(b,(0,a.Z)({key:String(n)},e))}},4352:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>s,contentTitle:()=>u,default:()=>k,frontMatter:()=>o,metadata:()=>c,toc:()=>p});var a=t(5675),l=(t(9231),t(4852)),r=t(6507),i=t(2970);const o={title:"\u56fd\u9645\u5316"},u=void 0,c={unversionedId:"guide/advanced/i18n",id:"guide/advanced/i18n",title:"\u56fd\u9645\u5316",description:"ice.js \u5b98\u65b9\u63d0\u4f9b i18n \u56fd\u9645\u5316\u63d2\u4ef6\uff0c\u652f\u6301\u5728\u5e94\u7528\u5feb\u901f\u5f00\u542f\u56fd\u9645\u5316\u80fd\u529b\u3002\u6838\u5fc3\u7279\u6027\u5305\u62ec\uff1a",source:"@site/docs/guide/advanced/i18n.md",sourceDirName:"guide/advanced",slug:"/guide/advanced/i18n",permalink:"/docs/guide/advanced/i18n",draft:!1,editUrl:"https://github.com/alibaba/ice/edit/master/website/docs/guide/advanced/i18n.md",tags:[],version:"current",frontMatter:{title:"\u56fd\u9645\u5316"},sidebar:"docs",previous:{title:"\u90e8\u7f72",permalink:"/docs/guide/advanced/deploy"},next:{title:"\u517c\u5bb9 Rax",permalink:"/docs/guide/advanced/rax-compat"}},s={},p=[{value:"\u5feb\u901f\u5f00\u59cb",id:"\u5feb\u901f\u5f00\u59cb",level:2},{value:"\u56fd\u9645\u5316\u8def\u7531",id:"\u56fd\u9645\u5316\u8def\u7531",level:2},{value:"\u83b7\u53d6\u8bed\u8a00\u4fe1\u606f",id:"\u83b7\u53d6\u8bed\u8a00\u4fe1\u606f",level:2},{value:"<code>getLocales()</code>",id:"getlocales",level:3},{value:"<code>getDefaultLocale()</code>",id:"getdefaultlocale",level:3},{value:"<code>useLocale()</code>",id:"uselocale",level:3},{value:"<code>withLocale()</code>",id:"withlocale",level:3},{value:"\u5207\u6362\u8bed\u8a00",id:"\u5207\u6362\u8bed\u8a00",level:2},{value:"\u8def\u7531\u81ea\u52a8\u91cd\u5b9a\u5411",id:"\u8def\u7531\u81ea\u52a8\u91cd\u5b9a\u5411",level:2},{value:"\u7981\u7528 Cookie",id:"\u7981\u7528-cookie",level:2},{value:"SSG",id:"ssg",level:2},{value:"\u63d2\u4ef6\u9009\u9879",id:"\u63d2\u4ef6\u9009\u9879",level:2},{value:"<code>locales</code>",id:"locales",level:3},{value:"<code>defaultLocale</code>",id:"defaultlocale",level:3},{value:"<code>autoRedirect</code>",id:"autoredirect",level:3}],d={toc:p},m="wrapper";function k(e){let{components:n,...t}=e;return(0,l.kt)(m,(0,a.Z)({},d,t,{components:n,mdxType:"MDXLayout"}),(0,l.kt)("p",null,"ice.js \u5b98\u65b9\u63d0\u4f9b i18n \u56fd\u9645\u5316\u63d2\u4ef6\uff0c\u652f\u6301\u5728\u5e94\u7528\u5feb\u901f\u5f00\u542f\u56fd\u9645\u5316\u80fd\u529b\u3002\u6838\u5fc3\u7279\u6027\u5305\u62ec\uff1a"),(0,l.kt)("ol",null,(0,l.kt)("li",{parentName:"ol"},"\u652f\u6301\u81ea\u52a8\u5904\u7406\u548c\u751f\u6210\u56fd\u9645\u5316\u8def\u7531"),(0,l.kt)("li",{parentName:"ol"},"\u5b8c\u7f8e\u652f\u6301 SSR \u548c SSG\uff0c\u4ee5\u83b7\u5f97\u66f4\u597d\u7684 SEO \u4f18\u5316"),(0,l.kt)("li",{parentName:"ol"},"\u652f\u6301\u81ea\u52a8\u91cd\u5b9a\u5411\u5230\u504f\u597d\u8bed\u8a00\u5bf9\u5e94\u7684\u9875\u9762"),(0,l.kt)("li",{parentName:"ol"},"\u4e0d\u8026\u5408\u4efb\u4f55\u4e00\u4e2a i18n \u5e93\uff08\u6d41\u884c\u7684 React i18n \u5e93\u6709 ",(0,l.kt)("a",{parentName:"li",href:"https://formatjs.io/docs/getting-started/installation/"},"react-intl"),"\u3001",(0,l.kt)("a",{parentName:"li",href:"https://react.i18next.com/"},"react-i18next")," \u7b49\uff09\uff0c\u4f60\u53ef\u4ee5\u9009\u62e9\u4efb\u4e00\u56fd\u9645\u5316\u7684\u5e93\u6765\u4e3a\u4f60\u7684\u5e94\u7528\u8bbe\u7f6e\u56fd\u9645\u5316")),(0,l.kt)("details",{open:!0},(0,l.kt)("summary",null,"\u4f7f\u7528\u56fd\u9645\u5316\u63d2\u4ef6\u7684\u793a\u4f8b"),(0,l.kt)("ul",null,(0,l.kt)("li",null,(0,l.kt)("a",{href:"https://github.com/alibaba/ice/tree/master/examples/with-i18n",target:"_blank",rel:"noopener noreferrer"},"with-i18n")))),(0,l.kt)("admonition",{type:"tip"},(0,l.kt)("p",{parentName:"admonition"},"\u5982\u679c\u5e94\u7528\u4e0d\u9700\u8981\u4f7f\u7528\u56fd\u9645\u5316\u8def\u7531\uff0c\u4f60\u53ef\u4ee5\u53c2\u8003\u4ee5\u4e0b\u4f8b\u5b50\u6765\u8ba9\u4f60\u7684\u9879\u76ee\u652f\u6301\u56fd\u9645\u5316\uff1a"),(0,l.kt)("ul",{parentName:"admonition"},(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("a",{parentName:"li",href:"https://github.com/alibaba/ice/tree/master/examples/with-antd5"},"with-antd5")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("a",{parentName:"li",href:"https://github.com/alibaba/ice/tree/master/examples/with-fusion"},"with-fusion")))),(0,l.kt)("h2",{id:"\u5feb\u901f\u5f00\u59cb"},"\u5feb\u901f\u5f00\u59cb"),(0,l.kt)("p",null,"\u9996\u5148\uff0c\u6211\u4eec\u9700\u8981\u5728\u7ec8\u7aef\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u5b89\u88c5\u63d2\u4ef6\uff1a"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-bash"},"$ npm i @ice/plugin-i18n -D\n")),(0,l.kt)("p",null,"\u7136\u540e\u5728 ",(0,l.kt)("inlineCode",{parentName:"p"},"ice.config.mts")," \u4e2d\u6dfb\u52a0\u63d2\u4ef6\u548c\u9009\u9879\uff1a"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-ts"},"import { defineConfig } from '@ice/app';\nimport i18n from '@ice/plugin-i18n';\n\nexport default defineConfig({\n plugins: [\n i18n({\n locales: ['zh-CN', 'en-US', 'de'],\n defaultLocale: 'zh-CN',\n }),\n ],\n});\n")),(0,l.kt)("p",null,"\u4e0a\u9762\u7684 ",(0,l.kt)("inlineCode",{parentName:"p"},"en-US")," \u548c ",(0,l.kt)("inlineCode",{parentName:"p"},"zh-CN")," \u662f\u56fd\u9645\u5316\u8bed\u8a00\u7684\u7f29\u5199\uff0c\u5b83\u4eec\u5747\u9075\u5faa\u6807\u51c6\u7684 ",(0,l.kt)("a",{parentName:"p",href:"https://www.unicode.org/reports/tr35/tr35-59/tr35.html#Identifiers"},"UTS \u8bed\u8a00\u6807\u8bc6\u7b26"),"\u3002\u6bd4\u5982\uff1a"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"zh-CN"),"\uff1a\u4e2d\u6587\uff08\u4e2d\u56fd\uff09"),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"zh-HK"),"\uff1a\u4e2d\u6587\uff08\u9999\u6e2f\uff09"),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"en-US"),"\uff1a\u82f1\u6587\uff08\u7f8e\u56fd\uff09"),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"de"),": \u5fb7\u6587")),(0,l.kt)("h2",{id:"\u56fd\u9645\u5316\u8def\u7531"},"\u56fd\u9645\u5316\u8def\u7531"),(0,l.kt)("p",null,"\u56fd\u9645\u5316\u8def\u7531\u662f\u6307\u5728\u9875\u9762\u8def\u7531\u5730\u5740\u4e2d\u5305\u542b\u4e86\u5f53\u524d\u9875\u9762\u7684\u8bed\u8a00\uff0c\u4e00\u4e2a\u56fd\u9645\u5316\u8def\u7531\u5bf9\u5e94\u4e00\u4e2a\u8bed\u8a00\u3002"),(0,l.kt)("p",null,"\u5047\u8bbe\u73b0\u5728\u63d2\u4ef6\u7684\u9009\u9879\u914d\u7f6e\u662f\uff1a"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-ts"},"import { defineConfig } from '@ice/app';\nimport i18n from '@ice/plugin-i18n';\n\nexport default defineConfig({\n plugins: [\n i18n({\n locales: ['zh-CN', 'en-US', 'nl-NL'],\n defaultLocale: 'zh-CN',\n }),\n ],\n});\n")),(0,l.kt)("p",null,"\u5047\u8bbe\u6211\u4eec\u6709\u4e00\u4e2a\u9875\u9762 ",(0,l.kt)("inlineCode",{parentName:"p"},"src/pages/home.tsx"),"\uff0c\u90a3\u4e48\u5c06\u4f1a\u4e00\u4e00\u5bf9\u5e94\u81ea\u52a8\u751f\u6210\u4ee5\u4e0b\u7684\u8def\u7531\uff1a"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"/home"),"\uff1a\u663e\u793a ",(0,l.kt)("inlineCode",{parentName:"li"},"zh-CN")," \u8bed\u8a00\uff0c\u9ed8\u8ba4\u8bed\u8a00\u5bf9\u5e94\u7684\u8def\u7531\u4e0d\u5305\u542b\u8bed\u8a00\u524d\u7f00"),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"/en-US/home"),"\uff1a\u663e\u793a ",(0,l.kt)("inlineCode",{parentName:"li"},"en-US")," \u8bed\u8a00"),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"/nl-NL/home"),"\uff1a\u663e\u793a ",(0,l.kt)("inlineCode",{parentName:"li"},"nl-NL")," \u8bed\u8a00")),(0,l.kt)("p",null,"\u8bbf\u95ee\u4e0d\u540c\u7684\u8def\u7531\uff0c\u5c06\u4f1a\u663e\u793a\u8be5\u8bed\u8a00\u5bf9\u5e94\u9875\u9762\u5185\u5bb9\u3002"),(0,l.kt)("h2",{id:"\u83b7\u53d6\u8bed\u8a00\u4fe1\u606f"},"\u83b7\u53d6\u8bed\u8a00\u4fe1\u606f"),(0,l.kt)("h3",{id:"getlocales"},(0,l.kt)("inlineCode",{parentName:"h3"},"getLocales()")),(0,l.kt)("p",null,(0,l.kt)("inlineCode",{parentName:"p"},"getAllLocales()")," \u7528\u4e8e\u83b7\u53d6\u5f53\u524d\u5e94\u7528\u652f\u6301\u7684\u6240\u6709\u8bed\u8a00\u3002"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-ts"},"import { getAllLocales } from 'ice';\n\nconsole.log(getAllLocales()); // ['zh-CN', 'en-US']\n")),(0,l.kt)("h3",{id:"getdefaultlocale"},(0,l.kt)("inlineCode",{parentName:"h3"},"getDefaultLocale()")),(0,l.kt)("p",null,(0,l.kt)("inlineCode",{parentName:"p"},"getDefaultLocale()")," \u7528\u4e8e\u83b7\u53d6\u5e94\u7528\u914d\u7f6e\u7684\u9ed8\u8ba4\u8bed\u8a00\u3002"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-ts"},"import { getDefaultLocale } from 'ice';\n\nconsole.log(getDefaultLocale()); // 'zh-CN'\n")),(0,l.kt)("h3",{id:"uselocale"},(0,l.kt)("inlineCode",{parentName:"h3"},"useLocale()")),(0,l.kt)("p",null,"\u5728 Function \u7ec4\u4ef6\u4e2d\u4f7f\u7528 ",(0,l.kt)("inlineCode",{parentName:"p"},"useLocale()")," Hook API\uff0c\u5b83\u7684\u8fd4\u56de\u503c\u662f\u4e00\u4e2a\u6570\u7ec4\uff0c\u5305\u542b\u4e24\u4e2a\u503c\uff1a"),(0,l.kt)("ol",null,(0,l.kt)("li",{parentName:"ol"},"\u5f53\u524d\u9875\u9762\u7684\u8bed\u8a00"),(0,l.kt)("li",{parentName:"ol"},"\u4e00\u4e2a set \u51fd\u6570\u7528\u4e8e\u66f4\u65b0\u5f53\u524d\u9875\u9762\u7684\u8bed\u8a00\u3002\u6ce8\u610f\uff0c\u9ed8\u8ba4\u60c5\u51b5\u4e0b\u8c03\u7528\u6b64 set \u51fd\u6570\u65f6\u5019\uff0c\u540c\u65f6\u4f1a\u66f4\u65b0 Cookie \u4e2d ",(0,l.kt)("inlineCode",{parentName:"li"},"ice_locale")," \u7684\u503c\u4e3a\u5f53\u524d\u9875\u9762\u7684\u8bed\u8a00\u3002\u8fd9\u6837\uff0c\u518d\u6b21\u8bbf\u95ee\u8be5\u9875\u9762\u65f6\uff0c\u4ece\u670d\u52a1\u7aef\u8bf7\u6c42\u80fd\u5f97\u77e5\u5f53\u524d\u7528\u6237\u7684\u4e4b\u524d\u8bbe\u7f6e\u7684\u504f\u597d\u8bed\u8a00\uff0c\u4ee5\u4fbf\u8fd4\u56de\u5bf9\u5e94\u8bed\u8a00\u7684\u9875\u9762\u5185\u5bb9\u3002")),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-tsx"},"import { useLocale } from 'ice';\n\nexport default function Home() {\n const [locale, setLocale] = useLocale();\n \n console.log('locale: ', locale); // 'en-US'\n return (\n <>\n {/* \u5207\u6362\u8bed\u8a00\u4e3a zh-CN */}\n <div onClick={() => setLocale('zh-CN')}>Set zh-CN</div>\n </>\n )\n}\n")),(0,l.kt)("h3",{id:"withlocale"},(0,l.kt)("inlineCode",{parentName:"h3"},"withLocale()")),(0,l.kt)("p",null,"\u4f7f\u7528 ",(0,l.kt)("inlineCode",{parentName:"p"},"withLocale()")," \u65b9\u6cd5\u5305\u88f9\u7684 Class \u7ec4\u4ef6\uff0c\u7ec4\u4ef6\u7684 Props \u4f1a\u5305\u542b ",(0,l.kt)("inlineCode",{parentName:"p"},"locale")," \u548c ",(0,l.kt)("inlineCode",{parentName:"p"},"setLocale()")," \u51fd\u6570\uff0c\u53ef\u4ee5\u67e5\u770b\u548c\u4fee\u6539\u5f53\u524d\u9875\u9762\u7684\u8bed\u8a00\u3002\u6ce8\u610f\uff0c\u9ed8\u8ba4\u60c5\u51b5\u4e0b\u8c03\u7528 ",(0,l.kt)("inlineCode",{parentName:"p"},"setLocale()"),"\uff0c\u4f1a\u66f4\u65b0 Cookie \u4e2d ",(0,l.kt)("inlineCode",{parentName:"p"},"ice_locale")," \u7684\u503c\u4e3a\u5f53\u524d\u9875\u9762\u7684\u8bed\u8a00\u3002\u8fd9\u6837\uff0c\u518d\u6b21\u8bbf\u95ee\u8be5\u9875\u9762\u65f6\uff0c\u4ece\u670d\u52a1\u7aef\u8bf7\u6c42\u80fd\u5f97\u77e5\u5f53\u524d\u7528\u6237\u7684\u4e4b\u524d\u8bbe\u7f6e\u7684\u504f\u597d\u8bed\u8a00\uff0c\u4ee5\u4fbf\u8fd4\u56de\u5bf9\u5e94\u8bed\u8a00\u7684\u9875\u9762\u5185\u5bb9\u3002"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-tsx"},"import { withLocale } from 'ice';\n\nfunction Home({ locale, setLocale }) {\n console.log('locale: ', locale); // 'en-US'\n return (\n <>\n {/* \u5207\u6362\u8bed\u8a00\u4e3a zh-CN */}\n <div onClick={() => setLocale('zh-CN')}>Set zh-CN</div>\n </>\n )\n}\n\nexport default withLocale(Home);\n")),(0,l.kt)("h2",{id:"\u5207\u6362\u8bed\u8a00"},"\u5207\u6362\u8bed\u8a00"),(0,l.kt)("p",null,"\u63a8\u8350\u4f7f\u7528 ",(0,l.kt)("inlineCode",{parentName:"p"},"setLocale()")," \u65b9\u6cd5\u914d\u5408 ",(0,l.kt)("inlineCode",{parentName:"p"},"<Link>")," \u7ec4\u4ef6\u6216\u8005 ",(0,l.kt)("inlineCode",{parentName:"p"},"useNavigate()")," \u65b9\u6cd5\u8fdb\u884c\u8bed\u8a00\u5207\u6362\uff1a"),(0,l.kt)(r.Z,{mdxType:"Tabs"},(0,l.kt)(i.Z,{value:"a",label:"\u4f7f\u7528 <Link />",mdxType:"TabItem"},(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-tsx"},"import { useLocale, getAllLocales, Link, useLocation } from 'ice';\n\nexport default function Layout() {\n const location = useLocation();\n const [activeLocale, setLocale] = useLocale();\n\n return (\n <main>\n <p><b>Current locale: </b>{activeLocale}</p>\n \n <b>Choose language: </b>\n <ul>\n {\n getAllLocales().map((locale: string) => {\n return (\n <li key={locale}>\n <Link \n to={location.pathname} \n onClick={() => setLocale(locale)}\n >\n {locale}\n </Link>\n </li>\n );\n })\n }\n </ul>\n </main>\n );\n}\n"))),(0,l.kt)(i.Z,{value:"b",label:"\u4f7f\u7528 useNavigate()",mdxType:"TabItem"},(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-tsx"},"import { useLocale, useNavigate, useLocation } from 'ice';\n\nexport default function Layout() {\n const [, setLocale] = useLocale();\n const location = useLocation();\n const navigate = useNavigate();\n const switchToZHCN = () => {\n setLocale('zh-CN'); \n navigate(location.pathname);\n }\n return (\n <main>\n <div onClick={switchToZHCN}>\n \u70b9\u6211\u5207\u6362\u5230\u4e2d\u6587\n </div>\n </main>\n );\n}\n")))),(0,l.kt)("h2",{id:"\u8def\u7531\u81ea\u52a8\u91cd\u5b9a\u5411"},"\u8def\u7531\u81ea\u52a8\u91cd\u5b9a\u5411"),(0,l.kt)("p",null,"\u8def\u7531\u81ea\u52a8\u91cd\u5b9a\u5411\u662f\u6307\uff0c\u5982\u679c\u5f53\u524d\u8bbf\u95ee\u7684\u9875\u9762\u662f\u6839\u8def\u7531\uff08",(0,l.kt)("inlineCode",{parentName:"p"},"/"),"\uff09\uff0c\u5c06\u4f1a\u6839\u636e\u5f53\u524d\u8bed\u8a00\u73af\u5883\u81ea\u52a8\u8df3\u8f6c\u5230\u5bf9\u5e94\u7684\u56fd\u9645\u5316\u8def\u7531\u3002"),(0,l.kt)("p",null,"\u9ed8\u8ba4\u60c5\u51b5\u4e0b\uff0c\u8def\u7531\u81ea\u52a8\u91cd\u5b9a\u5411\u7684\u529f\u80fd\u662f\u5173\u95ed\u7684\u3002\u5982\u679c\u9700\u8981\u5f00\u542f\uff0c\u5219\u9700\u8981\u52a0\u5165\u4ee5\u4e0b\u5185\u5bb9\uff1a"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-diff"},"import { defineConfig } from '@ice/app';\nimport i18n from '@ice/plugin-i18n';\n\nexport default defineConfig({\n plugins: [\n i18n({\n locales: ['zh-CN', 'en-US', 'de'],\n defaultLocale: 'zh-CN',\n+ autoRedirect: true,\n }),\n ],\n});\n")),(0,l.kt)("p",null,"\u5176\u4e2d\uff0c\u8bed\u8a00\u73af\u5883\u7684\u8bc6\u522b\u987a\u5e8f\u5982\u4e0b\uff1a"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"CSR"),"\uff1acookie \u4e2d ",(0,l.kt)("inlineCode",{parentName:"li"},"ice_locale")," \u7684\u503c > ",(0,l.kt)("inlineCode",{parentName:"li"},"window.navigator.language")," > ",(0,l.kt)("inlineCode",{parentName:"li"},"defaultLocale")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"SSR"),"\uff1acookie \u4e2d ",(0,l.kt)("inlineCode",{parentName:"li"},"ice_locale")," \u7684\u503c > ",(0,l.kt)("inlineCode",{parentName:"li"},"Request Header")," \u4e2d\u7684 ",(0,l.kt)("inlineCode",{parentName:"li"},"Accept-Language")," > ",(0,l.kt)("inlineCode",{parentName:"li"},"defaultLocale"))),(0,l.kt)("p",null,"\u5728\u90e8\u7f72\u9636\u6bb5\uff0c\u8def\u7531\u81ea\u52a8\u91cd\u5b9a\u5411\u7684\u529f\u80fd\u9700\u8981\u914d\u5408 Node \u4e2d\u95f4\u4ef6\u4f7f\u7528\u624d\u80fd\u751f\u6548\u3002\u6bd4\u5982\uff1a"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-ts"},"import express from 'express';\nimport { renderToHTML } from './build/server/index.mjs';\n\nconst app = express();\n\napp.use(express.static('build', {}));\n\napp.use(async (req, res) => {\n const { statusCode, statusText, headers, value: body } = await renderToHTML({ req, res });\n res.statusCode = statusCode;\n res.statusMessage = statusText;\n Object.entries((headers || {}) as Record<string, string>).forEach(([name, value]) => {\n res.setHeader(name, value);\n });\n if (body && req.method !== 'HEAD') {\n res.end(body);\n } else {\n res.end();\n }\n});\n")),(0,l.kt)("h2",{id:"\u7981\u7528-cookie"},"\u7981\u7528 Cookie"),(0,l.kt)("p",null,"\u5728\u4e0a\u9762\u7684\u7ae0\u8282\u4e2d\u63d0\u5230\uff0c\u7528\u6237\u8bbe\u7f6e\u7684\u504f\u597d\u8bed\u8a00\u662f\u5b58\u653e\u5728 Cookie \u4e2d\u7684 ",(0,l.kt)("inlineCode",{parentName:"p"},"ice_locale"),"\uff0c\u8c03\u7528 ",(0,l.kt)("inlineCode",{parentName:"p"},"setLocale()")," \u65f6\u4f1a\u66f4\u65b0\u5230 Cookie \u4e2d\uff0c\u5e76\u4e14\u8def\u7531\u91cd\u5b9a\u5411\u548c\u8def\u7531\u8df3\u8f6c\u7684\u65f6\u5019\u4f9d\u8d56 ",(0,l.kt)("inlineCode",{parentName:"p"},"ice_locale")," \u7684\u503c\u3002"),(0,l.kt)("p",null,"\u5047\u8bbe\u6709\u8fd9\u4e48\u4e00\u4e2a\u573a\u666f\uff0c\u7528\u6237\u62d2\u7edd\u63a5\u53d7 Cookie\uff0c\u4e3a\u4e86\u4fdd\u62a4\u9690\u79c1\uff0c\u8fd9\u6837\u5c31\u4e0d\u80fd\u628a\u504f\u597d\u8bed\u8a00\u5199\u5230 Cookie \u4e2d\u4e86\u3002\u56e0\u6b64\u9700\u8981\u505a\u4ee5\u4e0b\u7684\u914d\u7f6e\u6765\u7981\u7528 Cookie\uff1a"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-ts",metastring:'title="src/app.ts"',title:'"src/app.ts"'},"import { defineI18nConfig } from '@ice/plugin-i18n/types';\n\nexport const i18nConfig = defineI18nConfig(() => ({\n // \u53ef\u4ee5\u662f\u4e00\u4e2a function\n disabledCookie: () => {\n if (import.meta.renderer === 'client') {\n return window.localStorage.getItem('acceptCookie') === 'yes';\n }\n return false;\n },\n // \u4e5f\u53ef\u4ee5\u662f boolean \u503c\n // disabledCookie: true,\n}));\n")),(0,l.kt)("p",null,"\u8fd9\u6837\uff0c\u5c31\u7981\u7528\u6389\u4e86 Cookie \u7684\u5199\u5165\u4e86\u3002\u5728\u5207\u6362\u8bed\u8a00\u7684\u65f6\u5019\u9700\u8981\u5728 ",(0,l.kt)("inlineCode",{parentName:"p"},"state")," \u5bf9\u8c61\u4e2d\u663e\u5f0f\u4f20\u5165\u5373\u5c06\u8981\u5207\u6362\u7684\u65b0\u8bed\u8a00\u7684\u503c\uff1a"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-tsx"},"import { Link, useLocale } from 'ice';\n\nexport default function Home() {\n const [, setLocale] = useLocale();\n return (\n <>\n <Link \n to=\"/\"\n onClick={() => setLocale('zh-CN')}\n state={{ locale: 'zh-CN' }}\n >\n \u5207\u6362\u5230 zh-CN\n </Link>\n </>\n )\n}\n")),(0,l.kt)("h2",{id:"ssg"},"SSG"),(0,l.kt)("p",null,"\u5728\u5f00\u542f SSG \u529f\u80fd\u540e\uff0c\u5c06\u6839\u636e\u914d\u7f6e\u7684 ",(0,l.kt)("inlineCode",{parentName:"p"},"locales")," \u7684\u503c\uff0c\u5728 ",(0,l.kt)("inlineCode",{parentName:"p"},"build")," \u9636\u6bb5\u4f1a\u751f\u6210\u4e0d\u540c\u8bed\u8a00\u5bf9\u5e94\u7684 HTML\u3002"),(0,l.kt)("p",null,"\u6bd4\u5982\u6211\u4eec\u6709\u4ee5\u4e0b\u7684\u76ee\u5f55\u7ed3\u6784\uff0c\u5305\u542b ",(0,l.kt)("inlineCode",{parentName:"p"},"about")," \u548c ",(0,l.kt)("inlineCode",{parentName:"p"},"index")," \u4e24\u4e2a\u9875\u9762\uff1a"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-md"},"\u251c\u2500\u2500 src/pages\n| \u251c\u2500\u2500 about.tsx\n| \u2514\u2500\u2500 index.tsx\n")),(0,l.kt)("p",null,"\u5047\u5982\u63d2\u4ef6\u7684\u914d\u7f6e\u662f\uff1a"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-ts"},"import { defineConfig } from '@ice/app';\nimport i18n from '@ice/plugin-i18n';\n\nexport default defineConfig({\n plugins: [\n i18n({\n locales: ['zh-CN', 'en-US'],\n defaultLocale: 'zh-CN',\n }),\n ],\n});\n")),(0,l.kt)("p",null,"\u90a3\u4e48\u5c06\u4f1a\u751f\u6210 4 \u4e2a HTML \u6587\u4ef6\uff1a"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-md"},"\u251c\u2500\u2500 build\n| \u251c\u2500\u2500 about\n| | \u2514\u2500\u2500 index.html\n| \u251c\u2500\u2500 en-US\n| | \u251c\u2500\u2500 about\n| | | \u2514\u2500\u2500 index.html\n| | \u2514\u2500\u2500 index.html\n| \u251c\u2500\u2500 index.html\n")),(0,l.kt)("h2",{id:"\u63d2\u4ef6\u9009\u9879"},"\u63d2\u4ef6\u9009\u9879"),(0,l.kt)("h3",{id:"locales"},(0,l.kt)("inlineCode",{parentName:"h3"},"locales")),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("strong",{parentName:"li"},"\u7c7b\u578b\uff1a"),(0,l.kt)("inlineCode",{parentName:"li"},"string[]"))),(0,l.kt)("p",null,"\u7528\u4e8e\u58f0\u660e\u8be5\u5e94\u7528\u652f\u6301\u7684\u8bed\u8a00\u3002"),(0,l.kt)("h3",{id:"defaultlocale"},(0,l.kt)("inlineCode",{parentName:"h3"},"defaultLocale")),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("strong",{parentName:"li"},"\u7c7b\u578b\uff1a"),(0,l.kt)("inlineCode",{parentName:"li"},"string"))),(0,l.kt)("p",null,"\u58f0\u660e\u8be5\u5e94\u7528\u9ed8\u8ba4\u7684\u8bed\u8a00\u3002\u9700\u8981\u6ce8\u610f\u7684\u662f\uff0c ",(0,l.kt)("inlineCode",{parentName:"p"},"locales")," \u6570\u7ec4\u5fc5\u987b\u5305\u542b ",(0,l.kt)("inlineCode",{parentName:"p"},"defaultLocale")," \u7684\u503c\u3002"),(0,l.kt)("h3",{id:"autoredirect"},(0,l.kt)("inlineCode",{parentName:"h3"},"autoRedirect")),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("strong",{parentName:"li"},"\u7c7b\u578b\uff1a"),(0,l.kt)("inlineCode",{parentName:"li"},"boolean")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("strong",{parentName:"li"},"\u9ed8\u8ba4\u503c\uff1a"),(0,l.kt)("inlineCode",{parentName:"li"},"false"))),(0,l.kt)("p",null,"\u9ed8\u8ba4\u4e0d\u4f1a\u81ea\u52a8\u91cd\u5b9a\u5411\u5230\u7528\u6237\u504f\u597d\u8bed\u8a00\u5bf9\u5e94\u7684\u9875\u9762\u3002\u5982\u679c\u8bbe\u7f6e\u4e3a ",(0,l.kt)("inlineCode",{parentName:"p"},"true"),"\uff0c\u5728\u751f\u4ea7\u73af\u5883\u4e0b\uff0c\u4e00\u822c\u9700\u8981\u914d\u5408 Node \u4e2d\u95f4\u4ef6\u4e00\u8d77\u4f7f\u7528\u624d\u80fd\u751f\u6548\u3002",(0,l.kt)("a",{parentName:"p",href:"#%E8%B7%AF%E7%94%B1%E8%87%AA%E5%8A%A8%E9%87%8D%E5%AE%9A%E5%90%91"},"\u8be6\u89c1")))}k.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/338e89cb.64980816.js b/assets/js/338e89cb.64980816.js new file mode 100644 index 0000000000..1f299bd6e0 --- /dev/null +++ b/assets/js/338e89cb.64980816.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkice_website_v3=self.webpackChunkice_website_v3||[]).push([[659],{4852:(e,n,t)=>{t.d(n,{Zo:()=>s,kt:()=>k});var a=t(9231);function l(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function r(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,a)}return t}function i(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?r(Object(t),!0).forEach((function(n){l(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):r(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function o(e,n){if(null==e)return{};var t,a,l=function(e,n){if(null==e)return{};var t,a,l={},r=Object.keys(e);for(a=0;a<r.length;a++)t=r[a],n.indexOf(t)>=0||(l[t]=e[t]);return l}(e,n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(a=0;a<r.length;a++)t=r[a],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(l[t]=e[t])}return l}var u=a.createContext({}),c=function(e){var n=a.useContext(u),t=n;return e&&(t="function"==typeof e?e(n):i(i({},n),e)),t},s=function(e){var n=c(e.components);return a.createElement(u.Provider,{value:n},e.children)},p="mdxType",d={inlineCode:"code",wrapper:function(e){var n=e.children;return a.createElement(a.Fragment,{},n)}},m=a.forwardRef((function(e,n){var t=e.components,l=e.mdxType,r=e.originalType,u=e.parentName,s=o(e,["components","mdxType","originalType","parentName"]),p=c(t),m=l,k=p["".concat(u,".").concat(m)]||p[m]||d[m]||r;return t?a.createElement(k,i(i({ref:n},s),{},{components:t})):a.createElement(k,i({ref:n},s))}));function k(e,n){var t=arguments,l=n&&n.mdxType;if("string"==typeof e||l){var r=t.length,i=new Array(r);i[0]=m;var o={};for(var u in n)hasOwnProperty.call(n,u)&&(o[u]=n[u]);o.originalType=e,o[p]="string"==typeof e?e:l,i[1]=o;for(var c=2;c<r;c++)i[c]=t[c];return a.createElement.apply(null,i)}return a.createElement.apply(null,t)}m.displayName="MDXCreateElement"},5577:(e,n,t)=>{t.d(n,{Z:()=>i});var a=t(9231),l=t(9841);const r={tabItem:"tabItem_M7ZN"};function i(e){let{children:n,hidden:t,className:i}=e;return a.createElement("div",{role:"tabpanel",className:(0,l.Z)(r.tabItem,i),hidden:t},n)}},7642:(e,n,t)=>{t.d(n,{Z:()=>v});var a=t(5675),l=t(9231),r=t(9841),i=t(2571),o=t(9409),u=t(1954),c=t(7250),s=t(4967);function p(e){return function(e){return l.Children.map(e,(e=>{if((0,l.isValidElement)(e)&&"value"in e.props)return e;throw new Error(`Docusaurus error: Bad <Tabs> child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the <Tabs> component should be <TabItem>, and every <TabItem> should have a unique "value" prop.`)}))}(e).map((e=>{let{props:{value:n,label:t,attributes:a,default:l}}=e;return{value:n,label:t,attributes:a,default:l}}))}function d(e){const{values:n,children:t}=e;return(0,l.useMemo)((()=>{const e=n??p(t);return function(e){const n=(0,c.l)(e,((e,n)=>e.value===n.value));if(n.length>0)throw new Error(`Docusaurus error: Duplicate values "${n.map((e=>e.value)).join(", ")}" found in <Tabs>. Every value needs to be unique.`)}(e),e}),[n,t])}function m(e){let{value:n,tabValues:t}=e;return t.some((e=>e.value===n))}function k(e){let{queryString:n=!1,groupId:t}=e;const a=(0,o.k6)(),r=function(e){let{queryString:n=!1,groupId:t}=e;if("string"==typeof n)return n;if(!1===n)return null;if(!0===n&&!t)throw new Error('Docusaurus error: The <Tabs> component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return t??null}({queryString:n,groupId:t});return[(0,u._X)(r),(0,l.useCallback)((e=>{if(!r)return;const n=new URLSearchParams(a.location.search);n.set(r,e),a.replace({...a.location,search:n.toString()})}),[r,a])]}function f(e){const{defaultValue:n,queryString:t=!1,groupId:a}=e,r=d(e),[i,o]=(0,l.useState)((()=>function(e){let{defaultValue:n,tabValues:t}=e;if(0===t.length)throw new Error("Docusaurus error: the <Tabs> component requires at least one <TabItem> children component");if(n){if(!m({value:n,tabValues:t}))throw new Error(`Docusaurus error: The <Tabs> has a defaultValue "${n}" but none of its children has the corresponding value. Available values are: ${t.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return n}const a=t.find((e=>e.default))??t[0];if(!a)throw new Error("Unexpected error: 0 tabValues");return a.value}({defaultValue:n,tabValues:r}))),[u,c]=k({queryString:t,groupId:a}),[p,f]=function(e){let{groupId:n}=e;const t=function(e){return e?`docusaurus.tab.${e}`:null}(n),[a,r]=(0,s.Nk)(t);return[a,(0,l.useCallback)((e=>{t&&r.set(e)}),[t,r])]}({groupId:a}),N=(()=>{const e=u??p;return m({value:e,tabValues:r})?e:null})();(0,l.useLayoutEffect)((()=>{N&&o(N)}),[N]);return{selectedValue:i,selectValue:(0,l.useCallback)((e=>{if(!m({value:e,tabValues:r}))throw new Error(`Can't select invalid tab value=${e}`);o(e),c(e),f(e)}),[c,f,r]),tabValues:r}}var N=t(7101);const g={tabList:"tabList_bgMo",tabItem:"tabItem_E4E1"};function h(e){let{className:n,block:t,selectedValue:o,selectValue:u,tabValues:c}=e;const s=[],{blockElementScrollPositionUntilNextRender:p}=(0,i.o5)(),d=e=>{const n=e.currentTarget,t=s.indexOf(n),a=c[t].value;a!==o&&(p(n),u(a))},m=e=>{var n;let t=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":{const n=s.indexOf(e.currentTarget)+1;t=s[n]??s[0];break}case"ArrowLeft":{const n=s.indexOf(e.currentTarget)-1;t=s[n]??s[s.length-1];break}}null==(n=t)||n.focus()};return l.createElement("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,r.Z)("tabs",{"tabs--block":t},n)},c.map((e=>{let{value:n,label:t,attributes:i}=e;return l.createElement("li",(0,a.Z)({role:"tab",tabIndex:o===n?0:-1,"aria-selected":o===n,key:n,ref:e=>s.push(e),onKeyDown:m,onClick:d},i,{className:(0,r.Z)("tabs__item",g.tabItem,null==i?void 0:i.className,{"tabs__item--active":o===n})}),t??n)})))}function C(e){let{lazy:n,children:t,selectedValue:a}=e;if(t=Array.isArray(t)?t:[t],n){const e=t.find((e=>e.props.value===a));return e?(0,l.cloneElement)(e,{className:"margin-top--md"}):null}return l.createElement("div",{className:"margin-top--md"},t.map(((e,n)=>(0,l.cloneElement)(e,{key:n,hidden:e.props.value!==a}))))}function b(e){const n=f(e);return l.createElement("div",{className:(0,r.Z)("tabs-container",g.tabList)},l.createElement(h,(0,a.Z)({},e,n)),l.createElement(C,(0,a.Z)({},e,n)))}function v(e){const n=(0,N.Z)();return l.createElement(b,(0,a.Z)({key:String(n)},e))}},6418:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>s,contentTitle:()=>u,default:()=>k,frontMatter:()=>o,metadata:()=>c,toc:()=>p});var a=t(5675),l=(t(9231),t(4852)),r=t(7642),i=t(5577);const o={title:"\u56fd\u9645\u5316"},u=void 0,c={unversionedId:"guide/advanced/i18n",id:"guide/advanced/i18n",title:"\u56fd\u9645\u5316",description:"ice.js \u5b98\u65b9\u63d0\u4f9b i18n \u56fd\u9645\u5316\u63d2\u4ef6\uff0c\u652f\u6301\u5728\u5e94\u7528\u5feb\u901f\u5f00\u542f\u56fd\u9645\u5316\u80fd\u529b\u3002\u6838\u5fc3\u7279\u6027\u5305\u62ec\uff1a",source:"@site/docs/guide/advanced/i18n.md",sourceDirName:"guide/advanced",slug:"/guide/advanced/i18n",permalink:"/docs/guide/advanced/i18n",draft:!1,editUrl:"https://github.com/alibaba/ice/edit/master/website/docs/guide/advanced/i18n.md",tags:[],version:"current",frontMatter:{title:"\u56fd\u9645\u5316"},sidebar:"docs",previous:{title:"\u90e8\u7f72",permalink:"/docs/guide/advanced/deploy"},next:{title:"\u517c\u5bb9 Rax",permalink:"/docs/guide/advanced/rax-compat"}},s={},p=[{value:"\u5feb\u901f\u5f00\u59cb",id:"\u5feb\u901f\u5f00\u59cb",level:2},{value:"\u56fd\u9645\u5316\u8def\u7531",id:"\u56fd\u9645\u5316\u8def\u7531",level:2},{value:"\u83b7\u53d6\u8bed\u8a00\u4fe1\u606f",id:"\u83b7\u53d6\u8bed\u8a00\u4fe1\u606f",level:2},{value:"<code>getLocales()</code>",id:"getlocales",level:3},{value:"<code>getDefaultLocale()</code>",id:"getdefaultlocale",level:3},{value:"<code>useLocale()</code>",id:"uselocale",level:3},{value:"<code>withLocale()</code>",id:"withlocale",level:3},{value:"\u5207\u6362\u8bed\u8a00",id:"\u5207\u6362\u8bed\u8a00",level:2},{value:"\u8def\u7531\u81ea\u52a8\u91cd\u5b9a\u5411",id:"\u8def\u7531\u81ea\u52a8\u91cd\u5b9a\u5411",level:2},{value:"\u7981\u7528 Cookie",id:"\u7981\u7528-cookie",level:2},{value:"SSG",id:"ssg",level:2},{value:"\u63d2\u4ef6\u9009\u9879",id:"\u63d2\u4ef6\u9009\u9879",level:2},{value:"<code>locales</code>",id:"locales",level:3},{value:"<code>defaultLocale</code>",id:"defaultlocale",level:3},{value:"<code>autoRedirect</code>",id:"autoredirect",level:3}],d={toc:p},m="wrapper";function k(e){let{components:n,...t}=e;return(0,l.kt)(m,(0,a.Z)({},d,t,{components:n,mdxType:"MDXLayout"}),(0,l.kt)("p",null,"ice.js \u5b98\u65b9\u63d0\u4f9b i18n \u56fd\u9645\u5316\u63d2\u4ef6\uff0c\u652f\u6301\u5728\u5e94\u7528\u5feb\u901f\u5f00\u542f\u56fd\u9645\u5316\u80fd\u529b\u3002\u6838\u5fc3\u7279\u6027\u5305\u62ec\uff1a"),(0,l.kt)("ol",null,(0,l.kt)("li",{parentName:"ol"},"\u652f\u6301\u81ea\u52a8\u5904\u7406\u548c\u751f\u6210\u56fd\u9645\u5316\u8def\u7531"),(0,l.kt)("li",{parentName:"ol"},"\u5b8c\u7f8e\u652f\u6301 SSR \u548c SSG\uff0c\u4ee5\u83b7\u5f97\u66f4\u597d\u7684 SEO \u4f18\u5316"),(0,l.kt)("li",{parentName:"ol"},"\u652f\u6301\u81ea\u52a8\u91cd\u5b9a\u5411\u5230\u504f\u597d\u8bed\u8a00\u5bf9\u5e94\u7684\u9875\u9762"),(0,l.kt)("li",{parentName:"ol"},"\u4e0d\u8026\u5408\u4efb\u4f55\u4e00\u4e2a i18n \u5e93\uff08\u6d41\u884c\u7684 React i18n \u5e93\u6709 ",(0,l.kt)("a",{parentName:"li",href:"https://formatjs.io/docs/getting-started/installation/"},"react-intl"),"\u3001",(0,l.kt)("a",{parentName:"li",href:"https://react.i18next.com/"},"react-i18next")," \u7b49\uff09\uff0c\u4f60\u53ef\u4ee5\u9009\u62e9\u4efb\u4e00\u56fd\u9645\u5316\u7684\u5e93\u6765\u4e3a\u4f60\u7684\u5e94\u7528\u8bbe\u7f6e\u56fd\u9645\u5316")),(0,l.kt)("details",{open:!0},(0,l.kt)("summary",null,"\u4f7f\u7528\u56fd\u9645\u5316\u63d2\u4ef6\u7684\u793a\u4f8b"),(0,l.kt)("ul",null,(0,l.kt)("li",null,(0,l.kt)("a",{href:"https://github.com/alibaba/ice/tree/master/examples/with-i18n",target:"_blank",rel:"noopener noreferrer"},"with-i18n")))),(0,l.kt)("admonition",{type:"tip"},(0,l.kt)("p",{parentName:"admonition"},"\u5982\u679c\u5e94\u7528\u4e0d\u9700\u8981\u4f7f\u7528\u56fd\u9645\u5316\u8def\u7531\uff0c\u4f60\u53ef\u4ee5\u53c2\u8003\u4ee5\u4e0b\u4f8b\u5b50\u6765\u8ba9\u4f60\u7684\u9879\u76ee\u652f\u6301\u56fd\u9645\u5316\uff1a"),(0,l.kt)("ul",{parentName:"admonition"},(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("a",{parentName:"li",href:"https://github.com/alibaba/ice/tree/master/examples/with-antd5"},"with-antd5")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("a",{parentName:"li",href:"https://github.com/alibaba/ice/tree/master/examples/with-fusion"},"with-fusion")))),(0,l.kt)("h2",{id:"\u5feb\u901f\u5f00\u59cb"},"\u5feb\u901f\u5f00\u59cb"),(0,l.kt)("p",null,"\u9996\u5148\uff0c\u6211\u4eec\u9700\u8981\u5728\u7ec8\u7aef\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u5b89\u88c5\u63d2\u4ef6\uff1a"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-bash"},"$ npm i @ice/plugin-i18n -D\n")),(0,l.kt)("p",null,"\u7136\u540e\u5728 ",(0,l.kt)("inlineCode",{parentName:"p"},"ice.config.mts")," \u4e2d\u6dfb\u52a0\u63d2\u4ef6\u548c\u9009\u9879\uff1a"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-ts"},"import { defineConfig } from '@ice/app';\nimport i18n from '@ice/plugin-i18n';\n\nexport default defineConfig({\n plugins: [\n i18n({\n locales: ['zh-CN', 'en-US', 'de'],\n defaultLocale: 'zh-CN',\n }),\n ],\n});\n")),(0,l.kt)("p",null,"\u4e0a\u9762\u7684 ",(0,l.kt)("inlineCode",{parentName:"p"},"en-US")," \u548c ",(0,l.kt)("inlineCode",{parentName:"p"},"zh-CN")," \u662f\u56fd\u9645\u5316\u8bed\u8a00\u7684\u7f29\u5199\uff0c\u5b83\u4eec\u5747\u9075\u5faa\u6807\u51c6\u7684 ",(0,l.kt)("a",{parentName:"p",href:"https://www.unicode.org/reports/tr35/tr35-59/tr35.html#Identifiers"},"UTS \u8bed\u8a00\u6807\u8bc6\u7b26"),"\u3002\u6bd4\u5982\uff1a"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"zh-CN"),"\uff1a\u4e2d\u6587\uff08\u4e2d\u56fd\uff09"),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"zh-HK"),"\uff1a\u4e2d\u6587\uff08\u9999\u6e2f\uff09"),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"en-US"),"\uff1a\u82f1\u6587\uff08\u7f8e\u56fd\uff09"),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"de"),": \u5fb7\u6587")),(0,l.kt)("h2",{id:"\u56fd\u9645\u5316\u8def\u7531"},"\u56fd\u9645\u5316\u8def\u7531"),(0,l.kt)("p",null,"\u56fd\u9645\u5316\u8def\u7531\u662f\u6307\u5728\u9875\u9762\u8def\u7531\u5730\u5740\u4e2d\u5305\u542b\u4e86\u5f53\u524d\u9875\u9762\u7684\u8bed\u8a00\uff0c\u4e00\u4e2a\u56fd\u9645\u5316\u8def\u7531\u5bf9\u5e94\u4e00\u4e2a\u8bed\u8a00\u3002"),(0,l.kt)("p",null,"\u5047\u8bbe\u73b0\u5728\u63d2\u4ef6\u7684\u9009\u9879\u914d\u7f6e\u662f\uff1a"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-ts"},"import { defineConfig } from '@ice/app';\nimport i18n from '@ice/plugin-i18n';\n\nexport default defineConfig({\n plugins: [\n i18n({\n locales: ['zh-CN', 'en-US', 'nl-NL'],\n defaultLocale: 'zh-CN',\n }),\n ],\n});\n")),(0,l.kt)("p",null,"\u5047\u8bbe\u6211\u4eec\u6709\u4e00\u4e2a\u9875\u9762 ",(0,l.kt)("inlineCode",{parentName:"p"},"src/pages/home.tsx"),"\uff0c\u90a3\u4e48\u5c06\u4f1a\u4e00\u4e00\u5bf9\u5e94\u81ea\u52a8\u751f\u6210\u4ee5\u4e0b\u7684\u8def\u7531\uff1a"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"/home"),"\uff1a\u663e\u793a ",(0,l.kt)("inlineCode",{parentName:"li"},"zh-CN")," \u8bed\u8a00\uff0c\u9ed8\u8ba4\u8bed\u8a00\u5bf9\u5e94\u7684\u8def\u7531\u4e0d\u5305\u542b\u8bed\u8a00\u524d\u7f00"),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"/en-US/home"),"\uff1a\u663e\u793a ",(0,l.kt)("inlineCode",{parentName:"li"},"en-US")," \u8bed\u8a00"),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"/nl-NL/home"),"\uff1a\u663e\u793a ",(0,l.kt)("inlineCode",{parentName:"li"},"nl-NL")," \u8bed\u8a00")),(0,l.kt)("p",null,"\u8bbf\u95ee\u4e0d\u540c\u7684\u8def\u7531\uff0c\u5c06\u4f1a\u663e\u793a\u8be5\u8bed\u8a00\u5bf9\u5e94\u9875\u9762\u5185\u5bb9\u3002"),(0,l.kt)("h2",{id:"\u83b7\u53d6\u8bed\u8a00\u4fe1\u606f"},"\u83b7\u53d6\u8bed\u8a00\u4fe1\u606f"),(0,l.kt)("h3",{id:"getlocales"},(0,l.kt)("inlineCode",{parentName:"h3"},"getLocales()")),(0,l.kt)("p",null,(0,l.kt)("inlineCode",{parentName:"p"},"getAllLocales()")," \u7528\u4e8e\u83b7\u53d6\u5f53\u524d\u5e94\u7528\u652f\u6301\u7684\u6240\u6709\u8bed\u8a00\u3002"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-ts"},"import { getAllLocales } from 'ice';\n\nconsole.log(getAllLocales()); // ['zh-CN', 'en-US']\n")),(0,l.kt)("h3",{id:"getdefaultlocale"},(0,l.kt)("inlineCode",{parentName:"h3"},"getDefaultLocale()")),(0,l.kt)("p",null,(0,l.kt)("inlineCode",{parentName:"p"},"getDefaultLocale()")," \u7528\u4e8e\u83b7\u53d6\u5e94\u7528\u914d\u7f6e\u7684\u9ed8\u8ba4\u8bed\u8a00\u3002"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-ts"},"import { getDefaultLocale } from 'ice';\n\nconsole.log(getDefaultLocale()); // 'zh-CN'\n")),(0,l.kt)("h3",{id:"uselocale"},(0,l.kt)("inlineCode",{parentName:"h3"},"useLocale()")),(0,l.kt)("p",null,"\u5728 Function \u7ec4\u4ef6\u4e2d\u4f7f\u7528 ",(0,l.kt)("inlineCode",{parentName:"p"},"useLocale()")," Hook API\uff0c\u5b83\u7684\u8fd4\u56de\u503c\u662f\u4e00\u4e2a\u6570\u7ec4\uff0c\u5305\u542b\u4e24\u4e2a\u503c\uff1a"),(0,l.kt)("ol",null,(0,l.kt)("li",{parentName:"ol"},"\u5f53\u524d\u9875\u9762\u7684\u8bed\u8a00"),(0,l.kt)("li",{parentName:"ol"},"\u4e00\u4e2a set \u51fd\u6570\u7528\u4e8e\u66f4\u65b0\u5f53\u524d\u9875\u9762\u7684\u8bed\u8a00\u3002\u6ce8\u610f\uff0c\u9ed8\u8ba4\u60c5\u51b5\u4e0b\u8c03\u7528\u6b64 set \u51fd\u6570\u65f6\u5019\uff0c\u540c\u65f6\u4f1a\u66f4\u65b0 Cookie \u4e2d ",(0,l.kt)("inlineCode",{parentName:"li"},"ice_locale")," \u7684\u503c\u4e3a\u5f53\u524d\u9875\u9762\u7684\u8bed\u8a00\u3002\u8fd9\u6837\uff0c\u518d\u6b21\u8bbf\u95ee\u8be5\u9875\u9762\u65f6\uff0c\u4ece\u670d\u52a1\u7aef\u8bf7\u6c42\u80fd\u5f97\u77e5\u5f53\u524d\u7528\u6237\u7684\u4e4b\u524d\u8bbe\u7f6e\u7684\u504f\u597d\u8bed\u8a00\uff0c\u4ee5\u4fbf\u8fd4\u56de\u5bf9\u5e94\u8bed\u8a00\u7684\u9875\u9762\u5185\u5bb9\u3002")),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-tsx"},"import { useLocale } from 'ice';\n\nexport default function Home() {\n const [locale, setLocale] = useLocale();\n \n console.log('locale: ', locale); // 'en-US'\n return (\n <>\n {/* \u5207\u6362\u8bed\u8a00\u4e3a zh-CN */}\n <div onClick={() => setLocale('zh-CN')}>Set zh-CN</div>\n </>\n )\n}\n")),(0,l.kt)("h3",{id:"withlocale"},(0,l.kt)("inlineCode",{parentName:"h3"},"withLocale()")),(0,l.kt)("p",null,"\u4f7f\u7528 ",(0,l.kt)("inlineCode",{parentName:"p"},"withLocale()")," \u65b9\u6cd5\u5305\u88f9\u7684 Class \u7ec4\u4ef6\uff0c\u7ec4\u4ef6\u7684 Props \u4f1a\u5305\u542b ",(0,l.kt)("inlineCode",{parentName:"p"},"locale")," \u548c ",(0,l.kt)("inlineCode",{parentName:"p"},"setLocale()")," \u51fd\u6570\uff0c\u53ef\u4ee5\u67e5\u770b\u548c\u4fee\u6539\u5f53\u524d\u9875\u9762\u7684\u8bed\u8a00\u3002\u6ce8\u610f\uff0c\u9ed8\u8ba4\u60c5\u51b5\u4e0b\u8c03\u7528 ",(0,l.kt)("inlineCode",{parentName:"p"},"setLocale()"),"\uff0c\u4f1a\u66f4\u65b0 Cookie \u4e2d ",(0,l.kt)("inlineCode",{parentName:"p"},"ice_locale")," \u7684\u503c\u4e3a\u5f53\u524d\u9875\u9762\u7684\u8bed\u8a00\u3002\u8fd9\u6837\uff0c\u518d\u6b21\u8bbf\u95ee\u8be5\u9875\u9762\u65f6\uff0c\u4ece\u670d\u52a1\u7aef\u8bf7\u6c42\u80fd\u5f97\u77e5\u5f53\u524d\u7528\u6237\u7684\u4e4b\u524d\u8bbe\u7f6e\u7684\u504f\u597d\u8bed\u8a00\uff0c\u4ee5\u4fbf\u8fd4\u56de\u5bf9\u5e94\u8bed\u8a00\u7684\u9875\u9762\u5185\u5bb9\u3002"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-tsx"},"import { withLocale } from 'ice';\n\nfunction Home({ locale, setLocale }) {\n console.log('locale: ', locale); // 'en-US'\n return (\n <>\n {/* \u5207\u6362\u8bed\u8a00\u4e3a zh-CN */}\n <div onClick={() => setLocale('zh-CN')}>Set zh-CN</div>\n </>\n )\n}\n\nexport default withLocale(Home);\n")),(0,l.kt)("h2",{id:"\u5207\u6362\u8bed\u8a00"},"\u5207\u6362\u8bed\u8a00"),(0,l.kt)("p",null,"\u63a8\u8350\u4f7f\u7528 ",(0,l.kt)("inlineCode",{parentName:"p"},"setLocale()")," \u65b9\u6cd5\u914d\u5408 ",(0,l.kt)("inlineCode",{parentName:"p"},"<Link>")," \u7ec4\u4ef6\u6216\u8005 ",(0,l.kt)("inlineCode",{parentName:"p"},"useNavigate()")," \u65b9\u6cd5\u8fdb\u884c\u8bed\u8a00\u5207\u6362\uff1a"),(0,l.kt)(r.Z,{mdxType:"Tabs"},(0,l.kt)(i.Z,{value:"a",label:"\u4f7f\u7528 <Link />",mdxType:"TabItem"},(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-tsx"},"import { useLocale, getAllLocales, Link, useLocation } from 'ice';\n\nexport default function Layout() {\n const location = useLocation();\n const [activeLocale, setLocale] = useLocale();\n\n return (\n <main>\n <p><b>Current locale: </b>{activeLocale}</p>\n \n <b>Choose language: </b>\n <ul>\n {\n getAllLocales().map((locale: string) => {\n return (\n <li key={locale}>\n <Link \n to={location.pathname} \n onClick={() => setLocale(locale)}\n >\n {locale}\n </Link>\n </li>\n );\n })\n }\n </ul>\n </main>\n );\n}\n"))),(0,l.kt)(i.Z,{value:"b",label:"\u4f7f\u7528 useNavigate()",mdxType:"TabItem"},(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-tsx"},"import { useLocale, useNavigate, useLocation } from 'ice';\n\nexport default function Layout() {\n const [, setLocale] = useLocale();\n const location = useLocation();\n const navigate = useNavigate();\n const switchToZHCN = () => {\n setLocale('zh-CN'); \n navigate(location.pathname);\n }\n return (\n <main>\n <div onClick={switchToZHCN}>\n \u70b9\u6211\u5207\u6362\u5230\u4e2d\u6587\n </div>\n </main>\n );\n}\n")))),(0,l.kt)("h2",{id:"\u8def\u7531\u81ea\u52a8\u91cd\u5b9a\u5411"},"\u8def\u7531\u81ea\u52a8\u91cd\u5b9a\u5411"),(0,l.kt)("p",null,"\u8def\u7531\u81ea\u52a8\u91cd\u5b9a\u5411\u662f\u6307\uff0c\u5982\u679c\u5f53\u524d\u8bbf\u95ee\u7684\u9875\u9762\u662f\u6839\u8def\u7531\uff08",(0,l.kt)("inlineCode",{parentName:"p"},"/"),"\uff09\uff0c\u5c06\u4f1a\u6839\u636e\u5f53\u524d\u8bed\u8a00\u73af\u5883\u81ea\u52a8\u8df3\u8f6c\u5230\u5bf9\u5e94\u7684\u56fd\u9645\u5316\u8def\u7531\u3002"),(0,l.kt)("p",null,"\u9ed8\u8ba4\u60c5\u51b5\u4e0b\uff0c\u8def\u7531\u81ea\u52a8\u91cd\u5b9a\u5411\u7684\u529f\u80fd\u662f\u5173\u95ed\u7684\u3002\u5982\u679c\u9700\u8981\u5f00\u542f\uff0c\u5219\u9700\u8981\u52a0\u5165\u4ee5\u4e0b\u5185\u5bb9\uff1a"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-diff"},"import { defineConfig } from '@ice/app';\nimport i18n from '@ice/plugin-i18n';\n\nexport default defineConfig({\n plugins: [\n i18n({\n locales: ['zh-CN', 'en-US', 'de'],\n defaultLocale: 'zh-CN',\n+ autoRedirect: true,\n }),\n ],\n});\n")),(0,l.kt)("p",null,"\u5176\u4e2d\uff0c\u8bed\u8a00\u73af\u5883\u7684\u8bc6\u522b\u987a\u5e8f\u5982\u4e0b\uff1a"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"CSR"),"\uff1acookie \u4e2d ",(0,l.kt)("inlineCode",{parentName:"li"},"ice_locale")," \u7684\u503c > ",(0,l.kt)("inlineCode",{parentName:"li"},"window.navigator.language")," > ",(0,l.kt)("inlineCode",{parentName:"li"},"defaultLocale")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"SSR"),"\uff1acookie \u4e2d ",(0,l.kt)("inlineCode",{parentName:"li"},"ice_locale")," \u7684\u503c > ",(0,l.kt)("inlineCode",{parentName:"li"},"Request Header")," \u4e2d\u7684 ",(0,l.kt)("inlineCode",{parentName:"li"},"Accept-Language")," > ",(0,l.kt)("inlineCode",{parentName:"li"},"defaultLocale"))),(0,l.kt)("p",null,"\u5728\u90e8\u7f72\u9636\u6bb5\uff0c\u8def\u7531\u81ea\u52a8\u91cd\u5b9a\u5411\u7684\u529f\u80fd\u9700\u8981\u914d\u5408 Node \u4e2d\u95f4\u4ef6\u4f7f\u7528\u624d\u80fd\u751f\u6548\u3002\u6bd4\u5982\uff1a"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-ts"},"import express from 'express';\nimport { renderToHTML } from './build/server/index.mjs';\n\nconst app = express();\n\napp.use(express.static('build', {}));\n\napp.use(async (req, res) => {\n const { statusCode, statusText, headers, value: body } = await renderToHTML({ req, res });\n res.statusCode = statusCode;\n res.statusMessage = statusText;\n Object.entries((headers || {}) as Record<string, string>).forEach(([name, value]) => {\n res.setHeader(name, value);\n });\n if (body && req.method !== 'HEAD') {\n res.end(body);\n } else {\n res.end();\n }\n});\n")),(0,l.kt)("h2",{id:"\u7981\u7528-cookie"},"\u7981\u7528 Cookie"),(0,l.kt)("p",null,"\u5728\u4e0a\u9762\u7684\u7ae0\u8282\u4e2d\u63d0\u5230\uff0c\u7528\u6237\u8bbe\u7f6e\u7684\u504f\u597d\u8bed\u8a00\u662f\u5b58\u653e\u5728 Cookie \u4e2d\u7684 ",(0,l.kt)("inlineCode",{parentName:"p"},"ice_locale"),"\uff0c\u8c03\u7528 ",(0,l.kt)("inlineCode",{parentName:"p"},"setLocale()")," \u65f6\u4f1a\u66f4\u65b0\u5230 Cookie \u4e2d\uff0c\u5e76\u4e14\u8def\u7531\u91cd\u5b9a\u5411\u548c\u8def\u7531\u8df3\u8f6c\u7684\u65f6\u5019\u4f9d\u8d56 ",(0,l.kt)("inlineCode",{parentName:"p"},"ice_locale")," \u7684\u503c\u3002"),(0,l.kt)("p",null,"\u5047\u8bbe\u6709\u8fd9\u4e48\u4e00\u4e2a\u573a\u666f\uff0c\u7528\u6237\u62d2\u7edd\u63a5\u53d7 Cookie\uff0c\u4e3a\u4e86\u4fdd\u62a4\u9690\u79c1\uff0c\u8fd9\u6837\u5c31\u4e0d\u80fd\u628a\u504f\u597d\u8bed\u8a00\u5199\u5230 Cookie \u4e2d\u4e86\u3002\u56e0\u6b64\u9700\u8981\u505a\u4ee5\u4e0b\u7684\u914d\u7f6e\u6765\u7981\u7528 Cookie\uff1a"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-ts",metastring:'title="src/app.ts"',title:'"src/app.ts"'},"import { defineI18nConfig } from '@ice/plugin-i18n/types';\n\nexport const i18nConfig = defineI18nConfig(() => ({\n // \u53ef\u4ee5\u662f\u4e00\u4e2a function\n disabledCookie: () => {\n if (import.meta.renderer === 'client') {\n return window.localStorage.getItem('acceptCookie') === 'yes';\n }\n return false;\n },\n // \u4e5f\u53ef\u4ee5\u662f boolean \u503c\n // disabledCookie: true,\n}));\n")),(0,l.kt)("p",null,"\u8fd9\u6837\uff0c\u5c31\u7981\u7528\u6389\u4e86 Cookie \u7684\u5199\u5165\u4e86\u3002\u5728\u5207\u6362\u8bed\u8a00\u7684\u65f6\u5019\u9700\u8981\u5728 ",(0,l.kt)("inlineCode",{parentName:"p"},"state")," \u5bf9\u8c61\u4e2d\u663e\u5f0f\u4f20\u5165\u5373\u5c06\u8981\u5207\u6362\u7684\u65b0\u8bed\u8a00\u7684\u503c\uff1a"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-tsx"},"import { Link, useLocale } from 'ice';\n\nexport default function Home() {\n const [, setLocale] = useLocale();\n return (\n <>\n <Link \n to=\"/\"\n onClick={() => setLocale('zh-CN')}\n state={{ locale: 'zh-CN' }}\n >\n \u5207\u6362\u5230 zh-CN\n </Link>\n </>\n )\n}\n")),(0,l.kt)("h2",{id:"ssg"},"SSG"),(0,l.kt)("p",null,"\u5728\u5f00\u542f SSG \u529f\u80fd\u540e\uff0c\u5c06\u6839\u636e\u914d\u7f6e\u7684 ",(0,l.kt)("inlineCode",{parentName:"p"},"locales")," \u7684\u503c\uff0c\u5728 ",(0,l.kt)("inlineCode",{parentName:"p"},"build")," \u9636\u6bb5\u4f1a\u751f\u6210\u4e0d\u540c\u8bed\u8a00\u5bf9\u5e94\u7684 HTML\u3002"),(0,l.kt)("p",null,"\u6bd4\u5982\u6211\u4eec\u6709\u4ee5\u4e0b\u7684\u76ee\u5f55\u7ed3\u6784\uff0c\u5305\u542b ",(0,l.kt)("inlineCode",{parentName:"p"},"about")," \u548c ",(0,l.kt)("inlineCode",{parentName:"p"},"index")," \u4e24\u4e2a\u9875\u9762\uff1a"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-md"},"\u251c\u2500\u2500 src/pages\n| \u251c\u2500\u2500 about.tsx\n| \u2514\u2500\u2500 index.tsx\n")),(0,l.kt)("p",null,"\u5047\u5982\u63d2\u4ef6\u7684\u914d\u7f6e\u662f\uff1a"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-ts"},"import { defineConfig } from '@ice/app';\nimport i18n from '@ice/plugin-i18n';\n\nexport default defineConfig({\n plugins: [\n i18n({\n locales: ['zh-CN', 'en-US'],\n defaultLocale: 'zh-CN',\n }),\n ],\n});\n")),(0,l.kt)("p",null,"\u90a3\u4e48\u5c06\u4f1a\u751f\u6210 4 \u4e2a HTML \u6587\u4ef6\uff1a"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-md"},"\u251c\u2500\u2500 build\n| \u251c\u2500\u2500 about\n| | \u2514\u2500\u2500 index.html\n| \u251c\u2500\u2500 en-US\n| | \u251c\u2500\u2500 about\n| | | \u2514\u2500\u2500 index.html\n| | \u2514\u2500\u2500 index.html\n| \u251c\u2500\u2500 index.html\n")),(0,l.kt)("h2",{id:"\u63d2\u4ef6\u9009\u9879"},"\u63d2\u4ef6\u9009\u9879"),(0,l.kt)("h3",{id:"locales"},(0,l.kt)("inlineCode",{parentName:"h3"},"locales")),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("strong",{parentName:"li"},"\u7c7b\u578b\uff1a"),(0,l.kt)("inlineCode",{parentName:"li"},"string[]"))),(0,l.kt)("p",null,"\u7528\u4e8e\u58f0\u660e\u8be5\u5e94\u7528\u652f\u6301\u7684\u8bed\u8a00\u3002"),(0,l.kt)("h3",{id:"defaultlocale"},(0,l.kt)("inlineCode",{parentName:"h3"},"defaultLocale")),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("strong",{parentName:"li"},"\u7c7b\u578b\uff1a"),(0,l.kt)("inlineCode",{parentName:"li"},"string"))),(0,l.kt)("p",null,"\u58f0\u660e\u8be5\u5e94\u7528\u9ed8\u8ba4\u7684\u8bed\u8a00\u3002\u9700\u8981\u6ce8\u610f\u7684\u662f\uff0c ",(0,l.kt)("inlineCode",{parentName:"p"},"locales")," \u6570\u7ec4\u5fc5\u987b\u5305\u542b ",(0,l.kt)("inlineCode",{parentName:"p"},"defaultLocale")," \u7684\u503c\u3002"),(0,l.kt)("h3",{id:"autoredirect"},(0,l.kt)("inlineCode",{parentName:"h3"},"autoRedirect")),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("strong",{parentName:"li"},"\u7c7b\u578b\uff1a"),(0,l.kt)("inlineCode",{parentName:"li"},"boolean")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("strong",{parentName:"li"},"\u9ed8\u8ba4\u503c\uff1a"),(0,l.kt)("inlineCode",{parentName:"li"},"false"))),(0,l.kt)("p",null,"\u9ed8\u8ba4\u4e0d\u4f1a\u81ea\u52a8\u91cd\u5b9a\u5411\u5230\u7528\u6237\u504f\u597d\u8bed\u8a00\u5bf9\u5e94\u7684\u9875\u9762\u3002\u5982\u679c\u8bbe\u7f6e\u4e3a ",(0,l.kt)("inlineCode",{parentName:"p"},"true"),"\uff0c\u5728\u751f\u4ea7\u73af\u5883\u4e0b\uff0c\u4e00\u822c\u9700\u8981\u914d\u5408 Node \u4e2d\u95f4\u4ef6\u4e00\u8d77\u4f7f\u7528\u624d\u80fd\u751f\u6548\u3002",(0,l.kt)("a",{parentName:"p",href:"#%E8%B7%AF%E7%94%B1%E8%87%AA%E5%8A%A8%E9%87%8D%E5%AE%9A%E5%90%91"},"\u8be6\u89c1")))}k.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/363dd66f.2663b37a.js b/assets/js/363dd66f.2f58893e.js similarity index 99% rename from assets/js/363dd66f.2663b37a.js rename to assets/js/363dd66f.2f58893e.js index ca57d92fba..0c6b8395b3 100644 --- a/assets/js/363dd66f.2663b37a.js +++ b/assets/js/363dd66f.2f58893e.js @@ -1 +1 @@ -"use strict";(self.webpackChunkice_website_v3=self.webpackChunkice_website_v3||[]).push([[6538],{4852:(e,t,n)=>{n.d(t,{Zo:()=>d,kt:()=>f});var a=n(9231);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function o(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?i(Object(n),!0).forEach((function(t){r(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function l(e,t){if(null==e)return{};var n,a,r=function(e,t){if(null==e)return{};var n,a,r={},i=Object.keys(e);for(a=0;a<i.length;a++)n=i[a],t.indexOf(n)>=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)n=i[a],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var s=a.createContext({}),c=function(e){var t=a.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):o(o({},t),e)),n},d=function(e){var t=c(e.components);return a.createElement(s.Provider,{value:t},e.children)},p="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},m=a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,i=e.originalType,s=e.parentName,d=l(e,["components","mdxType","originalType","parentName"]),p=c(n),m=r,f=p["".concat(s,".").concat(m)]||p[m]||u[m]||i;return n?a.createElement(f,o(o({ref:t},d),{},{components:n})):a.createElement(f,o({ref:t},d))}));function f(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=n.length,o=new Array(i);o[0]=m;var l={};for(var s in t)hasOwnProperty.call(t,s)&&(l[s]=t[s]);l.originalType=e,l[p]="string"==typeof e?e:r,o[1]=l;for(var c=2;c<i;c++)o[c]=n[c];return a.createElement.apply(null,o)}return a.createElement.apply(null,n)}m.displayName="MDXCreateElement"},1706:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>s,contentTitle:()=>o,default:()=>u,frontMatter:()=>i,metadata:()=>l,toc:()=>c});var a=n(5675),r=(n(9231),n(4852));const i={title:"\u6784\u5efa\u65f6\u6e32\u67d3 SSG",order:10},o=void 0,l={unversionedId:"guide/basic/ssg",id:"guide/basic/ssg",title:"\u6784\u5efa\u65f6\u6e32\u67d3 SSG",description:"\u5c0f\u7a0b\u5e8f\u7aef\u4e0d\u652f\u6301\u8be5\u80fd\u529b\u3002",source:"@site/docs/guide/basic/ssg.md",sourceDirName:"guide/basic",slug:"/guide/basic/ssg",permalink:"/docs/guide/basic/ssg",draft:!1,editUrl:"https://github.com/alibaba/ice/edit/master/website/docs/guide/basic/ssg.md",tags:[],version:"current",frontMatter:{title:"\u6784\u5efa\u65f6\u6e32\u67d3 SSG",order:10},sidebar:"docs",previous:{title:"\u6570\u636e\u6a21\u62df Mock",permalink:"/docs/guide/basic/mock"},next:{title:"\u670d\u52a1\u7aef\u6e32\u67d3 SSR",permalink:"/docs/guide/basic/ssr"}},s={},c=[{value:"\u6ce8\u610f\u4e8b\u9879",id:"\u6ce8\u610f\u4e8b\u9879",level:3},{value:"SSG \u7684\u6570\u636e\u8bf7\u6c42",id:"ssg-\u7684\u6570\u636e\u8bf7\u6c42",level:3},{value:"\u5173\u95ed SSG",id:"\u5173\u95ed-ssg",level:2}],d={toc:c},p="wrapper";function u(e){let{components:t,...n}=e;return(0,r.kt)(p,(0,a.Z)({},d,n,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("admonition",{type:"tip"},(0,r.kt)("p",{parentName:"admonition"},"\u5c0f\u7a0b\u5e8f\u7aef\u4e0d\u652f\u6301\u8be5\u80fd\u529b\u3002")),(0,r.kt)("p",null,"\u6784\u5efa\u65f6\u6e32\u67d3\uff0c\u7b80\u79f0 SSG (Static Site Generation)\uff0c\u662f\u6307\u5728\u6784\u5efa\u65f6\u63d0\u524d\u751f\u6210\u5185\u5bb9 HTML \u7684\u6e32\u67d3\u6a21\u5f0f\u3002"),(0,r.kt)("p",null,"ice.js \u9ed8\u8ba4\u5f00\u542f SSG \u80fd\u529b\u3002SSG \u4e0d\u4ec5\u9002\u7528\u4e8e\u9759\u6001\u7ad9\u70b9\uff0c\u4e5f\u9002\u7528\u4e8e\u4e3a\u666e\u901a CSR \u5e94\u7528\u63d0\u524d\u751f\u6210\u9759\u6001\u5185\u5bb9\u3002"),(0,r.kt)("p",null,"\u82e5\u6709\u5982\u4e0b\u9875\u9762\uff0c\u5185\u5bb9\u4e3a\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-tsx",metastring:'title="src/pages/home.tsx"',title:'"src/pages/home.tsx"'},"import { useData } from 'ice';\n\nexport default function Home() {\n const data = useData();\n return (\n <>\n <div>Hello ICE</div>\n <div>stars: {data?.stars}</div>\n </>\n );\n}\n")),(0,r.kt)("p",null,"\u5176\u4e2d\uff0c\u7b2c\u4e00\u4e2a ",(0,r.kt)("inlineCode",{parentName:"p"},"div")," \u4e2d\u7684\u5185\u5bb9\u662f\u4e0d\u4f9d\u8d56\u4e8e\u6570\u636e\u3002\u5728\u4f20\u7edf\u7684 CSR \u5e94\u7528\u4e2d\uff0c",(0,r.kt)("inlineCode",{parentName:"p"},"<Home />")," \u7ec4\u4ef6\u5185\u5bb9\uff0c\u65e0\u8bba\u662f\u5426\u4f9d\u8d56\u6570\u636e\uff0c\u90fd\u9700\u8981\u7b49\u5f85 JS \u52a0\u8f7d\u3001\u89e3\u6790\u540e\u6e32\u67d3\u3002"),(0,r.kt)("p",null,"\u5229\u7528 SSG\uff0c\u5219\u53ef\u4ee5\u5728\u6784\u5efa\u65f6\uff0c\u5c31\u5c06\u4e0d\u4f9d\u8d56\u4e8e\u52a8\u6001\u6570\u636e\u7684\u90e8\u5206\u63d0\u524d\u751f\u6210\u5230 HTML \u4e2d\u3002\u793a\u4f8b\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-html"},'<html>\n <head>\n ...\n </head>\n <body>\n <div id="ice-container">\n <div>Hello ICE</div>\n <div>stars: </div>\n </div>\n </body>\n</html>\n')),(0,r.kt)("h3",{id:"\u6ce8\u610f\u4e8b\u9879"},"\u6ce8\u610f\u4e8b\u9879"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"\u5728\u6d88\u8d39 ",(0,r.kt)("inlineCode",{parentName:"li"},"data")," \u65f6\uff0c\u9700\u8981\u505a\u597d\u7a7a\u503c\u5224\u65ad\uff0c\u907f\u514d ",(0,r.kt)("inlineCode",{parentName:"li"},"data")," \u4e3a ",(0,r.kt)("inlineCode",{parentName:"li"},"undefined")," \u6216 ",(0,r.kt)("inlineCode",{parentName:"li"},"null")," \u65f6\uff0c\u4ea7\u751f\u6e32\u67d3\u5f02\u5e38\uff0c\u65e0\u6cd5\u6b63\u5e38\u6784\u5efa\u3002"),(0,r.kt)("li",{parentName:"ul"},"\u4ee3\u7801\u9700\u8981\u517c\u5bb9 Node.js \u7aef\u3002SSG \u4f1a\u5728\u6784\u5efa\u65f6\u8fdb\u884c\uff0c\u56e0\u6b64\u4ee3\u7801\u4f1a\u8fd0\u884c\u5728 Node.js \u4fa7\uff0c\u56e0\u6b64\u5728\u6d88\u8d39\u4e00\u4e9b\u6d4f\u89c8\u5668\u7279\u6709\u7684\u73af\u5883\u53d8\u91cf\u65f6\uff0c\u8981\u505a\u597d\u73af\u5883\u5224\u65ad\u3002")),(0,r.kt)("h3",{id:"ssg-\u7684\u6570\u636e\u8bf7\u6c42"},"SSG \u7684\u6570\u636e\u8bf7\u6c42"),(0,r.kt)("p",null,"\u901a\u5e38\u5728 SSG \u65f6\uff0c\u6211\u4eec\u4e0d\u80fd\u4f7f\u7528\u540e\u7aef\u63a5\u53e3\u83b7\u53d6\u5f53\u524d\u7684\u6570\u636e\uff0c\u56e0\u4e3a\u8fd9\u901a\u5e38\u4e0e\u7528\u6237\u8bbf\u95ee\u65f6\u4e0d\u4e00\u81f4\u3002\u8fd9\u65f6\u6211\u4eec\u53ef\u4ee5\u4e3a SSG \u5b9a\u4e49\u7279\u5b9a\u7684\u6570\u636e\u8bf7\u6c42\u65b9\u6cd5\uff0c\u901a\u8fc7\u4e3a\u8def\u7531\u7ec4\u4ef6\u5b9a\u4e49 ",(0,r.kt)("inlineCode",{parentName:"p"},"staticDataLoader")," \u6765\u5b9e\u73b0\u3002\u8fd9\u6837\u5728 SSG \u65f6\uff0c\u7ec4\u4ef6\u901a\u8fc7 ",(0,r.kt)("inlineCode",{parentName:"p"},"useData()")," \u83b7\u53d6\u7684\u6570\u636e\u4e3a ",(0,r.kt)("inlineCode",{parentName:"p"},"staticDataLoader")," \u7684\u8fd4\u56de\u503c\u3002"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-tsx",metastring:'title="src/pages/index.tsx"',title:'"src/pages/index.tsx"'},"import { useData, defineDataLoader, defineStaticDataLoader } from 'ice';\n\nexport default function Home() {\n const data = useData();\n return (\n <>\n <div>Hello ICE</div>\n <div>stars: {data?.stars}</div>\n </>\n );\n}\n\n// \u6d4f\u89c8\u5668\u4fa7\u7684\u5e38\u89c4\u6570\u636e\u8bf7\u6c42\nexport const dataLoader = defineDataLoader(() => {\n return fetch('https://example.com/stars');\n});\n\n// \u8fd4\u56de\u7528\u4e8e SSG \u7684\u515c\u5e95\u6570\u636e\nexport const staticDataLoader = defineStaticDataLoader(() => {\n return {\n stars: 0,\n };\n});\n")),(0,r.kt)("admonition",{type:"tip"},(0,r.kt)("p",{parentName:"admonition"},"\u5f53 ",(0,r.kt)("inlineCode",{parentName:"p"},"defineDataLoader")," \u63a5\u53d7\u5165\u53c2\u4e3a\u6570\u7ec4\u65f6\uff08\u5b9a\u4e49\u4e86\u591a\u4e2a\u6570\u636e\u8bf7\u6c42\uff09\uff0c",(0,r.kt)("inlineCode",{parentName:"p"},"defineStaticDataLoader")," \u4e5f\u9700\u8981\u4e0e\u5176\u4e00\u4e00\u5bf9\u5e94\u3002")),(0,r.kt)("p",null,"\u6784\u5efa Client \u7aef\u7684\u4ea7\u7269\u65f6\uff0c\u4f1a\u79fb\u9664 ",(0,r.kt)("inlineCode",{parentName:"p"},"staticDataLoader")," \u53ca\u5176\u76f8\u5173\u4f9d\u8d56\u3002"),(0,r.kt)("h2",{id:"\u5173\u95ed-ssg"},"\u5173\u95ed SSG"),(0,r.kt)("p",null,"\u5728 ",(0,r.kt)("inlineCode",{parentName:"p"},"ice.config.mts")," \u4e0b\uff0c\u6309\u5982\u4e0b\u914d\u7f6e\u4fee\u6539"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-tsx",metastring:'title="ice.config.mts"',title:'"ice.config.mts"'},"import { defineConfig } from '@ice/app';\n\nexport default defineConfig(() => ({\n // ...\n ssg: false,\n}));\n")))}u.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunkice_website_v3=self.webpackChunkice_website_v3||[]).push([[6538],{4852:(e,t,n)=>{n.d(t,{Zo:()=>d,kt:()=>f});var a=n(9231);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function o(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?i(Object(n),!0).forEach((function(t){r(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function l(e,t){if(null==e)return{};var n,a,r=function(e,t){if(null==e)return{};var n,a,r={},i=Object.keys(e);for(a=0;a<i.length;a++)n=i[a],t.indexOf(n)>=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)n=i[a],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var s=a.createContext({}),c=function(e){var t=a.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):o(o({},t),e)),n},d=function(e){var t=c(e.components);return a.createElement(s.Provider,{value:t},e.children)},p="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},m=a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,i=e.originalType,s=e.parentName,d=l(e,["components","mdxType","originalType","parentName"]),p=c(n),m=r,f=p["".concat(s,".").concat(m)]||p[m]||u[m]||i;return n?a.createElement(f,o(o({ref:t},d),{},{components:n})):a.createElement(f,o({ref:t},d))}));function f(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=n.length,o=new Array(i);o[0]=m;var l={};for(var s in t)hasOwnProperty.call(t,s)&&(l[s]=t[s]);l.originalType=e,l[p]="string"==typeof e?e:r,o[1]=l;for(var c=2;c<i;c++)o[c]=n[c];return a.createElement.apply(null,o)}return a.createElement.apply(null,n)}m.displayName="MDXCreateElement"},5760:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>s,contentTitle:()=>o,default:()=>u,frontMatter:()=>i,metadata:()=>l,toc:()=>c});var a=n(5675),r=(n(9231),n(4852));const i={title:"\u6784\u5efa\u65f6\u6e32\u67d3 SSG",order:10},o=void 0,l={unversionedId:"guide/basic/ssg",id:"guide/basic/ssg",title:"\u6784\u5efa\u65f6\u6e32\u67d3 SSG",description:"\u5c0f\u7a0b\u5e8f\u7aef\u4e0d\u652f\u6301\u8be5\u80fd\u529b\u3002",source:"@site/docs/guide/basic/ssg.md",sourceDirName:"guide/basic",slug:"/guide/basic/ssg",permalink:"/docs/guide/basic/ssg",draft:!1,editUrl:"https://github.com/alibaba/ice/edit/master/website/docs/guide/basic/ssg.md",tags:[],version:"current",frontMatter:{title:"\u6784\u5efa\u65f6\u6e32\u67d3 SSG",order:10},sidebar:"docs",previous:{title:"\u6570\u636e\u6a21\u62df Mock",permalink:"/docs/guide/basic/mock"},next:{title:"\u670d\u52a1\u7aef\u6e32\u67d3 SSR",permalink:"/docs/guide/basic/ssr"}},s={},c=[{value:"\u6ce8\u610f\u4e8b\u9879",id:"\u6ce8\u610f\u4e8b\u9879",level:3},{value:"SSG \u7684\u6570\u636e\u8bf7\u6c42",id:"ssg-\u7684\u6570\u636e\u8bf7\u6c42",level:3},{value:"\u5173\u95ed SSG",id:"\u5173\u95ed-ssg",level:2}],d={toc:c},p="wrapper";function u(e){let{components:t,...n}=e;return(0,r.kt)(p,(0,a.Z)({},d,n,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("admonition",{type:"tip"},(0,r.kt)("p",{parentName:"admonition"},"\u5c0f\u7a0b\u5e8f\u7aef\u4e0d\u652f\u6301\u8be5\u80fd\u529b\u3002")),(0,r.kt)("p",null,"\u6784\u5efa\u65f6\u6e32\u67d3\uff0c\u7b80\u79f0 SSG (Static Site Generation)\uff0c\u662f\u6307\u5728\u6784\u5efa\u65f6\u63d0\u524d\u751f\u6210\u5185\u5bb9 HTML \u7684\u6e32\u67d3\u6a21\u5f0f\u3002"),(0,r.kt)("p",null,"ice.js \u9ed8\u8ba4\u5f00\u542f SSG \u80fd\u529b\u3002SSG \u4e0d\u4ec5\u9002\u7528\u4e8e\u9759\u6001\u7ad9\u70b9\uff0c\u4e5f\u9002\u7528\u4e8e\u4e3a\u666e\u901a CSR \u5e94\u7528\u63d0\u524d\u751f\u6210\u9759\u6001\u5185\u5bb9\u3002"),(0,r.kt)("p",null,"\u82e5\u6709\u5982\u4e0b\u9875\u9762\uff0c\u5185\u5bb9\u4e3a\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-tsx",metastring:'title="src/pages/home.tsx"',title:'"src/pages/home.tsx"'},"import { useData } from 'ice';\n\nexport default function Home() {\n const data = useData();\n return (\n <>\n <div>Hello ICE</div>\n <div>stars: {data?.stars}</div>\n </>\n );\n}\n")),(0,r.kt)("p",null,"\u5176\u4e2d\uff0c\u7b2c\u4e00\u4e2a ",(0,r.kt)("inlineCode",{parentName:"p"},"div")," \u4e2d\u7684\u5185\u5bb9\u662f\u4e0d\u4f9d\u8d56\u4e8e\u6570\u636e\u3002\u5728\u4f20\u7edf\u7684 CSR \u5e94\u7528\u4e2d\uff0c",(0,r.kt)("inlineCode",{parentName:"p"},"<Home />")," \u7ec4\u4ef6\u5185\u5bb9\uff0c\u65e0\u8bba\u662f\u5426\u4f9d\u8d56\u6570\u636e\uff0c\u90fd\u9700\u8981\u7b49\u5f85 JS \u52a0\u8f7d\u3001\u89e3\u6790\u540e\u6e32\u67d3\u3002"),(0,r.kt)("p",null,"\u5229\u7528 SSG\uff0c\u5219\u53ef\u4ee5\u5728\u6784\u5efa\u65f6\uff0c\u5c31\u5c06\u4e0d\u4f9d\u8d56\u4e8e\u52a8\u6001\u6570\u636e\u7684\u90e8\u5206\u63d0\u524d\u751f\u6210\u5230 HTML \u4e2d\u3002\u793a\u4f8b\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-html"},'<html>\n <head>\n ...\n </head>\n <body>\n <div id="ice-container">\n <div>Hello ICE</div>\n <div>stars: </div>\n </div>\n </body>\n</html>\n')),(0,r.kt)("h3",{id:"\u6ce8\u610f\u4e8b\u9879"},"\u6ce8\u610f\u4e8b\u9879"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"\u5728\u6d88\u8d39 ",(0,r.kt)("inlineCode",{parentName:"li"},"data")," \u65f6\uff0c\u9700\u8981\u505a\u597d\u7a7a\u503c\u5224\u65ad\uff0c\u907f\u514d ",(0,r.kt)("inlineCode",{parentName:"li"},"data")," \u4e3a ",(0,r.kt)("inlineCode",{parentName:"li"},"undefined")," \u6216 ",(0,r.kt)("inlineCode",{parentName:"li"},"null")," \u65f6\uff0c\u4ea7\u751f\u6e32\u67d3\u5f02\u5e38\uff0c\u65e0\u6cd5\u6b63\u5e38\u6784\u5efa\u3002"),(0,r.kt)("li",{parentName:"ul"},"\u4ee3\u7801\u9700\u8981\u517c\u5bb9 Node.js \u7aef\u3002SSG \u4f1a\u5728\u6784\u5efa\u65f6\u8fdb\u884c\uff0c\u56e0\u6b64\u4ee3\u7801\u4f1a\u8fd0\u884c\u5728 Node.js \u4fa7\uff0c\u56e0\u6b64\u5728\u6d88\u8d39\u4e00\u4e9b\u6d4f\u89c8\u5668\u7279\u6709\u7684\u73af\u5883\u53d8\u91cf\u65f6\uff0c\u8981\u505a\u597d\u73af\u5883\u5224\u65ad\u3002")),(0,r.kt)("h3",{id:"ssg-\u7684\u6570\u636e\u8bf7\u6c42"},"SSG \u7684\u6570\u636e\u8bf7\u6c42"),(0,r.kt)("p",null,"\u901a\u5e38\u5728 SSG \u65f6\uff0c\u6211\u4eec\u4e0d\u80fd\u4f7f\u7528\u540e\u7aef\u63a5\u53e3\u83b7\u53d6\u5f53\u524d\u7684\u6570\u636e\uff0c\u56e0\u4e3a\u8fd9\u901a\u5e38\u4e0e\u7528\u6237\u8bbf\u95ee\u65f6\u4e0d\u4e00\u81f4\u3002\u8fd9\u65f6\u6211\u4eec\u53ef\u4ee5\u4e3a SSG \u5b9a\u4e49\u7279\u5b9a\u7684\u6570\u636e\u8bf7\u6c42\u65b9\u6cd5\uff0c\u901a\u8fc7\u4e3a\u8def\u7531\u7ec4\u4ef6\u5b9a\u4e49 ",(0,r.kt)("inlineCode",{parentName:"p"},"staticDataLoader")," \u6765\u5b9e\u73b0\u3002\u8fd9\u6837\u5728 SSG \u65f6\uff0c\u7ec4\u4ef6\u901a\u8fc7 ",(0,r.kt)("inlineCode",{parentName:"p"},"useData()")," \u83b7\u53d6\u7684\u6570\u636e\u4e3a ",(0,r.kt)("inlineCode",{parentName:"p"},"staticDataLoader")," \u7684\u8fd4\u56de\u503c\u3002"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-tsx",metastring:'title="src/pages/index.tsx"',title:'"src/pages/index.tsx"'},"import { useData, defineDataLoader, defineStaticDataLoader } from 'ice';\n\nexport default function Home() {\n const data = useData();\n return (\n <>\n <div>Hello ICE</div>\n <div>stars: {data?.stars}</div>\n </>\n );\n}\n\n// \u6d4f\u89c8\u5668\u4fa7\u7684\u5e38\u89c4\u6570\u636e\u8bf7\u6c42\nexport const dataLoader = defineDataLoader(() => {\n return fetch('https://example.com/stars');\n});\n\n// \u8fd4\u56de\u7528\u4e8e SSG \u7684\u515c\u5e95\u6570\u636e\nexport const staticDataLoader = defineStaticDataLoader(() => {\n return {\n stars: 0,\n };\n});\n")),(0,r.kt)("admonition",{type:"tip"},(0,r.kt)("p",{parentName:"admonition"},"\u5f53 ",(0,r.kt)("inlineCode",{parentName:"p"},"defineDataLoader")," \u63a5\u53d7\u5165\u53c2\u4e3a\u6570\u7ec4\u65f6\uff08\u5b9a\u4e49\u4e86\u591a\u4e2a\u6570\u636e\u8bf7\u6c42\uff09\uff0c",(0,r.kt)("inlineCode",{parentName:"p"},"defineStaticDataLoader")," \u4e5f\u9700\u8981\u4e0e\u5176\u4e00\u4e00\u5bf9\u5e94\u3002")),(0,r.kt)("p",null,"\u6784\u5efa Client \u7aef\u7684\u4ea7\u7269\u65f6\uff0c\u4f1a\u79fb\u9664 ",(0,r.kt)("inlineCode",{parentName:"p"},"staticDataLoader")," \u53ca\u5176\u76f8\u5173\u4f9d\u8d56\u3002"),(0,r.kt)("h2",{id:"\u5173\u95ed-ssg"},"\u5173\u95ed SSG"),(0,r.kt)("p",null,"\u5728 ",(0,r.kt)("inlineCode",{parentName:"p"},"ice.config.mts")," \u4e0b\uff0c\u6309\u5982\u4e0b\u914d\u7f6e\u4fee\u6539"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-tsx",metastring:'title="ice.config.mts"',title:'"ice.config.mts"'},"import { defineConfig } from '@ice/app';\n\nexport default defineConfig(() => ({\n // ...\n ssg: false,\n}));\n")))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/43312b2f.55ee314c.js b/assets/js/43312b2f.eccf6864.js similarity index 65% rename from assets/js/43312b2f.55ee314c.js rename to assets/js/43312b2f.eccf6864.js index 497639d495..f1ce0c02f6 100644 --- a/assets/js/43312b2f.55ee314c.js +++ b/assets/js/43312b2f.eccf6864.js @@ -1 +1 @@ -"use strict";(self.webpackChunkice_website_v3=self.webpackChunkice_website_v3||[]).push([[6929],{4852:(e,t,n)=>{n.d(t,{Zo:()=>c,kt:()=>g});var a=n(9231);function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function l(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?r(Object(n),!0).forEach((function(t){i(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):r(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function o(e,t){if(null==e)return{};var n,a,i=function(e,t){if(null==e)return{};var n,a,i={},r=Object.keys(e);for(a=0;a<r.length;a++)n=r[a],t.indexOf(n)>=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(a=0;a<r.length;a++)n=r[a],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var p=a.createContext({}),s=function(e){var t=a.useContext(p),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},c=function(e){var t=s(e.components);return a.createElement(p.Provider,{value:t},e.children)},u="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},m=a.forwardRef((function(e,t){var n=e.components,i=e.mdxType,r=e.originalType,p=e.parentName,c=o(e,["components","mdxType","originalType","parentName"]),u=s(n),m=i,g=u["".concat(p,".").concat(m)]||u[m]||d[m]||r;return n?a.createElement(g,l(l({ref:t},c),{},{components:n})):a.createElement(g,l({ref:t},c))}));function g(e,t){var n=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var r=n.length,l=new Array(r);l[0]=m;var o={};for(var p in t)hasOwnProperty.call(t,p)&&(o[p]=t[p]);o.originalType=e,o[u]="string"==typeof e?e:i,l[1]=o;for(var s=2;s<r;s++)l[s]=n[s];return a.createElement.apply(null,l)}return a.createElement.apply(null,n)}m.displayName="MDXCreateElement"},8611:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>p,contentTitle:()=>l,default:()=>d,frontMatter:()=>r,metadata:()=>o,toc:()=>s});var a=n(5675),i=(n(9231),n(4852));const r={title:"\u9875\u9762",order:4.1},l=void 0,o={unversionedId:"guide/basic/page",id:"guide/basic/page",title:"\u9875\u9762",description:"\u6bcf\u4e00\u5f20\u9875\u9762\uff0c\u90fd\u53ef\u4ee5\u7531 \u8def\u7531\u7ec4\u4ef6 \u548c \u96f6\u6216\u591a\u4e2a\u5e03\u5c40\u7ec4\u4ef6 \u7ec4\u88c5\u800c\u6210\u3002\u8def\u7531\u7ec4\u4ef6\u548c\u5e03\u5c40\u7ec4\u4ef6\u7684\u5f00\u53d1\u89c4\u8303\u57fa\u672c\u4e00\u81f4\uff0c\u53ef\u4ee5\u5305\u542b\u4ee5\u4e0b\u5185\u5bb9\uff1a",source:"@site/docs/guide/basic/page.md",sourceDirName:"guide/basic",slug:"/guide/basic/page",permalink:"/docs/guide/basic/page",draft:!1,editUrl:"https://github.com/alibaba/ice/edit/master/website/docs/guide/basic/page.md",tags:[],version:"current",frontMatter:{title:"\u9875\u9762",order:4.1},sidebar:"docs",previous:{title:"\u8def\u7531",permalink:"/docs/guide/basic/router"},next:{title:"\u6837\u5f0f",permalink:"/docs/guide/basic/style"}},p={},s=[{value:"\u7ec4\u4ef6",id:"\u7ec4\u4ef6",level:2},{value:"\u83b7\u53d6\u9875\u9762\u521d\u59cb\u6570\u636e",id:"\u83b7\u53d6\u9875\u9762\u521d\u59cb\u6570\u636e",level:2},{value:"\u914d\u7f6e\u9875\u9762\u8fd0\u884c\u65f6\u5c5e\u6027",id:"\u914d\u7f6e\u9875\u9762\u8fd0\u884c\u65f6\u5c5e\u6027",level:2},{value:"title",id:"title",level:3},{value:"metas",id:"metas",level:3},{value:"links",id:"links",level:3},{value:"scripts",id:"scripts",level:3},{value:"\u5c0f\u7a0b\u5e8f\u9875\u9762\u914d\u7f6e",id:"\u5c0f\u7a0b\u5e8f\u9875\u9762\u914d\u7f6e",level:3}],c={toc:s},u="wrapper";function d(e){let{components:t,...n}=e;return(0,i.kt)(u,(0,a.Z)({},c,n,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("p",null,"\u6bcf\u4e00\u5f20\u9875\u9762\uff0c\u90fd\u53ef\u4ee5\u7531 ",(0,i.kt)("inlineCode",{parentName:"p"},"\u8def\u7531\u7ec4\u4ef6")," \u548c ",(0,i.kt)("inlineCode",{parentName:"p"},"\u96f6\u6216\u591a\u4e2a\u5e03\u5c40\u7ec4\u4ef6")," \u7ec4\u88c5\u800c\u6210\u3002\u8def\u7531\u7ec4\u4ef6\u548c\u5e03\u5c40\u7ec4\u4ef6\u7684\u5f00\u53d1\u89c4\u8303\u57fa\u672c\u4e00\u81f4\uff0c\u53ef\u4ee5\u5305\u542b\u4ee5\u4e0b\u5185\u5bb9\uff1a"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"\u9ed8\u8ba4\u5bfc\u51fa\u662f\u7ec4\u4ef6\u7684\u5177\u4f53\u5b9e\u73b0\uff0c\u5fc5\u9009\u3002"),(0,i.kt)("li",{parentName:"ul"},"\u5bfc\u51fa ",(0,i.kt)("inlineCode",{parentName:"li"},"dataLoader"),"\uff0c\u7ea6\u5b9a\u9875\u9762\u7684\u6570\u636e\u8bf7\u6c42\uff0c\u53ef\u9009\u3002"),(0,i.kt)("li",{parentName:"ul"},"\u5bfc\u51fa ",(0,i.kt)("inlineCode",{parentName:"li"},"pageConfig"),"\uff0c\u7ea6\u5b9a\u9875\u9762\u7684 ",(0,i.kt)("inlineCode",{parentName:"li"},"Title"),"\u3001",(0,i.kt)("inlineCode",{parentName:"li"},"Meta")," \u7b49\u4fe1\u606f\uff0c\u53ef\u9009\u3002")),(0,i.kt)("h2",{id:"\u7ec4\u4ef6"},"\u7ec4\u4ef6"),(0,i.kt)("p",null,"\u5bf9\u5e94\u8def\u7531\u7ec4\u4ef6\u6216\u5e03\u5c40\u7ec4\u4ef6\u5728\u9875\u9762\u4e2d\u9700\u8981\u6e32\u67d3\u7684\u5185\u5bb9\u3002"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-tsx",metastring:'title="src/pages/index.tsx"',title:'"src/pages/index.tsx"'},"import { useData } from 'ice';\n\nexport default function Home() {\n const data = useData();\n return (\n <>\n <div>Hello ICE</div>\n <div>{JSON.stringify(data)}</div>\n </>\n );\n}\n")),(0,i.kt)("h2",{id:"\u83b7\u53d6\u9875\u9762\u521d\u59cb\u6570\u636e"},"\u83b7\u53d6\u9875\u9762\u521d\u59cb\u6570\u636e"),(0,i.kt)("p",null,"\u8be6\u89c1",(0,i.kt)("a",{parentName:"p",href:"/docs/guide/basic/data-loader"},"\u6570\u636e\u52a0\u8f7d"),"\u3002"),(0,i.kt)("h2",{id:"\u914d\u7f6e\u9875\u9762\u8fd0\u884c\u65f6\u5c5e\u6027"},"\u914d\u7f6e\u9875\u9762\u8fd0\u884c\u65f6\u5c5e\u6027"),(0,i.kt)("p",null,"\u9875\u9762\u4e3b\u4f53\u5185\u5bb9\u4e4b\u5916\u7684\u3001\u5176\u4ed6\u9700\u8981\u901a\u7528 HTML \u6a21\u677f\u4e0a\u5dee\u5f02\u5316\u663e\u793a\u7684\u5185\u5bb9\uff0c\u53ef\u4ee5\u901a\u8fc7\u5bfc\u51fa ",(0,i.kt)("inlineCode",{parentName:"p"},"pageConfig")," \u6765\u58f0\u660e\u3002"),(0,i.kt)("p",null,"\u652f\u6301\u7684\u9875\u9762\u7ea7\u914d\u7f6e\u5305\u542b\uff1a"),(0,i.kt)("h3",{id:"title"},"title"),(0,i.kt)("p",null,"\u6807\u9898\u4f1a\u663e\u793a\u5728\u6587\u6863\u4e0a\uff0c\u53ef\u4ee5\u901a\u8fc7 ",(0,i.kt)("inlineCode",{parentName:"p"},"title")," \u5c5e\u6027\u6765\u8bbe\u7f6e\u3002 \u793a\u4f8b\uff1a"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-tsx"},"import { definePageConfig } from 'ice';\n\nexport const pageConfig = definePageConfig(() => ({\n title: 'Home',\n}));\n")),(0,i.kt)("h3",{id:"metas"},"metas"),(0,i.kt)("p",null,"Meta \u4fe1\u606f\u4f1a\u663e\u793a\u5728\u6587\u6863\u4e0a\uff0c\u53ef\u4ee5\u901a\u8fc7 ",(0,i.kt)("inlineCode",{parentName:"p"},"metas")," \u5c5e\u6027\u6765\u8bbe\u7f6e\u3002 \u793a\u4f8b\uff1a"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-tsx"},"import { definePageConfig } from 'ice';\n\nexport const pageConfig = definePageConfig(() => ({\n metas: [\n { charset: 'utf-8' },\n {\n title: 'Something cool',\n description: 'This becomes the nice preview on search results.',\n },\n ],\n}));\n")),(0,i.kt)("h3",{id:"links"},"links"),(0,i.kt)("p",null,"\u9875\u9762\u7ea7\u9700\u8981\u989d\u5916\u63d2\u5165\u7684 ",(0,i.kt)("inlineCode",{parentName:"p"},"<link />")," \u6807\u7b7e\uff0c\u4f1a\u88ab\u63d2\u5165 ",(0,i.kt)("inlineCode",{parentName:"p"},"<head>")," \u6807\u7b7e\u5185\uff0c\u5148\u4e8e\u9875\u9762\u81ea\u8eab\u7684 Bundle \u52a0\u8f7d\uff0c\u662f\u963b\u585e\u578b\u7684\u3002"),(0,i.kt)("blockquote",null,(0,i.kt)("p",{parentName:"blockquote"},"\u6846\u67b6\u63d0\u4f9b\u4e86\u8fd9\u4e2a\u80fd\u529b\uff0c\u4f46\u4e0d\u63a8\u8350\u4f7f\u7528\uff0c\u9664\u975e\u786e\u6709\u9700\u8981\u524d\u7f6e\u52a0\u8f7d\u3002")),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-tsx"},"import { definePageConfig } from 'ice';\n\nexport const pageConfig = definePageConfig(() => ({\n links: [\n {\n rel: 'icon',\n href: '/favicon.png',\n type: 'image/png',\n },\n {\n rel: 'stylesheet',\n href: 'https://example.com/some/styles.css',\n },\n ]\n}));\n")),(0,i.kt)("p",null,"\u63a8\u8350\uff0c\u5728\u9875\u9762\u7ec4\u4ef6\u5185\u5ef6\u8fdf\u52a0\u8f7d\uff0c\u4ee5\u8fbe\u5230\u66f4\u597d\u7684\u6027\u80fd\u4f53\u9a8c\u3002"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-tsx"},'// src/pages/index.tsx\nexport default function Home() {\n return (\n <>\n <div>Hello ICE</div>\n <link rel="stylesheet" href="https://example.com/some/styles.css" />\n </>\n );\n}\n')),(0,i.kt)("h3",{id:"scripts"},"scripts"),(0,i.kt)("p",null,"\u9875\u9762\u7ea7\u9700\u8981\u524d\u7f6e\u52a0\u8f7d\u7684\u811a\u672c\u8d44\u6e90\uff0c\u4f1a\u88ab\u63d2\u5165\u5728\u4e3b Bundle \u524d\uff0c\u4f46\u662f\u4f1a\u963b\u585e\u6e32\u67d3\u3002\u901a\u5e38\u7528\u4e8e\u52a0\u8f7d\u5168\u5c40 JS SDK \u6216 Polyfill\u3002"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-tsx"},"\nimport { definePageConfig } from 'ice';\n\nexport const pageConfig = definePageConfig(() => ({\n scripts: [\n {\n src: 'https://example.com/some/index.js',\n },\n ],\n}));\n")),(0,i.kt)("p",null,"\u63a8\u8350\u5728\u9875\u9762\u7ec4\u4ef6\u5185\u6309\u9700\u5f02\u6b65\u52a0\u8f7d\uff0c\u4ee5\u8fbe\u5230\u66f4\u597d\u7684\u6027\u80fd\u4f53\u9a8c\u3002"),(0,i.kt)("h3",{id:"\u5c0f\u7a0b\u5e8f\u9875\u9762\u914d\u7f6e"},"\u5c0f\u7a0b\u5e8f\u9875\u9762\u914d\u7f6e"),(0,i.kt)("p",null,"\u5c0f\u7a0b\u5e8f\u7aef\u4e0d\u652f\u6301\u4e0a\u8ff0 title/metas/links/scripts \u7b49\u914d\u7f6e\u3002\u4f46\u662f\uff0c\u901a\u8fc7\u5bfc\u51fa ",(0,i.kt)("inlineCode",{parentName:"p"},"pageConfig")," \u80fd\u591f\u58f0\u660e\u8be5\u9875\u9762\u7684\u5c0f\u7a0b\u5e8f\u9875\u9762\u914d\u7f6e\u3002\u4ee5\u963f\u91cc\u5c0f\u7a0b\u5e8f\u4e3a\u4f8b\uff0c",(0,i.kt)("a",{parentName:"p",href:"https://opendocs.alipay.com/mini/framework/page-json"},"\u963f\u91cc\u5c0f\u7a0b\u5e8f-\u9875\u9762\u914d\u7f6e"),"\u7684\u5185\u5bb9\u5747\u53ef\u901a\u8fc7\u8be5\u65b9\u5f0f\u58f0\u660e\uff1a"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-jsx",metastring:"title=src/pages/index.tsx",title:"src/pages/index.tsx"},'import { definePageConfig } from \'ice\';\n\nexport const pageConfig = definePageConfig(() => ({\n "defaultTitle": "",\n "allowsBounceVertical": "NO",\n "transparentTitle": "auto",\n "titleBarColor": "#262833",\n "optionMenu": {\n "icon": "https://img.alicdn.com/tps/i3/T1OjaVFl4dXXa.JOZB-114-114.png"\n },\n "titlePenetrate": "YES",\n "barButtonTheme": "light"\n}));\n')))}d.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunkice_website_v3=self.webpackChunkice_website_v3||[]).push([[6929],{4852:(e,t,n)=>{n.d(t,{Zo:()=>c,kt:()=>g});var a=n(9231);function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function l(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?r(Object(n),!0).forEach((function(t){i(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):r(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function o(e,t){if(null==e)return{};var n,a,i=function(e,t){if(null==e)return{};var n,a,i={},r=Object.keys(e);for(a=0;a<r.length;a++)n=r[a],t.indexOf(n)>=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(a=0;a<r.length;a++)n=r[a],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var p=a.createContext({}),s=function(e){var t=a.useContext(p),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},c=function(e){var t=s(e.components);return a.createElement(p.Provider,{value:t},e.children)},u="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},m=a.forwardRef((function(e,t){var n=e.components,i=e.mdxType,r=e.originalType,p=e.parentName,c=o(e,["components","mdxType","originalType","parentName"]),u=s(n),m=i,g=u["".concat(p,".").concat(m)]||u[m]||d[m]||r;return n?a.createElement(g,l(l({ref:t},c),{},{components:n})):a.createElement(g,l({ref:t},c))}));function g(e,t){var n=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var r=n.length,l=new Array(r);l[0]=m;var o={};for(var p in t)hasOwnProperty.call(t,p)&&(o[p]=t[p]);o.originalType=e,o[u]="string"==typeof e?e:i,l[1]=o;for(var s=2;s<r;s++)l[s]=n[s];return a.createElement.apply(null,l)}return a.createElement.apply(null,n)}m.displayName="MDXCreateElement"},8861:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>p,contentTitle:()=>l,default:()=>d,frontMatter:()=>r,metadata:()=>o,toc:()=>s});var a=n(5675),i=(n(9231),n(4852));const r={title:"\u9875\u9762",order:4.1},l=void 0,o={unversionedId:"guide/basic/page",id:"guide/basic/page",title:"\u9875\u9762",description:"\u6bcf\u4e00\u5f20\u9875\u9762\uff0c\u90fd\u53ef\u4ee5\u7531 \u8def\u7531\u7ec4\u4ef6 \u548c \u96f6\u6216\u591a\u4e2a\u5e03\u5c40\u7ec4\u4ef6 \u7ec4\u88c5\u800c\u6210\u3002\u8def\u7531\u7ec4\u4ef6\u548c\u5e03\u5c40\u7ec4\u4ef6\u7684\u5f00\u53d1\u89c4\u8303\u57fa\u672c\u4e00\u81f4\uff0c\u53ef\u4ee5\u5305\u542b\u4ee5\u4e0b\u5185\u5bb9\uff1a",source:"@site/docs/guide/basic/page.md",sourceDirName:"guide/basic",slug:"/guide/basic/page",permalink:"/docs/guide/basic/page",draft:!1,editUrl:"https://github.com/alibaba/ice/edit/master/website/docs/guide/basic/page.md",tags:[],version:"current",frontMatter:{title:"\u9875\u9762",order:4.1},sidebar:"docs",previous:{title:"\u8def\u7531",permalink:"/docs/guide/basic/router"},next:{title:"\u6837\u5f0f",permalink:"/docs/guide/basic/style"}},p={},s=[{value:"\u7ec4\u4ef6",id:"\u7ec4\u4ef6",level:2},{value:"\u83b7\u53d6\u9875\u9762\u521d\u59cb\u6570\u636e",id:"\u83b7\u53d6\u9875\u9762\u521d\u59cb\u6570\u636e",level:2},{value:"\u914d\u7f6e\u9875\u9762\u8fd0\u884c\u65f6\u5c5e\u6027",id:"\u914d\u7f6e\u9875\u9762\u8fd0\u884c\u65f6\u5c5e\u6027",level:2},{value:"title",id:"title",level:3},{value:"metas",id:"metas",level:3},{value:"links",id:"links",level:3},{value:"scripts",id:"scripts",level:3},{value:"\u5c0f\u7a0b\u5e8f\u9875\u9762\u914d\u7f6e",id:"\u5c0f\u7a0b\u5e8f\u9875\u9762\u914d\u7f6e",level:3}],c={toc:s},u="wrapper";function d(e){let{components:t,...n}=e;return(0,i.kt)(u,(0,a.Z)({},c,n,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("p",null,"\u6bcf\u4e00\u5f20\u9875\u9762\uff0c\u90fd\u53ef\u4ee5\u7531 ",(0,i.kt)("inlineCode",{parentName:"p"},"\u8def\u7531\u7ec4\u4ef6")," \u548c ",(0,i.kt)("inlineCode",{parentName:"p"},"\u96f6\u6216\u591a\u4e2a\u5e03\u5c40\u7ec4\u4ef6")," \u7ec4\u88c5\u800c\u6210\u3002\u8def\u7531\u7ec4\u4ef6\u548c\u5e03\u5c40\u7ec4\u4ef6\u7684\u5f00\u53d1\u89c4\u8303\u57fa\u672c\u4e00\u81f4\uff0c\u53ef\u4ee5\u5305\u542b\u4ee5\u4e0b\u5185\u5bb9\uff1a"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"\u9ed8\u8ba4\u5bfc\u51fa\u662f\u7ec4\u4ef6\u7684\u5177\u4f53\u5b9e\u73b0\uff0c\u5fc5\u9009\u3002"),(0,i.kt)("li",{parentName:"ul"},"\u5bfc\u51fa ",(0,i.kt)("inlineCode",{parentName:"li"},"dataLoader"),"\uff0c\u7ea6\u5b9a\u9875\u9762\u7684\u6570\u636e\u8bf7\u6c42\uff0c\u53ef\u9009\u3002"),(0,i.kt)("li",{parentName:"ul"},"\u5bfc\u51fa ",(0,i.kt)("inlineCode",{parentName:"li"},"pageConfig"),"\uff0c\u7ea6\u5b9a\u9875\u9762\u7684 ",(0,i.kt)("inlineCode",{parentName:"li"},"Title"),"\u3001",(0,i.kt)("inlineCode",{parentName:"li"},"Meta")," \u7b49\u4fe1\u606f\uff0c\u53ef\u9009\u3002")),(0,i.kt)("h2",{id:"\u7ec4\u4ef6"},"\u7ec4\u4ef6"),(0,i.kt)("p",null,"\u5bf9\u5e94\u8def\u7531\u7ec4\u4ef6\u6216\u5e03\u5c40\u7ec4\u4ef6\u5728\u9875\u9762\u4e2d\u9700\u8981\u6e32\u67d3\u7684\u5185\u5bb9\u3002"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-tsx",metastring:'title="src/pages/index.tsx"',title:'"src/pages/index.tsx"'},"import { useData } from 'ice';\n\nexport default function Home() {\n const data = useData();\n return (\n <>\n <div>Hello ICE</div>\n <div>{JSON.stringify(data)}</div>\n </>\n );\n}\n")),(0,i.kt)("h2",{id:"\u83b7\u53d6\u9875\u9762\u521d\u59cb\u6570\u636e"},"\u83b7\u53d6\u9875\u9762\u521d\u59cb\u6570\u636e"),(0,i.kt)("p",null,"\u8be6\u89c1",(0,i.kt)("a",{parentName:"p",href:"/docs/guide/basic/data-loader"},"\u6570\u636e\u52a0\u8f7d"),"\u3002"),(0,i.kt)("h2",{id:"\u914d\u7f6e\u9875\u9762\u8fd0\u884c\u65f6\u5c5e\u6027"},"\u914d\u7f6e\u9875\u9762\u8fd0\u884c\u65f6\u5c5e\u6027"),(0,i.kt)("p",null,"\u9875\u9762\u4e3b\u4f53\u5185\u5bb9\u4e4b\u5916\u7684\u3001\u5176\u4ed6\u9700\u8981\u901a\u7528 HTML \u6a21\u677f\u4e0a\u5dee\u5f02\u5316\u663e\u793a\u7684\u5185\u5bb9\uff0c\u53ef\u4ee5\u901a\u8fc7\u5bfc\u51fa ",(0,i.kt)("inlineCode",{parentName:"p"},"pageConfig")," \u6765\u58f0\u660e\u3002"),(0,i.kt)("p",null,"\u652f\u6301\u7684\u9875\u9762\u7ea7\u914d\u7f6e\u5305\u542b\uff1a"),(0,i.kt)("h3",{id:"title"},"title"),(0,i.kt)("p",null,"\u6807\u9898\u4f1a\u663e\u793a\u5728\u6587\u6863\u4e0a\uff0c\u53ef\u4ee5\u901a\u8fc7 ",(0,i.kt)("inlineCode",{parentName:"p"},"title")," \u5c5e\u6027\u6765\u8bbe\u7f6e\u3002 \u793a\u4f8b\uff1a"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-tsx"},"import { definePageConfig } from 'ice';\n\nexport const pageConfig = definePageConfig(() => ({\n title: 'Home',\n}));\n")),(0,i.kt)("h3",{id:"metas"},"metas"),(0,i.kt)("p",null,"Meta \u4fe1\u606f\u4f1a\u663e\u793a\u5728\u6587\u6863\u4e0a\uff0c\u53ef\u4ee5\u901a\u8fc7 ",(0,i.kt)("inlineCode",{parentName:"p"},"metas")," \u5c5e\u6027\u6765\u8bbe\u7f6e\u3002 \u793a\u4f8b\uff1a"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-tsx"},"import { definePageConfig } from 'ice';\n\nexport const pageConfig = definePageConfig(() => ({\n meta: [\n { charset: 'utf-8' },\n {\n name: 'title',\n value: 'Something cool',\n },\n {\n name: 'description',\n value: 'This becomes the nice preview on search results.',\n },\n ],\n}));\n")),(0,i.kt)("h3",{id:"links"},"links"),(0,i.kt)("p",null,"\u9875\u9762\u7ea7\u9700\u8981\u989d\u5916\u63d2\u5165\u7684 ",(0,i.kt)("inlineCode",{parentName:"p"},"<link />")," \u6807\u7b7e\uff0c\u4f1a\u88ab\u63d2\u5165 ",(0,i.kt)("inlineCode",{parentName:"p"},"<head>")," \u6807\u7b7e\u5185\uff0c\u5148\u4e8e\u9875\u9762\u81ea\u8eab\u7684 Bundle \u52a0\u8f7d\uff0c\u662f\u963b\u585e\u578b\u7684\u3002"),(0,i.kt)("blockquote",null,(0,i.kt)("p",{parentName:"blockquote"},"\u6846\u67b6\u63d0\u4f9b\u4e86\u8fd9\u4e2a\u80fd\u529b\uff0c\u4f46\u4e0d\u63a8\u8350\u4f7f\u7528\uff0c\u9664\u975e\u786e\u6709\u9700\u8981\u524d\u7f6e\u52a0\u8f7d\u3002")),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-tsx"},"import { definePageConfig } from 'ice';\n\nexport const pageConfig = definePageConfig(() => ({\n links: [\n {\n rel: 'icon',\n href: '/favicon.png',\n type: 'image/png',\n },\n {\n rel: 'stylesheet',\n href: 'https://example.com/some/styles.css',\n },\n ]\n}));\n")),(0,i.kt)("p",null,"\u63a8\u8350\uff0c\u5728\u9875\u9762\u7ec4\u4ef6\u5185\u5ef6\u8fdf\u52a0\u8f7d\uff0c\u4ee5\u8fbe\u5230\u66f4\u597d\u7684\u6027\u80fd\u4f53\u9a8c\u3002"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-tsx"},'// src/pages/index.tsx\nexport default function Home() {\n return (\n <>\n <div>Hello ICE</div>\n <link rel="stylesheet" href="https://example.com/some/styles.css" />\n </>\n );\n}\n')),(0,i.kt)("h3",{id:"scripts"},"scripts"),(0,i.kt)("p",null,"\u9875\u9762\u7ea7\u9700\u8981\u524d\u7f6e\u52a0\u8f7d\u7684\u811a\u672c\u8d44\u6e90\uff0c\u4f1a\u88ab\u63d2\u5165\u5728\u4e3b Bundle \u524d\uff0c\u4f46\u662f\u4f1a\u963b\u585e\u6e32\u67d3\u3002\u901a\u5e38\u7528\u4e8e\u52a0\u8f7d\u5168\u5c40 JS SDK \u6216 Polyfill\u3002"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-tsx"},"\nimport { definePageConfig } from 'ice';\n\nexport const pageConfig = definePageConfig(() => ({\n scripts: [\n {\n src: 'https://example.com/some/index.js',\n },\n ],\n}));\n")),(0,i.kt)("p",null,"\u63a8\u8350\u5728\u9875\u9762\u7ec4\u4ef6\u5185\u6309\u9700\u5f02\u6b65\u52a0\u8f7d\uff0c\u4ee5\u8fbe\u5230\u66f4\u597d\u7684\u6027\u80fd\u4f53\u9a8c\u3002"),(0,i.kt)("h3",{id:"\u5c0f\u7a0b\u5e8f\u9875\u9762\u914d\u7f6e"},"\u5c0f\u7a0b\u5e8f\u9875\u9762\u914d\u7f6e"),(0,i.kt)("p",null,"\u5c0f\u7a0b\u5e8f\u7aef\u4e0d\u652f\u6301\u4e0a\u8ff0 title/metas/links/scripts \u7b49\u914d\u7f6e\u3002\u4f46\u662f\uff0c\u901a\u8fc7\u5bfc\u51fa ",(0,i.kt)("inlineCode",{parentName:"p"},"pageConfig")," \u80fd\u591f\u58f0\u660e\u8be5\u9875\u9762\u7684\u5c0f\u7a0b\u5e8f\u9875\u9762\u914d\u7f6e\u3002\u4ee5\u963f\u91cc\u5c0f\u7a0b\u5e8f\u4e3a\u4f8b\uff0c",(0,i.kt)("a",{parentName:"p",href:"https://opendocs.alipay.com/mini/framework/page-json"},"\u963f\u91cc\u5c0f\u7a0b\u5e8f-\u9875\u9762\u914d\u7f6e"),"\u7684\u5185\u5bb9\u5747\u53ef\u901a\u8fc7\u8be5\u65b9\u5f0f\u58f0\u660e\uff1a"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-jsx",metastring:"title=src/pages/index.tsx",title:"src/pages/index.tsx"},'import { definePageConfig } from \'ice\';\n\nexport const pageConfig = definePageConfig(() => ({\n "defaultTitle": "",\n "allowsBounceVertical": "NO",\n "transparentTitle": "auto",\n "titleBarColor": "#262833",\n "optionMenu": {\n "icon": "https://img.alicdn.com/tps/i3/T1OjaVFl4dXXa.JOZB-114-114.png"\n },\n "titlePenetrate": "YES",\n "barButtonTheme": "light"\n}));\n')))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/44d4f378.7899ccd9.js b/assets/js/44d4f378.7899ccd9.js new file mode 100644 index 0000000000..ce117eb6a7 --- /dev/null +++ b/assets/js/44d4f378.7899ccd9.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkice_website_v3=self.webpackChunkice_website_v3||[]).push([[9068],{4852:(e,t,a)=>{a.d(t,{Zo:()=>u,kt:()=>f});var r=a(9231);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function p(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?i(Object(a),!0).forEach((function(t){n(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):i(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function l(e,t){if(null==e)return{};var a,r,n=function(e,t){if(null==e)return{};var a,r,n={},i=Object.keys(e);for(r=0;r<i.length;r++)a=i[r],t.indexOf(a)>=0||(n[a]=e[a]);return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)a=i[r],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}var o=r.createContext({}),c=function(e){var t=r.useContext(o),a=t;return e&&(a="function"==typeof e?e(t):p(p({},t),e)),a},u=function(e){var t=c(e.components);return r.createElement(o.Provider,{value:t},e.children)},d="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},s=r.forwardRef((function(e,t){var a=e.components,n=e.mdxType,i=e.originalType,o=e.parentName,u=l(e,["components","mdxType","originalType","parentName"]),d=c(a),s=n,f=d["".concat(o,".").concat(s)]||d[s]||m[s]||i;return a?r.createElement(f,p(p({ref:t},u),{},{components:a})):r.createElement(f,p({ref:t},u))}));function f(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var i=a.length,p=new Array(i);p[0]=s;var l={};for(var o in t)hasOwnProperty.call(t,o)&&(l[o]=t[o]);l.originalType=e,l[d]="string"==typeof e?e:n,p[1]=l;for(var c=2;c<i;c++)p[c]=a[c];return r.createElement.apply(null,p)}return r.createElement.apply(null,a)}s.displayName="MDXCreateElement"},5209:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>o,contentTitle:()=>p,default:()=>m,frontMatter:()=>i,metadata:()=>l,toc:()=>c});var r=a(5675),n=(a(9231),a(4852));const i={title:"\u4ece Rax App \u8fc1\u79fb",order:"0901"},p=void 0,l={unversionedId:"guide/advanced/integrate-from-rax",id:"guide/advanced/integrate-from-rax",title:"\u4ece Rax App \u8fc1\u79fb",description:"\u672c\u6587\u6863\u9762\u5411\u7684\u662f\u4f7f\u7528 Rax App \u7684\u5f00\u53d1\u8005\uff0c\u63d0\u4f9b\u8fc1\u79fb\u5230 ice.js \u7684\u65b9\u5f0f\u3002React \u7684\u793e\u533a\u751f\u6001\u663e\u8457\u4f18\u4e8e Rax\uff0c\u5207\u6362\u5230 React \u4e4b\u540e\u53ef\u4ee5\u4eab\u53d7\u5230\u66f4\u591a\u7684 React \u751f\u6001\uff0c\u590d\u7528\u590d\u6742\u573a\u666f\uff08\u5bcc\u6587\u672c\u3001\u8111\u56fe\u7b49\uff09\u793e\u533a\u751f\u6001\u53ef\u4ee5\u5927\u5e45\u5ea6\u964d\u4f4e\u6210\u672c\u3002",source:"@site/docs/guide/advanced/integrate-from-rax.md",sourceDirName:"guide/advanced",slug:"/guide/advanced/integrate-from-rax",permalink:"/docs/guide/advanced/integrate-from-rax",draft:!1,editUrl:"https://github.com/alibaba/ice/edit/master/website/docs/guide/advanced/integrate-from-rax.md",tags:[],version:"current",frontMatter:{title:"\u4ece Rax App \u8fc1\u79fb",order:"0901"},sidebar:"docs",previous:{title:"\u4f7f\u7528\u539f\u5b50\u5316 CSS \u80fd\u529b",permalink:"/docs/guide/advanced/unocss"},next:{title:"\u4ece ice.js 2.x \u5347\u7ea7",permalink:"/docs/guide/advanced/update-from-icejs2"}},o={},c=[{value:"ice.js \u4e0e Rax App \u7684\u5dee\u5f02",id:"icejs-\u4e0e-rax-app-\u7684\u5dee\u5f02",level:2},{value:"Rax App \u9879\u76ee\u8fc1\u79fb",id:"rax-app-\u9879\u76ee\u8fc1\u79fb",level:2},{value:"\u5b89\u88c5",id:"\u5b89\u88c5",level:3},{value:"\u4f7f\u7528",id:"\u4f7f\u7528",level:3},{value:"\u6ce8\u610f\u26a0\ufe0f",id:"\u6ce8\u610f\ufe0f",level:3}],u={toc:c},d="wrapper";function m(e){let{components:t,...a}=e;return(0,n.kt)(d,(0,r.Z)({},u,a,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("p",null,"\u672c\u6587\u6863\u9762\u5411\u7684\u662f\u4f7f\u7528 Rax App \u7684\u5f00\u53d1\u8005\uff0c\u63d0\u4f9b\u8fc1\u79fb\u5230 ice.js \u7684\u65b9\u5f0f\u3002React \u7684\u793e\u533a\u751f\u6001\u663e\u8457\u4f18\u4e8e Rax\uff0c\u5207\u6362\u5230 React \u4e4b\u540e\u53ef\u4ee5\u4eab\u53d7\u5230\u66f4\u591a\u7684 React \u751f\u6001\uff0c\u590d\u7528\u590d\u6742\u573a\u666f\uff08\u5bcc\u6587\u672c\u3001\u8111\u56fe\u7b49\uff09\u793e\u533a\u751f\u6001\u53ef\u4ee5\u5927\u5e45\u5ea6\u964d\u4f4e\u6210\u672c\u3002"),(0,n.kt)("admonition",{type:"caution"},(0,n.kt)("p",{parentName:"admonition"},"\u5bf9\u4e8e Rax \u5c0f\u7a0b\u5e8f\u7684\u7528\u6237\uff0c\u5982\u679c\u4f60\u6ca1\u6709\u4f7f\u7528\u5230\u4ee5\u4e0b\u4e0e\u539f\u751f\u5c0f\u7a0b\u5e8f\u7ed3\u5408\u8f83\u4e3a\u7d27\u5bc6\u7684\u80fd\u529b\uff0c\u5219\u53ef\u4ee5\u6b63\u5e38\u53c2\u8003\u672c\u6587\u6863\u8fdb\u884c\u8fc1\u79fb\u3002"),(0,n.kt)("ul",{parentName:"admonition"},(0,n.kt)("li",{parentName:"ul"},"\u5f15\u5165\u539f\u751f app.js\u3001\u539f\u751f\u9875\u9762\u3001\u539f\u751f\u81ea\u5b9a\u4e49\u7ec4\u4ef6\u3001\u5c0f\u7a0b\u5e8f\u63d2\u4ef6"),(0,n.kt)("li",{parentName:"ul"},"\u5f15\u5165 Rax \u7f16\u8bd1\u65f6\u7ec4\u4ef6"),(0,n.kt)("li",{parentName:"ul"},"\u6ce8\u518c\u9875\u9762\u751f\u547d\u5468\u671f\u53ca\u4e8b\u4ef6"),(0,n.kt)("li",{parentName:"ul"},"\u5206\u5305\u52a0\u8f7d")),(0,n.kt)("p",{parentName:"admonition"},"\u5982\u679c\u4f7f\u7528\u5230\u4ee5\u4e0a\u80fd\u529b\uff0c\u5219\u9700\u8981\u53c2\u8003 ice.js \u6587\u6863\u8fdb\u884c\u76f8\u5e94\u80fd\u529b\u7684\u8fc1\u79fb\u3002")),(0,n.kt)("h2",{id:"icejs-\u4e0e-rax-app-\u7684\u5dee\u5f02"},"ice.js \u4e0e Rax App \u7684\u5dee\u5f02"),(0,n.kt)("p",null,"ice.js \u548c Rax App \u90fd\u662f\u5e94\u7528\u7814\u53d1\u6846\u67b6\uff0c\u5b83\u4eec\u9ed8\u8ba4\u4f7f\u7528\u7684 UI Framework \u4e0d\u540c\uff0c\u524d\u8005\u4f7f\u7528 React\uff0c\u800c\u540e\u8005\u4f7f\u7528 rax.js\u3002\u4f46\u662f\u5728 ice.js 3.x \u4e2d\uff0c\u4f60\u53ef\u4ee5\u4f7f\u7528 ",(0,n.kt)("a",{parentName:"p",href:"/docs/guide/advanced/rax-compat"},"Rax \u517c\u5bb9\u6a21\u5f0f"),"\u6765\u8fd0\u884c Rax \u7ec4\u4ef6\u3002"),(0,n.kt)("p",null,"\u6838\u5fc3\u5dee\u5f02\u5305\u62ec\uff1a"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"\u8def\u7531\u5dee\u5f02"),(0,n.kt)("li",{parentName:"ul"},"\u6784\u5efa\u914d\u7f6e\u5dee\u5f02"),(0,n.kt)("li",{parentName:"ul"},"\u8fd0\u884c\u65f6\u914d\u7f6e\u5dee\u5f02")),(0,n.kt)("h2",{id:"rax-app-\u9879\u76ee\u8fc1\u79fb"},"Rax App \u9879\u76ee\u8fc1\u79fb"),(0,n.kt)("p",null,"\u5bf9\u4e8e\u4e4b\u524d\u4f7f\u7528 Rax App \u7684\u7528\u6237\uff0c\u6211\u4eec\u63d0\u4f9b\u4e86\u9879\u76ee\u81ea\u52a8\u5316\u8fc1\u79fb\u5de5\u5177 ",(0,n.kt)("a",{parentName:"p",href:"https://www.npmjs.com/package/rax-migrate"},"rax-migrate"),"\uff0c\u5b83\u53ef\u4ee5\u8f85\u52a9\u5e73\u6ed1\u8fc1\u79fb\u5927\u90e8\u5206\u5de5\u7a0b\u914d\u7f6e\uff0c\u4e00\u4e9b\u65e0\u6cd5\u81ea\u52a8\u8fc1\u79fb\u7684\u529f\u80fd\u9700\u8981\u7528\u6237\u624b\u52a8\u786e\u8ba4\u3002"),(0,n.kt)("h3",{id:"\u5b89\u88c5"},"\u5b89\u88c5"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-bash"},"$ npm i rax-migrate -g\n")),(0,n.kt)("h3",{id:"\u4f7f\u7528"},"\u4f7f\u7528"),(0,n.kt)("p",null,"\u547d\u4ee4\u884c\u8fdb\u5165 rax-app \u5de5\u7a0b\uff08\u5982\u5de5\u7a0b\u540d\u4e3a rax-project\uff09\u6240\u5728\u7684\u76ee\u5f55\uff0c\u901a\u8fc7\u8fd0\u884c ",(0,n.kt)("inlineCode",{parentName:"p"},"rax-migrate")," \u53ef\u751f\u6210\u5bf9\u5e94\u914d\u7f6e\u7684\u540c\u76ee\u5f55\u4e0b\u7684 ice.js \u5de5\u7a0b\u3002"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-bash"},"$ rax-migrate transform ./rax-project \n")),(0,n.kt)("h3",{id:"\u6ce8\u610f\ufe0f"},"\u6ce8\u610f\u26a0\ufe0f"),(0,n.kt)("p",null,"\u8be5\u5de5\u5177\u4e0d\u662f\u5168\u81ea\u52a8\u8fc1\u79fb\u5de5\u5177\uff0c\u90e8\u5206\u529f\u80fd\u70b9\u65e0\u6cd5\u81ea\u52a8\u8fc1\u79fb\uff0c\u9700\u8981\u7528\u6237\u624b\u52a8\u786e\u8ba4\u4ee5\u53ca\u8fc1\u79fb\uff0c\u5305\u62ec\u4f46\u4e0d\u9650\u4e8e\uff1a"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"webpack \u63d2\u4ef6"),(0,n.kt)("li",{parentName:"ul"},"\u65e0\u6cd5\u5b8c\u5168\u5339\u914d\u7684\u5de5\u7a0b\u914d\u7f6e"),(0,n.kt)("li",{parentName:"ul"},"rax-migrate \u7684 warning \u4ee5\u53ca error \u8f93\u51fa"),(0,n.kt)("li",{parentName:"ul"},"...")))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/44d4f378.88274f25.js b/assets/js/44d4f378.88274f25.js deleted file mode 100644 index ff758cb3d7..0000000000 --- a/assets/js/44d4f378.88274f25.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkice_website_v3=self.webpackChunkice_website_v3||[]).push([[9068],{4852:(e,t,a)=>{a.d(t,{Zo:()=>u,kt:()=>f});var r=a(9231);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function p(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?i(Object(a),!0).forEach((function(t){n(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):i(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function l(e,t){if(null==e)return{};var a,r,n=function(e,t){if(null==e)return{};var a,r,n={},i=Object.keys(e);for(r=0;r<i.length;r++)a=i[r],t.indexOf(a)>=0||(n[a]=e[a]);return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)a=i[r],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}var o=r.createContext({}),c=function(e){var t=r.useContext(o),a=t;return e&&(a="function"==typeof e?e(t):p(p({},t),e)),a},u=function(e){var t=c(e.components);return r.createElement(o.Provider,{value:t},e.children)},d="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},s=r.forwardRef((function(e,t){var a=e.components,n=e.mdxType,i=e.originalType,o=e.parentName,u=l(e,["components","mdxType","originalType","parentName"]),d=c(a),s=n,f=d["".concat(o,".").concat(s)]||d[s]||m[s]||i;return a?r.createElement(f,p(p({ref:t},u),{},{components:a})):r.createElement(f,p({ref:t},u))}));function f(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var i=a.length,p=new Array(i);p[0]=s;var l={};for(var o in t)hasOwnProperty.call(t,o)&&(l[o]=t[o]);l.originalType=e,l[d]="string"==typeof e?e:n,p[1]=l;for(var c=2;c<i;c++)p[c]=a[c];return r.createElement.apply(null,p)}return r.createElement.apply(null,a)}s.displayName="MDXCreateElement"},8878:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>o,contentTitle:()=>p,default:()=>m,frontMatter:()=>i,metadata:()=>l,toc:()=>c});var r=a(5675),n=(a(9231),a(4852));const i={title:"\u4ece Rax App \u8fc1\u79fb",order:"0901"},p=void 0,l={unversionedId:"guide/advanced/integrate-from-rax",id:"guide/advanced/integrate-from-rax",title:"\u4ece Rax App \u8fc1\u79fb",description:"\u672c\u6587\u6863\u9762\u5411\u7684\u662f\u4f7f\u7528 Rax App \u7684\u5f00\u53d1\u8005\uff0c\u63d0\u4f9b\u8fc1\u79fb\u5230 ice.js \u7684\u65b9\u5f0f\u3002React \u7684\u793e\u533a\u751f\u6001\u663e\u8457\u4f18\u4e8e Rax\uff0c\u5207\u6362\u5230 React \u4e4b\u540e\u53ef\u4ee5\u4eab\u53d7\u5230\u66f4\u591a\u7684 React \u751f\u6001\uff0c\u590d\u7528\u590d\u6742\u573a\u666f\uff08\u5bcc\u6587\u672c\u3001\u8111\u56fe\u7b49\uff09\u793e\u533a\u751f\u6001\u53ef\u4ee5\u5927\u5e45\u5ea6\u964d\u4f4e\u6210\u672c\u3002",source:"@site/docs/guide/advanced/integrate-from-rax.md",sourceDirName:"guide/advanced",slug:"/guide/advanced/integrate-from-rax",permalink:"/docs/guide/advanced/integrate-from-rax",draft:!1,editUrl:"https://github.com/alibaba/ice/edit/master/website/docs/guide/advanced/integrate-from-rax.md",tags:[],version:"current",frontMatter:{title:"\u4ece Rax App \u8fc1\u79fb",order:"0901"},sidebar:"docs",previous:{title:"\u4f7f\u7528 Ant Design \u7ec4\u4ef6",permalink:"/docs/guide/advanced/antd"},next:{title:"\u4ece ice.js 2.x \u5347\u7ea7",permalink:"/docs/guide/advanced/update-from-icejs2"}},o={},c=[{value:"ice.js \u4e0e Rax App \u7684\u5dee\u5f02",id:"icejs-\u4e0e-rax-app-\u7684\u5dee\u5f02",level:2},{value:"Rax App \u9879\u76ee\u8fc1\u79fb",id:"rax-app-\u9879\u76ee\u8fc1\u79fb",level:2},{value:"\u5b89\u88c5",id:"\u5b89\u88c5",level:3},{value:"\u4f7f\u7528",id:"\u4f7f\u7528",level:3},{value:"\u6ce8\u610f\u26a0\ufe0f",id:"\u6ce8\u610f\ufe0f",level:3}],u={toc:c},d="wrapper";function m(e){let{components:t,...a}=e;return(0,n.kt)(d,(0,r.Z)({},u,a,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("p",null,"\u672c\u6587\u6863\u9762\u5411\u7684\u662f\u4f7f\u7528 Rax App \u7684\u5f00\u53d1\u8005\uff0c\u63d0\u4f9b\u8fc1\u79fb\u5230 ice.js \u7684\u65b9\u5f0f\u3002React \u7684\u793e\u533a\u751f\u6001\u663e\u8457\u4f18\u4e8e Rax\uff0c\u5207\u6362\u5230 React \u4e4b\u540e\u53ef\u4ee5\u4eab\u53d7\u5230\u66f4\u591a\u7684 React \u751f\u6001\uff0c\u590d\u7528\u590d\u6742\u573a\u666f\uff08\u5bcc\u6587\u672c\u3001\u8111\u56fe\u7b49\uff09\u793e\u533a\u751f\u6001\u53ef\u4ee5\u5927\u5e45\u5ea6\u964d\u4f4e\u6210\u672c\u3002"),(0,n.kt)("admonition",{type:"caution"},(0,n.kt)("p",{parentName:"admonition"},"\u5bf9\u4e8e Rax \u5c0f\u7a0b\u5e8f\u7684\u7528\u6237\uff0c\u5982\u679c\u4f60\u6ca1\u6709\u4f7f\u7528\u5230\u4ee5\u4e0b\u4e0e\u539f\u751f\u5c0f\u7a0b\u5e8f\u7ed3\u5408\u8f83\u4e3a\u7d27\u5bc6\u7684\u80fd\u529b\uff0c\u5219\u53ef\u4ee5\u6b63\u5e38\u53c2\u8003\u672c\u6587\u6863\u8fdb\u884c\u8fc1\u79fb\u3002"),(0,n.kt)("ul",{parentName:"admonition"},(0,n.kt)("li",{parentName:"ul"},"\u5f15\u5165\u539f\u751f app.js\u3001\u539f\u751f\u9875\u9762\u3001\u539f\u751f\u81ea\u5b9a\u4e49\u7ec4\u4ef6\u3001\u5c0f\u7a0b\u5e8f\u63d2\u4ef6"),(0,n.kt)("li",{parentName:"ul"},"\u5f15\u5165 Rax \u7f16\u8bd1\u65f6\u7ec4\u4ef6"),(0,n.kt)("li",{parentName:"ul"},"\u6ce8\u518c\u9875\u9762\u751f\u547d\u5468\u671f\u53ca\u4e8b\u4ef6"),(0,n.kt)("li",{parentName:"ul"},"\u5206\u5305\u52a0\u8f7d")),(0,n.kt)("p",{parentName:"admonition"},"\u5982\u679c\u4f7f\u7528\u5230\u4ee5\u4e0a\u80fd\u529b\uff0c\u5219\u9700\u8981\u53c2\u8003 ice.js \u6587\u6863\u8fdb\u884c\u76f8\u5e94\u80fd\u529b\u7684\u8fc1\u79fb\u3002")),(0,n.kt)("h2",{id:"icejs-\u4e0e-rax-app-\u7684\u5dee\u5f02"},"ice.js \u4e0e Rax App \u7684\u5dee\u5f02"),(0,n.kt)("p",null,"ice.js \u548c Rax App \u90fd\u662f\u5e94\u7528\u7814\u53d1\u6846\u67b6\uff0c\u5b83\u4eec\u9ed8\u8ba4\u4f7f\u7528\u7684 UI Framework \u4e0d\u540c\uff0c\u524d\u8005\u4f7f\u7528 React\uff0c\u800c\u540e\u8005\u4f7f\u7528 rax.js\u3002\u4f46\u662f\u5728 ice.js 3.x \u4e2d\uff0c\u4f60\u53ef\u4ee5\u4f7f\u7528 ",(0,n.kt)("a",{parentName:"p",href:"/docs/guide/advanced/rax-compat"},"Rax \u517c\u5bb9\u6a21\u5f0f"),"\u6765\u8fd0\u884c Rax \u7ec4\u4ef6\u3002"),(0,n.kt)("p",null,"\u6838\u5fc3\u5dee\u5f02\u5305\u62ec\uff1a"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"\u8def\u7531\u5dee\u5f02"),(0,n.kt)("li",{parentName:"ul"},"\u6784\u5efa\u914d\u7f6e\u5dee\u5f02"),(0,n.kt)("li",{parentName:"ul"},"\u8fd0\u884c\u65f6\u914d\u7f6e\u5dee\u5f02")),(0,n.kt)("h2",{id:"rax-app-\u9879\u76ee\u8fc1\u79fb"},"Rax App \u9879\u76ee\u8fc1\u79fb"),(0,n.kt)("p",null,"\u5bf9\u4e8e\u4e4b\u524d\u4f7f\u7528 Rax App \u7684\u7528\u6237\uff0c\u6211\u4eec\u63d0\u4f9b\u4e86\u9879\u76ee\u81ea\u52a8\u5316\u8fc1\u79fb\u5de5\u5177 ",(0,n.kt)("a",{parentName:"p",href:"https://www.npmjs.com/package/rax-migrate"},"rax-migrate"),"\uff0c\u5b83\u53ef\u4ee5\u8f85\u52a9\u5e73\u6ed1\u8fc1\u79fb\u5927\u90e8\u5206\u5de5\u7a0b\u914d\u7f6e\uff0c\u4e00\u4e9b\u65e0\u6cd5\u81ea\u52a8\u8fc1\u79fb\u7684\u529f\u80fd\u9700\u8981\u7528\u6237\u624b\u52a8\u786e\u8ba4\u3002"),(0,n.kt)("h3",{id:"\u5b89\u88c5"},"\u5b89\u88c5"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-bash"},"$ npm i rax-migrate -g\n")),(0,n.kt)("h3",{id:"\u4f7f\u7528"},"\u4f7f\u7528"),(0,n.kt)("p",null,"\u547d\u4ee4\u884c\u8fdb\u5165 rax-app \u5de5\u7a0b\uff08\u5982\u5de5\u7a0b\u540d\u4e3a rax-project\uff09\u6240\u5728\u7684\u76ee\u5f55\uff0c\u901a\u8fc7\u8fd0\u884c ",(0,n.kt)("inlineCode",{parentName:"p"},"rax-migrate")," \u53ef\u751f\u6210\u5bf9\u5e94\u914d\u7f6e\u7684\u540c\u76ee\u5f55\u4e0b\u7684 ice.js \u5de5\u7a0b\u3002"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-bash"},"$ rax-migrate transform ./rax-project \n")),(0,n.kt)("h3",{id:"\u6ce8\u610f\ufe0f"},"\u6ce8\u610f\u26a0\ufe0f"),(0,n.kt)("p",null,"\u8be5\u5de5\u5177\u4e0d\u662f\u5168\u81ea\u52a8\u8fc1\u79fb\u5de5\u5177\uff0c\u90e8\u5206\u529f\u80fd\u70b9\u65e0\u6cd5\u81ea\u52a8\u8fc1\u79fb\uff0c\u9700\u8981\u7528\u6237\u624b\u52a8\u786e\u8ba4\u4ee5\u53ca\u8fc1\u79fb\uff0c\u5305\u62ec\u4f46\u4e0d\u9650\u4e8e\uff1a"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"webpack \u63d2\u4ef6"),(0,n.kt)("li",{parentName:"ul"},"\u65e0\u6cd5\u5b8c\u5168\u5339\u914d\u7684\u5de5\u7a0b\u914d\u7f6e"),(0,n.kt)("li",{parentName:"ul"},"rax-migrate \u7684 warning \u4ee5\u53ca error \u8f93\u51fa"),(0,n.kt)("li",{parentName:"ul"},"...")))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/4575551f.2df3889b.js b/assets/js/4575551f.403879ed.js similarity index 98% rename from assets/js/4575551f.2df3889b.js rename to assets/js/4575551f.403879ed.js index 8c67356f4b..00711cb7c7 100644 --- a/assets/js/4575551f.2df3889b.js +++ b/assets/js/4575551f.403879ed.js @@ -1 +1 @@ -"use strict";(self.webpackChunkice_website_v3=self.webpackChunkice_website_v3||[]).push([[6144],{4852:(e,t,n)=>{n.d(t,{Zo:()=>d,kt:()=>m});var r=n(9231);function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function o(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?a(Object(n),!0).forEach((function(t){i(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):a(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function c(e,t){if(null==e)return{};var n,r,i=function(e,t){if(null==e)return{};var n,r,i={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var l=r.createContext({}),p=function(e){var t=r.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):o(o({},t),e)),n},d=function(e){var t=p(e.components);return r.createElement(l.Provider,{value:t},e.children)},s="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},f=r.forwardRef((function(e,t){var n=e.components,i=e.mdxType,a=e.originalType,l=e.parentName,d=c(e,["components","mdxType","originalType","parentName"]),s=p(n),f=i,m=s["".concat(l,".").concat(f)]||s[f]||u[f]||a;return n?r.createElement(m,o(o({ref:t},d),{},{components:n})):r.createElement(m,o({ref:t},d))}));function m(e,t){var n=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var a=n.length,o=new Array(a);o[0]=f;var c={};for(var l in t)hasOwnProperty.call(t,l)&&(c[l]=t[l]);c.originalType=e,c[s]="string"==typeof e?e:i,o[1]=c;for(var p=2;p<a;p++)o[p]=n[p];return r.createElement.apply(null,o)}return r.createElement.apply(null,n)}f.displayName="MDXCreateElement"},6952:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>o,default:()=>u,frontMatter:()=>a,metadata:()=>c,toc:()=>p});var r=n(5675),i=(n(9231),n(4852));const a={title:"\u4ee3\u7801\u5206\u5305"},o=void 0,c={unversionedId:"guide/advanced/code-splitting",id:"guide/advanced/code-splitting",title:"\u4ee3\u7801\u5206\u5305",description:"\u9ed8\u8ba4\u7b56\u7565",source:"@site/docs/guide/advanced/code-splitting.md",sourceDirName:"guide/advanced",slug:"/guide/advanced/code-splitting",permalink:"/docs/guide/advanced/code-splitting",draft:!1,editUrl:"https://github.com/alibaba/ice/edit/master/website/docs/guide/advanced/code-splitting.md",tags:[],version:"current",frontMatter:{title:"\u4ee3\u7801\u5206\u5305"},sidebar:"docs",previous:{title:"\u5fae\u524d\u7aef",permalink:"/docs/guide/advanced/icestark"},next:{title:"\u90e8\u7f72",permalink:"/docs/guide/advanced/deploy"}},l={},p=[{value:"\u9ed8\u8ba4\u7b56\u7565",id:"\u9ed8\u8ba4\u7b56\u7565",level:2},{value:"\u7ec4\u4ef6\u7ea7\u522b\u7684\u4ee3\u7801\u5206\u5272",id:"\u7ec4\u4ef6\u7ea7\u522b\u7684\u4ee3\u7801\u5206\u5272",level:2},{value:"\u63a7\u5236\u4e09\u65b9\u4f9d\u8d56\u7684\u5206\u5305",id:"\u63a7\u5236\u4e09\u65b9\u4f9d\u8d56\u7684\u5206\u5305",level:2}],d={toc:p},s="wrapper";function u(e){let{components:t,...n}=e;return(0,i.kt)(s,(0,r.Z)({},d,n,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("h2",{id:"\u9ed8\u8ba4\u7b56\u7565"},"\u9ed8\u8ba4\u7b56\u7565"),(0,i.kt)("p",null,"\u4e3a\u4e86\u7ed9\u9875\u9762\u63d0\u4f9b\u6700\u4f18\u7684\u6027\u80fd\uff0cice.js \u9ed8\u8ba4\u4ee5\u8def\u7531\u7ef4\u5ea6\u5206\u5272\u4ee3\u7801\uff0c\u6bcf\u4e2a\u8def\u7531\u4f1a\u751f\u6210\u4e00\u4e2a\u72ec\u7acb\u7684 js \u548c css\uff08\u5982\u679c\u6709 css \u6e90\u7801\uff09\uff0c\u53e6\u5916\u9ed8\u8ba4\u4f1a\u6839\u636e\u7b2c\u4e09\u65b9\u6a21\u5757\u4f53\u79ef\u81ea\u52a8\u62c6\u5206 ",(0,i.kt)("inlineCode",{parentName:"p"},"chunk"),"\uff0c\u6709\u53ef\u80fd\u4f1a\u51fa\u73b0\u591a\u4e2a\u4ea7\u7269\u5305\u3002"),(0,i.kt)("h2",{id:"\u7ec4\u4ef6\u7ea7\u522b\u7684\u4ee3\u7801\u5206\u5272"},"\u7ec4\u4ef6\u7ea7\u522b\u7684\u4ee3\u7801\u5206\u5272"),(0,i.kt)("p",null,"\u5982\u679c\u6784\u5efa\u4ea7\u7269\u8fc7\u5927\uff0c\u53ef\u4ee5\u8003\u8651\u628a\u4f53\u79ef\u8f83\u5927\u7684\u7ec4\u4ef6\u8fdb\u884c\u62c6\u5305\uff1a"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-jsx"},"import { lazy, Suspense } from 'react';\n// Avatar \u7ec4\u4ef6\u4f1a\u88ab\u5355\u72ec\u62c6\u5305\nconst Avatar = lazy(() => import('@/components/Avatar'));\n\nexport default function Home() {\n return (\n <div>\n <Avatar />\n </div>\n );\n}\n")),(0,i.kt)("h2",{id:"\u63a7\u5236\u4e09\u65b9\u4f9d\u8d56\u7684\u5206\u5305"},"\u63a7\u5236\u4e09\u65b9\u4f9d\u8d56\u7684\u5206\u5305"),(0,i.kt)("p",null,"\u4e09\u65b9\u4f9d\u8d56\u9ed8\u8ba4\u6839\u636e\u4f53\u79ef\u5927\u5c0f\u8fdb\u884c\u62c6\u5206\u3002\u5982\u679c\u4e09\u65b9\u4f9d\u8d56\u8fc7\u591a\uff0c\u5728\u67d0\u4e9b\u573a\u666f\u4e0b\u53ef\u80fd\u51fa\u73b0\u8f83\u591a\u7684\u7f51\u7edc\u8bf7\u6c42\uff0c\u5bfc\u81f4\u9875\u9762\u52a0\u8f7d\u901f\u5ea6\u8fc7\u6162\uff0c\u53ef\u5173\u95ed ",(0,i.kt)("a",{parentName:"p",href:"../basic/config#codesplitting"},"codeSplitting")," \u914d\u7f6e\uff1a"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-ts",metastring:'title="ice.config.mts"',title:'"ice.config.mts"'},"import { defineConfig } from '@ice/app';\n\nexport default defineConfig(() => ({\n codeSplitting: 'page',\n}))\n")))}u.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunkice_website_v3=self.webpackChunkice_website_v3||[]).push([[6144],{4852:(e,t,n)=>{n.d(t,{Zo:()=>d,kt:()=>m});var r=n(9231);function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function o(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?a(Object(n),!0).forEach((function(t){i(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):a(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function c(e,t){if(null==e)return{};var n,r,i=function(e,t){if(null==e)return{};var n,r,i={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var l=r.createContext({}),p=function(e){var t=r.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):o(o({},t),e)),n},d=function(e){var t=p(e.components);return r.createElement(l.Provider,{value:t},e.children)},s="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},f=r.forwardRef((function(e,t){var n=e.components,i=e.mdxType,a=e.originalType,l=e.parentName,d=c(e,["components","mdxType","originalType","parentName"]),s=p(n),f=i,m=s["".concat(l,".").concat(f)]||s[f]||u[f]||a;return n?r.createElement(m,o(o({ref:t},d),{},{components:n})):r.createElement(m,o({ref:t},d))}));function m(e,t){var n=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var a=n.length,o=new Array(a);o[0]=f;var c={};for(var l in t)hasOwnProperty.call(t,l)&&(c[l]=t[l]);c.originalType=e,c[s]="string"==typeof e?e:i,o[1]=c;for(var p=2;p<a;p++)o[p]=n[p];return r.createElement.apply(null,o)}return r.createElement.apply(null,n)}f.displayName="MDXCreateElement"},4036:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>o,default:()=>u,frontMatter:()=>a,metadata:()=>c,toc:()=>p});var r=n(5675),i=(n(9231),n(4852));const a={title:"\u4ee3\u7801\u5206\u5305"},o=void 0,c={unversionedId:"guide/advanced/code-splitting",id:"guide/advanced/code-splitting",title:"\u4ee3\u7801\u5206\u5305",description:"\u9ed8\u8ba4\u7b56\u7565",source:"@site/docs/guide/advanced/code-splitting.md",sourceDirName:"guide/advanced",slug:"/guide/advanced/code-splitting",permalink:"/docs/guide/advanced/code-splitting",draft:!1,editUrl:"https://github.com/alibaba/ice/edit/master/website/docs/guide/advanced/code-splitting.md",tags:[],version:"current",frontMatter:{title:"\u4ee3\u7801\u5206\u5305"},sidebar:"docs",previous:{title:"\u5fae\u524d\u7aef",permalink:"/docs/guide/advanced/icestark"},next:{title:"\u90e8\u7f72",permalink:"/docs/guide/advanced/deploy"}},l={},p=[{value:"\u9ed8\u8ba4\u7b56\u7565",id:"\u9ed8\u8ba4\u7b56\u7565",level:2},{value:"\u7ec4\u4ef6\u7ea7\u522b\u7684\u4ee3\u7801\u5206\u5272",id:"\u7ec4\u4ef6\u7ea7\u522b\u7684\u4ee3\u7801\u5206\u5272",level:2},{value:"\u63a7\u5236\u4e09\u65b9\u4f9d\u8d56\u7684\u5206\u5305",id:"\u63a7\u5236\u4e09\u65b9\u4f9d\u8d56\u7684\u5206\u5305",level:2}],d={toc:p},s="wrapper";function u(e){let{components:t,...n}=e;return(0,i.kt)(s,(0,r.Z)({},d,n,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("h2",{id:"\u9ed8\u8ba4\u7b56\u7565"},"\u9ed8\u8ba4\u7b56\u7565"),(0,i.kt)("p",null,"\u4e3a\u4e86\u7ed9\u9875\u9762\u63d0\u4f9b\u6700\u4f18\u7684\u6027\u80fd\uff0cice.js \u9ed8\u8ba4\u4ee5\u8def\u7531\u7ef4\u5ea6\u5206\u5272\u4ee3\u7801\uff0c\u6bcf\u4e2a\u8def\u7531\u4f1a\u751f\u6210\u4e00\u4e2a\u72ec\u7acb\u7684 js \u548c css\uff08\u5982\u679c\u6709 css \u6e90\u7801\uff09\uff0c\u53e6\u5916\u9ed8\u8ba4\u4f1a\u6839\u636e\u7b2c\u4e09\u65b9\u6a21\u5757\u4f53\u79ef\u81ea\u52a8\u62c6\u5206 ",(0,i.kt)("inlineCode",{parentName:"p"},"chunk"),"\uff0c\u6709\u53ef\u80fd\u4f1a\u51fa\u73b0\u591a\u4e2a\u4ea7\u7269\u5305\u3002"),(0,i.kt)("h2",{id:"\u7ec4\u4ef6\u7ea7\u522b\u7684\u4ee3\u7801\u5206\u5272"},"\u7ec4\u4ef6\u7ea7\u522b\u7684\u4ee3\u7801\u5206\u5272"),(0,i.kt)("p",null,"\u5982\u679c\u6784\u5efa\u4ea7\u7269\u8fc7\u5927\uff0c\u53ef\u4ee5\u8003\u8651\u628a\u4f53\u79ef\u8f83\u5927\u7684\u7ec4\u4ef6\u8fdb\u884c\u62c6\u5305\uff1a"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-jsx"},"import { lazy, Suspense } from 'react';\n// Avatar \u7ec4\u4ef6\u4f1a\u88ab\u5355\u72ec\u62c6\u5305\nconst Avatar = lazy(() => import('@/components/Avatar'));\n\nexport default function Home() {\n return (\n <div>\n <Avatar />\n </div>\n );\n}\n")),(0,i.kt)("h2",{id:"\u63a7\u5236\u4e09\u65b9\u4f9d\u8d56\u7684\u5206\u5305"},"\u63a7\u5236\u4e09\u65b9\u4f9d\u8d56\u7684\u5206\u5305"),(0,i.kt)("p",null,"\u4e09\u65b9\u4f9d\u8d56\u9ed8\u8ba4\u6839\u636e\u4f53\u79ef\u5927\u5c0f\u8fdb\u884c\u62c6\u5206\u3002\u5982\u679c\u4e09\u65b9\u4f9d\u8d56\u8fc7\u591a\uff0c\u5728\u67d0\u4e9b\u573a\u666f\u4e0b\u53ef\u80fd\u51fa\u73b0\u8f83\u591a\u7684\u7f51\u7edc\u8bf7\u6c42\uff0c\u5bfc\u81f4\u9875\u9762\u52a0\u8f7d\u901f\u5ea6\u8fc7\u6162\uff0c\u53ef\u5173\u95ed ",(0,i.kt)("a",{parentName:"p",href:"../basic/config#codesplitting"},"codeSplitting")," \u914d\u7f6e\uff1a"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-ts",metastring:'title="ice.config.mts"',title:'"ice.config.mts"'},"import { defineConfig } from '@ice/app';\n\nexport default defineConfig(() => ({\n codeSplitting: 'page',\n}))\n")))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/46b87924.69b531ac.js b/assets/js/46b87924.69b531ac.js new file mode 100644 index 0000000000..79acf96faa --- /dev/null +++ b/assets/js/46b87924.69b531ac.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkice_website_v3=self.webpackChunkice_website_v3||[]).push([[7669],{4852:(e,n,t)=>{t.d(n,{Zo:()=>l,kt:()=>m});var r=t(9231);function o(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function i(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function a(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?i(Object(t),!0).forEach((function(n){o(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):i(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function s(e,n){if(null==e)return{};var t,r,o=function(e,n){if(null==e)return{};var t,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)t=i[r],n.indexOf(t)>=0||(o[t]=e[t]);return o}(e,n);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)t=i[r],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(o[t]=e[t])}return o}var c=r.createContext({}),p=function(e){var n=r.useContext(c),t=n;return e&&(t="function"==typeof e?e(n):a(a({},n),e)),t},l=function(e){var n=p(e.components);return r.createElement(c.Provider,{value:n},e.children)},u="mdxType",d={inlineCode:"code",wrapper:function(e){var n=e.children;return r.createElement(r.Fragment,{},n)}},f=r.forwardRef((function(e,n){var t=e.components,o=e.mdxType,i=e.originalType,c=e.parentName,l=s(e,["components","mdxType","originalType","parentName"]),u=p(t),f=o,m=u["".concat(c,".").concat(f)]||u[f]||d[f]||i;return t?r.createElement(m,a(a({ref:n},l),{},{components:t})):r.createElement(m,a({ref:n},l))}));function m(e,n){var t=arguments,o=n&&n.mdxType;if("string"==typeof e||o){var i=t.length,a=new Array(i);a[0]=f;var s={};for(var c in n)hasOwnProperty.call(n,c)&&(s[c]=n[c]);s.originalType=e,s[u]="string"==typeof e?e:o,a[1]=s;for(var p=2;p<i;p++)a[p]=t[p];return r.createElement.apply(null,a)}return r.createElement.apply(null,t)}f.displayName="MDXCreateElement"},2201:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>a,default:()=>d,frontMatter:()=>i,metadata:()=>s,toc:()=>p});var r=t(5675),o=(t(9231),t(4852));const i={title:"\u4f7f\u7528\u539f\u5b50\u5316 CSS \u80fd\u529b",order:449},a=void 0,s={unversionedId:"guide/advanced/unocss",id:"guide/advanced/unocss",title:"\u4f7f\u7528\u539f\u5b50\u5316 CSS \u80fd\u529b",description:"\u539f\u5b50\u5316 CSS \u662f\u4e00\u79cd CSS \u5199\u6cd5\uff0c\u5b83\u5c06 CSS \u6837\u5f0f\u62c6\u5206\u6210\u4e00\u4e2a\u4e2a\u72ec\u7acb\u7684\u6837\u5f0f\uff0c\u6bcf\u4e2a\u6837\u5f0f\u53ea\u5305\u542b\u4e00\u4e2a\u5c5e\u6027\uff0c\u6bd4\u5982\uff1a",source:"@site/docs/guide/advanced/unocss.md",sourceDirName:"guide/advanced",slug:"/guide/advanced/unocss",permalink:"/docs/guide/advanced/unocss",draft:!1,editUrl:"https://github.com/alibaba/ice/edit/master/website/docs/guide/advanced/unocss.md",tags:[],version:"current",frontMatter:{title:"\u4f7f\u7528\u539f\u5b50\u5316 CSS \u80fd\u529b",order:449},sidebar:"docs",previous:{title:"\u4f7f\u7528 Ant Design \u7ec4\u4ef6",permalink:"/docs/guide/advanced/antd"},next:{title:"\u4ece Rax App \u8fc1\u79fb",permalink:"/docs/guide/advanced/integrate-from-rax"}},c={},p=[{value:"\u5f00\u542f\u63d2\u4ef6",id:"\u5f00\u542f\u63d2\u4ef6",level:2},{value:"\u914d\u7f6e",id:"\u914d\u7f6e",level:2}],l={toc:p},u="wrapper";function d(e){let{components:n,...t}=e;return(0,o.kt)(u,(0,r.Z)({},l,t,{components:n,mdxType:"MDXLayout"}),(0,o.kt)("p",null,"\u539f\u5b50\u5316 CSS \u662f\u4e00\u79cd CSS \u5199\u6cd5\uff0c\u5b83\u5c06 CSS \u6837\u5f0f\u62c6\u5206\u6210\u4e00\u4e2a\u4e2a\u72ec\u7acb\u7684\u6837\u5f0f\uff0c\u6bcf\u4e2a\u6837\u5f0f\u53ea\u5305\u542b\u4e00\u4e2a\u5c5e\u6027\uff0c\u6bd4\u5982\uff1a"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-css"},"/* \u539f\u5b50\u5316 CSS */\n.mt-10 {\n margin-top: 10px;\n}\n")),(0,o.kt)("p",null,"\u901a\u8fc7\u539f\u5b50\u5316 CSS \u80fd\u529b\uff0c\u53ef\u4ee5\u65b9\u4fbf\u5730\u652f\u6301\u54cd\u5e94\u5f0f\u5e03\u5c40\uff0c\u4ee5\u53ca\u51cf\u5c11 CSS \u6587\u4ef6\u4f53\u79ef\u3002"),(0,o.kt)("p",null,"ice.js \u5b98\u65b9\u63d0\u4f9b\u4e86 ",(0,o.kt)("inlineCode",{parentName:"p"},"@ice/plugin-unocss")," \u63d2\u4ef6\uff0c\u53ef\u4ee5\u65b9\u4fbf\u5f00\u53d1\u8fd9\u4e00\u952e\u5f00\u542f\u539f\u5b50\u5316 CSS \u80fd\u529b\u3002"),(0,o.kt)("h2",{id:"\u5f00\u542f\u63d2\u4ef6"},"\u5f00\u542f\u63d2\u4ef6"),(0,o.kt)("p",null,"\u5b89\u88c5\u63d2\u4ef6\uff1a"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-bash"},"$ npm i -D @ice/plugin-unocss\n")),(0,o.kt)("p",null,"\u5728 ",(0,o.kt)("inlineCode",{parentName:"p"},"ice.config.mts")," \u4e2d\u6dfb\u52a0\u63d2\u4ef6\uff1a"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-ts",metastring:'title="ice.config.mts"',title:'"ice.config.mts"'},"import { defineConfig } from '@ice/app';\nimport Unocss from '@ice/plugin-unocss';\n\nexport default defineConfig(() => ({\n plugins: [\n Unocss(),\n ]\n}));\n")),(0,o.kt)("h2",{id:"\u914d\u7f6e"},"\u914d\u7f6e"),(0,o.kt)("p",null,"\u4e3a\u4e86\u65b9\u4fbf\u5f00\u53d1\u8005\u4fbf\u6377\u4f7f\u7528\uff0c",(0,o.kt)("inlineCode",{parentName:"p"},"@ice/plugin-unocss")," \u5185\u7f6e\u4e86\u9ed8\u8ba4\u7684 ",(0,o.kt)("a",{parentName:"p",href:"https://unocss.dev/presets/uno"},"preset"),"\uff0c\u5f00\u53d1\u8005\u65e0\u9700\u989d\u5916\u914d\u7f6e\uff0c\u53ef\u4ee5\u901a\u8fc7\u63d2\u4ef6\u914d\u7f6e\u9879\u5bf9\u5185\u7f6e\u914d\u7f6e\u8fdb\u884c\u8986\u76d6\uff1a"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-ts",metastring:'title="ice.config.mts"',title:'"ice.config.mts"'},"import { defineConfig } from '@ice/app';\nimport Unocss from '@ice/plugin-unocss';\nimport {\n defineConfig,\n presetAttributify,\n presetIcons,\n presetTypography,\n presetUno,\n presetWebFonts,\n transformerDirectives,\n transformerVariantGroup\n} from 'unocss';\n\nexport default defineConfig(() => ({\n plugins: [\n Unocss({\n shortcuts: [\n // ...\n ],\n theme: {\n colors: {\n // ...\n }\n },\n presets: [\n presetUno(),\n presetAttributify(),\n presetIcons(),\n presetTypography(),\n presetWebFonts({\n fonts: {\n // ...\n },\n }),\n ],\n transformers: [\n transformerDirectives(),\n transformerVariantGroup(),\n ],\n }),\n ],\n}));\n\n")),(0,o.kt)("p",null,"\u63d2\u4ef6\u914d\u7f6e\u80fd\u529b\uff0c\u540c UnoCSS \u914d\u7f6e\u80fd\u529b\u4fdd\u6301\u4e00\u81f4\uff0c\u66f4\u591a\u914d\u7f6e\u80fd\u529b\uff0c\u8bf7\u53c2\u8003 ",(0,o.kt)("a",{parentName:"p",href:"https://unocss.dev/guide/config-file"},"UnoCSS \u914d\u7f6e\u6587\u6863"),"\u3002"))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/49854b32.926a9091.js b/assets/js/49854b32.926a9091.js deleted file mode 100644 index 2d94692aca..0000000000 --- a/assets/js/49854b32.926a9091.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkice_website_v3=self.webpackChunkice_website_v3||[]).push([[5343],{4852:(e,n,t)=>{t.d(n,{Zo:()=>c,kt:()=>k});var r=t(9231);function a(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function o(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function i(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?o(Object(t),!0).forEach((function(n){a(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):o(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function p(e,n){if(null==e)return{};var t,r,a=function(e,n){if(null==e)return{};var t,r,a={},o=Object.keys(e);for(r=0;r<o.length;r++)t=o[r],n.indexOf(t)>=0||(a[t]=e[t]);return a}(e,n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)t=o[r],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var s=r.createContext({}),l=function(e){var n=r.useContext(s),t=n;return e&&(t="function"==typeof e?e(n):i(i({},n),e)),t},c=function(e){var n=l(e.components);return r.createElement(s.Provider,{value:n},e.children)},m="mdxType",u={inlineCode:"code",wrapper:function(e){var n=e.children;return r.createElement(r.Fragment,{},n)}},d=r.forwardRef((function(e,n){var t=e.components,a=e.mdxType,o=e.originalType,s=e.parentName,c=p(e,["components","mdxType","originalType","parentName"]),m=l(t),d=a,k=m["".concat(s,".").concat(d)]||m[d]||u[d]||o;return t?r.createElement(k,i(i({ref:n},c),{},{components:t})):r.createElement(k,i({ref:n},c))}));function k(e,n){var t=arguments,a=n&&n.mdxType;if("string"==typeof e||a){var o=t.length,i=new Array(o);i[0]=d;var p={};for(var s in n)hasOwnProperty.call(n,s)&&(p[s]=n[s]);p.originalType=e,p[m]="string"==typeof e?e:a,i[1]=p;for(var l=2;l<o;l++)i[l]=t[l];return r.createElement.apply(null,i)}return r.createElement.apply(null,t)}d.displayName="MDXCreateElement"},3737:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>s,contentTitle:()=>i,default:()=>u,frontMatter:()=>o,metadata:()=>p,toc:()=>l});var r=t(5675),a=(t(9231),t(4852));const o={title:"\u6570\u636e\u6a21\u62df Mock",order:7},i=void 0,p={unversionedId:"guide/basic/mock",id:"guide/basic/mock",title:"\u6570\u636e\u6a21\u62df Mock",description:"\u5c0f\u7a0b\u5e8f\u7aef\u4e0d\u652f\u6301\u8be5\u80fd\u529b\u3002",source:"@site/docs/guide/basic/mock.md",sourceDirName:"guide/basic",slug:"/guide/basic/mock",permalink:"/docs/guide/basic/mock",draft:!1,editUrl:"https://github.com/alibaba/ice/edit/master/website/docs/guide/basic/mock.md",tags:[],version:"current",frontMatter:{title:"\u6570\u636e\u6a21\u62df Mock",order:7},sidebar:"docs",previous:{title:"\u9759\u6001\u8d44\u6e90",permalink:"/docs/guide/basic/assets"},next:{title:"\u6784\u5efa\u65f6\u6e32\u67d3 SSG",permalink:"/docs/guide/basic/ssg"}},s={},l=[{value:"\u76ee\u5f55\u7ea6\u5b9a",id:"\u76ee\u5f55\u7ea6\u5b9a",level:2},{value:"\u7f16\u5199 Mock \u63a5\u53e3",id:"\u7f16\u5199-mock-\u63a5\u53e3",level:2},{value:"\u8bf7\u6c42\u65b9\u6cd5",id:"\u8bf7\u6c42\u65b9\u6cd5",level:3},{value:"\u8fd4\u56de\u503c",id:"\u8fd4\u56de\u503c",level:3},{value:"\u5173\u95ed Mock",id:"\u5173\u95ed-mock",level:2},{value:"\u4f7f\u7528 Mock.js",id:"\u4f7f\u7528-mockjs",level:2},{value:"\u5904\u7406\u8bf7\u6c42\u6570\u636e",id:"\u5904\u7406\u8bf7\u6c42\u6570\u636e",level:2}],c={toc:l},m="wrapper";function u(e){let{components:n,...t}=e;return(0,a.kt)(m,(0,r.Z)({},c,t,{components:n,mdxType:"MDXLayout"}),(0,a.kt)("admonition",{type:"tip"},(0,a.kt)("p",{parentName:"admonition"},"\u5c0f\u7a0b\u5e8f\u7aef\u4e0d\u652f\u6301\u8be5\u80fd\u529b\u3002")),(0,a.kt)("p",null,"\u5728\u524d\u540e\u7aef\u5206\u79bb\u7684\u5f00\u53d1\u4e2d\uff0cMock \u6570\u636e\u662f\u524d\u7aef\u5f00\u53d1\u4e2d\u5f88\u91cd\u8981\u7684\u4e00\u4e2a\u73af\u8282\uff0c\u524d\u7aef\u53ef\u4ee5\u4e0d\u5fc5\u5f3a\u4f9d\u8d56\u540e\u7aef\u63a5\u53e3\uff0c\u53ea\u9700\u8981\u7ea6\u5b9a\u597d\u5bf9\u5e94\u7684\u6570\u636e\u63a5\u53e3\uff0c\u524d\u7aef\u53ef\u4ee5\u901a\u8fc7 Mock \u6a21\u62df\u6570\u636e\u5148\u884c\u5f00\u53d1\uff0c\u5728\u540e\u7aef\u63a5\u53e3\u5f00\u53d1\u5b8c\u6210\u540e\uff0c\u53ea\u9700\u8981\u5207\u6362\u5bf9\u5e94\u7684\u63a5\u53e3\u5730\u5740\u5373\u53ef\uff0c\u53ef\u4ee5\u4fdd\u8bc1\u9879\u76ee\u7684\u540c\u6b65\u5f00\u53d1\u3002"),(0,a.kt)("p",null,"ice.js \u63d0\u4f9b\u4e86\u5f00\u7bb1\u5373\u7528\u7684 Mock \u65b9\u6848\uff0c\u652f\u6301 CRUD \u7b49\u64cd\u4f5c\uff0c\u5728\u542f\u52a8\u672c\u5730\u8c03\u8bd5\u65f6\u4f1a\u81ea\u52a8\u542f\u7528 Mock \u670d\u52a1\u3002"),(0,a.kt)("h2",{id:"\u76ee\u5f55\u7ea6\u5b9a"},"\u76ee\u5f55\u7ea6\u5b9a"),(0,a.kt)("p",null,"\u53ea\u9700\u8981\u5728\u9879\u76ee\u76ee\u5f55\u4e0b\u65b0\u5efa ",(0,a.kt)("inlineCode",{parentName:"p"},"/mock")," \u76ee\u5f55\uff0c\u5e76\u589e\u52a0 ",(0,a.kt)("inlineCode",{parentName:"p"},"js")," \u6216 ",(0,a.kt)("inlineCode",{parentName:"p"},"ts")," \u6587\u4ef6\u4f5c\u4e3a ",(0,a.kt)("inlineCode",{parentName:"p"},"mock")," \u670d\u52a1\u6587\u4ef6\u3002\u6bd4\u5982\u6709\u4ee5\u4e0b\u7684\u76ee\u5f55\u7ed3\u6784\uff1a"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-markdown"},"\u251c\u2500\u2500 mock\n| \u251c\u2500\u2500 index.ts\n| \u2514\u2500\u2500 user.ts\n\u251c\u2500\u2500 src\n\u2514\u2500\u2500 package.json\n")),(0,a.kt)("p",null,(0,a.kt)("inlineCode",{parentName:"p"},"mock")," \u76ee\u5f55\u4e0b\u7684 ",(0,a.kt)("inlineCode",{parentName:"p"},"index.ts")," \u548c ",(0,a.kt)("inlineCode",{parentName:"p"},"user.ts")," \u4f1a\u88ab\u8bc6\u522b\u4e3a Mock \u670d\u52a1\u6587\u4ef6\u3002"),(0,a.kt)("p",null,"\u5982\u679c\u67d0\u4e9b\u6587\u4ef6\u4e0d\u9700\u8981\u88ab mock \u670d\u52a1\u89e3\u6790\uff0c\u53ef\u4ee5\u901a\u8fc7\u5de5\u7a0b\u914d\u7f6e\u8fdb\u884c\u81ea\u5b9a\u4e49\uff1a"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-js",metastring:'title="ice.config.mts"',title:'"ice.config.mts"'},'import { defineConfig } from \'@ice/app\';\n\nexport default defineConfig(() => ({\n mock: {\n // \u5ffd\u7565 mock \u76ee\u5f55\u4e2d custom \u76ee\u5f55\u4e0b\u7684\u6587\u4ef6\u4ee5\u53ca api.ts \u6587\u4ef6\n exclude: ["custom/**", "api.ts"]\n },\n}));\n')),(0,a.kt)("h2",{id:"\u7f16\u5199-mock-\u63a5\u53e3"},"\u7f16\u5199 Mock \u63a5\u53e3"),(0,a.kt)("p",null,"\u5728 mock \u670d\u52a1\u6587\u4ef6\u4e2d\u5199\u5165\u4ee5\u4e0b\u4ee3\u7801\uff1a"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-ts",metastring:'title="./mock/user.ts"',title:'"./mock/user.ts"'},"export default {\n 'GET /api/users': [\n { name: 'foo', id: 0 },\n { name: 'bar', id: 1 },\n ],\n}\n")),(0,a.kt)("p",null,"\u542f\u52a8\u8c03\u8bd5\u670d\u52a1\u540e\uff0c\u5047\u8bbe\u542f\u52a8\u7684\u7aef\u53e3\u662f ",(0,a.kt)("inlineCode",{parentName:"p"},"3000"),"\uff0c\u76f4\u63a5\u5728\u6d4f\u89c8\u5668\u91cc\u8bbf\u95ee ",(0,a.kt)("a",{parentName:"p",href:"http://127.0.0.1:3000/api/users"},"http://127.0.0.1:3000/api/users")," \u5373\u53ef\u770b\u5230\u63a5\u53e3\u8fd4\u56de\u6570\u636e\u3002"),(0,a.kt)("h3",{id:"\u8bf7\u6c42\u65b9\u6cd5"},"\u8bf7\u6c42\u65b9\u6cd5"),(0,a.kt)("p",null,"\u9ed8\u8ba4\u652f\u6301 ",(0,a.kt)("inlineCode",{parentName:"p"},"GET"),", ",(0,a.kt)("inlineCode",{parentName:"p"},"POST"),", ",(0,a.kt)("inlineCode",{parentName:"p"},"PUT"),", ",(0,a.kt)("inlineCode",{parentName:"p"},"DELETE"),", ",(0,a.kt)("inlineCode",{parentName:"p"},"PATCH"),", ",(0,a.kt)("inlineCode",{parentName:"p"},"HEAD"),", ",(0,a.kt)("inlineCode",{parentName:"p"},"OPTIONS")," \u8bf7\u6c42\u65b9\u6cd5\u3002\u793a\u4f8b\u4ee3\u7801\u5982\u4e0b\uff1a"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-ts"},"export default {\n // \u5f53 HTTP \u8bf7\u6c42\u65b9\u6cd5\u662f GET\uff0c\u53ef\u4ee5\u7701\u7565\u8bf7\u6c42\u65b9\u6cd5\n '/api/users': [{ name: 'foo', id: 1 }, { name: 'bar', id: 2 }],\n // \u7b49\u540c\u4e8e\u4e0a\u9762\u7684\u5199\u6cd5\n 'GET /api/users': [{ name: 'foo', id: 1 }, { name: 'bar', id: 2 }],\n\n 'POST /api/user': { users: [1, 2] },\n\n 'DELETE /api/users/1': { name: 'foo' },\n}\n")),(0,a.kt)("h3",{id:"\u8fd4\u56de\u503c"},"\u8fd4\u56de\u503c"),(0,a.kt)("p",null,"\u8fd4\u56de\u503c\u652f\u6301 ",(0,a.kt)("inlineCode",{parentName:"p"},"String"),"\u3001",(0,a.kt)("inlineCode",{parentName:"p"},"Array"),"\u3001",(0,a.kt)("inlineCode",{parentName:"p"},"Object")," \u7c7b\u578b\u3002\u6bd4\u5982\uff1a"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-ts"},"export default {\n // \u8fd4\u56de\u503c\u662f String \u7c7b\u578b\n 'GET /api/name': 'foo',\n // \u8fd4\u56de\u503c Array \u7c7b\u578b \n 'POST /api/users': [\n { name: 'foo', id: 0 },\n { name: 'bar', id: 1 },\n ],\n // \u8fd4\u56de\u503c\u662f Object \u7c7b\u578b\n 'DELETE /api/users/1': { name: 'bar', id: 1 },\n}\n")),(0,a.kt)("p",null,"\u9664\u6b64\u4ee5\u5916\uff0c\u8fd8\u53ef\u4ee5\u4f7f\u7528\u51fd\u6570\u7684\u5f62\u5f0f\u6765\u8ba1\u7b97\u8fd4\u56de\u503c\uff0c\u8fd9\u5728\u9700\u8981\u52a8\u6001\u8fd4\u56de\u63a5\u53e3\u6570\u636e\u65f6\u5f88\u6709\u7528\uff0c\u5982\uff1a"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-ts"},"import type { Request, Response } from '@ice/app';\n\nexport default {\n 'POST /api/users/:id': (request: Request, response: Response) => {\n const { id } = request.params;\n response.send({ id: id });\n },\n}\n")),(0,a.kt)("h2",{id:"\u5173\u95ed-mock"},"\u5173\u95ed Mock"),(0,a.kt)("p",null,"\u5f53\u540e\u7aef\u63a5\u53e3\u5f00\u53d1\u5b8c\u6210\u4ee5\u540e\u3002\u6b64\u65f6\u53ef\u4ee5\u901a\u8fc7\u4ee5\u4e0b\u547d\u4ee4\u5173\u95ed Mock \u670d\u52a1\uff1a"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-bash"},"# \u5173\u95ed Mock \u670d\u52a1\n$ npm run start -- --no-mock\n")),(0,a.kt)("p",null,"\u8fd9\u6837\u6211\u4eec\u53ef\u4ee5\u8bf7\u6c42\u5230\u540e\u7aef\u8fd4\u56de\u7684\u6570\u636e\u4e86\u3002"),(0,a.kt)("h2",{id:"\u4f7f\u7528-mockjs"},"\u4f7f\u7528 Mock.js"),(0,a.kt)("p",null,(0,a.kt)("a",{parentName:"p",href:"https://github.com/nuysoft/Mock"},"Mock.js")," \u662f\u4e00\u4e2a\u968f\u673a\u751f\u6210 mock \u6570\u636e\u7684\u5de5\u5177\u5e93\uff0c\u53ef\u4ee5\u5e2e\u52a9\u6211\u4eec\u5feb\u901f\u751f\u6210\u968f\u673a\u7684\u6a21\u62df\u6570\u636e\u3002"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-ts"},"import Mock from 'mockjs';\n\nexport default {\n 'GET /api/list': (req, res) => {\n const list = Mock.mock({\n 'list|1-10': [\n {\n 'id|+1': 1,\n },\n ],\n });\n res.send({\n status: 'SUCCESS',\n data: {\n list,\n }\n });\n },\n};\n")),(0,a.kt)("p",null,"\u5b8c\u6574\u7684\u8bed\u6cd5\u8bf7\u53c2\u8003 ",(0,a.kt)("a",{parentName:"p",href:"http://mockjs.com/examples.html"},"Mock.js \u6587\u6863"),"\u3002"),(0,a.kt)("h2",{id:"\u5904\u7406\u8bf7\u6c42\u6570\u636e"},"\u5904\u7406\u8bf7\u6c42\u6570\u636e"),(0,a.kt)("p",null,"\u5982\u679c\u7528\u6237\u5e0c\u671b\u4f7f\u7528\u4e00\u4e9b\u4e2d\u95f4\u4ef6\u6765\u5904\u7406\u8bf7\u6c42\u7684\u6570\u636e\uff08",(0,a.kt)("inlineCode",{parentName:"p"},"req")," \u5bf9\u8c61\uff09\uff0c\u53ef\u4ee5\u53c2\u8003\u4ee5\u4e0b\u7684\u793a\u4f8b\u4ee3\u7801\uff1a"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-ts"},"import bodyParser from 'body-parser';\nimport type { Request, Response } from 'express';\n\nexport default {\n 'POST /api/login': (req: Request, res: Response) => {\n bodyParser.json({ limit: '5mb', strict: false })(req, res, () => {\n console.log(req.body);\n\n res.send({});\n })\n },\n}\n")))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/49854b32.b4ac8119.js b/assets/js/49854b32.b4ac8119.js new file mode 100644 index 0000000000..95e2acbb57 --- /dev/null +++ b/assets/js/49854b32.b4ac8119.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkice_website_v3=self.webpackChunkice_website_v3||[]).push([[5343],{4852:(e,n,t)=>{t.d(n,{Zo:()=>c,kt:()=>k});var r=t(9231);function a(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function o(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function i(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?o(Object(t),!0).forEach((function(n){a(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):o(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function p(e,n){if(null==e)return{};var t,r,a=function(e,n){if(null==e)return{};var t,r,a={},o=Object.keys(e);for(r=0;r<o.length;r++)t=o[r],n.indexOf(t)>=0||(a[t]=e[t]);return a}(e,n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)t=o[r],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var s=r.createContext({}),l=function(e){var n=r.useContext(s),t=n;return e&&(t="function"==typeof e?e(n):i(i({},n),e)),t},c=function(e){var n=l(e.components);return r.createElement(s.Provider,{value:n},e.children)},m="mdxType",u={inlineCode:"code",wrapper:function(e){var n=e.children;return r.createElement(r.Fragment,{},n)}},d=r.forwardRef((function(e,n){var t=e.components,a=e.mdxType,o=e.originalType,s=e.parentName,c=p(e,["components","mdxType","originalType","parentName"]),m=l(t),d=a,k=m["".concat(s,".").concat(d)]||m[d]||u[d]||o;return t?r.createElement(k,i(i({ref:n},c),{},{components:t})):r.createElement(k,i({ref:n},c))}));function k(e,n){var t=arguments,a=n&&n.mdxType;if("string"==typeof e||a){var o=t.length,i=new Array(o);i[0]=d;var p={};for(var s in n)hasOwnProperty.call(n,s)&&(p[s]=n[s]);p.originalType=e,p[m]="string"==typeof e?e:a,i[1]=p;for(var l=2;l<o;l++)i[l]=t[l];return r.createElement.apply(null,i)}return r.createElement.apply(null,t)}d.displayName="MDXCreateElement"},630:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>s,contentTitle:()=>i,default:()=>u,frontMatter:()=>o,metadata:()=>p,toc:()=>l});var r=t(5675),a=(t(9231),t(4852));const o={title:"\u6570\u636e\u6a21\u62df Mock",order:7},i=void 0,p={unversionedId:"guide/basic/mock",id:"guide/basic/mock",title:"\u6570\u636e\u6a21\u62df Mock",description:"\u5c0f\u7a0b\u5e8f\u7aef\u4e0d\u652f\u6301\u8be5\u80fd\u529b\u3002",source:"@site/docs/guide/basic/mock.md",sourceDirName:"guide/basic",slug:"/guide/basic/mock",permalink:"/docs/guide/basic/mock",draft:!1,editUrl:"https://github.com/alibaba/ice/edit/master/website/docs/guide/basic/mock.md",tags:[],version:"current",frontMatter:{title:"\u6570\u636e\u6a21\u62df Mock",order:7},sidebar:"docs",previous:{title:"\u9759\u6001\u8d44\u6e90",permalink:"/docs/guide/basic/assets"},next:{title:"\u6784\u5efa\u65f6\u6e32\u67d3 SSG",permalink:"/docs/guide/basic/ssg"}},s={},l=[{value:"\u76ee\u5f55\u7ea6\u5b9a",id:"\u76ee\u5f55\u7ea6\u5b9a",level:2},{value:"\u7f16\u5199 Mock \u63a5\u53e3",id:"\u7f16\u5199-mock-\u63a5\u53e3",level:2},{value:"\u8bf7\u6c42\u65b9\u6cd5",id:"\u8bf7\u6c42\u65b9\u6cd5",level:3},{value:"\u8fd4\u56de\u503c",id:"\u8fd4\u56de\u503c",level:3},{value:"\u5173\u95ed Mock",id:"\u5173\u95ed-mock",level:2},{value:"\u4f7f\u7528 Mock.js",id:"\u4f7f\u7528-mockjs",level:2},{value:"\u5904\u7406\u8bf7\u6c42\u6570\u636e",id:"\u5904\u7406\u8bf7\u6c42\u6570\u636e",level:2}],c={toc:l},m="wrapper";function u(e){let{components:n,...t}=e;return(0,a.kt)(m,(0,r.Z)({},c,t,{components:n,mdxType:"MDXLayout"}),(0,a.kt)("admonition",{type:"tip"},(0,a.kt)("p",{parentName:"admonition"},"\u5c0f\u7a0b\u5e8f\u7aef\u4e0d\u652f\u6301\u8be5\u80fd\u529b\u3002")),(0,a.kt)("p",null,"\u5728\u524d\u540e\u7aef\u5206\u79bb\u7684\u5f00\u53d1\u4e2d\uff0cMock \u6570\u636e\u662f\u524d\u7aef\u5f00\u53d1\u4e2d\u5f88\u91cd\u8981\u7684\u4e00\u4e2a\u73af\u8282\uff0c\u524d\u7aef\u53ef\u4ee5\u4e0d\u5fc5\u5f3a\u4f9d\u8d56\u540e\u7aef\u63a5\u53e3\uff0c\u53ea\u9700\u8981\u7ea6\u5b9a\u597d\u5bf9\u5e94\u7684\u6570\u636e\u63a5\u53e3\uff0c\u524d\u7aef\u53ef\u4ee5\u901a\u8fc7 Mock \u6a21\u62df\u6570\u636e\u5148\u884c\u5f00\u53d1\uff0c\u5728\u540e\u7aef\u63a5\u53e3\u5f00\u53d1\u5b8c\u6210\u540e\uff0c\u53ea\u9700\u8981\u5207\u6362\u5bf9\u5e94\u7684\u63a5\u53e3\u5730\u5740\u5373\u53ef\uff0c\u53ef\u4ee5\u4fdd\u8bc1\u9879\u76ee\u7684\u540c\u6b65\u5f00\u53d1\u3002"),(0,a.kt)("p",null,"ice.js \u63d0\u4f9b\u4e86\u5f00\u7bb1\u5373\u7528\u7684 Mock \u65b9\u6848\uff0c\u652f\u6301 CRUD \u7b49\u64cd\u4f5c\uff0c\u5728\u542f\u52a8\u672c\u5730\u8c03\u8bd5\u65f6\u4f1a\u81ea\u52a8\u542f\u7528 Mock \u670d\u52a1\u3002"),(0,a.kt)("h2",{id:"\u76ee\u5f55\u7ea6\u5b9a"},"\u76ee\u5f55\u7ea6\u5b9a"),(0,a.kt)("p",null,"\u53ea\u9700\u8981\u5728\u9879\u76ee\u76ee\u5f55\u4e0b\u65b0\u5efa ",(0,a.kt)("inlineCode",{parentName:"p"},"/mock")," \u76ee\u5f55\uff0c\u5e76\u589e\u52a0 ",(0,a.kt)("inlineCode",{parentName:"p"},"js")," \u6216 ",(0,a.kt)("inlineCode",{parentName:"p"},"ts")," \u6587\u4ef6\u4f5c\u4e3a ",(0,a.kt)("inlineCode",{parentName:"p"},"mock")," \u670d\u52a1\u6587\u4ef6\u3002\u6bd4\u5982\u6709\u4ee5\u4e0b\u7684\u76ee\u5f55\u7ed3\u6784\uff1a"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-markdown"},"\u251c\u2500\u2500 mock\n| \u251c\u2500\u2500 index.ts\n| \u2514\u2500\u2500 user.ts\n\u251c\u2500\u2500 src\n\u2514\u2500\u2500 package.json\n")),(0,a.kt)("p",null,(0,a.kt)("inlineCode",{parentName:"p"},"mock")," \u76ee\u5f55\u4e0b\u7684 ",(0,a.kt)("inlineCode",{parentName:"p"},"index.ts")," \u548c ",(0,a.kt)("inlineCode",{parentName:"p"},"user.ts")," \u4f1a\u88ab\u8bc6\u522b\u4e3a Mock \u670d\u52a1\u6587\u4ef6\u3002"),(0,a.kt)("p",null,"\u5982\u679c\u67d0\u4e9b\u6587\u4ef6\u4e0d\u9700\u8981\u88ab mock \u670d\u52a1\u89e3\u6790\uff0c\u53ef\u4ee5\u901a\u8fc7\u5de5\u7a0b\u914d\u7f6e\u8fdb\u884c\u81ea\u5b9a\u4e49\uff1a"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-js",metastring:'title="ice.config.mts"',title:'"ice.config.mts"'},'import { defineConfig } from \'@ice/app\';\n\nexport default defineConfig(() => ({\n mock: {\n // \u5ffd\u7565 mock \u76ee\u5f55\u4e2d custom \u76ee\u5f55\u4e0b\u7684\u6587\u4ef6\u4ee5\u53ca api.ts \u6587\u4ef6\n exclude: ["custom/**", "api.ts"]\n },\n}));\n')),(0,a.kt)("h2",{id:"\u7f16\u5199-mock-\u63a5\u53e3"},"\u7f16\u5199 Mock \u63a5\u53e3"),(0,a.kt)("p",null,"\u5728 mock \u670d\u52a1\u6587\u4ef6\u4e2d\u5199\u5165\u4ee5\u4e0b\u4ee3\u7801\uff1a"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-ts",metastring:'title="./mock/user.ts"',title:'"./mock/user.ts"'},"export default {\n 'GET /api/users': [\n { name: 'foo', id: 0 },\n { name: 'bar', id: 1 },\n ],\n}\n")),(0,a.kt)("p",null,"\u542f\u52a8\u8c03\u8bd5\u670d\u52a1\u540e\uff0c\u5047\u8bbe\u542f\u52a8\u7684\u7aef\u53e3\u662f ",(0,a.kt)("inlineCode",{parentName:"p"},"3000"),"\uff0c\u76f4\u63a5\u5728\u6d4f\u89c8\u5668\u91cc\u8bbf\u95ee ",(0,a.kt)("a",{parentName:"p",href:"http://127.0.0.1:3000/api/users"},"http://127.0.0.1:3000/api/users")," \u5373\u53ef\u770b\u5230\u63a5\u53e3\u8fd4\u56de\u6570\u636e\u3002"),(0,a.kt)("h3",{id:"\u8bf7\u6c42\u65b9\u6cd5"},"\u8bf7\u6c42\u65b9\u6cd5"),(0,a.kt)("p",null,"\u9ed8\u8ba4\u652f\u6301 ",(0,a.kt)("inlineCode",{parentName:"p"},"GET"),", ",(0,a.kt)("inlineCode",{parentName:"p"},"POST"),", ",(0,a.kt)("inlineCode",{parentName:"p"},"PUT"),", ",(0,a.kt)("inlineCode",{parentName:"p"},"DELETE"),", ",(0,a.kt)("inlineCode",{parentName:"p"},"PATCH"),", ",(0,a.kt)("inlineCode",{parentName:"p"},"HEAD"),", ",(0,a.kt)("inlineCode",{parentName:"p"},"OPTIONS")," \u8bf7\u6c42\u65b9\u6cd5\u3002\u793a\u4f8b\u4ee3\u7801\u5982\u4e0b\uff1a"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-ts"},"export default {\n // \u5f53 HTTP \u8bf7\u6c42\u65b9\u6cd5\u662f GET\uff0c\u53ef\u4ee5\u7701\u7565\u8bf7\u6c42\u65b9\u6cd5\n '/api/users': [{ name: 'foo', id: 1 }, { name: 'bar', id: 2 }],\n // \u7b49\u540c\u4e8e\u4e0a\u9762\u7684\u5199\u6cd5\n 'GET /api/users': [{ name: 'foo', id: 1 }, { name: 'bar', id: 2 }],\n\n 'POST /api/user': { users: [1, 2] },\n\n 'DELETE /api/users/1': { name: 'foo' },\n}\n")),(0,a.kt)("h3",{id:"\u8fd4\u56de\u503c"},"\u8fd4\u56de\u503c"),(0,a.kt)("p",null,"\u8fd4\u56de\u503c\u652f\u6301 ",(0,a.kt)("inlineCode",{parentName:"p"},"String"),"\u3001",(0,a.kt)("inlineCode",{parentName:"p"},"Array"),"\u3001",(0,a.kt)("inlineCode",{parentName:"p"},"Object")," \u7c7b\u578b\u3002\u6bd4\u5982\uff1a"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-ts"},"export default {\n // \u8fd4\u56de\u503c\u662f String \u7c7b\u578b\n 'GET /api/name': 'foo',\n // \u8fd4\u56de\u503c Array \u7c7b\u578b \n 'POST /api/users': [\n { name: 'foo', id: 0 },\n { name: 'bar', id: 1 },\n ],\n // \u8fd4\u56de\u503c\u662f Object \u7c7b\u578b\n 'DELETE /api/users/1': { name: 'bar', id: 1 },\n}\n")),(0,a.kt)("p",null,"\u9664\u6b64\u4ee5\u5916\uff0c\u8fd8\u53ef\u4ee5\u4f7f\u7528\u51fd\u6570\u7684\u5f62\u5f0f\u6765\u8ba1\u7b97\u8fd4\u56de\u503c\uff0c\u8fd9\u5728\u9700\u8981\u52a8\u6001\u8fd4\u56de\u63a5\u53e3\u6570\u636e\u65f6\u5f88\u6709\u7528\uff0c\u5982\uff1a"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-ts"},"import type { Request, Response } from '@ice/app';\n\nexport default {\n 'POST /api/users/:id': (request: Request, response: Response) => {\n const { id } = request.params;\n response.send({ id: id });\n },\n}\n")),(0,a.kt)("h2",{id:"\u5173\u95ed-mock"},"\u5173\u95ed Mock"),(0,a.kt)("p",null,"\u5f53\u540e\u7aef\u63a5\u53e3\u5f00\u53d1\u5b8c\u6210\u4ee5\u540e\u3002\u6b64\u65f6\u53ef\u4ee5\u901a\u8fc7\u4ee5\u4e0b\u547d\u4ee4\u5173\u95ed Mock \u670d\u52a1\uff1a"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-bash"},"# \u5173\u95ed Mock \u670d\u52a1\n$ npm run start -- --no-mock\n")),(0,a.kt)("p",null,"\u8fd9\u6837\u6211\u4eec\u53ef\u4ee5\u8bf7\u6c42\u5230\u540e\u7aef\u8fd4\u56de\u7684\u6570\u636e\u4e86\u3002"),(0,a.kt)("h2",{id:"\u4f7f\u7528-mockjs"},"\u4f7f\u7528 Mock.js"),(0,a.kt)("p",null,(0,a.kt)("a",{parentName:"p",href:"https://github.com/nuysoft/Mock"},"Mock.js")," \u662f\u4e00\u4e2a\u968f\u673a\u751f\u6210 mock \u6570\u636e\u7684\u5de5\u5177\u5e93\uff0c\u53ef\u4ee5\u5e2e\u52a9\u6211\u4eec\u5feb\u901f\u751f\u6210\u968f\u673a\u7684\u6a21\u62df\u6570\u636e\u3002"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-ts"},"import Mock from 'mockjs';\n\nexport default {\n 'GET /api/list': (req, res) => {\n const list = Mock.mock({\n 'list|1-10': [\n {\n 'id|+1': 1,\n },\n ],\n });\n res.send({\n status: 'SUCCESS',\n data: {\n list,\n }\n });\n },\n};\n")),(0,a.kt)("p",null,"\u5b8c\u6574\u7684\u8bed\u6cd5\u8bf7\u53c2\u8003 ",(0,a.kt)("a",{parentName:"p",href:"http://mockjs.com/examples.html"},"Mock.js \u6587\u6863"),"\u3002"),(0,a.kt)("h2",{id:"\u5904\u7406\u8bf7\u6c42\u6570\u636e"},"\u5904\u7406\u8bf7\u6c42\u6570\u636e"),(0,a.kt)("p",null,"\u5982\u679c\u7528\u6237\u5e0c\u671b\u4f7f\u7528\u4e00\u4e9b\u4e2d\u95f4\u4ef6\u6765\u5904\u7406\u8bf7\u6c42\u7684\u6570\u636e\uff08",(0,a.kt)("inlineCode",{parentName:"p"},"req")," \u5bf9\u8c61\uff09\uff0c\u53ef\u4ee5\u53c2\u8003\u4ee5\u4e0b\u7684\u793a\u4f8b\u4ee3\u7801\uff1a"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-ts"},"import bodyParser from 'body-parser';\nimport type { Request, Response } from 'express';\n\nexport default {\n 'POST /api/login': (req: Request, res: Response) => {\n bodyParser.json({ limit: '5mb', strict: false })(req, res, () => {\n console.log(req.body);\n\n res.send({});\n })\n },\n}\n")))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/4d662f9a.3921879c.js b/assets/js/4d662f9a.54d47725.js similarity index 99% rename from assets/js/4d662f9a.3921879c.js rename to assets/js/4d662f9a.54d47725.js index 85aa291c4c..d315bced78 100644 --- a/assets/js/4d662f9a.3921879c.js +++ b/assets/js/4d662f9a.54d47725.js @@ -1 +1 @@ -"use strict";(self.webpackChunkice_website_v3=self.webpackChunkice_website_v3||[]).push([[921],{4852:(e,t,n)=>{n.d(t,{Zo:()=>u,kt:()=>k});var a=n(9231);function l(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function i(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?r(Object(n),!0).forEach((function(t){l(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):r(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function p(e,t){if(null==e)return{};var n,a,l=function(e,t){if(null==e)return{};var n,a,l={},r=Object.keys(e);for(a=0;a<r.length;a++)n=r[a],t.indexOf(n)>=0||(l[n]=e[n]);return l}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(a=0;a<r.length;a++)n=r[a],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(l[n]=e[n])}return l}var o=a.createContext({}),s=function(e){var t=a.useContext(o),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},u=function(e){var t=s(e.components);return a.createElement(o.Provider,{value:t},e.children)},c="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},m=a.forwardRef((function(e,t){var n=e.components,l=e.mdxType,r=e.originalType,o=e.parentName,u=p(e,["components","mdxType","originalType","parentName"]),c=s(n),m=l,k=c["".concat(o,".").concat(m)]||c[m]||d[m]||r;return n?a.createElement(k,i(i({ref:t},u),{},{components:n})):a.createElement(k,i({ref:t},u))}));function k(e,t){var n=arguments,l=t&&t.mdxType;if("string"==typeof e||l){var r=n.length,i=new Array(r);i[0]=m;var p={};for(var o in t)hasOwnProperty.call(t,o)&&(p[o]=t[o]);p.originalType=e,p[c]="string"==typeof e?e:l,i[1]=p;for(var s=2;s<r;s++)i[s]=n[s];return a.createElement.apply(null,i)}return a.createElement.apply(null,n)}m.displayName="MDXCreateElement"},3743:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>o,contentTitle:()=>i,default:()=>d,frontMatter:()=>r,metadata:()=>p,toc:()=>s});var a=n(5675),l=(n(9231),n(4852));const r={order:384},i="JSX+",p={unversionedId:"guide/advanced/jsx-plus",id:"guide/advanced/jsx-plus",title:"JSX+",description:"\u8be5\u63d2\u4ef6\u652f\u6301\u4e86\u4e00\u79cd JSX \u6269\u5c55\u8bed\u6cd5 JSX+\uff0c\u5b83\u80fd\u5e2e\u52a9\u4e1a\u52a1\u5f00\u53d1\u8005\u66f4\u723d\u66f4\u5feb\u5730\u4e66\u5199 JSX\u3002JSX+ \u4e0d\u662f\u4e00\u79cd\u65b0\u7684\u6982\u5ff5\uff0c\u5b83\u662f JSX \u57fa\u7840\u4e0a\u7684\u6269\u5c55\u6307\u4ee4\u6982\u5ff5\u3002",source:"@site/docs/guide/advanced/jsx-plus.md",sourceDirName:"guide/advanced",slug:"/guide/advanced/jsx-plus",permalink:"/docs/guide/advanced/jsx-plus",draft:!1,editUrl:"https://github.com/alibaba/ice/edit/master/website/docs/guide/advanced/jsx-plus.md",tags:[],version:"current",frontMatter:{order:384},sidebar:"docs",previous:{title:"\u6743\u9650\u7ba1\u7406",permalink:"/docs/guide/advanced/auth"},next:{title:"\u7ec4\u4ef6\u7f13\u5b58",permalink:"/docs/guide/advanced/keep-alive"}},o={},s=[{value:"\u4e3a\u4ec0\u4e48\u9700\u8981 JSX+",id:"\u4e3a\u4ec0\u4e48\u9700\u8981-jsx",level:2},{value:"\u5b89\u88c5\u4f7f\u7528",id:"\u5b89\u88c5\u4f7f\u7528",level:2},{value:"\u6307\u4ee4\u8bed\u6cd5",id:"\u6307\u4ee4\u8bed\u6cd5",level:2},{value:"1. \u6761\u4ef6\u5224\u65ad",id:"1-\u6761\u4ef6\u5224\u65ad",level:3},{value:"2. \u5faa\u73af\u5217\u8868",id:"2-\u5faa\u73af\u5217\u8868",level:3},{value:"3. \u5355\u6b21\u6e32\u67d3",id:"3-\u5355\u6b21\u6e32\u67d3",level:3},{value:"4. \u63d2\u69fd\u6307\u4ee4",id:"4-\u63d2\u69fd\u6307\u4ee4",level:3},{value:"5. Fragment \u7ec4\u4ef6",id:"5-fragment-\u7ec4\u4ef6",level:3},{value:"6. \u7c7b\u540d\u7ed1\u5b9a",id:"6-\u7c7b\u540d\u7ed1\u5b9a",level:3}],u={toc:s},c="wrapper";function d(e){let{components:t,...n}=e;return(0,l.kt)(c,(0,a.Z)({},u,n,{components:t,mdxType:"MDXLayout"}),(0,l.kt)("h1",{id:"jsx"},"JSX+"),(0,l.kt)("p",null,"\u8be5\u63d2\u4ef6\u652f\u6301\u4e86\u4e00\u79cd JSX \u6269\u5c55\u8bed\u6cd5 JSX+\uff0c\u5b83\u80fd\u5e2e\u52a9\u4e1a\u52a1\u5f00\u53d1\u8005\u66f4\u723d\u66f4\u5feb\u5730\u4e66\u5199 JSX\u3002JSX+ \u4e0d\u662f\u4e00\u79cd\u65b0\u7684\u6982\u5ff5\uff0c\u5b83\u662f JSX \u57fa\u7840\u4e0a\u7684\u6269\u5c55\u6307\u4ee4\u6982\u5ff5\u3002"),(0,l.kt)("h2",{id:"\u4e3a\u4ec0\u4e48\u9700\u8981-jsx"},"\u4e3a\u4ec0\u4e48\u9700\u8981 JSX+"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"JSX \u867d\u7136\u8bed\u6cd5\u7075\u6d3b\uff0c\u4f46\u662f\u5927\u91cf\u7684\u82b1\u62ec\u53f7 + JS \u8bed\u6cd5\u5bfc\u81f4\u4e86\u4e0a\u4e0b\u6587\u5207\u6362\u548c\u4ee3\u7801\u53ef\u8bfb\u6027\u7684\u4e0b\u964d\uff0cJSX+ \u7684\u6307\u4ee4\u5f88\u597d\u7684\u89e3\u51b3\u4e86\u8fd9\u4e2a\u95ee\u9898"),(0,l.kt)("li",{parentName:"ul"},"JSX \u672c\u8d28\u662f JS \u8868\u8fbe\u5f0f\uff0c\u5728\u8fd0\u884c\u65f6\u9636\u6bb5\u624d\u53ef\u4ee5\u8ba1\u7b97\u51fa\u771f\u5b9e\u7684 DOM \u7ed3\u6784\uff0cJSX+ \u5f15\u5165\u4e86\u4e00\u90e8\u5206\u9759\u6001\u6a21\u677f\u7279\u6027\u53ef\u4ee5\u6ee1\u8db3\u7f16\u8bd1\u4f18\u5316"),(0,l.kt)("li",{parentName:"ul"},"\u4e0d\u65b0\u521b\u9020\u5b9e\u4f53\uff0c\u6307\u4ee4\u5728\u793e\u533a\u4e2d\u662f\u5df2\u7ecf\u88ab\u5e7f\u6cdb\u63a5\u53d7\u7684\u6982\u5ff5\uff0c\u5bf9\u5f00\u53d1\u8005\u66f4\u53cb\u597d\uff0c\u8bed\u6cd5\u7cd6\u7684\u8868\u8fbe\u66f4\u7b80\u5355"),(0,l.kt)("li",{parentName:"ul"},"\u7edf\u4e00\u4e00\u5957 JSX+ \u7c7b\u4f3c\u6982\u5ff5\u7684\u8bed\u6cd5\u89c4\u8303\uff0c\u51cf\u5c11\u5df2\u5b58\u5728\u548c\u6f5c\u5728\u7684\u91cd\u590d\u5efa\u8bbe")),(0,l.kt)("h2",{id:"\u5b89\u88c5\u4f7f\u7528"},"\u5b89\u88c5\u4f7f\u7528"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-bash"},"$ npm i @ice/plugin-jsx-plus -D\n")),(0,l.kt)("p",null,"\u914d\u7f6e\u63d2\u4ef6\u4f7f\u7528\uff1a"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-ts",metastring:'title="ice.config.mts"',title:'"ice.config.mts"'},"import { defineConfig } from '@ice/app';\nimport jsxPlus from '@ice/plugin-jsx-plus';\n\nexport default defineConfig(() => ({\n plugins: [\n jsxPlus(),\n ],\n}));\n")),(0,l.kt)("p",null,"\u63a5\u4e0b\u6765\u5c31\u53ef\u4ee5\u4f7f\u7528\u66f4\u5f3a\u5927\u7684 JSX+ \u8bed\u6cd5\u4e86\uff1a"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-jsx"},"function ExampleComponent(props) {\n const { isAdmin, dataSource } = props;\n\n return (\n <div>\n <div x-if={isAdmin}>admin</div>\n <div x-else>guest</div>\n\n <div x-for={item in dataSource}>\n <span>{item.name}</span>\n </div>\n </div>\n );\n}\n")),(0,l.kt)("h2",{id:"\u6307\u4ee4\u8bed\u6cd5"},"\u6307\u4ee4\u8bed\u6cd5"),(0,l.kt)("p",null,"\u4ee5\u4e0b\u662f JSX+ \u89c4\u8303\u5df2\u6709\u7684\u6307\u4ee4\u5217\u8868\uff1a"),(0,l.kt)("h3",{id:"1-\u6761\u4ef6\u5224\u65ad"},"1. \u6761\u4ef6\u5224\u65ad"),(0,l.kt)("p",null,"\u8bed\u6cd5\uff1a"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-jsx"},"<View x-if={condition}>Hello</View>\n<View x-elseif={anotherCondition}>World</View>\n<View x-else>NothingElse</View>\n")),(0,l.kt)("admonition",{type:"caution"},(0,l.kt)("p",{parentName:"admonition"},(0,l.kt)("inlineCode",{parentName:"p"},"x-elseif")," \u53ef\u4ee5\u591a\u6b21\u51fa\u73b0\uff0c\u4f46\u662f\u987a\u5e8f\u5fc5\u987b\u662f x-if -> x-elseif -> x-else\uff0c\u4e14\u8fd9\u4e9b\u8282\u70b9\u662f\u5144\u5f1f\u8282\u70b9\u5173\u7cfb\uff0c\u5982\u987a\u5e8f\u9519\u8bef\u5219\u6307\u4ee4\u88ab\u5ffd\u7565\u3002")),(0,l.kt)("h3",{id:"2-\u5faa\u73af\u5217\u8868"},"2. \u5faa\u73af\u5217\u8868"),(0,l.kt)("p",null,"\u8bed\u6cd5\uff1a"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-jsx"},"{/* Array or Plain Object*/}\n<tag x-for={item in foo}>{item}</tag>\n \n<tag x-for={(item, key) in foo}>{key}: {item}</tag>\n")),(0,l.kt)("p",null,"\u8bf4\u660e\uff1a"),(0,l.kt)("ol",null,(0,l.kt)("li",{parentName:"ol"},(0,l.kt)("p",{parentName:"li"},"\u82e5\u5faa\u73af\u5bf9\u8c61\u4e3a\u6570\u7ec4\uff0ckey \u8868\u793a\u5faa\u73af\u7d22\u5f15\uff0c\u5176\u7c7b\u578b\u4e3a Number\u3002")),(0,l.kt)("li",{parentName:"ol"},(0,l.kt)("p",{parentName:"li"},"\u5f53 ",(0,l.kt)("inlineCode",{parentName:"p"},"x-for")," \u4e0e ",(0,l.kt)("inlineCode",{parentName:"p"},"x-if")," \u540c\u65f6\u4f5c\u7528\u5728\u540c\u4e00\u8282\u70b9\u4e0a\u65f6\uff0c\u5faa\u73af\u4f18\u5148\u7ea7\u5927\u4e8e\u6761\u4ef6\uff0c\u5373\u5faa\u73af\u7684 ",(0,l.kt)("inlineCode",{parentName:"p"},"item")," \u548c ",(0,l.kt)("inlineCode",{parentName:"p"},"index")," \u53ef\u4ee5\u5728\u5b50\u6761\u4ef6\u5224\u65ad\u4e2d\u4f7f\u7528\u3002"))),(0,l.kt)("h3",{id:"3-\u5355\u6b21\u6e32\u67d3"},"3. \u5355\u6b21\u6e32\u67d3"),(0,l.kt)("p",null,"\u4ec5\u5728\u9996\u6b21\u6e32\u67d3\u65f6\u4f1a\u89e6\u53d1 ",(0,l.kt)("inlineCode",{parentName:"p"},"createElement")," \u5e76\u5c06\u5176\u5f15\u7528\u7f13\u5b58\uff0c\u91cd\u65b0\u6e32\u67d3\u65f6\u76f4\u63a5\u590d\u7528\u7f13\u5b58\uff0c\u7528\u4e8e\u63d0\u9ad8\u4e0d\u5e26\u7ed1\u5b9a\u8282\u70b9\u6e32\u67d3\u6548\u7387\u548c Diff \u6027\u80fd\u3002"),(0,l.kt)("p",null,"\u8bed\u6cd5:"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-html"},"<p x-memo>this paragragh {mesasge} content will not change.</p>\n")),(0,l.kt)("h3",{id:"4-\u63d2\u69fd\u6307\u4ee4"},"4. \u63d2\u69fd\u6307\u4ee4"),(0,l.kt)("p",null,"\u7c7b\u4f3c WebComponents \u7684 slot \u6982\u5ff5\uff0c\u5e76\u63d0\u4f9b\u63d2\u69fd\u4f5c\u7528\u57df\u3002"),(0,l.kt)("p",null,"\u8bed\u6cd5\uff1a"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-html"},'<tag x-slot:slotName="slotScope" />\n')),(0,l.kt)("p",null,"\u793a\u4f8b\uff1a"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-jsx"},'// Example\n<Waterfall>\n <view x-slot:header>header</view>\n <view x-slot:item="props">{props.index}: {props.item}</view>\n <view x-slot:footer>footer</view>\n</Waterfall>\n<slot name="header" /> // \u69fd\u4f4d\n')),(0,l.kt)("p",null,"\u5bf9\u6bd4\u4f20\u7edf JSX\uff1a"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-jsx"},"<Waterfall\n renderHeader={() => (<view>header</view>)}\n renderFooter={() => (<view>footer</view>)}\n renderItem={(item, index) => (<view>{index}: {item}</view>}\n/>\n")),(0,l.kt)("p",null,"\u5bf9\u6bd4\u5c0f\u7a0b\u5e8f\uff1a"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-jsx"},'<Waterfall>\n <view slot="header">header</view>\n <view slot="item" slot-scope="props">{props.index}: {props.item}</view>\n <view slot="footer">footer</view>\n</Waterfall>\n')),(0,l.kt)("h3",{id:"5-fragment-\u7ec4\u4ef6"},"5. Fragment \u7ec4\u4ef6"),(0,l.kt)("p",null,"\u63d0\u4f9b\u7a7a\u7ec4\u4ef6\uff0c\u4e0d\u4ea7\u751f UI\uff0c\u63d0\u4f9b\u7ed1\u5b9a ",(0,l.kt)("inlineCode",{parentName:"p"},"x-if")," ",(0,l.kt)("inlineCode",{parentName:"p"},"x-for")," ",(0,l.kt)("inlineCode",{parentName:"p"},"x-slot")," \u6307\u4ee4\u3002"),(0,l.kt)("p",null,"\u4f7f\u7528\uff1a"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-jsx"},"<Fragment />\n")),(0,l.kt)("h3",{id:"6-\u7c7b\u540d\u7ed1\u5b9a"},"6. \u7c7b\u540d\u7ed1\u5b9a"),(0,l.kt)("p",null,"\u8bed\u6cd5\uff1a"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-jsx"},"<div x-class={{ item: true, active: val }} />\n")),(0,l.kt)("p",null,"\u53c2\u8003\u5b9e\u73b0\uff1a"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-jsx"},"<div className={classnames({ item: true, active: val})} />\n")),(0,l.kt)("p",null,(0,l.kt)("inlineCode",{parentName:"p"},"classnames")," \u65b9\u6cd5\u80fd\u529b\u53c2\u8003",(0,l.kt)("a",{parentName:"p",href:"https://npmjs.com/classnames"},"\u540c\u540d npm \u5305"),"\u3002"),(0,l.kt)("blockquote",null,(0,l.kt)("p",{parentName:"blockquote"},"\u66f4\u591a\u8bf7\u53c2\u8003 ",(0,l.kt)("a",{parentName:"p",href:"https://github.com/jsx-plus/jsx-plus"},"jsx-plus"))))}d.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunkice_website_v3=self.webpackChunkice_website_v3||[]).push([[921],{4852:(e,t,n)=>{n.d(t,{Zo:()=>u,kt:()=>k});var a=n(9231);function l(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function i(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?r(Object(n),!0).forEach((function(t){l(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):r(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function p(e,t){if(null==e)return{};var n,a,l=function(e,t){if(null==e)return{};var n,a,l={},r=Object.keys(e);for(a=0;a<r.length;a++)n=r[a],t.indexOf(n)>=0||(l[n]=e[n]);return l}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(a=0;a<r.length;a++)n=r[a],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(l[n]=e[n])}return l}var o=a.createContext({}),s=function(e){var t=a.useContext(o),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},u=function(e){var t=s(e.components);return a.createElement(o.Provider,{value:t},e.children)},c="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},m=a.forwardRef((function(e,t){var n=e.components,l=e.mdxType,r=e.originalType,o=e.parentName,u=p(e,["components","mdxType","originalType","parentName"]),c=s(n),m=l,k=c["".concat(o,".").concat(m)]||c[m]||d[m]||r;return n?a.createElement(k,i(i({ref:t},u),{},{components:n})):a.createElement(k,i({ref:t},u))}));function k(e,t){var n=arguments,l=t&&t.mdxType;if("string"==typeof e||l){var r=n.length,i=new Array(r);i[0]=m;var p={};for(var o in t)hasOwnProperty.call(t,o)&&(p[o]=t[o]);p.originalType=e,p[c]="string"==typeof e?e:l,i[1]=p;for(var s=2;s<r;s++)i[s]=n[s];return a.createElement.apply(null,i)}return a.createElement.apply(null,n)}m.displayName="MDXCreateElement"},1086:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>o,contentTitle:()=>i,default:()=>d,frontMatter:()=>r,metadata:()=>p,toc:()=>s});var a=n(5675),l=(n(9231),n(4852));const r={order:384},i="JSX+",p={unversionedId:"guide/advanced/jsx-plus",id:"guide/advanced/jsx-plus",title:"JSX+",description:"\u8be5\u63d2\u4ef6\u652f\u6301\u4e86\u4e00\u79cd JSX \u6269\u5c55\u8bed\u6cd5 JSX+\uff0c\u5b83\u80fd\u5e2e\u52a9\u4e1a\u52a1\u5f00\u53d1\u8005\u66f4\u723d\u66f4\u5feb\u5730\u4e66\u5199 JSX\u3002JSX+ \u4e0d\u662f\u4e00\u79cd\u65b0\u7684\u6982\u5ff5\uff0c\u5b83\u662f JSX \u57fa\u7840\u4e0a\u7684\u6269\u5c55\u6307\u4ee4\u6982\u5ff5\u3002",source:"@site/docs/guide/advanced/jsx-plus.md",sourceDirName:"guide/advanced",slug:"/guide/advanced/jsx-plus",permalink:"/docs/guide/advanced/jsx-plus",draft:!1,editUrl:"https://github.com/alibaba/ice/edit/master/website/docs/guide/advanced/jsx-plus.md",tags:[],version:"current",frontMatter:{order:384},sidebar:"docs",previous:{title:"\u6743\u9650\u7ba1\u7406",permalink:"/docs/guide/advanced/auth"},next:{title:"\u7ec4\u4ef6\u7f13\u5b58",permalink:"/docs/guide/advanced/keep-alive"}},o={},s=[{value:"\u4e3a\u4ec0\u4e48\u9700\u8981 JSX+",id:"\u4e3a\u4ec0\u4e48\u9700\u8981-jsx",level:2},{value:"\u5b89\u88c5\u4f7f\u7528",id:"\u5b89\u88c5\u4f7f\u7528",level:2},{value:"\u6307\u4ee4\u8bed\u6cd5",id:"\u6307\u4ee4\u8bed\u6cd5",level:2},{value:"1. \u6761\u4ef6\u5224\u65ad",id:"1-\u6761\u4ef6\u5224\u65ad",level:3},{value:"2. \u5faa\u73af\u5217\u8868",id:"2-\u5faa\u73af\u5217\u8868",level:3},{value:"3. \u5355\u6b21\u6e32\u67d3",id:"3-\u5355\u6b21\u6e32\u67d3",level:3},{value:"4. \u63d2\u69fd\u6307\u4ee4",id:"4-\u63d2\u69fd\u6307\u4ee4",level:3},{value:"5. Fragment \u7ec4\u4ef6",id:"5-fragment-\u7ec4\u4ef6",level:3},{value:"6. \u7c7b\u540d\u7ed1\u5b9a",id:"6-\u7c7b\u540d\u7ed1\u5b9a",level:3}],u={toc:s},c="wrapper";function d(e){let{components:t,...n}=e;return(0,l.kt)(c,(0,a.Z)({},u,n,{components:t,mdxType:"MDXLayout"}),(0,l.kt)("h1",{id:"jsx"},"JSX+"),(0,l.kt)("p",null,"\u8be5\u63d2\u4ef6\u652f\u6301\u4e86\u4e00\u79cd JSX \u6269\u5c55\u8bed\u6cd5 JSX+\uff0c\u5b83\u80fd\u5e2e\u52a9\u4e1a\u52a1\u5f00\u53d1\u8005\u66f4\u723d\u66f4\u5feb\u5730\u4e66\u5199 JSX\u3002JSX+ \u4e0d\u662f\u4e00\u79cd\u65b0\u7684\u6982\u5ff5\uff0c\u5b83\u662f JSX \u57fa\u7840\u4e0a\u7684\u6269\u5c55\u6307\u4ee4\u6982\u5ff5\u3002"),(0,l.kt)("h2",{id:"\u4e3a\u4ec0\u4e48\u9700\u8981-jsx"},"\u4e3a\u4ec0\u4e48\u9700\u8981 JSX+"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"JSX \u867d\u7136\u8bed\u6cd5\u7075\u6d3b\uff0c\u4f46\u662f\u5927\u91cf\u7684\u82b1\u62ec\u53f7 + JS \u8bed\u6cd5\u5bfc\u81f4\u4e86\u4e0a\u4e0b\u6587\u5207\u6362\u548c\u4ee3\u7801\u53ef\u8bfb\u6027\u7684\u4e0b\u964d\uff0cJSX+ \u7684\u6307\u4ee4\u5f88\u597d\u7684\u89e3\u51b3\u4e86\u8fd9\u4e2a\u95ee\u9898"),(0,l.kt)("li",{parentName:"ul"},"JSX \u672c\u8d28\u662f JS \u8868\u8fbe\u5f0f\uff0c\u5728\u8fd0\u884c\u65f6\u9636\u6bb5\u624d\u53ef\u4ee5\u8ba1\u7b97\u51fa\u771f\u5b9e\u7684 DOM \u7ed3\u6784\uff0cJSX+ \u5f15\u5165\u4e86\u4e00\u90e8\u5206\u9759\u6001\u6a21\u677f\u7279\u6027\u53ef\u4ee5\u6ee1\u8db3\u7f16\u8bd1\u4f18\u5316"),(0,l.kt)("li",{parentName:"ul"},"\u4e0d\u65b0\u521b\u9020\u5b9e\u4f53\uff0c\u6307\u4ee4\u5728\u793e\u533a\u4e2d\u662f\u5df2\u7ecf\u88ab\u5e7f\u6cdb\u63a5\u53d7\u7684\u6982\u5ff5\uff0c\u5bf9\u5f00\u53d1\u8005\u66f4\u53cb\u597d\uff0c\u8bed\u6cd5\u7cd6\u7684\u8868\u8fbe\u66f4\u7b80\u5355"),(0,l.kt)("li",{parentName:"ul"},"\u7edf\u4e00\u4e00\u5957 JSX+ \u7c7b\u4f3c\u6982\u5ff5\u7684\u8bed\u6cd5\u89c4\u8303\uff0c\u51cf\u5c11\u5df2\u5b58\u5728\u548c\u6f5c\u5728\u7684\u91cd\u590d\u5efa\u8bbe")),(0,l.kt)("h2",{id:"\u5b89\u88c5\u4f7f\u7528"},"\u5b89\u88c5\u4f7f\u7528"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-bash"},"$ npm i @ice/plugin-jsx-plus -D\n")),(0,l.kt)("p",null,"\u914d\u7f6e\u63d2\u4ef6\u4f7f\u7528\uff1a"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-ts",metastring:'title="ice.config.mts"',title:'"ice.config.mts"'},"import { defineConfig } from '@ice/app';\nimport jsxPlus from '@ice/plugin-jsx-plus';\n\nexport default defineConfig(() => ({\n plugins: [\n jsxPlus(),\n ],\n}));\n")),(0,l.kt)("p",null,"\u63a5\u4e0b\u6765\u5c31\u53ef\u4ee5\u4f7f\u7528\u66f4\u5f3a\u5927\u7684 JSX+ \u8bed\u6cd5\u4e86\uff1a"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-jsx"},"function ExampleComponent(props) {\n const { isAdmin, dataSource } = props;\n\n return (\n <div>\n <div x-if={isAdmin}>admin</div>\n <div x-else>guest</div>\n\n <div x-for={item in dataSource}>\n <span>{item.name}</span>\n </div>\n </div>\n );\n}\n")),(0,l.kt)("h2",{id:"\u6307\u4ee4\u8bed\u6cd5"},"\u6307\u4ee4\u8bed\u6cd5"),(0,l.kt)("p",null,"\u4ee5\u4e0b\u662f JSX+ \u89c4\u8303\u5df2\u6709\u7684\u6307\u4ee4\u5217\u8868\uff1a"),(0,l.kt)("h3",{id:"1-\u6761\u4ef6\u5224\u65ad"},"1. \u6761\u4ef6\u5224\u65ad"),(0,l.kt)("p",null,"\u8bed\u6cd5\uff1a"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-jsx"},"<View x-if={condition}>Hello</View>\n<View x-elseif={anotherCondition}>World</View>\n<View x-else>NothingElse</View>\n")),(0,l.kt)("admonition",{type:"caution"},(0,l.kt)("p",{parentName:"admonition"},(0,l.kt)("inlineCode",{parentName:"p"},"x-elseif")," \u53ef\u4ee5\u591a\u6b21\u51fa\u73b0\uff0c\u4f46\u662f\u987a\u5e8f\u5fc5\u987b\u662f x-if -> x-elseif -> x-else\uff0c\u4e14\u8fd9\u4e9b\u8282\u70b9\u662f\u5144\u5f1f\u8282\u70b9\u5173\u7cfb\uff0c\u5982\u987a\u5e8f\u9519\u8bef\u5219\u6307\u4ee4\u88ab\u5ffd\u7565\u3002")),(0,l.kt)("h3",{id:"2-\u5faa\u73af\u5217\u8868"},"2. \u5faa\u73af\u5217\u8868"),(0,l.kt)("p",null,"\u8bed\u6cd5\uff1a"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-jsx"},"{/* Array or Plain Object*/}\n<tag x-for={item in foo}>{item}</tag>\n \n<tag x-for={(item, key) in foo}>{key}: {item}</tag>\n")),(0,l.kt)("p",null,"\u8bf4\u660e\uff1a"),(0,l.kt)("ol",null,(0,l.kt)("li",{parentName:"ol"},(0,l.kt)("p",{parentName:"li"},"\u82e5\u5faa\u73af\u5bf9\u8c61\u4e3a\u6570\u7ec4\uff0ckey \u8868\u793a\u5faa\u73af\u7d22\u5f15\uff0c\u5176\u7c7b\u578b\u4e3a Number\u3002")),(0,l.kt)("li",{parentName:"ol"},(0,l.kt)("p",{parentName:"li"},"\u5f53 ",(0,l.kt)("inlineCode",{parentName:"p"},"x-for")," \u4e0e ",(0,l.kt)("inlineCode",{parentName:"p"},"x-if")," \u540c\u65f6\u4f5c\u7528\u5728\u540c\u4e00\u8282\u70b9\u4e0a\u65f6\uff0c\u5faa\u73af\u4f18\u5148\u7ea7\u5927\u4e8e\u6761\u4ef6\uff0c\u5373\u5faa\u73af\u7684 ",(0,l.kt)("inlineCode",{parentName:"p"},"item")," \u548c ",(0,l.kt)("inlineCode",{parentName:"p"},"index")," \u53ef\u4ee5\u5728\u5b50\u6761\u4ef6\u5224\u65ad\u4e2d\u4f7f\u7528\u3002"))),(0,l.kt)("h3",{id:"3-\u5355\u6b21\u6e32\u67d3"},"3. \u5355\u6b21\u6e32\u67d3"),(0,l.kt)("p",null,"\u4ec5\u5728\u9996\u6b21\u6e32\u67d3\u65f6\u4f1a\u89e6\u53d1 ",(0,l.kt)("inlineCode",{parentName:"p"},"createElement")," \u5e76\u5c06\u5176\u5f15\u7528\u7f13\u5b58\uff0c\u91cd\u65b0\u6e32\u67d3\u65f6\u76f4\u63a5\u590d\u7528\u7f13\u5b58\uff0c\u7528\u4e8e\u63d0\u9ad8\u4e0d\u5e26\u7ed1\u5b9a\u8282\u70b9\u6e32\u67d3\u6548\u7387\u548c Diff \u6027\u80fd\u3002"),(0,l.kt)("p",null,"\u8bed\u6cd5:"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-html"},"<p x-memo>this paragragh {mesasge} content will not change.</p>\n")),(0,l.kt)("h3",{id:"4-\u63d2\u69fd\u6307\u4ee4"},"4. \u63d2\u69fd\u6307\u4ee4"),(0,l.kt)("p",null,"\u7c7b\u4f3c WebComponents \u7684 slot \u6982\u5ff5\uff0c\u5e76\u63d0\u4f9b\u63d2\u69fd\u4f5c\u7528\u57df\u3002"),(0,l.kt)("p",null,"\u8bed\u6cd5\uff1a"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-html"},'<tag x-slot:slotName="slotScope" />\n')),(0,l.kt)("p",null,"\u793a\u4f8b\uff1a"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-jsx"},'// Example\n<Waterfall>\n <view x-slot:header>header</view>\n <view x-slot:item="props">{props.index}: {props.item}</view>\n <view x-slot:footer>footer</view>\n</Waterfall>\n<slot name="header" /> // \u69fd\u4f4d\n')),(0,l.kt)("p",null,"\u5bf9\u6bd4\u4f20\u7edf JSX\uff1a"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-jsx"},"<Waterfall\n renderHeader={() => (<view>header</view>)}\n renderFooter={() => (<view>footer</view>)}\n renderItem={(item, index) => (<view>{index}: {item}</view>}\n/>\n")),(0,l.kt)("p",null,"\u5bf9\u6bd4\u5c0f\u7a0b\u5e8f\uff1a"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-jsx"},'<Waterfall>\n <view slot="header">header</view>\n <view slot="item" slot-scope="props">{props.index}: {props.item}</view>\n <view slot="footer">footer</view>\n</Waterfall>\n')),(0,l.kt)("h3",{id:"5-fragment-\u7ec4\u4ef6"},"5. Fragment \u7ec4\u4ef6"),(0,l.kt)("p",null,"\u63d0\u4f9b\u7a7a\u7ec4\u4ef6\uff0c\u4e0d\u4ea7\u751f UI\uff0c\u63d0\u4f9b\u7ed1\u5b9a ",(0,l.kt)("inlineCode",{parentName:"p"},"x-if")," ",(0,l.kt)("inlineCode",{parentName:"p"},"x-for")," ",(0,l.kt)("inlineCode",{parentName:"p"},"x-slot")," \u6307\u4ee4\u3002"),(0,l.kt)("p",null,"\u4f7f\u7528\uff1a"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-jsx"},"<Fragment />\n")),(0,l.kt)("h3",{id:"6-\u7c7b\u540d\u7ed1\u5b9a"},"6. \u7c7b\u540d\u7ed1\u5b9a"),(0,l.kt)("p",null,"\u8bed\u6cd5\uff1a"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-jsx"},"<div x-class={{ item: true, active: val }} />\n")),(0,l.kt)("p",null,"\u53c2\u8003\u5b9e\u73b0\uff1a"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-jsx"},"<div className={classnames({ item: true, active: val})} />\n")),(0,l.kt)("p",null,(0,l.kt)("inlineCode",{parentName:"p"},"classnames")," \u65b9\u6cd5\u80fd\u529b\u53c2\u8003",(0,l.kt)("a",{parentName:"p",href:"https://npmjs.com/classnames"},"\u540c\u540d npm \u5305"),"\u3002"),(0,l.kt)("blockquote",null,(0,l.kt)("p",{parentName:"blockquote"},"\u66f4\u591a\u8bf7\u53c2\u8003 ",(0,l.kt)("a",{parentName:"p",href:"https://github.com/jsx-plus/jsx-plus"},"jsx-plus"))))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/5d05f1ff.522f8c85.js b/assets/js/5d05f1ff.522f8c85.js new file mode 100644 index 0000000000..fa66fbd861 --- /dev/null +++ b/assets/js/5d05f1ff.522f8c85.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkice_website_v3=self.webpackChunkice_website_v3||[]).push([[3219],{4852:(e,t,n)=>{n.d(t,{Zo:()=>u,kt:()=>k});var r=n(9231);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function l(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?i(Object(n),!0).forEach((function(t){a(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function o(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var p=r.createContext({}),c=function(e){var t=r.useContext(p),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},u=function(e){var t=c(e.components);return r.createElement(p.Provider,{value:t},e.children)},s="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},m=r.forwardRef((function(e,t){var n=e.components,a=e.mdxType,i=e.originalType,p=e.parentName,u=o(e,["components","mdxType","originalType","parentName"]),s=c(n),m=a,k=s["".concat(p,".").concat(m)]||s[m]||d[m]||i;return n?r.createElement(k,l(l({ref:t},u),{},{components:n})):r.createElement(k,l({ref:t},u))}));function k(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var i=n.length,l=new Array(i);l[0]=m;var o={};for(var p in t)hasOwnProperty.call(t,p)&&(o[p]=t[p]);o.originalType=e,o[s]="string"==typeof e?e:a,l[1]=o;for(var c=2;c<i;c++)l[c]=n[c];return r.createElement.apply(null,l)}return r.createElement.apply(null,n)}m.displayName="MDXCreateElement"},6719:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>p,contentTitle:()=>l,default:()=>d,frontMatter:()=>i,metadata:()=>o,toc:()=>c});var r=n(5675),a=(n(9231),n(4852));const i={title:"\u9759\u6001\u8d44\u6e90",order:7},l=void 0,o={unversionedId:"guide/basic/assets",id:"guide/basic/assets",title:"\u9759\u6001\u8d44\u6e90",description:"\u6846\u67b6\u9ed8\u8ba4\u5185\u7f6e\u4e86\u5904\u7406\u9759\u6001\u8d44\u6e90\u7684\u901a\u7528\u89c4\u5219\uff0c\u4e00\u822c\u60c5\u51b5\u4e0b\u5f00\u53d1\u8005\u65e0\u9700\u8bbe\u7f6e\u8d44\u6e90\u7684\u5904\u7406\u65b9\u5f0f\u3002\u53e6\u5916\uff0c\u5bf9\u4e8e\u4e00\u4e9b\u7279\u6b8a\u7684\u5904\u7406\u89c4\u5219\uff0c\u6846\u67b6\u7ed9\u51fa\u4e86\u4fbf\u6377\u65b9\u5f0f\u65b9\u4fbf\u5f00\u53d1\u8005\u5f15\u5165\u8d44\u6e90\u3002",source:"@site/docs/guide/basic/assets.md",sourceDirName:"guide/basic",slug:"/guide/basic/assets",permalink:"/docs/guide/basic/assets",draft:!1,editUrl:"https://github.com/alibaba/ice/edit/master/website/docs/guide/basic/assets.md",tags:[],version:"current",frontMatter:{title:"\u9759\u6001\u8d44\u6e90",order:7},sidebar:"docs",previous:{title:"\u6570\u636e\u52a0\u8f7d",permalink:"/docs/guide/basic/data-loader"},next:{title:"\u6570\u636e\u6a21\u62df Mock",permalink:"/docs/guide/basic/mock"}},p={},c=[{value:"\u57fa\u7840\u89c4\u5219",id:"\u57fa\u7840\u89c4\u5219",level:2},{value:"\u5728 JSX \u6587\u4ef6\u4e2d\u5f15\u5165",id:"\u5728-jsx-\u6587\u4ef6\u4e2d\u5f15\u5165",level:3},{value:"\u5728 CSS \u6587\u4ef6\u4e2d\u5f15\u5165",id:"\u5728-css-\u6587\u4ef6\u4e2d\u5f15\u5165",level:3},{value:"\u6307\u5b9a\u5904\u7406\u89c4\u5219",id:"\u6307\u5b9a\u5904\u7406\u89c4\u5219",level:2},{value:"URL \u5f15\u5165",id:"url-\u5f15\u5165",level:3},{value:"\u6587\u4ef6\u5185\u5bb9\u5f15\u5165",id:"\u6587\u4ef6\u5185\u5bb9\u5f15\u5165",level:3},{value:"public \u76ee\u5f55",id:"public-\u76ee\u5f55",level:2}],u={toc:c},s="wrapper";function d(e){let{components:t,...n}=e;return(0,a.kt)(s,(0,r.Z)({},u,n,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("p",null,"\u6846\u67b6\u9ed8\u8ba4\u5185\u7f6e\u4e86\u5904\u7406\u9759\u6001\u8d44\u6e90\u7684\u901a\u7528\u89c4\u5219\uff0c\u4e00\u822c\u60c5\u51b5\u4e0b\u5f00\u53d1\u8005\u65e0\u9700\u8bbe\u7f6e\u8d44\u6e90\u7684\u5904\u7406\u65b9\u5f0f\u3002\u53e6\u5916\uff0c\u5bf9\u4e8e\u4e00\u4e9b\u7279\u6b8a\u7684\u5904\u7406\u89c4\u5219\uff0c\u6846\u67b6\u7ed9\u51fa\u4e86\u4fbf\u6377\u65b9\u5f0f\u65b9\u4fbf\u5f00\u53d1\u8005\u5f15\u5165\u8d44\u6e90\u3002"),(0,a.kt)("h2",{id:"\u57fa\u7840\u89c4\u5219"},"\u57fa\u7840\u89c4\u5219"),(0,a.kt)("p",null,"\u6846\u67b6\u5185\u7f6e\u4e86\u9488\u5bf9\u4ee5\u4e0b\u8d44\u6e90\u7684\u5904\u7406\uff1a"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"\u56fe\u7247\u8d44\u6e90\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},".png"),"\u3001",(0,a.kt)("inlineCode",{parentName:"li"},".jpg"),"\u3001",(0,a.kt)("inlineCode",{parentName:"li"},".webp"),"\u3001",(0,a.kt)("inlineCode",{parentName:"li"},".jpeg"),"\u3001",(0,a.kt)("inlineCode",{parentName:"li"},".gif")),(0,a.kt)("li",{parentName:"ul"},"\u5b57\u4f53\u6587\u4ef6\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},".woff"),"\u3001",(0,a.kt)("inlineCode",{parentName:"li"},".woff2"),"\u3001",(0,a.kt)("inlineCode",{parentName:"li"},".ttf"),"\u3001",(0,a.kt)("inlineCode",{parentName:"li"},".eot")),(0,a.kt)("li",{parentName:"ul"},"svg \u6587\u4ef6\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},".svg"))),(0,a.kt)("p",null,"\u4e0a\u8ff0\u8d44\u6e90\u6587\u4ef6\u540d\u9ed8\u8ba4\u4f1a\u7ecf\u8fc7 hash \u5904\u7406\uff0c\u5e76\u901a\u8fc7\u8d44\u6e90\u5730\u5740\u7684\u65b9\u5f0f\u52a0\u8f7d\uff08\u6bd4\u5982 ",(0,a.kt)("inlineCode",{parentName:"p"},"./assets/background.png")," \u7ecf\u8fc7\u6784\u5efa\u5904\u7406\u540e\u53d8\u6210 ",(0,a.kt)("inlineCode",{parentName:"p"},"/assets/background.ef5b6544.png"),"\uff09\u3002"),(0,a.kt)("p",null,"\u63a8\u8350\u5c06\u8fd9\u4e9b\u8d44\u6e90\u653e\u5728 ",(0,a.kt)("inlineCode",{parentName:"p"},"src/assets/")," \u76ee\u5f55\u4e0b\uff1a"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-markdown"},"src\n\u251c\u2500\u2500 assets/\n\u2502 \u251c\u2500\u2500 logo.png\n\u2502 \u2514\u2500\u2500 background.png\n")),(0,a.kt)("p",null,"\u7136\u540e\u5c31\u53ef\u4ee5\u5728\u6e90\u7801\u4e2d\u5f15\u5165\u8d44\u6e90\u4e86\u3002"),(0,a.kt)("h3",{id:"\u5728-jsx-\u6587\u4ef6\u4e2d\u5f15\u5165"},"\u5728 JSX \u6587\u4ef6\u4e2d\u5f15\u5165"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-jsx"},"import background from '@/assets/background.png';\n\nexport default function () {\n return (\n <img src={background} />\n );\n}\n")),(0,a.kt)("h3",{id:"\u5728-css-\u6587\u4ef6\u4e2d\u5f15\u5165"},"\u5728 CSS \u6587\u4ef6\u4e2d\u5f15\u5165"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-css"},".container {\n background-image: url('@/assets/background.png');\n}\n")),(0,a.kt)("admonition",{type:"tip"},(0,a.kt)("p",{parentName:"admonition"},"\u5982\u679c\u8d44\u6e90\u5c3a\u5bf8\u5c0f\u4e8e 8kb\uff0c\u5219\u8fdb\u884c base64 \u8f6c\u7801\u5e76\u5185\u8054\u5230\u811a\u672c\u6216\u6837\u5f0f\u6587\u4ef6\u4e2d\u3002")),(0,a.kt)("h2",{id:"\u6307\u5b9a\u5904\u7406\u89c4\u5219"},"\u6307\u5b9a\u5904\u7406\u89c4\u5219"),(0,a.kt)("p",null,"\u5bf9\u4e8e\u5185\u7f6e\u89c4\u5219\u4e0d\u6ee1\u8db3\u7279\u5b9a\u573a\u666f\u7684\u60c5\u51b5\u4e0b\uff0c\u6846\u67b6\u63d0\u4f9b\u4e86\u4fbf\u6377\u7684\u65b9\u5f0f\u5bf9\u8d44\u6e90\u8fdb\u884c\u5904\u7406"),(0,a.kt)("h3",{id:"url-\u5f15\u5165"},"URL \u5f15\u5165"),(0,a.kt)("p",null,"\u9664\u57fa\u7840\u89c4\u5219\u4e2d\u6307\u5b9a\u8d44\u6e90\u5916\uff0c\u5982\u679c\u8fd8\u5e0c\u671b\u901a\u8fc7\u8d44\u6e90\u5730\u5740\u7684\u65b9\u5f0f\u8fdb\u884c\u8d44\u6e90\u5904\u7406\u7684\uff0c\u53ef\u4ee5\u901a\u8fc7\u5982\u4e0b\u65b9\u5f0f\u8fdb\u884c\u6307\u5b9a\uff1a"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-jsx"},"import workletURL from 'extra-scalloped-border/worklet.js?url'\nCSS.paintWorklet.addModule(workletURL);\n")),(0,a.kt)("p",null,(0,a.kt)("inlineCode",{parentName:"p"},"?url")," \u7b49\u540c\u4e8e\u4e3a\u6307\u5b9a\u8d44\u6e90\u6307\u5b9a url-loader"),(0,a.kt)("h3",{id:"\u6587\u4ef6\u5185\u5bb9\u5f15\u5165"},"\u6587\u4ef6\u5185\u5bb9\u5f15\u5165"),(0,a.kt)("p",null,"\u901a\u8fc7 ",(0,a.kt)("inlineCode",{parentName:"p"},"?raw")," \u540e\u7f00\u58f0\u660e\u5c06\u8d44\u6e90\u4f5c\u4e3a\u5b57\u7b26\u4e32\u5f15\u5165\uff1a"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-jsx"},"import txtContent from './text.txt?raw';\n")),(0,a.kt)("p",null,(0,a.kt)("inlineCode",{parentName:"p"},"?raw")," \u7b49\u540c\u4e8e\u4e3a\u6307\u5b9a\u8d44\u6e90\u6307\u5b9a raw-loader"),(0,a.kt)("h2",{id:"public-\u76ee\u5f55"},"public \u76ee\u5f55"),(0,a.kt)("p",null,(0,a.kt)("inlineCode",{parentName:"p"},"public")," \u76ee\u5f55\u4f5c\u4e3a\u6846\u67b6\u9ed8\u8ba4\u7684\u9759\u6001\u8d44\u6e90\u76ee\u5f55\uff0c\u4e0d\u88ab\u6784\u5efa\u5de5\u5177\u8fdb\u884c\u7f16\u8bd1\u7684\u8d44\u6e90\u90fd\u53ef\u4ee5\u653e\u5728\u8be5\u76ee\u5f55\u4e0b\u3002"),(0,a.kt)("p",null,"\u6bd4\u5982 ",(0,a.kt)("inlineCode",{parentName:"p"},"favicon.ico")," \u6587\u4ef6\uff0c\u6211\u4eec\u5e76\u4e0d\u5e0c\u671b\u8be5\u6587\u4ef6\u540d\u7f16\u8bd1\uff08\u9ed8\u8ba4\u9759\u6001\u8d44\u6e90\u6587\u4ef6\u540d\u5728\u7f16\u8bd1\u540e\u4f1a\u751f\u6210\u72ec\u7acb hash\uff0c\u800c ",(0,a.kt)("inlineCode",{parentName:"p"},"favicon.ico")," \u5e0c\u671b\u4fdd\u6301\u539f\u6709\u6587\u4ef6\u540d\uff09\uff0c\u6211\u4eec\u53ef\u4ee5\u628a\u8be5\u6587\u4ef6\u653e\u5728 ",(0,a.kt)("inlineCode",{parentName:"p"},"public")," \u76ee\u5f55\u4e0b\uff0c\u4f7f\u7528\u65f6\u5728 Document \u7ec4\u4ef6\u4e2d\u5f15\u7528\u5373\u53ef\uff1a"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-diff"},'export default function Document() {\n return (\n <html>\n <head>\n+ <link rel="icon" href="/favicon.ico" />\n </head>\n <body>\n ...\n </body>\n </html>\n );\n}\n')),(0,a.kt)("p",null,"\u53e6\u5916\u50cf\u4e0d\u88ab\u6e90\u7801\u5f15\u5165\u7684\u8d44\u6e90\u4e5f\u5b58\u653e\u5728 ",(0,a.kt)("inlineCode",{parentName:"p"},"public")," \u76ee\u5f55\u4e0b\uff0c\u6bd4\u5982 ",(0,a.kt)("inlineCode",{parentName:"p"},"robots.txt"),"\u3002"),(0,a.kt)("admonition",{type:"caution"},(0,a.kt)("ul",{parentName:"admonition"},(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("inlineCode",{parentName:"li"},"public")," \u76ee\u5f55\u4e2d\u7684\u8d44\u6e90\u4f1a\u5728\u6784\u5efa\u9636\u6bb5\u5b8c\u6574\u590d\u5236\u5230 ",(0,a.kt)("inlineCode",{parentName:"li"},"outputDir")," \u6839\u76ee\u5f55\uff0c\u5e76\u4e14\u6587\u4ef6\u540d\u4e0d\u53d8\uff0c\u5728\u90e8\u7f72\u65f6\u5fc5\u987b\u628a\u8d44\u6e90\u6587\u4ef6\u653e\u5728\u670d\u52a1\u5668\u8d44\u6e90\u6839\u76ee\u5f55\u4e0b\u3002\uff08\u6bd4\u5982 ",(0,a.kt)("inlineCode",{parentName:"li"},"public/icon.svg")," \u6587\u4ef6\u5e94\u8be5\u5728\u901a\u8fc7 ",(0,a.kt)("inlineCode",{parentName:"li"},"http:example.com/icon.svg")," \u8fdb\u884c\u8bbf\u95ee\uff09"))))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/5d05f1ff.f6795154.js b/assets/js/5d05f1ff.f6795154.js deleted file mode 100644 index 1eb24d0cca..0000000000 --- a/assets/js/5d05f1ff.f6795154.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkice_website_v3=self.webpackChunkice_website_v3||[]).push([[3219],{4852:(e,t,n)=>{n.d(t,{Zo:()=>u,kt:()=>k});var r=n(9231);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function l(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?i(Object(n),!0).forEach((function(t){a(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function o(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var p=r.createContext({}),c=function(e){var t=r.useContext(p),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},u=function(e){var t=c(e.components);return r.createElement(p.Provider,{value:t},e.children)},s="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},m=r.forwardRef((function(e,t){var n=e.components,a=e.mdxType,i=e.originalType,p=e.parentName,u=o(e,["components","mdxType","originalType","parentName"]),s=c(n),m=a,k=s["".concat(p,".").concat(m)]||s[m]||d[m]||i;return n?r.createElement(k,l(l({ref:t},u),{},{components:n})):r.createElement(k,l({ref:t},u))}));function k(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var i=n.length,l=new Array(i);l[0]=m;var o={};for(var p in t)hasOwnProperty.call(t,p)&&(o[p]=t[p]);o.originalType=e,o[s]="string"==typeof e?e:a,l[1]=o;for(var c=2;c<i;c++)l[c]=n[c];return r.createElement.apply(null,l)}return r.createElement.apply(null,n)}m.displayName="MDXCreateElement"},768:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>p,contentTitle:()=>l,default:()=>d,frontMatter:()=>i,metadata:()=>o,toc:()=>c});var r=n(5675),a=(n(9231),n(4852));const i={title:"\u9759\u6001\u8d44\u6e90",order:7},l=void 0,o={unversionedId:"guide/basic/assets",id:"guide/basic/assets",title:"\u9759\u6001\u8d44\u6e90",description:"\u6846\u67b6\u9ed8\u8ba4\u5185\u7f6e\u4e86\u5904\u7406\u9759\u6001\u8d44\u6e90\u7684\u901a\u7528\u89c4\u5219\uff0c\u4e00\u822c\u60c5\u51b5\u4e0b\u5f00\u53d1\u8005\u65e0\u9700\u8bbe\u7f6e\u8d44\u6e90\u7684\u5904\u7406\u65b9\u5f0f\u3002\u53e6\u5916\uff0c\u5bf9\u4e8e\u4e00\u4e9b\u7279\u6b8a\u7684\u5904\u7406\u89c4\u5219\uff0c\u6846\u67b6\u7ed9\u51fa\u4e86\u4fbf\u6377\u65b9\u5f0f\u65b9\u4fbf\u5f00\u53d1\u8005\u5f15\u5165\u8d44\u6e90\u3002",source:"@site/docs/guide/basic/assets.md",sourceDirName:"guide/basic",slug:"/guide/basic/assets",permalink:"/docs/guide/basic/assets",draft:!1,editUrl:"https://github.com/alibaba/ice/edit/master/website/docs/guide/basic/assets.md",tags:[],version:"current",frontMatter:{title:"\u9759\u6001\u8d44\u6e90",order:7},sidebar:"docs",previous:{title:"\u6570\u636e\u52a0\u8f7d",permalink:"/docs/guide/basic/data-loader"},next:{title:"\u6570\u636e\u6a21\u62df Mock",permalink:"/docs/guide/basic/mock"}},p={},c=[{value:"\u57fa\u7840\u89c4\u5219",id:"\u57fa\u7840\u89c4\u5219",level:2},{value:"\u5728 JSX \u6587\u4ef6\u4e2d\u5f15\u5165",id:"\u5728-jsx-\u6587\u4ef6\u4e2d\u5f15\u5165",level:3},{value:"\u5728 CSS \u6587\u4ef6\u4e2d\u5f15\u5165",id:"\u5728-css-\u6587\u4ef6\u4e2d\u5f15\u5165",level:3},{value:"\u6307\u5b9a\u5904\u7406\u89c4\u5219",id:"\u6307\u5b9a\u5904\u7406\u89c4\u5219",level:2},{value:"URL \u5f15\u5165",id:"url-\u5f15\u5165",level:3},{value:"\u6587\u4ef6\u5185\u5bb9\u5f15\u5165",id:"\u6587\u4ef6\u5185\u5bb9\u5f15\u5165",level:3},{value:"public \u76ee\u5f55",id:"public-\u76ee\u5f55",level:2}],u={toc:c},s="wrapper";function d(e){let{components:t,...n}=e;return(0,a.kt)(s,(0,r.Z)({},u,n,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("p",null,"\u6846\u67b6\u9ed8\u8ba4\u5185\u7f6e\u4e86\u5904\u7406\u9759\u6001\u8d44\u6e90\u7684\u901a\u7528\u89c4\u5219\uff0c\u4e00\u822c\u60c5\u51b5\u4e0b\u5f00\u53d1\u8005\u65e0\u9700\u8bbe\u7f6e\u8d44\u6e90\u7684\u5904\u7406\u65b9\u5f0f\u3002\u53e6\u5916\uff0c\u5bf9\u4e8e\u4e00\u4e9b\u7279\u6b8a\u7684\u5904\u7406\u89c4\u5219\uff0c\u6846\u67b6\u7ed9\u51fa\u4e86\u4fbf\u6377\u65b9\u5f0f\u65b9\u4fbf\u5f00\u53d1\u8005\u5f15\u5165\u8d44\u6e90\u3002"),(0,a.kt)("h2",{id:"\u57fa\u7840\u89c4\u5219"},"\u57fa\u7840\u89c4\u5219"),(0,a.kt)("p",null,"\u6846\u67b6\u5185\u7f6e\u4e86\u9488\u5bf9\u4ee5\u4e0b\u8d44\u6e90\u7684\u5904\u7406\uff1a"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"\u56fe\u7247\u8d44\u6e90\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},".png"),"\u3001",(0,a.kt)("inlineCode",{parentName:"li"},".jpg"),"\u3001",(0,a.kt)("inlineCode",{parentName:"li"},".webp"),"\u3001",(0,a.kt)("inlineCode",{parentName:"li"},".jpeg"),"\u3001",(0,a.kt)("inlineCode",{parentName:"li"},".gif")),(0,a.kt)("li",{parentName:"ul"},"\u5b57\u4f53\u6587\u4ef6\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},".woff"),"\u3001",(0,a.kt)("inlineCode",{parentName:"li"},".woff2"),"\u3001",(0,a.kt)("inlineCode",{parentName:"li"},".ttf"),"\u3001",(0,a.kt)("inlineCode",{parentName:"li"},".eot")),(0,a.kt)("li",{parentName:"ul"},"svg \u6587\u4ef6\uff1a",(0,a.kt)("inlineCode",{parentName:"li"},".svg"))),(0,a.kt)("p",null,"\u4e0a\u8ff0\u8d44\u6e90\u6587\u4ef6\u540d\u9ed8\u8ba4\u4f1a\u7ecf\u8fc7 hash \u5904\u7406\uff0c\u5e76\u901a\u8fc7\u8d44\u6e90\u5730\u5740\u7684\u65b9\u5f0f\u52a0\u8f7d\uff08\u6bd4\u5982 ",(0,a.kt)("inlineCode",{parentName:"p"},"./assets/background.png")," \u7ecf\u8fc7\u6784\u5efa\u5904\u7406\u540e\u53d8\u6210 ",(0,a.kt)("inlineCode",{parentName:"p"},"/assets/background.ef5b6544.png"),"\uff09\u3002"),(0,a.kt)("p",null,"\u63a8\u8350\u5c06\u8fd9\u4e9b\u8d44\u6e90\u653e\u5728 ",(0,a.kt)("inlineCode",{parentName:"p"},"src/assets/")," \u76ee\u5f55\u4e0b\uff1a"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-markdown"},"src\n\u251c\u2500\u2500 assets/\n\u2502 \u251c\u2500\u2500 logo.png\n\u2502 \u2514\u2500\u2500 background.png\n")),(0,a.kt)("p",null,"\u7136\u540e\u5c31\u53ef\u4ee5\u5728\u6e90\u7801\u4e2d\u5f15\u5165\u8d44\u6e90\u4e86\u3002"),(0,a.kt)("h3",{id:"\u5728-jsx-\u6587\u4ef6\u4e2d\u5f15\u5165"},"\u5728 JSX \u6587\u4ef6\u4e2d\u5f15\u5165"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-jsx"},"import background from '@/assets/background.png';\n\nexport default function () {\n return (\n <img src={background} />\n );\n}\n")),(0,a.kt)("h3",{id:"\u5728-css-\u6587\u4ef6\u4e2d\u5f15\u5165"},"\u5728 CSS \u6587\u4ef6\u4e2d\u5f15\u5165"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-css"},".container {\n background-image: url('@/assets/background.png');\n}\n")),(0,a.kt)("admonition",{type:"tip"},(0,a.kt)("p",{parentName:"admonition"},"\u5982\u679c\u8d44\u6e90\u5c3a\u5bf8\u5c0f\u4e8e 8kb\uff0c\u5219\u8fdb\u884c base64 \u8f6c\u7801\u5e76\u5185\u8054\u5230\u811a\u672c\u6216\u6837\u5f0f\u6587\u4ef6\u4e2d\u3002")),(0,a.kt)("h2",{id:"\u6307\u5b9a\u5904\u7406\u89c4\u5219"},"\u6307\u5b9a\u5904\u7406\u89c4\u5219"),(0,a.kt)("p",null,"\u5bf9\u4e8e\u5185\u7f6e\u89c4\u5219\u4e0d\u6ee1\u8db3\u7279\u5b9a\u573a\u666f\u7684\u60c5\u51b5\u4e0b\uff0c\u6846\u67b6\u63d0\u4f9b\u4e86\u4fbf\u6377\u7684\u65b9\u5f0f\u5bf9\u8d44\u6e90\u8fdb\u884c\u5904\u7406"),(0,a.kt)("h3",{id:"url-\u5f15\u5165"},"URL \u5f15\u5165"),(0,a.kt)("p",null,"\u9664\u57fa\u7840\u89c4\u5219\u4e2d\u6307\u5b9a\u8d44\u6e90\u5916\uff0c\u5982\u679c\u8fd8\u5e0c\u671b\u901a\u8fc7\u8d44\u6e90\u5730\u5740\u7684\u65b9\u5f0f\u8fdb\u884c\u8d44\u6e90\u5904\u7406\u7684\uff0c\u53ef\u4ee5\u901a\u8fc7\u5982\u4e0b\u65b9\u5f0f\u8fdb\u884c\u6307\u5b9a\uff1a"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-jsx"},"import workletURL from 'extra-scalloped-border/worklet.js?url'\nCSS.paintWorklet.addModule(workletURL);\n")),(0,a.kt)("p",null,(0,a.kt)("inlineCode",{parentName:"p"},"?url")," \u7b49\u540c\u4e8e\u4e3a\u6307\u5b9a\u8d44\u6e90\u6307\u5b9a url-loader"),(0,a.kt)("h3",{id:"\u6587\u4ef6\u5185\u5bb9\u5f15\u5165"},"\u6587\u4ef6\u5185\u5bb9\u5f15\u5165"),(0,a.kt)("p",null,"\u901a\u8fc7 ",(0,a.kt)("inlineCode",{parentName:"p"},"?raw")," \u540e\u7f00\u58f0\u660e\u5c06\u8d44\u6e90\u4f5c\u4e3a\u5b57\u7b26\u4e32\u5f15\u5165\uff1a"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-jsx"},"import txtContent from './text.txt?raw';\n")),(0,a.kt)("p",null,(0,a.kt)("inlineCode",{parentName:"p"},"?raw")," \u7b49\u540c\u4e8e\u4e3a\u6307\u5b9a\u8d44\u6e90\u6307\u5b9a raw-loader"),(0,a.kt)("h2",{id:"public-\u76ee\u5f55"},"public \u76ee\u5f55"),(0,a.kt)("p",null,(0,a.kt)("inlineCode",{parentName:"p"},"public")," \u76ee\u5f55\u4f5c\u4e3a\u6846\u67b6\u9ed8\u8ba4\u7684\u9759\u6001\u8d44\u6e90\u76ee\u5f55\uff0c\u4e0d\u88ab\u6784\u5efa\u5de5\u5177\u8fdb\u884c\u7f16\u8bd1\u7684\u8d44\u6e90\u90fd\u53ef\u4ee5\u653e\u5728\u8be5\u76ee\u5f55\u4e0b\u3002"),(0,a.kt)("p",null,"\u6bd4\u5982 ",(0,a.kt)("inlineCode",{parentName:"p"},"favicon.ico")," \u6587\u4ef6\uff0c\u6211\u4eec\u5e76\u4e0d\u5e0c\u671b\u8be5\u6587\u4ef6\u540d\u7f16\u8bd1\uff08\u9ed8\u8ba4\u9759\u6001\u8d44\u6e90\u6587\u4ef6\u540d\u5728\u7f16\u8bd1\u540e\u4f1a\u751f\u6210\u72ec\u7acb hash\uff0c\u800c ",(0,a.kt)("inlineCode",{parentName:"p"},"favicon.ico")," \u5e0c\u671b\u4fdd\u6301\u539f\u6709\u6587\u4ef6\u540d\uff09\uff0c\u6211\u4eec\u53ef\u4ee5\u628a\u8be5\u6587\u4ef6\u653e\u5728 ",(0,a.kt)("inlineCode",{parentName:"p"},"public")," \u76ee\u5f55\u4e0b\uff0c\u4f7f\u7528\u65f6\u5728 Document \u7ec4\u4ef6\u4e2d\u5f15\u7528\u5373\u53ef\uff1a"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-diff"},'export default function Document() {\n return (\n <html>\n <head>\n+ <link rel="icon" href="/favicon.ico" />\n </head>\n <body>\n ...\n </body>\n </html>\n );\n}\n')),(0,a.kt)("p",null,"\u53e6\u5916\u50cf\u4e0d\u88ab\u6e90\u7801\u5f15\u5165\u7684\u8d44\u6e90\u4e5f\u5b58\u653e\u5728 ",(0,a.kt)("inlineCode",{parentName:"p"},"public")," \u76ee\u5f55\u4e0b\uff0c\u6bd4\u5982 ",(0,a.kt)("inlineCode",{parentName:"p"},"robots.txt"),"\u3002"),(0,a.kt)("admonition",{type:"caution"},(0,a.kt)("ul",{parentName:"admonition"},(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("inlineCode",{parentName:"li"},"public")," \u76ee\u5f55\u4e2d\u7684\u8d44\u6e90\u4f1a\u5728\u6784\u5efa\u9636\u6bb5\u5b8c\u6574\u590d\u5236\u5230 ",(0,a.kt)("inlineCode",{parentName:"li"},"outputDir")," \u6839\u76ee\u5f55\uff0c\u5e76\u4e14\u6587\u4ef6\u540d\u4e0d\u53d8\uff0c\u5728\u90e8\u7f72\u65f6\u5fc5\u987b\u628a\u8d44\u6e90\u6587\u4ef6\u653e\u5728\u670d\u52a1\u5668\u8d44\u6e90\u6839\u76ee\u5f55\u4e0b\u3002\uff08\u6bd4\u5982 ",(0,a.kt)("inlineCode",{parentName:"li"},"public/icon.svg")," \u6587\u4ef6\u5e94\u8be5\u5728\u901a\u8fc7 ",(0,a.kt)("inlineCode",{parentName:"li"},"http:example.com/icon.svg")," \u8fdb\u884c\u8bbf\u95ee\uff09"))))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/5fd450b3.b7a364e9.js b/assets/js/5fd450b3.0cf71e09.js similarity index 99% rename from assets/js/5fd450b3.b7a364e9.js rename to assets/js/5fd450b3.0cf71e09.js index f219a77ba5..4cdc323941 100644 --- a/assets/js/5fd450b3.b7a364e9.js +++ b/assets/js/5fd450b3.0cf71e09.js @@ -1 +1 @@ -"use strict";(self.webpackChunkice_website_v3=self.webpackChunkice_website_v3||[]).push([[603],{4852:(e,t,n)=>{n.d(t,{Zo:()=>p,kt:()=>k});var r=n(9231);function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function l(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?a(Object(n),!0).forEach((function(t){i(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):a(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function c(e,t){if(null==e)return{};var n,r,i=function(e,t){if(null==e)return{};var n,r,i={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var o=r.createContext({}),s=function(e){var t=r.useContext(o),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},p=function(e){var t=s(e.components);return r.createElement(o.Provider,{value:t},e.children)},u="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},m=r.forwardRef((function(e,t){var n=e.components,i=e.mdxType,a=e.originalType,o=e.parentName,p=c(e,["components","mdxType","originalType","parentName"]),u=s(n),m=i,k=u["".concat(o,".").concat(m)]||u[m]||d[m]||a;return n?r.createElement(k,l(l({ref:t},p),{},{components:n})):r.createElement(k,l({ref:t},p))}));function k(e,t){var n=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var a=n.length,l=new Array(a);l[0]=m;var c={};for(var o in t)hasOwnProperty.call(t,o)&&(c[o]=t[o]);c.originalType=e,c[u]="string"==typeof e?e:i,l[1]=c;for(var s=2;s<a;s++)l[s]=n[s];return r.createElement.apply(null,l)}return r.createElement.apply(null,n)}m.displayName="MDXCreateElement"},1587:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>o,contentTitle:()=>l,default:()=>d,frontMatter:()=>a,metadata:()=>c,toc:()=>s});var r=n(5675),i=(n(9231),n(4852));const a={title:"\u76ee\u5f55\u7ed3\u6784",order:1},l=void 0,c={unversionedId:"guide/basic/directory",id:"guide/basic/directory",title:"\u76ee\u5f55\u7ed3\u6784",description:"ice.js \u7684\u9ed8\u8ba4\u5e94\u7528\u76ee\u5f55\u63d0\u4f9b\u4e86\u826f\u597d\u7684\u4ee3\u7801\u5206\u5c42\u7ed3\u6784\uff0c\u7ea6\u5b9a\u7684\u76ee\u5f55\u7ed3\u6784\u5982\u4e0b\uff1a",source:"@site/docs/guide/basic/directory.md",sourceDirName:"guide/basic",slug:"/guide/basic/directory",permalink:"/docs/guide/basic/directory",draft:!1,editUrl:"https://github.com/alibaba/ice/edit/master/website/docs/guide/basic/directory.md",tags:[],version:"current",frontMatter:{title:"\u76ee\u5f55\u7ed3\u6784",order:1},sidebar:"docs",previous:{title:"\u5f00\u53d1\u73af\u5883",permalink:"/docs/guide/basic/development"},next:{title:"\u5e94\u7528\u5165\u53e3",permalink:"/docs/guide/basic/app"}},o={},s=[{value:"package.json",id:"packagejson",level:2},{value:"ice.config.mts",id:"iceconfigmts",level:2},{value:".env",id:"env",level:2},{value:"tsconfig.json",id:"tsconfigjson",level:2},{value:"mock \u76ee\u5f55",id:"mock-\u76ee\u5f55",level:2},{value:"public \u76ee\u5f55",id:"public-\u76ee\u5f55",level:2},{value:"src \u76ee\u5f55",id:"src-\u76ee\u5f55",level:2},{value:"app.ts",id:"appts",level:3},{value:"document.tsx",id:"documenttsx",level:3},{value:"global.css|scss|less",id:"globalcssscssless",level:3},{value:"pages \u76ee\u5f55",id:"pages-\u76ee\u5f55",level:3},{value:"components \u76ee\u5f55",id:"components-\u76ee\u5f55",level:3},{value:"\u5176\u5b83",id:"\u5176\u5b83",level:2}],p={toc:s},u="wrapper";function d(e){let{components:t,...n}=e;return(0,i.kt)(u,(0,r.Z)({},p,n,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("p",null,"ice.js \u7684\u9ed8\u8ba4\u5e94\u7528\u76ee\u5f55\u63d0\u4f9b\u4e86\u826f\u597d\u7684\u4ee3\u7801\u5206\u5c42\u7ed3\u6784\uff0c\u7ea6\u5b9a\u7684\u76ee\u5f55\u7ed3\u6784\u5982\u4e0b\uff1a"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-bash"},"\u251c\u2500\u2500 build // \u6784\u5efa\u4ea7\u7269\u76ee\u5f55\n\u251c\u2500\u2500 mock // \u672c\u5730\u6a21\u62df\u6570\u636e\n\u2502 \u251c\u2500\u2500 index.ts\n\u251c\u2500\u2500 public // \u9759\u6001\u8d44\u6e90\u76ee\u5f55\n\u2502 \u2514\u2500\u2500 favicon.ico // Favicon \u56fe\u6807\n\u251c\u2500\u2500 src // \u6e90\u7801\u76ee\u5f55\n\u2502 \u251c\u2500\u2500 components // \u81ea\u5b9a\u4e49\u4e1a\u52a1\u7ec4\u4ef6\n\u2502 \u251c\u2500\u2500 pages // \u8def\u7531\u9875\u9762\u7ec4\u4ef6\n| | \u251c\u2500\u2500 about.tsx\n| | \u251c\u2500\u2500 home.tsx\n| | \u2514\u2500\u2500 layout.tsx // \u5168\u5c40\u5e03\u5c40\u7ec4\u4ef6\n\u2502 \u251c\u2500\u2500 global.css // \u5168\u5c40\u6837\u5f0f\n\u2502 \u251c\u2500\u2500 document.tsx // HTML \u6a21\u677f\n\u2502 \u2514\u2500\u2500 app.ts // \u5e94\u7528\u5165\u53e3\n\u251c\u2500\u2500 .env // \u73af\u5883\u53d8\u91cf\u914d\u7f6e\u6587\u4ef6\n\u251c\u2500\u2500 ice.config.mts // \u6784\u5efa\u914d\u7f6e\n\u251c\u2500\u2500 package.json\n\u2514\u2500\u2500 tsconfig.json // TypeScript \u914d\u7f6e\u6587\u4ef6\n")),(0,i.kt)("h2",{id:"packagejson"},"package.json"),(0,i.kt)("p",null,"\u58f0\u660e\u5e94\u7528\u6240\u9700\u8981\u7684\u5404\u79cd\u4f9d\u8d56\u6216\u8005\u63d2\u4ef6\uff0c\u4ee5\u53ca\u914d\u7f6e\u4fe1\u606f\uff08\u6bd4\u5982\u540d\u79f0\u3001\u7248\u672c\u3001\u8bb8\u53ef\u8bc1\u7b49\u5143\u6570\u636e\uff09\u3002"),(0,i.kt)("h2",{id:"iceconfigmts"},"ice.config.mts"),(0,i.kt)("p",null,"\u5e94\u7528\u7684\u6784\u5efa\u914d\u7f6e\u6587\u4ef6\u3002\u8be6\u89c1 ",(0,i.kt)("a",{parentName:"p",href:"./config"},"\u6784\u5efa\u914d\u7f6e"),"\u3002"),(0,i.kt)("h2",{id:"env"},".env"),(0,i.kt)("p",null,"\u914d\u7f6e\u73af\u5883\u53d8\u91cf\u3002\u8be6\u89c1 ",(0,i.kt)("a",{parentName:"p",href:"./env"},"\u73af\u5883\u53d8\u91cf"),"\u3002"),(0,i.kt)("h2",{id:"tsconfigjson"},"tsconfig.json"),(0,i.kt)("p",null,"TypeScript \u7f16\u8bd1\u6240\u9700\u7684\u914d\u7f6e\u6587\u4ef6\u3002"),(0,i.kt)("h2",{id:"mock-\u76ee\u5f55"},"mock \u76ee\u5f55"),(0,i.kt)("p",null,"\u5b58\u653e mock \u6587\u4ef6\uff0c\u7528\u4e8e\u672c\u5730\u6a21\u62df\u8bf7\u6c42\u6570\u636e\u670d\u52a1\u3002\u8be6\u89c1 ",(0,i.kt)("a",{parentName:"p",href:"./mock"},"Mock"),"\u3002"),(0,i.kt)("h2",{id:"public-\u76ee\u5f55"},"public \u76ee\u5f55"),(0,i.kt)("p",null,"\u7528\u4e8e\u5b58\u653e\u9759\u6001\u8d44\u6e90\uff08\u5982 ",(0,i.kt)("inlineCode",{parentName:"p"},"favicon.ico"),"\uff09\u7684\u76ee\u5f55\uff0c\u6b64\u76ee\u5f55\u4e0b\u6240\u6709\u7684\u6587\u4ef6\u4f1a\u88ab\u590d\u5236\u5230\u6784\u5efa\u4ea7\u7269\u76ee\u5f55\u4e2d\u3002"),(0,i.kt)("h2",{id:"src-\u76ee\u5f55"},"src \u76ee\u5f55"),(0,i.kt)("p",null,"\u7528\u4e8e\u5b58\u653e\u6e90\u7801\u7684\u76ee\u5f55"),(0,i.kt)("h3",{id:"appts"},"app.ts"),(0,i.kt)("p",null,"\u9879\u76ee\u7684\u5165\u53e3\u6587\u4ef6\uff0c\u7528\u4e8e\u5bf9\u5e94\u7528\u8fdb\u884c\u5168\u5c40\u8fd0\u884c\u65f6\u914d\u7f6e\uff0c\u5305\u62ec\u8def\u7531\u3001\u6dfb\u52a0 Provider \u7b49\u3002\u8be6\u89c1",(0,i.kt)("a",{parentName:"p",href:"./app"},"\u5e94\u7528\u5165\u53e3"),"\u3002"),(0,i.kt)("h3",{id:"documenttsx"},"document.tsx"),(0,i.kt)("p",null,"HTML \u6a21\u677f\uff0c\u4f7f\u7528 JSX \u8bed\u6cd5\u6765\u63cf\u8ff0\uff0c\u4e0e ",(0,i.kt)("inlineCode",{parentName:"p"},"index.html")," \u7c7b\u4f3c\u7528\u4e8e\u751f\u6210 HTML \u4ea7\u7269\u3002\u8be6\u89c1 ",(0,i.kt)("a",{parentName:"p",href:"./document"},"Document"),"\u3002"),(0,i.kt)("h3",{id:"globalcssscssless"},"global.","[css|scss|less]"),(0,i.kt)("p",null,"\u5168\u5c40\u7684\u6837\u5f0f\u914d\u7f6e\uff0c\u6846\u67b6\u9ed8\u8ba4\u4f1a\u5f15\u5165\u8be5\u6587\u4ef6\u3002\u8be6\u89c1",(0,i.kt)("a",{parentName:"p",href:"./style"},"\u6837\u5f0f\u65b9\u6848")),(0,i.kt)("h3",{id:"pages-\u76ee\u5f55"},"pages \u76ee\u5f55"),(0,i.kt)("p",null,"\u5b58\u653e\u8def\u7531\u7ec4\u4ef6\u7684\u76ee\u5f55\u3002ice.js \u4f7f\u7528\u7ea6\u5b9a\u5f0f\u8def\u7531\uff0c\u4f1a\u81ea\u52a8\u6839\u636e\u6587\u4ef6\u751f\u6210\u8def\u7531\u89c4\u5219\uff0c\u8be6\u89c1",(0,i.kt)("a",{parentName:"p",href:"./router"},"\u8def\u7531"),"\u3002"),(0,i.kt)("h3",{id:"components-\u76ee\u5f55"},"components \u76ee\u5f55"),(0,i.kt)("p",null,"\u9879\u76ee\u901a\u7528\u7684\u7ec4\u4ef6\u76ee\u5f55\uff0c\u63a8\u8350\u7684\u76ee\u5f55\u5f62\u5f0f\u5982\u4e0b\uff1a"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-bash"},"src\n\u251c\u2500\u2500 components\n| \u2514\u2500\u2500 Guide\n| \u251c\u2500\u2500 index.module.css\n| \u2514\u2500\u2500 index.tsx\n")),(0,i.kt)("p",null,"\u7ec4\u4ef6\u901a\u5e38\u4f1a\u5728\u8def\u7531\u7ec4\u4ef6\u4e2d\u88ab\u5f15\u5165\u3002"),(0,i.kt)("h2",{id:"\u5176\u5b83"},"\u5176\u5b83"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"build \u76ee\u5f55",(0,i.kt)("ul",{parentName:"li"},(0,i.kt)("li",{parentName:"ul"},"\u8fd0\u884c ",(0,i.kt)("inlineCode",{parentName:"li"},"npm build")," \u540e\u7684\u6784\u5efa\u4ea7\u7269\u76ee\u5f55\uff0c\u53ef\u4fee\u6539\u6784\u5efa\u914d\u7f6e\u4fee\u6539\u8f93\u51fa\u8def\u5f84\u3002"))),(0,i.kt)("li",{parentName:"ul"},".ice \u76ee\u5f55",(0,i.kt)("ul",{parentName:"li"},(0,i.kt)("li",{parentName:"ul"},"\u8fd0\u884c ice.js \u9879\u76ee\u65f6\u9ed8\u8ba4\u751f\u6210\u7684\u4e34\u65f6\u76ee\u5f55\uff0c\u8be5\u76ee\u5f55\u4e0d\u9700\u8981\u8fdb\u884c ",(0,i.kt)("inlineCode",{parentName:"li"},"git")," \u63d0\u4ea4\u3002")))))}d.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunkice_website_v3=self.webpackChunkice_website_v3||[]).push([[603],{4852:(e,t,n)=>{n.d(t,{Zo:()=>p,kt:()=>k});var r=n(9231);function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function l(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?a(Object(n),!0).forEach((function(t){i(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):a(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function c(e,t){if(null==e)return{};var n,r,i=function(e,t){if(null==e)return{};var n,r,i={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var o=r.createContext({}),s=function(e){var t=r.useContext(o),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},p=function(e){var t=s(e.components);return r.createElement(o.Provider,{value:t},e.children)},u="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},m=r.forwardRef((function(e,t){var n=e.components,i=e.mdxType,a=e.originalType,o=e.parentName,p=c(e,["components","mdxType","originalType","parentName"]),u=s(n),m=i,k=u["".concat(o,".").concat(m)]||u[m]||d[m]||a;return n?r.createElement(k,l(l({ref:t},p),{},{components:n})):r.createElement(k,l({ref:t},p))}));function k(e,t){var n=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var a=n.length,l=new Array(a);l[0]=m;var c={};for(var o in t)hasOwnProperty.call(t,o)&&(c[o]=t[o]);c.originalType=e,c[u]="string"==typeof e?e:i,l[1]=c;for(var s=2;s<a;s++)l[s]=n[s];return r.createElement.apply(null,l)}return r.createElement.apply(null,n)}m.displayName="MDXCreateElement"},2612:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>o,contentTitle:()=>l,default:()=>d,frontMatter:()=>a,metadata:()=>c,toc:()=>s});var r=n(5675),i=(n(9231),n(4852));const a={title:"\u76ee\u5f55\u7ed3\u6784",order:1},l=void 0,c={unversionedId:"guide/basic/directory",id:"guide/basic/directory",title:"\u76ee\u5f55\u7ed3\u6784",description:"ice.js \u7684\u9ed8\u8ba4\u5e94\u7528\u76ee\u5f55\u63d0\u4f9b\u4e86\u826f\u597d\u7684\u4ee3\u7801\u5206\u5c42\u7ed3\u6784\uff0c\u7ea6\u5b9a\u7684\u76ee\u5f55\u7ed3\u6784\u5982\u4e0b\uff1a",source:"@site/docs/guide/basic/directory.md",sourceDirName:"guide/basic",slug:"/guide/basic/directory",permalink:"/docs/guide/basic/directory",draft:!1,editUrl:"https://github.com/alibaba/ice/edit/master/website/docs/guide/basic/directory.md",tags:[],version:"current",frontMatter:{title:"\u76ee\u5f55\u7ed3\u6784",order:1},sidebar:"docs",previous:{title:"\u5f00\u53d1\u73af\u5883",permalink:"/docs/guide/basic/development"},next:{title:"\u5e94\u7528\u5165\u53e3",permalink:"/docs/guide/basic/app"}},o={},s=[{value:"package.json",id:"packagejson",level:2},{value:"ice.config.mts",id:"iceconfigmts",level:2},{value:".env",id:"env",level:2},{value:"tsconfig.json",id:"tsconfigjson",level:2},{value:"mock \u76ee\u5f55",id:"mock-\u76ee\u5f55",level:2},{value:"public \u76ee\u5f55",id:"public-\u76ee\u5f55",level:2},{value:"src \u76ee\u5f55",id:"src-\u76ee\u5f55",level:2},{value:"app.ts",id:"appts",level:3},{value:"document.tsx",id:"documenttsx",level:3},{value:"global.css|scss|less",id:"globalcssscssless",level:3},{value:"pages \u76ee\u5f55",id:"pages-\u76ee\u5f55",level:3},{value:"components \u76ee\u5f55",id:"components-\u76ee\u5f55",level:3},{value:"\u5176\u5b83",id:"\u5176\u5b83",level:2}],p={toc:s},u="wrapper";function d(e){let{components:t,...n}=e;return(0,i.kt)(u,(0,r.Z)({},p,n,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("p",null,"ice.js \u7684\u9ed8\u8ba4\u5e94\u7528\u76ee\u5f55\u63d0\u4f9b\u4e86\u826f\u597d\u7684\u4ee3\u7801\u5206\u5c42\u7ed3\u6784\uff0c\u7ea6\u5b9a\u7684\u76ee\u5f55\u7ed3\u6784\u5982\u4e0b\uff1a"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-bash"},"\u251c\u2500\u2500 build // \u6784\u5efa\u4ea7\u7269\u76ee\u5f55\n\u251c\u2500\u2500 mock // \u672c\u5730\u6a21\u62df\u6570\u636e\n\u2502 \u251c\u2500\u2500 index.ts\n\u251c\u2500\u2500 public // \u9759\u6001\u8d44\u6e90\u76ee\u5f55\n\u2502 \u2514\u2500\u2500 favicon.ico // Favicon \u56fe\u6807\n\u251c\u2500\u2500 src // \u6e90\u7801\u76ee\u5f55\n\u2502 \u251c\u2500\u2500 components // \u81ea\u5b9a\u4e49\u4e1a\u52a1\u7ec4\u4ef6\n\u2502 \u251c\u2500\u2500 pages // \u8def\u7531\u9875\u9762\u7ec4\u4ef6\n| | \u251c\u2500\u2500 about.tsx\n| | \u251c\u2500\u2500 home.tsx\n| | \u2514\u2500\u2500 layout.tsx // \u5168\u5c40\u5e03\u5c40\u7ec4\u4ef6\n\u2502 \u251c\u2500\u2500 global.css // \u5168\u5c40\u6837\u5f0f\n\u2502 \u251c\u2500\u2500 document.tsx // HTML \u6a21\u677f\n\u2502 \u2514\u2500\u2500 app.ts // \u5e94\u7528\u5165\u53e3\n\u251c\u2500\u2500 .env // \u73af\u5883\u53d8\u91cf\u914d\u7f6e\u6587\u4ef6\n\u251c\u2500\u2500 ice.config.mts // \u6784\u5efa\u914d\u7f6e\n\u251c\u2500\u2500 package.json\n\u2514\u2500\u2500 tsconfig.json // TypeScript \u914d\u7f6e\u6587\u4ef6\n")),(0,i.kt)("h2",{id:"packagejson"},"package.json"),(0,i.kt)("p",null,"\u58f0\u660e\u5e94\u7528\u6240\u9700\u8981\u7684\u5404\u79cd\u4f9d\u8d56\u6216\u8005\u63d2\u4ef6\uff0c\u4ee5\u53ca\u914d\u7f6e\u4fe1\u606f\uff08\u6bd4\u5982\u540d\u79f0\u3001\u7248\u672c\u3001\u8bb8\u53ef\u8bc1\u7b49\u5143\u6570\u636e\uff09\u3002"),(0,i.kt)("h2",{id:"iceconfigmts"},"ice.config.mts"),(0,i.kt)("p",null,"\u5e94\u7528\u7684\u6784\u5efa\u914d\u7f6e\u6587\u4ef6\u3002\u8be6\u89c1 ",(0,i.kt)("a",{parentName:"p",href:"./config"},"\u6784\u5efa\u914d\u7f6e"),"\u3002"),(0,i.kt)("h2",{id:"env"},".env"),(0,i.kt)("p",null,"\u914d\u7f6e\u73af\u5883\u53d8\u91cf\u3002\u8be6\u89c1 ",(0,i.kt)("a",{parentName:"p",href:"./env"},"\u73af\u5883\u53d8\u91cf"),"\u3002"),(0,i.kt)("h2",{id:"tsconfigjson"},"tsconfig.json"),(0,i.kt)("p",null,"TypeScript \u7f16\u8bd1\u6240\u9700\u7684\u914d\u7f6e\u6587\u4ef6\u3002"),(0,i.kt)("h2",{id:"mock-\u76ee\u5f55"},"mock \u76ee\u5f55"),(0,i.kt)("p",null,"\u5b58\u653e mock \u6587\u4ef6\uff0c\u7528\u4e8e\u672c\u5730\u6a21\u62df\u8bf7\u6c42\u6570\u636e\u670d\u52a1\u3002\u8be6\u89c1 ",(0,i.kt)("a",{parentName:"p",href:"./mock"},"Mock"),"\u3002"),(0,i.kt)("h2",{id:"public-\u76ee\u5f55"},"public \u76ee\u5f55"),(0,i.kt)("p",null,"\u7528\u4e8e\u5b58\u653e\u9759\u6001\u8d44\u6e90\uff08\u5982 ",(0,i.kt)("inlineCode",{parentName:"p"},"favicon.ico"),"\uff09\u7684\u76ee\u5f55\uff0c\u6b64\u76ee\u5f55\u4e0b\u6240\u6709\u7684\u6587\u4ef6\u4f1a\u88ab\u590d\u5236\u5230\u6784\u5efa\u4ea7\u7269\u76ee\u5f55\u4e2d\u3002"),(0,i.kt)("h2",{id:"src-\u76ee\u5f55"},"src \u76ee\u5f55"),(0,i.kt)("p",null,"\u7528\u4e8e\u5b58\u653e\u6e90\u7801\u7684\u76ee\u5f55"),(0,i.kt)("h3",{id:"appts"},"app.ts"),(0,i.kt)("p",null,"\u9879\u76ee\u7684\u5165\u53e3\u6587\u4ef6\uff0c\u7528\u4e8e\u5bf9\u5e94\u7528\u8fdb\u884c\u5168\u5c40\u8fd0\u884c\u65f6\u914d\u7f6e\uff0c\u5305\u62ec\u8def\u7531\u3001\u6dfb\u52a0 Provider \u7b49\u3002\u8be6\u89c1",(0,i.kt)("a",{parentName:"p",href:"./app"},"\u5e94\u7528\u5165\u53e3"),"\u3002"),(0,i.kt)("h3",{id:"documenttsx"},"document.tsx"),(0,i.kt)("p",null,"HTML \u6a21\u677f\uff0c\u4f7f\u7528 JSX \u8bed\u6cd5\u6765\u63cf\u8ff0\uff0c\u4e0e ",(0,i.kt)("inlineCode",{parentName:"p"},"index.html")," \u7c7b\u4f3c\u7528\u4e8e\u751f\u6210 HTML \u4ea7\u7269\u3002\u8be6\u89c1 ",(0,i.kt)("a",{parentName:"p",href:"./document"},"Document"),"\u3002"),(0,i.kt)("h3",{id:"globalcssscssless"},"global.","[css|scss|less]"),(0,i.kt)("p",null,"\u5168\u5c40\u7684\u6837\u5f0f\u914d\u7f6e\uff0c\u6846\u67b6\u9ed8\u8ba4\u4f1a\u5f15\u5165\u8be5\u6587\u4ef6\u3002\u8be6\u89c1",(0,i.kt)("a",{parentName:"p",href:"./style"},"\u6837\u5f0f\u65b9\u6848")),(0,i.kt)("h3",{id:"pages-\u76ee\u5f55"},"pages \u76ee\u5f55"),(0,i.kt)("p",null,"\u5b58\u653e\u8def\u7531\u7ec4\u4ef6\u7684\u76ee\u5f55\u3002ice.js \u4f7f\u7528\u7ea6\u5b9a\u5f0f\u8def\u7531\uff0c\u4f1a\u81ea\u52a8\u6839\u636e\u6587\u4ef6\u751f\u6210\u8def\u7531\u89c4\u5219\uff0c\u8be6\u89c1",(0,i.kt)("a",{parentName:"p",href:"./router"},"\u8def\u7531"),"\u3002"),(0,i.kt)("h3",{id:"components-\u76ee\u5f55"},"components \u76ee\u5f55"),(0,i.kt)("p",null,"\u9879\u76ee\u901a\u7528\u7684\u7ec4\u4ef6\u76ee\u5f55\uff0c\u63a8\u8350\u7684\u76ee\u5f55\u5f62\u5f0f\u5982\u4e0b\uff1a"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-bash"},"src\n\u251c\u2500\u2500 components\n| \u2514\u2500\u2500 Guide\n| \u251c\u2500\u2500 index.module.css\n| \u2514\u2500\u2500 index.tsx\n")),(0,i.kt)("p",null,"\u7ec4\u4ef6\u901a\u5e38\u4f1a\u5728\u8def\u7531\u7ec4\u4ef6\u4e2d\u88ab\u5f15\u5165\u3002"),(0,i.kt)("h2",{id:"\u5176\u5b83"},"\u5176\u5b83"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"build \u76ee\u5f55",(0,i.kt)("ul",{parentName:"li"},(0,i.kt)("li",{parentName:"ul"},"\u8fd0\u884c ",(0,i.kt)("inlineCode",{parentName:"li"},"npm build")," \u540e\u7684\u6784\u5efa\u4ea7\u7269\u76ee\u5f55\uff0c\u53ef\u4fee\u6539\u6784\u5efa\u914d\u7f6e\u4fee\u6539\u8f93\u51fa\u8def\u5f84\u3002"))),(0,i.kt)("li",{parentName:"ul"},".ice \u76ee\u5f55",(0,i.kt)("ul",{parentName:"li"},(0,i.kt)("li",{parentName:"ul"},"\u8fd0\u884c ice.js \u9879\u76ee\u65f6\u9ed8\u8ba4\u751f\u6210\u7684\u4e34\u65f6\u76ee\u5f55\uff0c\u8be5\u76ee\u5f55\u4e0d\u9700\u8981\u8fdb\u884c ",(0,i.kt)("inlineCode",{parentName:"li"},"git")," \u63d0\u4ea4\u3002")))))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/66e3f552.f6c614c6.js b/assets/js/66e3f552.8f8fe7a7.js similarity index 99% rename from assets/js/66e3f552.f6c614c6.js rename to assets/js/66e3f552.8f8fe7a7.js index 4f91bec612..494958c119 100644 --- a/assets/js/66e3f552.f6c614c6.js +++ b/assets/js/66e3f552.8f8fe7a7.js @@ -1 +1 @@ -"use strict";(self.webpackChunkice_website_v3=self.webpackChunkice_website_v3||[]).push([[971],{4852:(e,n,t)=>{t.d(n,{Zo:()=>d,kt:()=>k});var l=t(9231);function r(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function a(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);n&&(l=l.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,l)}return t}function i(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?a(Object(t),!0).forEach((function(n){r(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):a(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function o(e,n){if(null==e)return{};var t,l,r=function(e,n){if(null==e)return{};var t,l,r={},a=Object.keys(e);for(l=0;l<a.length;l++)t=a[l],n.indexOf(t)>=0||(r[t]=e[t]);return r}(e,n);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(l=0;l<a.length;l++)t=a[l],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}var p=l.createContext({}),c=function(e){var n=l.useContext(p),t=n;return e&&(t="function"==typeof e?e(n):i(i({},n),e)),t},d=function(e){var n=c(e.components);return l.createElement(p.Provider,{value:n},e.children)},u="mdxType",s={inlineCode:"code",wrapper:function(e){var n=e.children;return l.createElement(l.Fragment,{},n)}},m=l.forwardRef((function(e,n){var t=e.components,r=e.mdxType,a=e.originalType,p=e.parentName,d=o(e,["components","mdxType","originalType","parentName"]),u=c(t),m=r,k=u["".concat(p,".").concat(m)]||u[m]||s[m]||a;return t?l.createElement(k,i(i({ref:n},d),{},{components:t})):l.createElement(k,i({ref:n},d))}));function k(e,n){var t=arguments,r=n&&n.mdxType;if("string"==typeof e||r){var a=t.length,i=new Array(a);i[0]=m;var o={};for(var p in n)hasOwnProperty.call(n,p)&&(o[p]=n[p]);o.originalType=e,o[u]="string"==typeof e?e:r,i[1]=o;for(var c=2;c<a;c++)i[c]=t[c];return l.createElement.apply(null,i)}return l.createElement.apply(null,t)}m.displayName="MDXCreateElement"},5808:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>p,contentTitle:()=>i,default:()=>s,frontMatter:()=>a,metadata:()=>o,toc:()=>c});var l=t(5675),r=(t(9231),t(4852));const a={title:"\u73af\u5883\u53d8\u91cf",order:15},i=void 0,o={unversionedId:"guide/basic/env",id:"guide/basic/env",title:"\u73af\u5883\u53d8\u91cf",description:"ice.js \u5185\u7f6e\u901a\u8fc7\u73af\u5883\u53d8\u91cf\u5b9e\u73b0\u7ed9\u6784\u5efa\u6216\u8fd0\u884c\u65f6\u4f20\u9012\u53c2\u6570\u7684\u529f\u80fd\u3002",source:"@site/docs/guide/basic/env.md",sourceDirName:"guide/basic",slug:"/guide/basic/env",permalink:"/docs/guide/basic/env",draft:!1,editUrl:"https://github.com/alibaba/ice/edit/master/website/docs/guide/basic/env.md",tags:[],version:"current",frontMatter:{title:"\u73af\u5883\u53d8\u91cf",order:15},sidebar:"docs",previous:{title:"API",permalink:"/docs/guide/basic/api"},next:{title:"\u5143\u7d20\u53ef\u89c1",permalink:"/docs/guide/basic/appear"}},p={},c=[{value:"\u5982\u4f55\u914d\u7f6e\u73af\u5883\u53d8\u91cf",id:"\u5982\u4f55\u914d\u7f6e\u73af\u5883\u53d8\u91cf",level:2},{value:"\u547d\u4ee4\u884c\u73af\u5883\u53d8\u91cf",id:"\u547d\u4ee4\u884c\u73af\u5883\u53d8\u91cf",level:3},{value:"\u4f7f\u7528 <code>.env</code> \u6587\u4ef6",id:"\u4f7f\u7528-env-\u6587\u4ef6",level:3},{value:"\u4f7f\u7528\u73af\u5883\u53d8\u91cf",id:"\u4f7f\u7528\u73af\u5883\u53d8\u91cf",level:2},{value:"\u6784\u5efa\u65f6",id:"\u6784\u5efa\u65f6",level:3},{value:"\u8fd0\u884c\u65f6",id:"\u8fd0\u884c\u65f6",level:3},{value:"\u5185\u7f6e\u7684\u73af\u5883\u53d8\u91cf",id:"\u5185\u7f6e\u7684\u73af\u5883\u53d8\u91cf",level:2},{value:"ICE_CORE_MODE",id:"ice_core_mode",level:3},{value:"ICE_CORE_ROUTER",id:"ice_core_router",level:3},{value:"ICE_CORE_ERROR_BOUNDARY",id:"ice_core_error_boundary",level:3},{value:"ICE_CORE_INITIAL_DATA",id:"ice_core_initial_data",level:3},{value:"ICE_CORE_DEV_PORT",id:"ice_core_dev_port",level:3}],d={toc:c},u="wrapper";function s(e){let{components:n,...t}=e;return(0,r.kt)(u,(0,l.Z)({},d,t,{components:n,mdxType:"MDXLayout"}),(0,r.kt)("p",null,"ice.js \u5185\u7f6e\u901a\u8fc7\u73af\u5883\u53d8\u91cf\u5b9e\u73b0\u7ed9\u6784\u5efa\u6216\u8fd0\u884c\u65f6\u4f20\u9012\u53c2\u6570\u7684\u529f\u80fd\u3002"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"\u4f7f\u7528 ",(0,r.kt)("inlineCode",{parentName:"li"},".env")," \u6587\u4ef6\u6765\u914d\u7f6e\u73af\u5883\u53d8\u91cf"),(0,r.kt)("li",{parentName:"ul"},"\u914d\u7f6e ",(0,r.kt)("inlineCode",{parentName:"li"},"ICE_")," \u5f00\u5934\u7684\u73af\u5883\u53d8\u91cf\u5219\u4f1a\u540c\u65f6\u66b4\u9732\u5230\u8fd0\u884c\u65f6\u73af\u5883\u4e2d")),(0,r.kt)("h2",{id:"\u5982\u4f55\u914d\u7f6e\u73af\u5883\u53d8\u91cf"},"\u5982\u4f55\u914d\u7f6e\u73af\u5883\u53d8\u91cf"),(0,r.kt)("h3",{id:"\u547d\u4ee4\u884c\u73af\u5883\u53d8\u91cf"},"\u547d\u4ee4\u884c\u73af\u5883\u53d8\u91cf"),(0,r.kt)("p",null,"\u4f8b\u5982\u9700\u8981\u4fee\u6539 ice.js \u672c\u5730\u5f00\u53d1\u670d\u52a1\u7684\u7aef\u53e3\u53f7\uff0c\u53ef\u4ee5\u5728\u547d\u4ee4\u884c\u4e2d\u4f7f\u7528\u73af\u5883\u53d8\u91cf\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-shell"},"$ cross-env PORT=9999 npm start\n")),(0,r.kt)("blockquote",null,(0,r.kt)("p",{parentName:"blockquote"},"\u793a\u4f8b\u4e2d\u4f7f\u7528\u4e86 cross-env \u6765\u517c\u5bb9\u4e0d\u5bb9\u64cd\u4f5c\u7cfb\u7edf\u7684\u73af\u5883\u53d8\u91cf\u914d\u7f6e\u65b9\u5f0f\u3002")),(0,r.kt)("h3",{id:"\u4f7f\u7528-env-\u6587\u4ef6"},"\u4f7f\u7528 ",(0,r.kt)("inlineCode",{parentName:"h3"},".env")," \u6587\u4ef6"),(0,r.kt)("p",null,"ice.js \u5185\u7f6e\u4e86\u52a0\u8f7d ",(0,r.kt)("inlineCode",{parentName:"p"},".env")," \u6587\u4ef6\u7684\u652f\u6301\uff0c\u5728\u8be5\u6587\u4ef6\u4e2d\u8bbe\u7f6e\u7684\u73af\u5883\u53d8\u91cf\u4f1a\u88ab\u81ea\u52a8\u52a0\u8f7d\u5230 ",(0,r.kt)("inlineCode",{parentName:"p"},"process.env")," \u4e0a\u3002"),(0,r.kt)("p",null,(0,r.kt)("inlineCode",{parentName:"p"},".env")," \u6587\u4ef6\u7684\u793a\u4f8b\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-shell"},"DEV_PORT=3000\nFOO=bar\n")),(0,r.kt)("p",null,"\u5982\u679c\u6709\u90e8\u5206\u73af\u5883\u53d8\u91cf\u7684\u914d\u7f6e\u5728\u672c\u5730\u6709\u5dee\u5f02\uff0c\u4f60\u53ef\u4ee5\u914d\u7f6e\u5728 ",(0,r.kt)("inlineCode",{parentName:"p"},".env.local")," \u6587\u4ef6\u4e2d\u53bb\u8986\u76d6 ",(0,r.kt)("inlineCode",{parentName:"p"},".env")," \u4e2d\u7684\u914d\u7f6e\u3002\u5982\u5728\u4e4b\u524d\u7684 ",(0,r.kt)("inlineCode",{parentName:"p"},".env")," \u7684\u57fa\u7840\u4e0a, \u4f60\u60f3\u672c\u5730\u5f00\u53d1\u8986\u76d6\u4e4b\u524d 3000 \u7aef\u53e3, \u800c\u4f7f\u7528 9999 \u7aef\u53e3\uff0c\u793a\u4f8b\u5982\u4e0b\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-shell"},"# The .env.local should not be committed.\nDEV_PORT=9999\n")),(0,r.kt)("p",null,"\u6b64\u5916\u4f60\u4e5f\u53ef\u4ee5\u5728 ",(0,r.kt)("inlineCode",{parentName:"p"},".env.${mode}")," \u548c ",(0,r.kt)("inlineCode",{parentName:"p"},".env.${mode}.local")," \u6587\u4ef6\u4e2d\u6307\u5b9a\u4e0d\u540c\u6a21\u5f0f\u4e0b\u7684\u73af\u5883\u53d8\u91cf\u3002",(0,r.kt)("inlineCode",{parentName:"p"},"${mode}")," \u7684\u53d6\u503c\u662f ",(0,r.kt)("inlineCode",{parentName:"p"},"development")," \u6216 ",(0,r.kt)("inlineCode",{parentName:"p"},"production"),"\u3002"),(0,r.kt)("p",null,"\u9700\u8981\u6ce8\u610f\u7684\u662f\uff1a"),(0,r.kt)("ol",null,(0,r.kt)("li",{parentName:"ol"},"\u8fd9\u51e0\u4e2a\u6587\u4ef6\u7684\u4f18\u5148\u7ea7\u7531\u4f4e\u81f3\u9ad8\u5206\u522b\u662f")),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},".env")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},".env.local")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},".env.${mode}")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},".env.${mode}.local"))),(0,r.kt)("ol",{start:2},(0,r.kt)("li",{parentName:"ol"},"\u4e00\u822c\u4e0d\u5efa\u8bae\u5c06 ",(0,r.kt)("inlineCode",{parentName:"li"},".local")," \u7ed3\u5c3e\u7684\u6587\u4ef6\u52a0\u5165\u7248\u672c\u7ba1\u7406 (\u5982 Git) \u4e2d\u3002")),(0,r.kt)("h2",{id:"\u4f7f\u7528\u73af\u5883\u53d8\u91cf"},"\u4f7f\u7528\u73af\u5883\u53d8\u91cf"),(0,r.kt)("p",null,"\u5728 ice.js \u4e2d\uff0c\u73af\u5883\u53d8\u91cf\u7684\u4f7f\u7528\u573a\u666f\u5206\u6784\u5efa\u65f6\u4e0e\u8fd0\u884c\u65f6\u4e24\u79cd\u7c7b\u578b\u3002"),(0,r.kt)("p",null,"\u7279\u522b\u6ce8\u610f\uff1a\u73af\u5883\u53d8\u91cf\u5728\u4f7f\u7528\u65f6\u7684\u7c7b\u578b\u90fd\u662f ",(0,r.kt)("inlineCode",{parentName:"p"},"string"),"\uff0c\u7279\u522b\u662f\u8bbe\u7f6e\u4e3a ",(0,r.kt)("inlineCode",{parentName:"p"},"true")," \u6216 ",(0,r.kt)("inlineCode",{parentName:"p"},"false")," \u65f6\u9700\u8981\u6ce8\u610f\u5224\u65ad\u4e3a\u5b57\u7b26\u4e32\u7c7b\u578b\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-js"},"// ICE_DISABLE_FOO=false\nif (process.env.ICE_DISABLE_FOO === 'false') {\n // ...\n}\n")),(0,r.kt)("h3",{id:"\u6784\u5efa\u65f6"},"\u6784\u5efa\u65f6"),(0,r.kt)("p",null,"\u9ed8\u8ba4\u60c5\u51b5\u4e0b\uff0c\u6240\u6709\u8bbe\u7f6e\u7684\u73af\u5883\u53d8\u91cf\u90fd\u4f1a\u88ab\u6ce8\u5165\u5230\u6784\u5efa\u73af\u5883\uff0c\u4f60\u53ef\u4ee5\u5728 ",(0,r.kt)("inlineCode",{parentName:"p"},"ice.config.mts")," \u6587\u4ef6\u6216\u5176\u5b83\u6784\u5efa\u63d2\u4ef6\u4e2d\u901a\u8fc7 ",(0,r.kt)("inlineCode",{parentName:"p"},"process.env")," \u53d8\u91cf\u8bbf\u95ee\u3002"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-js"},"const port = process.env.PORT;\n// ...\n")),(0,r.kt)("h3",{id:"\u8fd0\u884c\u65f6"},"\u8fd0\u884c\u65f6"),(0,r.kt)("p",null,"\u9ed8\u8ba4\u60c5\u51b5\u4e0b\u73af\u5883\u53d8\u91cf\u662f\u4e0d\u80fd\u5728\u8fd0\u884c\u65f6\u8bbf\u95ee\u7684\uff0c\u5982\u82e5\u9700\u8981\u5728\u6d4f\u89c8\u5668\u73af\u5883\u4e2d\u8bbf\u95ee\uff0c\u53ef\u4ee5\u5728\u8bbe\u7f6e\u73af\u5883\u53d8\u91cf\u65f6\u589e\u52a0\u524d\u7f00\uff1a",(0,r.kt)("inlineCode",{parentName:"p"},"ICE_"),"\uff0c\u5982\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-shell"},"# File .env\nICE_APP_ID=123456\n")),(0,r.kt)("p",null,"\u5728\u8fd0\u884c\u65f6\u4ee3\u7801\u4e2d\u8bbf\u95ee\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-js"},"import React from 'react';\n\nexport default function AppID() {\n return <h1>AppId is {process.env.ICE_APP_ID}.</h1>\n}\n")),(0,r.kt)("h2",{id:"\u5185\u7f6e\u7684\u73af\u5883\u53d8\u91cf"},"\u5185\u7f6e\u7684\u73af\u5883\u53d8\u91cf"),(0,r.kt)("p",null,"ice.js \u4f1a\u5185\u7f6e\u4e00\u4e9b\u73af\u5883\u53d8\u91cf\u65b9\u4fbf\u4f7f\u7528\uff0c\u901a\u5e38\u7531 ",(0,r.kt)("inlineCode",{parentName:"p"},"ICE_CORE_")," \u5f00\u5934\uff0c\u5982\u4e0b\uff1a"),(0,r.kt)("h3",{id:"ice_core_mode"},"ICE_CORE_MODE"),(0,r.kt)("p",null,"\u7528\u4e8e ice.js \u7684\u8fd0\u884c\u6a21\u5f0f\uff0c\u53ef\u80fd\u662f ",(0,r.kt)("inlineCode",{parentName:"p"},"development")," \u6216 ",(0,r.kt)("inlineCode",{parentName:"p"},"production"),"\u3002"),(0,r.kt)("h3",{id:"ice_core_router"},"ICE_CORE_ROUTER"),(0,r.kt)("p",null,"\u7528\u4e8e\u6807\u8bc6\u6846\u67b6\u662f\u5426\u542f\u7528\u8def\u7531\uff0c\u53ef\u80fd\u662f ",(0,r.kt)("inlineCode",{parentName:"p"},"true")," \u6216 ",(0,r.kt)("inlineCode",{parentName:"p"},"false"),"\u3002"),(0,r.kt)("h3",{id:"ice_core_error_boundary"},"ICE_CORE_ERROR_BOUNDARY"),(0,r.kt)("p",null,"\u7528\u4e8e\u6807\u8bc6\u6846\u67b6\u662f\u5426\u542f\u7528\u9519\u8bef\u8fb9\u754c\uff0c\u53ef\u80fd\u662f ",(0,r.kt)("inlineCode",{parentName:"p"},"true")," \u6216 ",(0,r.kt)("inlineCode",{parentName:"p"},"false"),"\u3002"),(0,r.kt)("h3",{id:"ice_core_initial_data"},"ICE_CORE_INITIAL_DATA"),(0,r.kt)("p",null,"\u7528\u4e8e\u6807\u8bc6\u6846\u67b6\u662f\u5426\u542f\u7528\u521d\u59cb\u6570\u636e\uff0c\u53ef\u80fd\u662f ",(0,r.kt)("inlineCode",{parentName:"p"},"true")," \u6216 ",(0,r.kt)("inlineCode",{parentName:"p"},"false"),"\u3002"),(0,r.kt)("h3",{id:"ice_core_dev_port"},"ICE_CORE_DEV_PORT"),(0,r.kt)("p",null,"\u7528\u4e8e\u6807\u8bc6 ice.js \u7684\u5f00\u53d1\u670d\u52a1\u5668\u7aef\u53e3\u53f7\u3002"))}s.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunkice_website_v3=self.webpackChunkice_website_v3||[]).push([[971],{4852:(e,n,t)=>{t.d(n,{Zo:()=>d,kt:()=>k});var l=t(9231);function r(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function a(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);n&&(l=l.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,l)}return t}function i(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?a(Object(t),!0).forEach((function(n){r(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):a(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function o(e,n){if(null==e)return{};var t,l,r=function(e,n){if(null==e)return{};var t,l,r={},a=Object.keys(e);for(l=0;l<a.length;l++)t=a[l],n.indexOf(t)>=0||(r[t]=e[t]);return r}(e,n);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(l=0;l<a.length;l++)t=a[l],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}var p=l.createContext({}),c=function(e){var n=l.useContext(p),t=n;return e&&(t="function"==typeof e?e(n):i(i({},n),e)),t},d=function(e){var n=c(e.components);return l.createElement(p.Provider,{value:n},e.children)},u="mdxType",s={inlineCode:"code",wrapper:function(e){var n=e.children;return l.createElement(l.Fragment,{},n)}},m=l.forwardRef((function(e,n){var t=e.components,r=e.mdxType,a=e.originalType,p=e.parentName,d=o(e,["components","mdxType","originalType","parentName"]),u=c(t),m=r,k=u["".concat(p,".").concat(m)]||u[m]||s[m]||a;return t?l.createElement(k,i(i({ref:n},d),{},{components:t})):l.createElement(k,i({ref:n},d))}));function k(e,n){var t=arguments,r=n&&n.mdxType;if("string"==typeof e||r){var a=t.length,i=new Array(a);i[0]=m;var o={};for(var p in n)hasOwnProperty.call(n,p)&&(o[p]=n[p]);o.originalType=e,o[u]="string"==typeof e?e:r,i[1]=o;for(var c=2;c<a;c++)i[c]=t[c];return l.createElement.apply(null,i)}return l.createElement.apply(null,t)}m.displayName="MDXCreateElement"},3876:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>p,contentTitle:()=>i,default:()=>s,frontMatter:()=>a,metadata:()=>o,toc:()=>c});var l=t(5675),r=(t(9231),t(4852));const a={title:"\u73af\u5883\u53d8\u91cf",order:15},i=void 0,o={unversionedId:"guide/basic/env",id:"guide/basic/env",title:"\u73af\u5883\u53d8\u91cf",description:"ice.js \u5185\u7f6e\u901a\u8fc7\u73af\u5883\u53d8\u91cf\u5b9e\u73b0\u7ed9\u6784\u5efa\u6216\u8fd0\u884c\u65f6\u4f20\u9012\u53c2\u6570\u7684\u529f\u80fd\u3002",source:"@site/docs/guide/basic/env.md",sourceDirName:"guide/basic",slug:"/guide/basic/env",permalink:"/docs/guide/basic/env",draft:!1,editUrl:"https://github.com/alibaba/ice/edit/master/website/docs/guide/basic/env.md",tags:[],version:"current",frontMatter:{title:"\u73af\u5883\u53d8\u91cf",order:15},sidebar:"docs",previous:{title:"API",permalink:"/docs/guide/basic/api"},next:{title:"\u5143\u7d20\u53ef\u89c1",permalink:"/docs/guide/basic/appear"}},p={},c=[{value:"\u5982\u4f55\u914d\u7f6e\u73af\u5883\u53d8\u91cf",id:"\u5982\u4f55\u914d\u7f6e\u73af\u5883\u53d8\u91cf",level:2},{value:"\u547d\u4ee4\u884c\u73af\u5883\u53d8\u91cf",id:"\u547d\u4ee4\u884c\u73af\u5883\u53d8\u91cf",level:3},{value:"\u4f7f\u7528 <code>.env</code> \u6587\u4ef6",id:"\u4f7f\u7528-env-\u6587\u4ef6",level:3},{value:"\u4f7f\u7528\u73af\u5883\u53d8\u91cf",id:"\u4f7f\u7528\u73af\u5883\u53d8\u91cf",level:2},{value:"\u6784\u5efa\u65f6",id:"\u6784\u5efa\u65f6",level:3},{value:"\u8fd0\u884c\u65f6",id:"\u8fd0\u884c\u65f6",level:3},{value:"\u5185\u7f6e\u7684\u73af\u5883\u53d8\u91cf",id:"\u5185\u7f6e\u7684\u73af\u5883\u53d8\u91cf",level:2},{value:"ICE_CORE_MODE",id:"ice_core_mode",level:3},{value:"ICE_CORE_ROUTER",id:"ice_core_router",level:3},{value:"ICE_CORE_ERROR_BOUNDARY",id:"ice_core_error_boundary",level:3},{value:"ICE_CORE_INITIAL_DATA",id:"ice_core_initial_data",level:3},{value:"ICE_CORE_DEV_PORT",id:"ice_core_dev_port",level:3}],d={toc:c},u="wrapper";function s(e){let{components:n,...t}=e;return(0,r.kt)(u,(0,l.Z)({},d,t,{components:n,mdxType:"MDXLayout"}),(0,r.kt)("p",null,"ice.js \u5185\u7f6e\u901a\u8fc7\u73af\u5883\u53d8\u91cf\u5b9e\u73b0\u7ed9\u6784\u5efa\u6216\u8fd0\u884c\u65f6\u4f20\u9012\u53c2\u6570\u7684\u529f\u80fd\u3002"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"\u4f7f\u7528 ",(0,r.kt)("inlineCode",{parentName:"li"},".env")," \u6587\u4ef6\u6765\u914d\u7f6e\u73af\u5883\u53d8\u91cf"),(0,r.kt)("li",{parentName:"ul"},"\u914d\u7f6e ",(0,r.kt)("inlineCode",{parentName:"li"},"ICE_")," \u5f00\u5934\u7684\u73af\u5883\u53d8\u91cf\u5219\u4f1a\u540c\u65f6\u66b4\u9732\u5230\u8fd0\u884c\u65f6\u73af\u5883\u4e2d")),(0,r.kt)("h2",{id:"\u5982\u4f55\u914d\u7f6e\u73af\u5883\u53d8\u91cf"},"\u5982\u4f55\u914d\u7f6e\u73af\u5883\u53d8\u91cf"),(0,r.kt)("h3",{id:"\u547d\u4ee4\u884c\u73af\u5883\u53d8\u91cf"},"\u547d\u4ee4\u884c\u73af\u5883\u53d8\u91cf"),(0,r.kt)("p",null,"\u4f8b\u5982\u9700\u8981\u4fee\u6539 ice.js \u672c\u5730\u5f00\u53d1\u670d\u52a1\u7684\u7aef\u53e3\u53f7\uff0c\u53ef\u4ee5\u5728\u547d\u4ee4\u884c\u4e2d\u4f7f\u7528\u73af\u5883\u53d8\u91cf\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-shell"},"$ cross-env PORT=9999 npm start\n")),(0,r.kt)("blockquote",null,(0,r.kt)("p",{parentName:"blockquote"},"\u793a\u4f8b\u4e2d\u4f7f\u7528\u4e86 cross-env \u6765\u517c\u5bb9\u4e0d\u5bb9\u64cd\u4f5c\u7cfb\u7edf\u7684\u73af\u5883\u53d8\u91cf\u914d\u7f6e\u65b9\u5f0f\u3002")),(0,r.kt)("h3",{id:"\u4f7f\u7528-env-\u6587\u4ef6"},"\u4f7f\u7528 ",(0,r.kt)("inlineCode",{parentName:"h3"},".env")," \u6587\u4ef6"),(0,r.kt)("p",null,"ice.js \u5185\u7f6e\u4e86\u52a0\u8f7d ",(0,r.kt)("inlineCode",{parentName:"p"},".env")," \u6587\u4ef6\u7684\u652f\u6301\uff0c\u5728\u8be5\u6587\u4ef6\u4e2d\u8bbe\u7f6e\u7684\u73af\u5883\u53d8\u91cf\u4f1a\u88ab\u81ea\u52a8\u52a0\u8f7d\u5230 ",(0,r.kt)("inlineCode",{parentName:"p"},"process.env")," \u4e0a\u3002"),(0,r.kt)("p",null,(0,r.kt)("inlineCode",{parentName:"p"},".env")," \u6587\u4ef6\u7684\u793a\u4f8b\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-shell"},"DEV_PORT=3000\nFOO=bar\n")),(0,r.kt)("p",null,"\u5982\u679c\u6709\u90e8\u5206\u73af\u5883\u53d8\u91cf\u7684\u914d\u7f6e\u5728\u672c\u5730\u6709\u5dee\u5f02\uff0c\u4f60\u53ef\u4ee5\u914d\u7f6e\u5728 ",(0,r.kt)("inlineCode",{parentName:"p"},".env.local")," \u6587\u4ef6\u4e2d\u53bb\u8986\u76d6 ",(0,r.kt)("inlineCode",{parentName:"p"},".env")," \u4e2d\u7684\u914d\u7f6e\u3002\u5982\u5728\u4e4b\u524d\u7684 ",(0,r.kt)("inlineCode",{parentName:"p"},".env")," \u7684\u57fa\u7840\u4e0a, \u4f60\u60f3\u672c\u5730\u5f00\u53d1\u8986\u76d6\u4e4b\u524d 3000 \u7aef\u53e3, \u800c\u4f7f\u7528 9999 \u7aef\u53e3\uff0c\u793a\u4f8b\u5982\u4e0b\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-shell"},"# The .env.local should not be committed.\nDEV_PORT=9999\n")),(0,r.kt)("p",null,"\u6b64\u5916\u4f60\u4e5f\u53ef\u4ee5\u5728 ",(0,r.kt)("inlineCode",{parentName:"p"},".env.${mode}")," \u548c ",(0,r.kt)("inlineCode",{parentName:"p"},".env.${mode}.local")," \u6587\u4ef6\u4e2d\u6307\u5b9a\u4e0d\u540c\u6a21\u5f0f\u4e0b\u7684\u73af\u5883\u53d8\u91cf\u3002",(0,r.kt)("inlineCode",{parentName:"p"},"${mode}")," \u7684\u53d6\u503c\u662f ",(0,r.kt)("inlineCode",{parentName:"p"},"development")," \u6216 ",(0,r.kt)("inlineCode",{parentName:"p"},"production"),"\u3002"),(0,r.kt)("p",null,"\u9700\u8981\u6ce8\u610f\u7684\u662f\uff1a"),(0,r.kt)("ol",null,(0,r.kt)("li",{parentName:"ol"},"\u8fd9\u51e0\u4e2a\u6587\u4ef6\u7684\u4f18\u5148\u7ea7\u7531\u4f4e\u81f3\u9ad8\u5206\u522b\u662f")),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},".env")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},".env.local")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},".env.${mode}")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},".env.${mode}.local"))),(0,r.kt)("ol",{start:2},(0,r.kt)("li",{parentName:"ol"},"\u4e00\u822c\u4e0d\u5efa\u8bae\u5c06 ",(0,r.kt)("inlineCode",{parentName:"li"},".local")," \u7ed3\u5c3e\u7684\u6587\u4ef6\u52a0\u5165\u7248\u672c\u7ba1\u7406 (\u5982 Git) \u4e2d\u3002")),(0,r.kt)("h2",{id:"\u4f7f\u7528\u73af\u5883\u53d8\u91cf"},"\u4f7f\u7528\u73af\u5883\u53d8\u91cf"),(0,r.kt)("p",null,"\u5728 ice.js \u4e2d\uff0c\u73af\u5883\u53d8\u91cf\u7684\u4f7f\u7528\u573a\u666f\u5206\u6784\u5efa\u65f6\u4e0e\u8fd0\u884c\u65f6\u4e24\u79cd\u7c7b\u578b\u3002"),(0,r.kt)("p",null,"\u7279\u522b\u6ce8\u610f\uff1a\u73af\u5883\u53d8\u91cf\u5728\u4f7f\u7528\u65f6\u7684\u7c7b\u578b\u90fd\u662f ",(0,r.kt)("inlineCode",{parentName:"p"},"string"),"\uff0c\u7279\u522b\u662f\u8bbe\u7f6e\u4e3a ",(0,r.kt)("inlineCode",{parentName:"p"},"true")," \u6216 ",(0,r.kt)("inlineCode",{parentName:"p"},"false")," \u65f6\u9700\u8981\u6ce8\u610f\u5224\u65ad\u4e3a\u5b57\u7b26\u4e32\u7c7b\u578b\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-js"},"// ICE_DISABLE_FOO=false\nif (process.env.ICE_DISABLE_FOO === 'false') {\n // ...\n}\n")),(0,r.kt)("h3",{id:"\u6784\u5efa\u65f6"},"\u6784\u5efa\u65f6"),(0,r.kt)("p",null,"\u9ed8\u8ba4\u60c5\u51b5\u4e0b\uff0c\u6240\u6709\u8bbe\u7f6e\u7684\u73af\u5883\u53d8\u91cf\u90fd\u4f1a\u88ab\u6ce8\u5165\u5230\u6784\u5efa\u73af\u5883\uff0c\u4f60\u53ef\u4ee5\u5728 ",(0,r.kt)("inlineCode",{parentName:"p"},"ice.config.mts")," \u6587\u4ef6\u6216\u5176\u5b83\u6784\u5efa\u63d2\u4ef6\u4e2d\u901a\u8fc7 ",(0,r.kt)("inlineCode",{parentName:"p"},"process.env")," \u53d8\u91cf\u8bbf\u95ee\u3002"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-js"},"const port = process.env.PORT;\n// ...\n")),(0,r.kt)("h3",{id:"\u8fd0\u884c\u65f6"},"\u8fd0\u884c\u65f6"),(0,r.kt)("p",null,"\u9ed8\u8ba4\u60c5\u51b5\u4e0b\u73af\u5883\u53d8\u91cf\u662f\u4e0d\u80fd\u5728\u8fd0\u884c\u65f6\u8bbf\u95ee\u7684\uff0c\u5982\u82e5\u9700\u8981\u5728\u6d4f\u89c8\u5668\u73af\u5883\u4e2d\u8bbf\u95ee\uff0c\u53ef\u4ee5\u5728\u8bbe\u7f6e\u73af\u5883\u53d8\u91cf\u65f6\u589e\u52a0\u524d\u7f00\uff1a",(0,r.kt)("inlineCode",{parentName:"p"},"ICE_"),"\uff0c\u5982\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-shell"},"# File .env\nICE_APP_ID=123456\n")),(0,r.kt)("p",null,"\u5728\u8fd0\u884c\u65f6\u4ee3\u7801\u4e2d\u8bbf\u95ee\uff1a"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-js"},"import React from 'react';\n\nexport default function AppID() {\n return <h1>AppId is {process.env.ICE_APP_ID}.</h1>\n}\n")),(0,r.kt)("h2",{id:"\u5185\u7f6e\u7684\u73af\u5883\u53d8\u91cf"},"\u5185\u7f6e\u7684\u73af\u5883\u53d8\u91cf"),(0,r.kt)("p",null,"ice.js \u4f1a\u5185\u7f6e\u4e00\u4e9b\u73af\u5883\u53d8\u91cf\u65b9\u4fbf\u4f7f\u7528\uff0c\u901a\u5e38\u7531 ",(0,r.kt)("inlineCode",{parentName:"p"},"ICE_CORE_")," \u5f00\u5934\uff0c\u5982\u4e0b\uff1a"),(0,r.kt)("h3",{id:"ice_core_mode"},"ICE_CORE_MODE"),(0,r.kt)("p",null,"\u7528\u4e8e ice.js \u7684\u8fd0\u884c\u6a21\u5f0f\uff0c\u53ef\u80fd\u662f ",(0,r.kt)("inlineCode",{parentName:"p"},"development")," \u6216 ",(0,r.kt)("inlineCode",{parentName:"p"},"production"),"\u3002"),(0,r.kt)("h3",{id:"ice_core_router"},"ICE_CORE_ROUTER"),(0,r.kt)("p",null,"\u7528\u4e8e\u6807\u8bc6\u6846\u67b6\u662f\u5426\u542f\u7528\u8def\u7531\uff0c\u53ef\u80fd\u662f ",(0,r.kt)("inlineCode",{parentName:"p"},"true")," \u6216 ",(0,r.kt)("inlineCode",{parentName:"p"},"false"),"\u3002"),(0,r.kt)("h3",{id:"ice_core_error_boundary"},"ICE_CORE_ERROR_BOUNDARY"),(0,r.kt)("p",null,"\u7528\u4e8e\u6807\u8bc6\u6846\u67b6\u662f\u5426\u542f\u7528\u9519\u8bef\u8fb9\u754c\uff0c\u53ef\u80fd\u662f ",(0,r.kt)("inlineCode",{parentName:"p"},"true")," \u6216 ",(0,r.kt)("inlineCode",{parentName:"p"},"false"),"\u3002"),(0,r.kt)("h3",{id:"ice_core_initial_data"},"ICE_CORE_INITIAL_DATA"),(0,r.kt)("p",null,"\u7528\u4e8e\u6807\u8bc6\u6846\u67b6\u662f\u5426\u542f\u7528\u521d\u59cb\u6570\u636e\uff0c\u53ef\u80fd\u662f ",(0,r.kt)("inlineCode",{parentName:"p"},"true")," \u6216 ",(0,r.kt)("inlineCode",{parentName:"p"},"false"),"\u3002"),(0,r.kt)("h3",{id:"ice_core_dev_port"},"ICE_CORE_DEV_PORT"),(0,r.kt)("p",null,"\u7528\u4e8e\u6807\u8bc6 ice.js \u7684\u5f00\u53d1\u670d\u52a1\u5668\u7aef\u53e3\u53f7\u3002"))}s.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/67e31e61.d5bde5a0.js b/assets/js/67e31e61.dba5b78d.js similarity index 99% rename from assets/js/67e31e61.d5bde5a0.js rename to assets/js/67e31e61.dba5b78d.js index 9993f4e20b..e5a20134d8 100644 --- a/assets/js/67e31e61.d5bde5a0.js +++ b/assets/js/67e31e61.dba5b78d.js @@ -1 +1 @@ -"use strict";(self.webpackChunkice_website_v3=self.webpackChunkice_website_v3||[]).push([[7435],{4852:(e,t,n)=>{n.d(t,{Zo:()=>s,kt:()=>h});var a=n(9231);function l(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function i(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?r(Object(n),!0).forEach((function(t){l(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):r(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function o(e,t){if(null==e)return{};var n,a,l=function(e,t){if(null==e)return{};var n,a,l={},r=Object.keys(e);for(a=0;a<r.length;a++)n=r[a],t.indexOf(n)>=0||(l[n]=e[n]);return l}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(a=0;a<r.length;a++)n=r[a],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(l[n]=e[n])}return l}var p=a.createContext({}),c=function(e){var t=a.useContext(p),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},s=function(e){var t=c(e.components);return a.createElement(p.Provider,{value:t},e.children)},u="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},m=a.forwardRef((function(e,t){var n=e.components,l=e.mdxType,r=e.originalType,p=e.parentName,s=o(e,["components","mdxType","originalType","parentName"]),u=c(n),m=l,h=u["".concat(p,".").concat(m)]||u[m]||d[m]||r;return n?a.createElement(h,i(i({ref:t},s),{},{components:n})):a.createElement(h,i({ref:t},s))}));function h(e,t){var n=arguments,l=t&&t.mdxType;if("string"==typeof e||l){var r=n.length,i=new Array(r);i[0]=m;var o={};for(var p in t)hasOwnProperty.call(t,p)&&(o[p]=t[p]);o.originalType=e,o[u]="string"==typeof e?e:l,i[1]=o;for(var c=2;c<r;c++)i[c]=n[c];return a.createElement.apply(null,i)}return a.createElement.apply(null,n)}m.displayName="MDXCreateElement"},1800:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>p,contentTitle:()=>i,default:()=>d,frontMatter:()=>r,metadata:()=>o,toc:()=>c});var a=n(5675),l=(n(9231),n(4852));const r={title:"\u90e8\u7f72"},i=void 0,o={unversionedId:"guide/advanced/deploy",id:"guide/advanced/deploy",title:"\u90e8\u7f72",description:"\u524d\u7aef\u4ee3\u7801\u5f00\u53d1\u5b8c\u6210\u540e\uff0c\u6211\u4eec\u4f1a\u6267\u884c npm build \u547d\u4ee4\u8fdb\u884c\u9879\u76ee\u6784\u5efa\u3002\u6784\u5efa\u5b8c\u6210\u540e\uff0c\u6211\u4eec\u9700\u8981\u628a js/css/html \u7b49\u9759\u6001\u8d44\u6e90\u90e8\u7f72\u5230\u670d\u52a1\u5668\u6216\u8005\u53d1\u5e03\u5230 CDN \u4e0a\u3002",source:"@site/docs/guide/advanced/deploy.md",sourceDirName:"guide/advanced",slug:"/guide/advanced/deploy",permalink:"/docs/guide/advanced/deploy",draft:!1,editUrl:"https://github.com/alibaba/ice/edit/master/website/docs/guide/advanced/deploy.md",tags:[],version:"current",frontMatter:{title:"\u90e8\u7f72"},sidebar:"docs",previous:{title:"\u4ee3\u7801\u5206\u5305",permalink:"/docs/guide/advanced/code-splitting"},next:{title:"\u56fd\u9645\u5316",permalink:"/docs/guide/advanced/i18n"}},p={},c=[{value:"\u8d44\u6e90\u53d1\u5e03",id:"\u8d44\u6e90\u53d1\u5e03",level:2},{value:"CDN \u53d1\u5e03",id:"cdn-\u53d1\u5e03",level:3},{value:"Nginx",id:"nginx",level:3},{value:"\u9759\u6001\u8d44\u6e90\u6258\u7ba1\u670d\u52a1",id:"\u9759\u6001\u8d44\u6e90\u6258\u7ba1\u670d\u52a1",level:2},{value:"\u5168\u5c40\u5b89\u88c5 surge",id:"\u5168\u5c40\u5b89\u88c5-surge",level:4},{value:"\u8fd0\u884c surge",id:"\u8fd0\u884c-surge",level:4},{value:"\u540e\u7aef\u5e94\u7528\u96c6\u6210",id:"\u540e\u7aef\u5e94\u7528\u96c6\u6210",level:2},{value:"Node.js \u5e94\u7528",id:"nodejs-\u5e94\u7528",level:3},{value:"\u521d\u59cb\u5316 Koa \u5e94\u7528",id:"\u521d\u59cb\u5316-koa-\u5e94\u7528",level:4},{value:"\u5b9a\u4e49\u89c6\u56fe",id:"\u5b9a\u4e49\u89c6\u56fe",level:4},{value:"\u6e32\u67d3\u89c6\u56fe",id:"\u6e32\u67d3\u89c6\u56fe",level:4},{value:"\u8fd0\u884c\u793a\u4f8b",id:"\u8fd0\u884c\u793a\u4f8b",level:4},{value:"Java \u5e94\u7528",id:"java-\u5e94\u7528",level:3},{value:"resources",id:"resources",level:4},{value:"Controller",id:"controller",level:4},{value:"\u5c0f\u7a0b\u5e8f\u53d1\u5e03",id:"\u5c0f\u7a0b\u5e8f\u53d1\u5e03",level:2},{value:"FAQ",id:"faq",level:2},{value:"\u9759\u6001\u8d44\u6e90\u5728\u975e\u6839\u76ee\u5f55\u6216 CDN",id:"\u9759\u6001\u8d44\u6e90\u5728\u975e\u6839\u76ee\u5f55\u6216-cdn",level:3},{value:"\u90e8\u7f72\u7684 HTML \u5728\u975e\u6839\u76ee\u5f55",id:"\u90e8\u7f72\u7684-html-\u5728\u975e\u6839\u76ee\u5f55",level:3}],s={toc:c},u="wrapper";function d(e){let{components:t,...n}=e;return(0,l.kt)(u,(0,a.Z)({},s,n,{components:t,mdxType:"MDXLayout"}),(0,l.kt)("p",null,"\u524d\u7aef\u4ee3\u7801\u5f00\u53d1\u5b8c\u6210\u540e\uff0c\u6211\u4eec\u4f1a\u6267\u884c ",(0,l.kt)("inlineCode",{parentName:"p"},"npm build")," \u547d\u4ee4\u8fdb\u884c\u9879\u76ee\u6784\u5efa\u3002\u6784\u5efa\u5b8c\u6210\u540e\uff0c\u6211\u4eec\u9700\u8981\u628a js/css/html \u7b49\u9759\u6001\u8d44\u6e90\u90e8\u7f72\u5230\u670d\u52a1\u5668\u6216\u8005\u53d1\u5e03\u5230 CDN \u4e0a\u3002"),(0,l.kt)("h2",{id:"\u8d44\u6e90\u53d1\u5e03"},"\u8d44\u6e90\u53d1\u5e03"),(0,l.kt)("p",null,"\u5982\u679c\u662f\u535a\u5ba2\u3001\u5b98\u7f51\u7b49\u9759\u6001\u5e94\u7528\uff0c\u63a8\u8350\u4f7f\u7528\u4ee5\u4e0b\u7684\u65b9\u5f0f\u8fdb\u884c\u90e8\u7f72\uff1a"),(0,l.kt)("h3",{id:"cdn-\u53d1\u5e03"},"CDN \u53d1\u5e03"),(0,l.kt)("p",null,"\u63a8\u8350\u901a\u8fc7 ",(0,l.kt)("a",{parentName:"p",href:"https://www.aliyun.com/product/oss"},"\u963f\u91cc\u4e91 OSS")," \u670d\u52a1\u8fdb\u884c\u975e\u8986\u76d6\u5f0f\u53d1\u5e03\uff0c\u6bcf\u4e2a\u7248\u672c\u5efa\u4e00\u4e2a ",(0,l.kt)("inlineCode",{parentName:"p"},"x.y.z")," \u7684\u6587\u4ef6\u5939\uff0c\u7136\u540e\u5c06\u6574\u4e2a ",(0,l.kt)("inlineCode",{parentName:"p"},"build")," \u76ee\u5f55\u590d\u5236\u8fdb\u53bb\uff0c\u63a5\u7740\u5c31\u53ef\u4ee5\u901a\u8fc7 url \u8bbf\u95ee\u8fd9\u4e9b CDN \u8d44\u6e90\u4e86\u3002"),(0,l.kt)("h3",{id:"nginx"},"Nginx"),(0,l.kt)("p",null,"\u628a\u6784\u5efa\u597d\u7684 ",(0,l.kt)("inlineCode",{parentName:"p"},"build")," \u8d44\u6e90\u590d\u5236\u5230\u670d\u52a1\u5668\u5bf9\u5e94\u76ee\u5f55\u4e0b\uff0c\u6dfb\u52a0\u4ee5\u4e0b\u7684 Nginx \u914d\u7f6e\uff0c\u7136\u540e\u5c31\u53ef\u4ee5\u542f\u52a8 ",(0,l.kt)("a",{parentName:"p",href:"https://www.nginx.com/"},"Nginx")," \u9759\u6001\u6587\u4ef6\u670d\u52a1\u5668\u3002"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-nginx"},"location / {\n root /www/build;\n # \u8bbf\u95ee localhost:3000/a \u4f9d\u6b21\u67e5\u627e /www/build/a\u3001/www/build/a/index.html\u3001/www/build/404.html\n try_files $uri $uri/ 404.html;\n}\n")),(0,l.kt)("h2",{id:"\u9759\u6001\u8d44\u6e90\u6258\u7ba1\u670d\u52a1"},"\u9759\u6001\u8d44\u6e90\u6258\u7ba1\u670d\u52a1"),(0,l.kt)("p",null,"\u6211\u4eec\u4ee5 ",(0,l.kt)("a",{parentName:"p",href:"https://surge.sh/"},"surge")," \u4e3a\u4f8b\u3002"),(0,l.kt)("h4",{id:"\u5168\u5c40\u5b89\u88c5-surge"},"\u5168\u5c40\u5b89\u88c5 surge"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-bash"},"npm install --global surge\n")),(0,l.kt)("h4",{id:"\u8fd0\u884c-surge"},"\u8fd0\u884c surge"),(0,l.kt)("p",null,"\u4ee5 ",(0,l.kt)("inlineCode",{parentName:"p"},"ice-demo")," \u9879\u76ee\u540d\uff0cice.js \u9879\u76ee\u9ed8\u8ba4\u6784\u5efa\u76ee\u5f55 ",(0,l.kt)("inlineCode",{parentName:"p"},"build")," \u4e3a\u4f8b\uff1a"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-bash"},"$ cd ice-demo/build\n# \u542f\u52a8 surge \u670d\u52a1\n$ surge\n")),(0,l.kt)("p",null,"\u4f9d\u6b21\u786e\u8ba4\u8d26\u6237\uff0c projectPath\uff0c domain \u7b49\u4fe1\u606f\uff0c\u7b49\u5f85\u4e0a\u4f20\u751f\u6548\u5373\u53ef\uff0c\u8be6\u89c1 ",(0,l.kt)("a",{parentName:"p",href:"https://surge.sh/"},"surge")," \u5b98\u65b9\u8bf4\u660e"),(0,l.kt)("p",null,"\u5176\u4ed6\u540c\u7c7b\u4ea7\u54c1\u6709\uff1a"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("a",{parentName:"li",href:"https://pages.github.com/"},"github pages")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("a",{parentName:"li",href:"https://www.netlify.com/"},"netlify"))),(0,l.kt)("h2",{id:"\u540e\u7aef\u5e94\u7528\u96c6\u6210"},"\u540e\u7aef\u5e94\u7528\u96c6\u6210"),(0,l.kt)("h3",{id:"nodejs-\u5e94\u7528"},"Node.js \u5e94\u7528"),(0,l.kt)("h4",{id:"\u521d\u59cb\u5316-koa-\u5e94\u7528"},"\u521d\u59cb\u5316 Koa \u5e94\u7528"),(0,l.kt)("p",null,"\u65b0\u5efa\u9879\u76ee\u540d ",(0,l.kt)("inlineCode",{parentName:"p"},"ice-node-koa"),"\uff1a"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-bash"},"$ mkdir ice-node-koa && cd ice-node-koa\n$ npm init\n$ npm i ejs koa koa-logger koa-views --save\n")),(0,l.kt)("h4",{id:"\u5b9a\u4e49\u89c6\u56fe"},"\u5b9a\u4e49\u89c6\u56fe"),(0,l.kt)("p",null,"\u65b0\u5efa ",(0,l.kt)("inlineCode",{parentName:"p"},"views/index.ejs"),"\uff1a"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-html"},'<!DOCTYPE html>\n<html>\n <head>\n <meta charset="utf-8" />\n <meta http-equiv="x-ua-compatible" content="ie=edge,chrome=1" />\n <meta name="viewport" content="width=device-width" />\n <title>ICE Design Lite\n \n \n \n\n \n
\n
- - + + \ No newline at end of file diff --git a/docs/guide/about/index.html b/docs/guide/about/index.html index 6cba256cc9..4c40be0b94 100644 --- a/docs/guide/about/index.html +++ b/docs/guide/about/index.html @@ -3,14 +3,14 @@ -关于 | 飞冰 ICE - - +关于 | 飞冰 ICE + +
-

关于

cover

飞冰 (ICE) 是一套基于 React 的前端解决方案,围绕应用研发框架 (ice.js 3) 提供了应用的构建、路由、调试等基础能力以及微前端、一体化等领域能力,同时结合可视化操作、物料复用等方案降低研发门槛。

特性 🎉

  • 🐒 开箱即用:TypeScript/Webpack5/CSS Modules/Mock/SSR,各种方案 All in One
  • 🦊 贴合业务的最佳实践:目录规范、代码规范、路由方案、状态管理、数据请求等
  • 🐯 多种应用模式:支持服务端渲染 SSR 以及静态构建 SSG
  • 🐦 强大的插件能力:官方所有能力都通过插件实现,业务可以通过插件扩展各种能力
  • 🐘 丰富的领域方案:微前端 ICESTARK、一体化方案等

在应用框架之上,我们还提供了 NPM 包开发工具 ICE PKG

  • 提供 React 组件开发、Node.js 模块开发、前端通用库等多场景需求
  • 组件开发提供基础研发范式,提供组件文档、示例、预览等功能,查看文档
  • 更多场景可以通过插件的方式完成定制,查看插件开发

你也可以搭配 VS Code 插件 AppWorks 享受到更多功能:

  • 通过大量的官方模板(fusion/antd)可视化创建项目,查看更多
  • 基于 VS Code 插件可视化的调试、管理依赖、拼装区块等,查看文档
  • 业务可以根据规范定制自己的物料体系(含项目模板),查看物料开发文档
  • ……

常见问题 📝

与直接使用 Webpack 相比,使用 ice.js 有什么优势?

Webpack 只提供了基础的构建能力,ice.js 在此基础上扩展了很多能力:

  • 默认集成好的框架能力,无需再引入繁冗的构建插件和配置
  • 不止是构建,更有面向业务领域的最佳实践,如路由、目录组织、状态管理等
  • 让很多业务接入成本高的能力可以开箱即用,如 SSR/SSG、微前端、一体化,基于原始的 Webpack 建设这些能力需要付出很高成本
  • 通过插件化让以上这些能力可以被扩展以及跨项目复用,尽可能保证不同项目的一致性

我正在使用 ice.js 2,需要升级到 ice.js 3 吗?

ice.js 3 相比之前的版本,增加了更多对移动端能力的优化和适配,同时提升了页面性能体验。对于新项目推荐 ice.js 3 进行开发,对于历史项目原先的 ice.js 2.x 依然是可用的,并且我们仍会持续修复已知的问题。

如果你的页面会同时运行在移动端和桌面端,使用 ice.js 3 可能会是更好的选择,亦或者是你对 ice.js 3 提供的更新的构建工具链、更优更多的解决方案感兴趣,你都可以选择升级到 ice.js 3。

使用飞冰 (ICE) 是否需要具备一定的前端基础?

毫无疑问是需要的,同时我们也在努力降低前端开发的门槛,但一些基础的前端知识还是需要具备的,比如 JavaScript 的基础语法、前后端如何通信等。为了便于快速入门前端知识,我们整理了一份 前端基础知识,希望能帮助到开发者。

资深前端同学是否适合使用飞冰?

适合,面向前端场景飞冰团队有大量的最佳实践,无论是构建、规范、状态管理还是微前端都可以开箱即用。

飞冰的浏览器兼容策略是怎样的?

应用框架 ice.js 默认使用的是 React 18,你可以查看 React 18 官方说明对 JavaScript 环境的要求。如果你支持旧的浏览器和设备,可能需要引入对应的 Polyfill。

此外,飞冰官方 React 物料默认使用 React 16+ 进行开发,所以通常情况下这些物料在 ice.js 中是可以正常运行的,如果你遇到任何问题,也可以通过 Issue 或其它方式反馈给我们。

飞冰可以使用哪些 UI 组件?

飞冰的应用框架和工具都不耦合 UI 组件,因此开发者可以选择任意的 React UI 组件使用,比如 Fusion/Antd 等。

飞冰跟低代码方案有什么关系?

低代码方案一般指以可视化拖拽搭建为主,少量地方使用代码辅助,此类方案往往是面向具体领域而非通用场景的,飞冰是面向通用领域的,以源码研发为主,通过框架、物料、GUI 操作等能力降低研发门槛,因此飞冰并不是通俗意义的低代码方案。

联系我们 🧼

- - +

关于

cover

飞冰 (ICE) 是一套基于 React 的前端解决方案,围绕应用研发框架 (ice.js 3) 提供了应用的构建、路由、调试等基础能力以及微前端、一体化等领域能力,同时结合可视化操作、物料复用等方案降低研发门槛。

特性 🎉

  • 🐒 开箱即用:TypeScript/Webpack5/CSS Modules/Mock/SSR,各种方案 All in One
  • 🦊 贴合业务的最佳实践:目录规范、代码规范、路由方案、状态管理、数据请求等
  • 🐯 多种应用模式:支持服务端渲染 SSR 以及静态构建 SSG
  • 🐦 强大的插件能力:官方所有能力都通过插件实现,业务可以通过插件扩展各种能力
  • 🐘 丰富的领域方案:微前端 ICESTARK、一体化方案等

在应用框架之上,我们还提供了 NPM 包开发工具 ICE PKG

  • 提供 React 组件开发、Node.js 模块开发、前端通用库等多场景需求
  • 组件开发提供基础研发范式,提供组件文档、示例、预览等功能,查看文档
  • 更多场景可以通过插件的方式完成定制,查看插件开发

你也可以搭配 VS Code 插件 AppWorks 享受到更多功能:

  • 通过大量的官方模板(fusion/antd)可视化创建项目,查看更多
  • 基于 VS Code 插件可视化的调试、管理依赖、拼装区块等,查看文档
  • 业务可以根据规范定制自己的物料体系(含项目模板),查看物料开发文档
  • ……

常见问题 📝

与直接使用 Webpack 相比,使用 ice.js 有什么优势?

Webpack 只提供了基础的构建能力,ice.js 在此基础上扩展了很多能力:

  • 默认集成好的框架能力,无需再引入繁冗的构建插件和配置
  • 不止是构建,更有面向业务领域的最佳实践,如路由、目录组织、状态管理等
  • 让很多业务接入成本高的能力可以开箱即用,如 SSR/SSG、微前端、一体化,基于原始的 Webpack 建设这些能力需要付出很高成本
  • 通过插件化让以上这些能力可以被扩展以及跨项目复用,尽可能保证不同项目的一致性

我正在使用 ice.js 2,需要升级到 ice.js 3 吗?

ice.js 3 相比之前的版本,增加了更多对移动端能力的优化和适配,同时提升了页面性能体验。对于新项目推荐 ice.js 3 进行开发,对于历史项目原先的 ice.js 2.x 依然是可用的,并且我们仍会持续修复已知的问题。

如果你的页面会同时运行在移动端和桌面端,使用 ice.js 3 可能会是更好的选择,亦或者是你对 ice.js 3 提供的更新的构建工具链、更优更多的解决方案感兴趣,你都可以选择升级到 ice.js 3。

使用飞冰 (ICE) 是否需要具备一定的前端基础?

毫无疑问是需要的,同时我们也在努力降低前端开发的门槛,但一些基础的前端知识还是需要具备的,比如 JavaScript 的基础语法、前后端如何通信等。为了便于快速入门前端知识,我们整理了一份 前端基础知识,希望能帮助到开发者。

资深前端同学是否适合使用飞冰?

适合,面向前端场景飞冰团队有大量的最佳实践,无论是构建、规范、状态管理还是微前端都可以开箱即用。

飞冰的浏览器兼容策略是怎样的?

应用框架 ice.js 默认使用的是 React 18,你可以查看 React 18 官方说明对 JavaScript 环境的要求。如果你支持旧的浏览器和设备,可能需要引入对应的 Polyfill。

此外,飞冰官方 React 物料默认使用 React 16+ 进行开发,所以通常情况下这些物料在 ice.js 中是可以正常运行的,如果你遇到任何问题,也可以通过 Issue 或其它方式反馈给我们。

飞冰可以使用哪些 UI 组件?

飞冰的应用框架和工具都不耦合 UI 组件,因此开发者可以选择任意的 React UI 组件使用,比如 Fusion/Antd 等。

飞冰跟低代码方案有什么关系?

低代码方案一般指以可视化拖拽搭建为主,少量地方使用代码辅助,此类方案往往是面向具体领域而非通用场景的,飞冰是面向通用领域的,以源码研发为主,通过框架、物料、GUI 操作等能力降低研发门槛,因此飞冰并不是通俗意义的低代码方案。

联系我们 🧼

+ + \ No newline at end of file diff --git a/docs/guide/advance/index.html b/docs/guide/advance/index.html index 2f1888eaeb..af0e134d4c 100644 --- a/docs/guide/advance/index.html +++ b/docs/guide/advance/index.html @@ -3,14 +3,14 @@ -飞冰 ICE - - +飞冰 ICE + +
- - + + \ No newline at end of file diff --git a/docs/guide/advanced/antd/index.html b/docs/guide/advanced/antd/index.html index a61e77e4af..4e6ff39779 100644 --- a/docs/guide/advanced/antd/index.html +++ b/docs/guide/advanced/antd/index.html @@ -3,14 +3,14 @@ -使用 Ant Design 组件 | 飞冰 ICE - - +使用 Ant Design 组件 | 飞冰 ICE + +
-

使用 Ant Design 组件

ice.js 项目中可以直接使用 antd 组件,关于 antd 组件按需引入的问题说明:

  • 脚本代码按需引入:不推荐使用 babel-plugin-import,社区主流工具 Webpack/Vite 等都已支持 tree-shaking,构建时默认都会做按需的引入
  • 样式代码按需引入:结合社区讨论 issue,大多数场景下样式按需引入并无太大意义,反而会引入其他工程问题,因此推荐组件样式在项目级全量引入

综上所述,如果不存在主题定制以及样式大小极致的要求,项目中并不需要使用 antd 插件,通过在 src/global.css 中全量引入样式即可:

src/global.css
@import 'antd/dist/antd.css';

body {}
警告

以上全量样式引入针对 and 版本 4.x 及以下,antd 5.x 开始使用 css in js 的方式引入样式,因此不再需要全量引入 css 文件。

开启插件

安装插件:

$ npm i -D @ice/plugin-antd

ice.config.mts 中添加插件:

ice.config.mts
import { defineConfig } from '@ice/app';
import antd from '@ice/plugin-antd';

export default defineConfig(() => ({
plugins: [
antd({
importStyle: true,
}),
],
}));

配置

importStyle

  • 类型: boolean
  • 默认值: false

为 antd 组件按需加载样式。

dark

  • 类型: boolean
  • 默认值: false

开启暗色主题。

compact

  • 类型: boolean
  • 默认值: false

开启紧凑主题。

theme

  • 类型: Record<string, string>
  • 默认值: {}

配置 antd 的 theme 主题,配置形式如下:

ice.config.mts
import { defineConfig } from '@ice/app';
import antd from '@ice/plugin-antd';

export default defineConfig(() => ({
plugins: [
antd({
theme: {
// primary-color 为 antd 的 theme token
'primary-color': '#1DA57A',
},
}),
],
}));
- - +

使用 Ant Design 组件

ice.js 项目中可以直接使用 antd 组件,关于 antd 组件按需引入的问题说明:

  • 脚本代码按需引入:不推荐使用 babel-plugin-import,社区主流工具 Webpack/Vite 等都已支持 tree-shaking,构建时默认都会做按需的引入
  • 样式代码按需引入:结合社区讨论 issue,大多数场景下样式按需引入并无太大意义,反而会引入其他工程问题,因此推荐组件样式在项目级全量引入

综上所述,如果不存在主题定制以及样式大小极致的要求,项目中并不需要使用 antd 插件,通过在 src/global.css 中全量引入样式即可:

src/global.css
@import 'antd/dist/antd.css';

body {}
警告

以上全量样式引入针对 and 版本 4.x 及以下,antd 5.x 开始使用 css in js 的方式引入样式,因此不再需要全量引入 css 文件。

开启插件

安装插件:

$ npm i -D @ice/plugin-antd

ice.config.mts 中添加插件:

ice.config.mts
import { defineConfig } from '@ice/app';
import antd from '@ice/plugin-antd';

export default defineConfig(() => ({
plugins: [
antd({
importStyle: true,
}),
],
}));

配置

importStyle

  • 类型: boolean
  • 默认值: false

为 antd 组件按需加载样式。

dark

  • 类型: boolean
  • 默认值: false

开启暗色主题。

compact

  • 类型: boolean
  • 默认值: false

开启紧凑主题。

theme

  • 类型: Record<string, string>
  • 默认值: {}

配置 antd 的 theme 主题,配置形式如下:

ice.config.mts
import { defineConfig } from '@ice/app';
import antd from '@ice/plugin-antd';

export default defineConfig(() => ({
plugins: [
antd({
theme: {
// primary-color 为 antd 的 theme token
'primary-color': '#1DA57A',
},
}),
],
}));
+ + \ No newline at end of file diff --git a/docs/guide/advanced/auth/index.html b/docs/guide/advanced/auth/index.html index b5f05e1374..bfa60b9b49 100644 --- a/docs/guide/advanced/auth/index.html +++ b/docs/guide/advanced/auth/index.html @@ -3,14 +3,14 @@ -权限管理 | 飞冰 ICE - - +权限管理 | 飞冰 ICE + +
-

权限管理

对于移动端场景,鉴权通常由 SSO 或统一登录平台完成,业务开发者无需关注。本文档主要介绍中后台场景中的权限管理。

示例

中后台 Web 应用中,权限管理是经常会涉及的需求之一,通常包含以下几种常见的权限管理类型:

  • 页面权限:当用户访问某个没有权限的页面时跳转到无权限页面
  • 操作权限:页面中的某些按钮或组件针对无权限的用户直接隐藏
  • 接口权限:当用户通过操作调用没有权限的接口时跳转到无权限页面

ice.js 提供 @ice/plugin-auth 插件,帮助用户更简单管理前两种类型的权限。接口权限管理请见数据请求文档。

安装插件

安装插件:

$ npm i @ice/plugin-auth -D

ice.config.mts 中添加插件:

ice.config.mts
import { defineConfig } from '@ice/app';
import auth from '@ice/plugin-auth';

export default defineConfig(() => ({
plugins: [
auth(),
],
}));

初始化权限数据

大多数情况下权限管理通常需要从服务端获取权限数据,然后在前端通过权限对比以此控制页面、操作等等权限行为。约定在 src/app.ts 中导出 auth 对象,该对象包含从服务端异步获取初始化的权限数据,并且约定最终返回格式为 { initialAuth: { [key: string]: boolean } }

src/app.ts
import { defineAuthConfig } from '@ice/plugin-auth/types';

export const authConfig = defineAuthConfig(async () => {
// 模拟请求权限数据
// const data = (await fetch('/api/auth')).json();
return {
initialAuth: {
admin: true,
guest: false,
},
};
});

页面权限

如需对某些页面进行权限控制,只需在页面组件的 pageConfig 中配置准入权限即可。

import { definePageConfig } from 'ice';

export default function Home() {
return <div>Home</div>
}

export const pageConfig = definePageConfig(() => ({
// 当前用户是 admin 时,有权限访问该页面
auth: ['admin'],
}));

操作权限

在某些场景下,如某个组件中要根据角色判断是否有操作权限,我们可以通过 useAuth Hooks 在组件中获取权限数据,同时也可以更新初始的权限数据。

获取权限数据

import React from 'react';
import { useAuth } from 'ice';

function Foo() {
const [auth] = useAuth();
return (
<>
当前用户权限数据:
<code>{JSON.stringify(auth)}</code>
</>
);
}

设置权限数据

import React from 'react';
import { useAuth } from 'ice';

function Home() {
const [auth, setAuth] = useAuth();

// 更新权限,与默认的 auth 数据进行合并
function updateAuth() {
setAuth({ admin: false, guest: true });
}

return (
<>
当前用户角色:
<code>{JSON.stringify(auth)}</code>
<button type="button" onClick={updateAuth}>
更新权限
</button>
</>
);
}

自定义权限组件

对于操作类权限,通常我们可以自定义封装权限组件,以便更细粒度的控制权限和复用。

import React from 'react';
import { useAuth } from 'ice';
import NoAuth from '@/components/NoAuth';

function Auth({ children, authKey, fallback }) {
const [auth] = useAuth();
// 判断是否有权限
const hasAuth = auth[authKey];

// 有权限时直接渲染内容
if (hasAuth) {
return children;
} else {
// 无权限时显示指定 UI
return fallback || NoAuth;
}
}

export default Auth;

使用如下:

function Foo() {
return (
<Auth authKey={'starRepo'}>
<Button type="button">Star</Button>
</Auth>
);
}

自定义 Fallback

支持自定义无权限时的展示组件,默认为 <>No Auth</>

src/app.tsx
import { defineAuthConfig } from '@ice/plugin-auth/types';

export const authConfig = defineAuthConfig(async () => {
return {
initialAuth: {
admin: true,
},
+ NoAuthFallback: (routeConfig) => {
+ console.log(routeConfig); // 当前页面的配置
+ return (
+ <div>没有权限</div>
+ );
+ },
+ };
});
- - +

权限管理

对于移动端场景,鉴权通常由 SSO 或统一登录平台完成,业务开发者无需关注。本文档主要介绍中后台场景中的权限管理。

示例

中后台 Web 应用中,权限管理是经常会涉及的需求之一,通常包含以下几种常见的权限管理类型:

  • 页面权限:当用户访问某个没有权限的页面时跳转到无权限页面
  • 操作权限:页面中的某些按钮或组件针对无权限的用户直接隐藏
  • 接口权限:当用户通过操作调用没有权限的接口时跳转到无权限页面

ice.js 提供 @ice/plugin-auth 插件,帮助用户更简单管理前两种类型的权限。接口权限管理请见数据请求文档。

安装插件

安装插件:

$ npm i @ice/plugin-auth -D

ice.config.mts 中添加插件:

ice.config.mts
import { defineConfig } from '@ice/app';
import auth from '@ice/plugin-auth';

export default defineConfig(() => ({
plugins: [
auth(),
],
}));

初始化权限数据

大多数情况下权限管理通常需要从服务端获取权限数据,然后在前端通过权限对比以此控制页面、操作等等权限行为。约定在 src/app.ts 中导出 auth 对象,该对象包含从服务端异步获取初始化的权限数据,并且约定最终返回格式为 { initialAuth: { [key: string]: boolean } }

src/app.ts
import { defineAuthConfig } from '@ice/plugin-auth/types';

export const authConfig = defineAuthConfig(async () => {
// 模拟请求权限数据
// const data = (await fetch('/api/auth')).json();
return {
initialAuth: {
admin: true,
guest: false,
},
};
});

页面权限

如需对某些页面进行权限控制,只需在页面组件的 pageConfig 中配置准入权限即可。

import { definePageConfig } from 'ice';

export default function Home() {
return <div>Home</div>
}

export const pageConfig = definePageConfig(() => ({
// 当前用户是 admin 时,有权限访问该页面
auth: ['admin'],
}));

操作权限

在某些场景下,如某个组件中要根据角色判断是否有操作权限,我们可以通过 useAuth Hooks 在组件中获取权限数据,同时也可以更新初始的权限数据。

获取权限数据

import React from 'react';
import { useAuth } from 'ice';

function Foo() {
const [auth] = useAuth();
return (
<>
当前用户权限数据:
<code>{JSON.stringify(auth)}</code>
</>
);
}

设置权限数据

import React from 'react';
import { useAuth } from 'ice';

function Home() {
const [auth, setAuth] = useAuth();

// 更新权限,与默认的 auth 数据进行合并
function updateAuth() {
setAuth({ admin: false, guest: true });
}

return (
<>
当前用户角色:
<code>{JSON.stringify(auth)}</code>
<button type="button" onClick={updateAuth}>
更新权限
</button>
</>
);
}

自定义权限组件

对于操作类权限,通常我们可以自定义封装权限组件,以便更细粒度的控制权限和复用。

import React from 'react';
import { useAuth } from 'ice';
import NoAuth from '@/components/NoAuth';

function Auth({ children, authKey, fallback }) {
const [auth] = useAuth();
// 判断是否有权限
const hasAuth = auth[authKey];

// 有权限时直接渲染内容
if (hasAuth) {
return children;
} else {
// 无权限时显示指定 UI
return fallback || NoAuth;
}
}

export default Auth;

使用如下:

function Foo() {
return (
<Auth authKey={'starRepo'}>
<Button type="button">Star</Button>
</Auth>
);
}

自定义 Fallback

支持自定义无权限时的展示组件,默认为 <>No Auth</>

src/app.tsx
import { defineAuthConfig } from '@ice/plugin-auth/types';

export const authConfig = defineAuthConfig(async () => {
return {
initialAuth: {
admin: true,
},
+ NoAuthFallback: (routeConfig) => {
+ console.log(routeConfig); // 当前页面的配置
+ return (
+ <div>没有权限</div>
+ );
+ },
+ };
});
+ + \ No newline at end of file diff --git a/docs/guide/advanced/code-splitting/index.html b/docs/guide/advanced/code-splitting/index.html index 662f2884a5..17d4752faf 100644 --- a/docs/guide/advanced/code-splitting/index.html +++ b/docs/guide/advanced/code-splitting/index.html @@ -3,14 +3,14 @@ -代码分包 | 飞冰 ICE - - +代码分包 | 飞冰 ICE + +
-

代码分包

默认策略

为了给页面提供最优的性能,ice.js 默认以路由维度分割代码,每个路由会生成一个独立的 js 和 css(如果有 css 源码),另外默认会根据第三方模块体积自动拆分 chunk,有可能会出现多个产物包。

组件级别的代码分割

如果构建产物过大,可以考虑把体积较大的组件进行拆包:

import { lazy, Suspense } from 'react';
// Avatar 组件会被单独拆包
const Avatar = lazy(() => import('@/components/Avatar'));

export default function Home() {
return (
<div>
<Avatar />
</div>
);
}

控制三方依赖的分包

三方依赖默认根据体积大小进行拆分。如果三方依赖过多,在某些场景下可能出现较多的网络请求,导致页面加载速度过慢,可关闭 codeSplitting 配置:

ice.config.mts
import { defineConfig } from '@ice/app';

export default defineConfig(() => ({
codeSplitting: 'page',
}))
- - +

代码分包

默认策略

为了给页面提供最优的性能,ice.js 默认以路由维度分割代码,每个路由会生成一个独立的 js 和 css(如果有 css 源码),另外默认会根据第三方模块体积自动拆分 chunk,有可能会出现多个产物包。

组件级别的代码分割

如果构建产物过大,可以考虑把体积较大的组件进行拆包:

import { lazy, Suspense } from 'react';
// Avatar 组件会被单独拆包
const Avatar = lazy(() => import('@/components/Avatar'));

export default function Home() {
return (
<div>
<Avatar />
</div>
);
}

控制三方依赖的分包

三方依赖默认根据体积大小进行拆分。如果三方依赖过多,在某些场景下可能出现较多的网络请求,导致页面加载速度过慢,可关闭 codeSplitting 配置:

ice.config.mts
import { defineConfig } from '@ice/app';

export default defineConfig(() => ({
codeSplitting: 'page',
}))
+ + \ No newline at end of file diff --git a/docs/guide/advanced/css-assets-local/index.html b/docs/guide/advanced/css-assets-local/index.html index 954e892c6f..ceff01f064 100644 --- a/docs/guide/advanced/css-assets-local/index.html +++ b/docs/guide/advanced/css-assets-local/index.html @@ -3,14 +3,14 @@ -CSS 资源本地化 | 飞冰 ICE - - +CSS 资源本地化 | 飞冰 ICE + +
-

CSS 资源本地化

组件代码里有可能会依赖一些远程 CDN 的字体文件等,某些情况下网站运行时可能访问不了。该插件提供在构建部署时将 CSS 中的网络资源本地化能力,例如字体文件等。

开启插件

安装插件:

$ npm i -D @ice/plugin-css-assets-local

ice.config.mts 中添加插件:

ice.config.mts
import { defineConfig } from '@ice/app';
import cssAssetsLocal from '@ice/plugin-css-assets-local';

export default defineConfig(() => ({
plugins: [
cssAssetsLocal(),
],
}));

配置

outputPath

提取后的静态文件目录前缀

  • 类型: string
  • 默认值: assets

relativeCssPath

提取的文件后相对于 CSS 的路径

  • 类型: string
  • 默认值: ../

enableInDev

本地调试时是否启用插件

  • 类型: boolean
  • 默认值: false
- - +

CSS 资源本地化

组件代码里有可能会依赖一些远程 CDN 的字体文件等,某些情况下网站运行时可能访问不了。该插件提供在构建部署时将 CSS 中的网络资源本地化能力,例如字体文件等。

开启插件

安装插件:

$ npm i -D @ice/plugin-css-assets-local

ice.config.mts 中添加插件:

ice.config.mts
import { defineConfig } from '@ice/app';
import cssAssetsLocal from '@ice/plugin-css-assets-local';

export default defineConfig(() => ({
plugins: [
cssAssetsLocal(),
],
}));

配置

outputPath

提取后的静态文件目录前缀

  • 类型: string
  • 默认值: assets

relativeCssPath

提取的文件后相对于 CSS 的路径

  • 类型: string
  • 默认值: ../

enableInDev

本地调试时是否启用插件

  • 类型: boolean
  • 默认值: false
+ + \ No newline at end of file diff --git a/docs/guide/advanced/deploy/index.html b/docs/guide/advanced/deploy/index.html index 11a8a57029..b6288a8d3e 100644 --- a/docs/guide/advanced/deploy/index.html +++ b/docs/guide/advanced/deploy/index.html @@ -3,14 +3,14 @@ -部署 | 飞冰 ICE - - +部署 | 飞冰 ICE + +
-

部署

前端代码开发完成后,我们会执行 npm build 命令进行项目构建。构建完成后,我们需要把 js/css/html 等静态资源部署到服务器或者发布到 CDN 上。

资源发布

如果是博客、官网等静态应用,推荐使用以下的方式进行部署:

CDN 发布

推荐通过 阿里云 OSS 服务进行非覆盖式发布,每个版本建一个 x.y.z 的文件夹,然后将整个 build 目录复制进去,接着就可以通过 url 访问这些 CDN 资源了。

Nginx

把构建好的 build 资源复制到服务器对应目录下,添加以下的 Nginx 配置,然后就可以启动 Nginx 静态文件服务器。

location / {
root /www/build;
# 访问 localhost:3000/a 依次查找 /www/build/a、/www/build/a/index.html、/www/build/404.html
try_files $uri $uri/ 404.html;
}

静态资源托管服务

我们以 surge 为例。

全局安装 surge

npm install --global surge

运行 surge

ice-demo 项目名,ice.js 项目默认构建目录 build 为例:

$ cd ice-demo/build
# 启动 surge 服务
$ surge

依次确认账户, projectPath, domain 等信息,等待上传生效即可,详见 surge 官方说明

其他同类产品有:

后端应用集成

Node.js 应用

初始化 Koa 应用

新建项目名 ice-node-koa

$ mkdir ice-node-koa && cd ice-node-koa
$ npm init
$ npm i ejs koa koa-logger koa-views --save

定义视图

新建 views/index.ejs

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta http-equiv="x-ua-compatible" content="ie=edge,chrome=1" />
<meta name="viewport" content="width=device-width" />
<title>ICE Design Lite</title>
<link rel="shortcut icon" href="<%= publicPath %>/favicon.png" />
<link href="<%= publicPath %>/css/index.css" rel="stylesheet" />
</head>

<body>
<div id="ice-container"></div>
<script type="text/javascript" src="<%= publicPath %>/js/index.js"></script>
</body>
</html>

渲染视图

新建 app.js

const views = require('koa-views');
const path = require('path');
const Koa = require('koa');

const app = (module.exports = new Koa());

app.use(views(path.join(__dirname, '/views'), { extension: 'ejs' }));

app.use(async function (ctx) {
await ctx.render('index', { publicPath: 'http://localhost:3000/' });
});

const port = 3000;
app.listen(port).then(() => console.log(`Listening on http:localhost:${port}`));

示例兼容单页应用的 HashRouter 和 BrowserRouter,如多页应用可参考 https://github.com/koajs/examples 中 blog 示例配置路由

运行示例

$ node app.js
Listening on http:localhost:3000

浏览器中打开 http://localhost:3000

Java 应用

resources

新建 /velocity/layout/index.vm

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta http-equiv="x-ua-compatible" content="ie=edge,chrome=1" />
<meta name="viewport" content="width=device-width" />
<title>ICE Design Lite</title>
<link rel="shortcut icon" href="$!publicPath/favicon.png" />
<link href="$!publicPath/css/index.css" rel="stylesheet" />
</head>

<body>
<div id="ice-container"></div>
<script type="text/javascript" src="$!publicPath/js/index.js"></script>
</body>
</html>

Controller

@GetMapping("/")
@VelocityLayout("/velocity/layout/index.vm")
public String index(Model model) {
model.addAttribute(publicPath, jsConfig.get(publicPath));
return "index";
}

示例展示的是 HashRouter 路由,如果为 BrowserRouter,建议改为 @GetMapping(value = { "/**" }) 实现前端 fallback

小程序发布

执行 npm run build 命令完成构建后,按照命令行提示使用对应的小程序开发者工具打开产物目录。在小程序开发者工具项目页面找到『上传』按钮即可上传小程序。然后进入对应的小程序管理后台进行小程序的提交审核及发布即可。

参考文档:

FAQ

静态资源在非根目录或 CDN

如果你的 js、css、图片、字体等资源不在,这时需要配置 publicPath 的值为你的静态资源所在的路径。

部署的 HTML 在非根目录

假设你本地开发的时候有一个路由是 /home,生产环境下你把应用部署到 /abc/ 下,然后访问 /abc/home,就会出现路由不匹配,显示空白页面的情况。

这时你需要配置 basename 解决。

./src/app.ts
import { defineAppConfig } from 'ice';

export default defineAppConfig(() => ({
router: {
basename: '/abc',
},
}));
- - +

部署

前端代码开发完成后,我们会执行 npm build 命令进行项目构建。构建完成后,我们需要把 js/css/html 等静态资源部署到服务器或者发布到 CDN 上。

资源发布

如果是博客、官网等静态应用,推荐使用以下的方式进行部署:

CDN 发布

推荐通过 阿里云 OSS 服务进行非覆盖式发布,每个版本建一个 x.y.z 的文件夹,然后将整个 build 目录复制进去,接着就可以通过 url 访问这些 CDN 资源了。

Nginx

把构建好的 build 资源复制到服务器对应目录下,添加以下的 Nginx 配置,然后就可以启动 Nginx 静态文件服务器。

location / {
root /www/build;
# 访问 localhost:3000/a 依次查找 /www/build/a、/www/build/a/index.html、/www/build/404.html
try_files $uri $uri/ 404.html;
}

静态资源托管服务

我们以 surge 为例。

全局安装 surge

npm install --global surge

运行 surge

ice-demo 项目名,ice.js 项目默认构建目录 build 为例:

$ cd ice-demo/build
# 启动 surge 服务
$ surge

依次确认账户, projectPath, domain 等信息,等待上传生效即可,详见 surge 官方说明

其他同类产品有:

后端应用集成

Node.js 应用

初始化 Koa 应用

新建项目名 ice-node-koa

$ mkdir ice-node-koa && cd ice-node-koa
$ npm init
$ npm i ejs koa koa-logger koa-views --save

定义视图

新建 views/index.ejs

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta http-equiv="x-ua-compatible" content="ie=edge,chrome=1" />
<meta name="viewport" content="width=device-width" />
<title>ICE Design Lite</title>
<link rel="shortcut icon" href="<%= publicPath %>/favicon.png" />
<link href="<%= publicPath %>/css/index.css" rel="stylesheet" />
</head>

<body>
<div id="ice-container"></div>
<script type="text/javascript" src="<%= publicPath %>/js/index.js"></script>
</body>
</html>

渲染视图

新建 app.js

const views = require('koa-views');
const path = require('path');
const Koa = require('koa');

const app = (module.exports = new Koa());

app.use(views(path.join(__dirname, '/views'), { extension: 'ejs' }));

app.use(async function (ctx) {
await ctx.render('index', { publicPath: 'http://localhost:3000/' });
});

const port = 3000;
app.listen(port).then(() => console.log(`Listening on http:localhost:${port}`));

示例兼容单页应用的 HashRouter 和 BrowserRouter,如多页应用可参考 https://github.com/koajs/examples 中 blog 示例配置路由

运行示例

$ node app.js
Listening on http:localhost:3000

浏览器中打开 http://localhost:3000

Java 应用

resources

新建 /velocity/layout/index.vm

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta http-equiv="x-ua-compatible" content="ie=edge,chrome=1" />
<meta name="viewport" content="width=device-width" />
<title>ICE Design Lite</title>
<link rel="shortcut icon" href="$!publicPath/favicon.png" />
<link href="$!publicPath/css/index.css" rel="stylesheet" />
</head>

<body>
<div id="ice-container"></div>
<script type="text/javascript" src="$!publicPath/js/index.js"></script>
</body>
</html>

Controller

@GetMapping("/")
@VelocityLayout("/velocity/layout/index.vm")
public String index(Model model) {
model.addAttribute(publicPath, jsConfig.get(publicPath));
return "index";
}

示例展示的是 HashRouter 路由,如果为 BrowserRouter,建议改为 @GetMapping(value = { "/**" }) 实现前端 fallback

小程序发布

执行 npm run build 命令完成构建后,按照命令行提示使用对应的小程序开发者工具打开产物目录。在小程序开发者工具项目页面找到『上传』按钮即可上传小程序。然后进入对应的小程序管理后台进行小程序的提交审核及发布即可。

参考文档:

FAQ

静态资源在非根目录或 CDN

如果你的 js、css、图片、字体等资源不在,这时需要配置 publicPath 的值为你的静态资源所在的路径。

部署的 HTML 在非根目录

假设你本地开发的时候有一个路由是 /home,生产环境下你把应用部署到 /abc/ 下,然后访问 /abc/home,就会出现路由不匹配,显示空白页面的情况。

这时你需要配置 basename 解决。

./src/app.ts
import { defineAppConfig } from 'ice';

export default defineAppConfig(() => ({
router: {
basename: '/abc',
},
}));
+ + \ No newline at end of file diff --git a/docs/guide/advanced/faas/index.html b/docs/guide/advanced/faas/index.html index c1f6cf8ea7..eaec752599 100644 --- a/docs/guide/advanced/faas/index.html +++ b/docs/guide/advanced/faas/index.html @@ -3,14 +3,14 @@ -一体化 | 飞冰 ICE - - +一体化 | 飞冰 ICE + + - - +
+ + \ No newline at end of file diff --git a/docs/guide/advanced/fusion/index.html b/docs/guide/advanced/fusion/index.html index 3f80fd4877..37f76d1bdf 100644 --- a/docs/guide/advanced/fusion/index.html +++ b/docs/guide/advanced/fusion/index.html @@ -3,14 +3,14 @@ -使用 Fusion 组件 | 飞冰 ICE - - +使用 Fusion 组件 | 飞冰 ICE + +
-

使用 Fusion 组件

ice.js 项目中可以直接使用 fusion 组件,关于 fusion 组件按需引入的问题说明:

  • 脚本代码按需引入:不推荐使用 babel-plugin-import,社区主流工具 Webpack/Vite 等都已支持 tree-shaking,构建时默认都会做按需的引入
  • 样式代码按需引入:结合社区讨论 issue,大多数场景下样式按需引入并无太大意义,反而会引入其他工程问题,因此推荐组件样式在项目级全量引入

综上所述,如果不存在主题定制以及样式大小极致的要求,项目中并不需要使用 fusion 插件,通过在 src/global.css 中全量引入样式即可:

src/global.css
@import '@alifd/next/dist/next.var.css';

body {}

开启插件

安装插件:

$ npm i -D @ice/plugin-fusion

ice.config.mts 中添加插件:

ice.config.mts
import { defineConfig } from '@ice/app';
import fusion from '@ice/plugin-fusion';

export default defineConfig(() => ({
plugins: [
fusion({
importStyle: true,
}),
],
}));

配置

importStyle

  • 类型: boolean|'sass'
  • 默认值: false

为 fusion 组件按需加载样式,目前 fusion 组件提供两种类型样式,默认加载 css 样式,如果希望加载 sass 样式可以将 importStyle 配置为 sass

themePackage

  • 类型: string
  • 默认值: ''

为 fusion 组件配置主题包,比如:

ice.config.mts
import { defineConfig } from '@ice/app';
import fusion from '@ice/plugin-fusion';

export default defineConfig(() => ({
plugins: [
fusion({
themePackage: '@alifd/theme-design-pro',
}),
],
}));

theme

  • 类型: Record<string, string>
  • 默认值: {}

配置 antd 的 theme 主题,配置形式如下:

ice.config.mts
import { defineConfig } from '@ice/app';
import fusion from '@ice/plugin-fusion';

export default defineConfig(() => ({
plugins: [
fusion({
theme: {
'css-prefix': 'next-icestark-',
},
}),
],
}));

推荐配置

对于样式方案为 sass 的开发场景,推荐通过以下方式进行配置:

ice.config.mts
import { defineConfig } from '@ice/app';
import fusion from '@ice/plugin-fusion';

export default defineConfig(() => ({
plugins: [
fusion({
importStyle: 'sass',
themePackage: '@alifd/theme-design-pro',
}),
],
}));

如果样式方案选择为 css,并且存在主题定制诉求的,推荐配合在 src/global.css 中 css variables:

src/global.css
@import '@alifd/theme-design-pro/variables.css';

body {}
ice.config.mts
import { defineConfig } from '@ice/app';
import fusion from '@ice/plugin-fusion';

export default defineConfig(() => ({
plugins: [
fusion({
importStyle: true,
}),
],
}));

对于样式大小没有极致尺寸要求的,直接引入全量 css 样式即可,无需额外配置插件

- - +

使用 Fusion 组件

ice.js 项目中可以直接使用 fusion 组件,关于 fusion 组件按需引入的问题说明:

  • 脚本代码按需引入:不推荐使用 babel-plugin-import,社区主流工具 Webpack/Vite 等都已支持 tree-shaking,构建时默认都会做按需的引入
  • 样式代码按需引入:结合社区讨论 issue,大多数场景下样式按需引入并无太大意义,反而会引入其他工程问题,因此推荐组件样式在项目级全量引入

综上所述,如果不存在主题定制以及样式大小极致的要求,项目中并不需要使用 fusion 插件,通过在 src/global.css 中全量引入样式即可:

src/global.css
@import '@alifd/next/dist/next.var.css';

body {}

开启插件

安装插件:

$ npm i -D @ice/plugin-fusion

ice.config.mts 中添加插件:

ice.config.mts
import { defineConfig } from '@ice/app';
import fusion from '@ice/plugin-fusion';

export default defineConfig(() => ({
plugins: [
fusion({
importStyle: true,
}),
],
}));

配置

importStyle

  • 类型: boolean|'sass'
  • 默认值: false

为 fusion 组件按需加载样式,目前 fusion 组件提供两种类型样式,默认加载 css 样式,如果希望加载 sass 样式可以将 importStyle 配置为 sass

themePackage

  • 类型: string
  • 默认值: ''

为 fusion 组件配置主题包,比如:

ice.config.mts
import { defineConfig } from '@ice/app';
import fusion from '@ice/plugin-fusion';

export default defineConfig(() => ({
plugins: [
fusion({
themePackage: '@alifd/theme-design-pro',
}),
],
}));

theme

  • 类型: Record<string, string>
  • 默认值: {}

配置 antd 的 theme 主题,配置形式如下:

ice.config.mts
import { defineConfig } from '@ice/app';
import fusion from '@ice/plugin-fusion';

export default defineConfig(() => ({
plugins: [
fusion({
theme: {
'css-prefix': 'next-icestark-',
},
}),
],
}));

推荐配置

对于样式方案为 sass 的开发场景,推荐通过以下方式进行配置:

ice.config.mts
import { defineConfig } from '@ice/app';
import fusion from '@ice/plugin-fusion';

export default defineConfig(() => ({
plugins: [
fusion({
importStyle: 'sass',
themePackage: '@alifd/theme-design-pro',
}),
],
}));

如果样式方案选择为 css,并且存在主题定制诉求的,推荐配合在 src/global.css 中 css variables:

src/global.css
@import '@alifd/theme-design-pro/variables.css';

body {}
ice.config.mts
import { defineConfig } from '@ice/app';
import fusion from '@ice/plugin-fusion';

export default defineConfig(() => ({
plugins: [
fusion({
importStyle: true,
}),
],
}));

对于样式大小没有极致尺寸要求的,直接引入全量 css 样式即可,无需额外配置插件

+ + \ No newline at end of file diff --git a/docs/guide/advanced/i18n/index.html b/docs/guide/advanced/i18n/index.html index 6ed36cc26f..ac80e80847 100644 --- a/docs/guide/advanced/i18n/index.html +++ b/docs/guide/advanced/i18n/index.html @@ -3,14 +3,14 @@ -国际化 | 飞冰 ICE - - +国际化 | 飞冰 ICE + +
-

国际化

ice.js 官方提供 i18n 国际化插件,支持在应用快速开启国际化能力。核心特性包括:

  1. 支持自动处理和生成国际化路由
  2. 完美支持 SSR 和 SSG,以获得更好的 SEO 优化
  3. 支持自动重定向到偏好语言对应的页面
  4. 不耦合任何一个 i18n 库(流行的 React i18n 库有 react-intlreact-i18next 等),你可以选择任一国际化的库来为你的应用设置国际化
使用国际化插件的示例
提示

如果应用不需要使用国际化路由,你可以参考以下例子来让你的项目支持国际化:

快速开始

首先,我们需要在终端执行以下命令安装插件:

$ npm i @ice/plugin-i18n -D

然后在 ice.config.mts 中添加插件和选项:

import { defineConfig } from '@ice/app';
import i18n from '@ice/plugin-i18n';

export default defineConfig({
plugins: [
i18n({
locales: ['zh-CN', 'en-US', 'de'],
defaultLocale: 'zh-CN',
}),
],
});

上面的 en-USzh-CN 是国际化语言的缩写,它们均遵循标准的 UTS 语言标识符。比如:

  • zh-CN:中文(中国)
  • zh-HK:中文(香港)
  • en-US:英文(美国)
  • de: 德文

国际化路由

国际化路由是指在页面路由地址中包含了当前页面的语言,一个国际化路由对应一个语言。

假设现在插件的选项配置是:

import { defineConfig } from '@ice/app';
import i18n from '@ice/plugin-i18n';

export default defineConfig({
plugins: [
i18n({
locales: ['zh-CN', 'en-US', 'nl-NL'],
defaultLocale: 'zh-CN',
}),
],
});

假设我们有一个页面 src/pages/home.tsx,那么将会一一对应自动生成以下的路由:

  • /home:显示 zh-CN 语言,默认语言对应的路由不包含语言前缀
  • /en-US/home:显示 en-US 语言
  • /nl-NL/home:显示 nl-NL 语言

访问不同的路由,将会显示该语言对应页面内容。

获取语言信息

getLocales()

getAllLocales() 用于获取当前应用支持的所有语言。

import { getAllLocales } from 'ice';

console.log(getAllLocales()); // ['zh-CN', 'en-US']

getDefaultLocale()

getDefaultLocale() 用于获取应用配置的默认语言。

import { getDefaultLocale } from 'ice';

console.log(getDefaultLocale()); // 'zh-CN'

useLocale()

在 Function 组件中使用 useLocale() Hook API,它的返回值是一个数组,包含两个值:

  1. 当前页面的语言
  2. 一个 set 函数用于更新当前页面的语言。注意,默认情况下调用此 set 函数时候,同时会更新 Cookie 中 ice_locale 的值为当前页面的语言。这样,再次访问该页面时,从服务端请求能得知当前用户的之前设置的偏好语言,以便返回对应语言的页面内容。
import { useLocale } from 'ice';

export default function Home() {
const [locale, setLocale] = useLocale();

console.log('locale: ', locale); // 'en-US'
return (
<>
{/* 切换语言为 zh-CN */}
<div onClick={() => setLocale('zh-CN')}>Set zh-CN</div>
</>
)
}

withLocale()

使用 withLocale() 方法包裹的 Class 组件,组件的 Props 会包含 localesetLocale() 函数,可以查看和修改当前页面的语言。注意,默认情况下调用 setLocale(),会更新 Cookie 中 ice_locale 的值为当前页面的语言。这样,再次访问该页面时,从服务端请求能得知当前用户的之前设置的偏好语言,以便返回对应语言的页面内容。

import { withLocale } from 'ice';

function Home({ locale, setLocale }) {
console.log('locale: ', locale); // 'en-US'
return (
<>
{/* 切换语言为 zh-CN */}
<div onClick={() => setLocale('zh-CN')}>Set zh-CN</div>
</>
)
}

export default withLocale(Home);

切换语言

推荐使用 setLocale() 方法配合 <Link> 组件或者 useNavigate() 方法进行语言切换:

import { useLocale, getAllLocales, Link, useLocation } from 'ice';

export default function Layout() {
const location = useLocation();
const [activeLocale, setLocale] = useLocale();

return (
<main>
<p><b>Current locale: </b>{activeLocale}</p>

<b>Choose language: </b>
<ul>
{
getAllLocales().map((locale: string) => {
return (
<li key={locale}>
<Link
to={location.pathname}
onClick={() => setLocale(locale)}
>
{locale}
</Link>
</li>
);
})
}
</ul>
</main>
);
}

路由自动重定向

路由自动重定向是指,如果当前访问的页面是根路由(/),将会根据当前语言环境自动跳转到对应的国际化路由。

默认情况下,路由自动重定向的功能是关闭的。如果需要开启,则需要加入以下内容:

import { defineConfig } from '@ice/app';
import i18n from '@ice/plugin-i18n';

export default defineConfig({
plugins: [
i18n({
locales: ['zh-CN', 'en-US', 'de'],
defaultLocale: 'zh-CN',
+ autoRedirect: true,
}),
],
});

其中,语言环境的识别顺序如下:

  • CSR:cookie 中 ice_locale 的值 > window.navigator.language > defaultLocale
  • SSR:cookie 中 ice_locale 的值 > Request Header 中的 Accept-Language > defaultLocale

在部署阶段,路由自动重定向的功能需要配合 Node 中间件使用才能生效。比如:

import express from 'express';
import { renderToHTML } from './build/server/index.mjs';

const app = express();

app.use(express.static('build', {}));

app.use(async (req, res) => {
const { statusCode, statusText, headers, value: body } = await renderToHTML({ req, res });
res.statusCode = statusCode;
res.statusMessage = statusText;
Object.entries((headers || {}) as Record<string, string>).forEach(([name, value]) => {
res.setHeader(name, value);
});
if (body && req.method !== 'HEAD') {
res.end(body);
} else {
res.end();
}
});

在上面的章节中提到,用户设置的偏好语言是存放在 Cookie 中的 ice_locale,调用 setLocale() 时会更新到 Cookie 中,并且路由重定向和路由跳转的时候依赖 ice_locale 的值。

假设有这么一个场景,用户拒绝接受 Cookie,为了保护隐私,这样就不能把偏好语言写到 Cookie 中了。因此需要做以下的配置来禁用 Cookie:

src/app.ts
import { defineI18nConfig } from '@ice/plugin-i18n/types';

export const i18nConfig = defineI18nConfig(() => ({
// 可以是一个 function
disabledCookie: () => {
if (import.meta.renderer === 'client') {
return window.localStorage.getItem('acceptCookie') === 'yes';
}
return false;
},
// 也可以是 boolean 值
// disabledCookie: true,
}));

这样,就禁用掉了 Cookie 的写入了。在切换语言的时候需要在 state 对象中显式传入即将要切换的新语言的值:

import { Link, useLocale } from 'ice';

export default function Home() {
const [, setLocale] = useLocale();
return (
<>
<Link
to="/"
onClick={() => setLocale('zh-CN')}
state={{ locale: 'zh-CN' }}
>
切换到 zh-CN
</Link>
</>
)
}

SSG

在开启 SSG 功能后,将根据配置的 locales 的值,在 build 阶段会生成不同语言对应的 HTML。

比如我们有以下的目录结构,包含 aboutindex 两个页面:

├── src/pages
| ├── about.tsx
| └── index.tsx

假如插件的配置是:

import { defineConfig } from '@ice/app';
import i18n from '@ice/plugin-i18n';

export default defineConfig({
plugins: [
i18n({
locales: ['zh-CN', 'en-US'],
defaultLocale: 'zh-CN',
}),
],
});

那么将会生成 4 个 HTML 文件:

├── build
| ├── about
| | └── index.html
| ├── en-US
| | ├── about
| | | └── index.html
| | └── index.html
| ├── index.html

插件选项

locales

  • 类型:string[]

用于声明该应用支持的语言。

defaultLocale

  • 类型:string

声明该应用默认的语言。需要注意的是, locales 数组必须包含 defaultLocale 的值。

autoRedirect

  • 类型:boolean
  • 默认值:false

默认不会自动重定向到用户偏好语言对应的页面。如果设置为 true,在生产环境下,一般需要配合 Node 中间件一起使用才能生效。详见

- - +

国际化

ice.js 官方提供 i18n 国际化插件,支持在应用快速开启国际化能力。核心特性包括:

  1. 支持自动处理和生成国际化路由
  2. 完美支持 SSR 和 SSG,以获得更好的 SEO 优化
  3. 支持自动重定向到偏好语言对应的页面
  4. 不耦合任何一个 i18n 库(流行的 React i18n 库有 react-intlreact-i18next 等),你可以选择任一国际化的库来为你的应用设置国际化
使用国际化插件的示例
提示

如果应用不需要使用国际化路由,你可以参考以下例子来让你的项目支持国际化:

快速开始

首先,我们需要在终端执行以下命令安装插件:

$ npm i @ice/plugin-i18n -D

然后在 ice.config.mts 中添加插件和选项:

import { defineConfig } from '@ice/app';
import i18n from '@ice/plugin-i18n';

export default defineConfig({
plugins: [
i18n({
locales: ['zh-CN', 'en-US', 'de'],
defaultLocale: 'zh-CN',
}),
],
});

上面的 en-USzh-CN 是国际化语言的缩写,它们均遵循标准的 UTS 语言标识符。比如:

  • zh-CN:中文(中国)
  • zh-HK:中文(香港)
  • en-US:英文(美国)
  • de: 德文

国际化路由

国际化路由是指在页面路由地址中包含了当前页面的语言,一个国际化路由对应一个语言。

假设现在插件的选项配置是:

import { defineConfig } from '@ice/app';
import i18n from '@ice/plugin-i18n';

export default defineConfig({
plugins: [
i18n({
locales: ['zh-CN', 'en-US', 'nl-NL'],
defaultLocale: 'zh-CN',
}),
],
});

假设我们有一个页面 src/pages/home.tsx,那么将会一一对应自动生成以下的路由:

  • /home:显示 zh-CN 语言,默认语言对应的路由不包含语言前缀
  • /en-US/home:显示 en-US 语言
  • /nl-NL/home:显示 nl-NL 语言

访问不同的路由,将会显示该语言对应页面内容。

获取语言信息

getLocales()

getAllLocales() 用于获取当前应用支持的所有语言。

import { getAllLocales } from 'ice';

console.log(getAllLocales()); // ['zh-CN', 'en-US']

getDefaultLocale()

getDefaultLocale() 用于获取应用配置的默认语言。

import { getDefaultLocale } from 'ice';

console.log(getDefaultLocale()); // 'zh-CN'

useLocale()

在 Function 组件中使用 useLocale() Hook API,它的返回值是一个数组,包含两个值:

  1. 当前页面的语言
  2. 一个 set 函数用于更新当前页面的语言。注意,默认情况下调用此 set 函数时候,同时会更新 Cookie 中 ice_locale 的值为当前页面的语言。这样,再次访问该页面时,从服务端请求能得知当前用户的之前设置的偏好语言,以便返回对应语言的页面内容。
import { useLocale } from 'ice';

export default function Home() {
const [locale, setLocale] = useLocale();

console.log('locale: ', locale); // 'en-US'
return (
<>
{/* 切换语言为 zh-CN */}
<div onClick={() => setLocale('zh-CN')}>Set zh-CN</div>
</>
)
}

withLocale()

使用 withLocale() 方法包裹的 Class 组件,组件的 Props 会包含 localesetLocale() 函数,可以查看和修改当前页面的语言。注意,默认情况下调用 setLocale(),会更新 Cookie 中 ice_locale 的值为当前页面的语言。这样,再次访问该页面时,从服务端请求能得知当前用户的之前设置的偏好语言,以便返回对应语言的页面内容。

import { withLocale } from 'ice';

function Home({ locale, setLocale }) {
console.log('locale: ', locale); // 'en-US'
return (
<>
{/* 切换语言为 zh-CN */}
<div onClick={() => setLocale('zh-CN')}>Set zh-CN</div>
</>
)
}

export default withLocale(Home);

切换语言

推荐使用 setLocale() 方法配合 <Link> 组件或者 useNavigate() 方法进行语言切换:

import { useLocale, getAllLocales, Link, useLocation } from 'ice';

export default function Layout() {
const location = useLocation();
const [activeLocale, setLocale] = useLocale();

return (
<main>
<p><b>Current locale: </b>{activeLocale}</p>

<b>Choose language: </b>
<ul>
{
getAllLocales().map((locale: string) => {
return (
<li key={locale}>
<Link
to={location.pathname}
onClick={() => setLocale(locale)}
>
{locale}
</Link>
</li>
);
})
}
</ul>
</main>
);
}

路由自动重定向

路由自动重定向是指,如果当前访问的页面是根路由(/),将会根据当前语言环境自动跳转到对应的国际化路由。

默认情况下,路由自动重定向的功能是关闭的。如果需要开启,则需要加入以下内容:

import { defineConfig } from '@ice/app';
import i18n from '@ice/plugin-i18n';

export default defineConfig({
plugins: [
i18n({
locales: ['zh-CN', 'en-US', 'de'],
defaultLocale: 'zh-CN',
+ autoRedirect: true,
}),
],
});

其中,语言环境的识别顺序如下:

  • CSR:cookie 中 ice_locale 的值 > window.navigator.language > defaultLocale
  • SSR:cookie 中 ice_locale 的值 > Request Header 中的 Accept-Language > defaultLocale

在部署阶段,路由自动重定向的功能需要配合 Node 中间件使用才能生效。比如:

import express from 'express';
import { renderToHTML } from './build/server/index.mjs';

const app = express();

app.use(express.static('build', {}));

app.use(async (req, res) => {
const { statusCode, statusText, headers, value: body } = await renderToHTML({ req, res });
res.statusCode = statusCode;
res.statusMessage = statusText;
Object.entries((headers || {}) as Record<string, string>).forEach(([name, value]) => {
res.setHeader(name, value);
});
if (body && req.method !== 'HEAD') {
res.end(body);
} else {
res.end();
}
});

在上面的章节中提到,用户设置的偏好语言是存放在 Cookie 中的 ice_locale,调用 setLocale() 时会更新到 Cookie 中,并且路由重定向和路由跳转的时候依赖 ice_locale 的值。

假设有这么一个场景,用户拒绝接受 Cookie,为了保护隐私,这样就不能把偏好语言写到 Cookie 中了。因此需要做以下的配置来禁用 Cookie:

src/app.ts
import { defineI18nConfig } from '@ice/plugin-i18n/types';

export const i18nConfig = defineI18nConfig(() => ({
// 可以是一个 function
disabledCookie: () => {
if (import.meta.renderer === 'client') {
return window.localStorage.getItem('acceptCookie') === 'yes';
}
return false;
},
// 也可以是 boolean 值
// disabledCookie: true,
}));

这样,就禁用掉了 Cookie 的写入了。在切换语言的时候需要在 state 对象中显式传入即将要切换的新语言的值:

import { Link, useLocale } from 'ice';

export default function Home() {
const [, setLocale] = useLocale();
return (
<>
<Link
to="/"
onClick={() => setLocale('zh-CN')}
state={{ locale: 'zh-CN' }}
>
切换到 zh-CN
</Link>
</>
)
}

SSG

在开启 SSG 功能后,将根据配置的 locales 的值,在 build 阶段会生成不同语言对应的 HTML。

比如我们有以下的目录结构,包含 aboutindex 两个页面:

├── src/pages
| ├── about.tsx
| └── index.tsx

假如插件的配置是:

import { defineConfig } from '@ice/app';
import i18n from '@ice/plugin-i18n';

export default defineConfig({
plugins: [
i18n({
locales: ['zh-CN', 'en-US'],
defaultLocale: 'zh-CN',
}),
],
});

那么将会生成 4 个 HTML 文件:

├── build
| ├── about
| | └── index.html
| ├── en-US
| | ├── about
| | | └── index.html
| | └── index.html
| ├── index.html

插件选项

locales

  • 类型:string[]

用于声明该应用支持的语言。

defaultLocale

  • 类型:string

声明该应用默认的语言。需要注意的是, locales 数组必须包含 defaultLocale 的值。

autoRedirect

  • 类型:boolean
  • 默认值:false

默认不会自动重定向到用户偏好语言对应的页面。如果设置为 true,在生产环境下,一般需要配合 Node 中间件一起使用才能生效。详见

+ + \ No newline at end of file diff --git a/docs/guide/advanced/icestark/index.html b/docs/guide/advanced/icestark/index.html index 317106adec..7143865475 100644 --- a/docs/guide/advanced/icestark/index.html +++ b/docs/guide/advanced/icestark/index.html @@ -3,14 +3,14 @@ -微前端 | 飞冰 ICE - - +微前端 | 飞冰 ICE + +
-

微前端

icestark 是飞冰团队针对大型系统提供的微前端解决方案,我们提供了独立插件 @ice/plugin-icestark 帮助 ice.js 应用快速接入微前端解决方案。

初始化应用

框架应用

通过模板快速创建一个微前端的框架应用(主应用):

$ npm init ice icestark-framework @icedesign/stark-layout
$ cd icestark-framework
$ npm install
$ npm start

微应用

通过模板快速创建一个微应用(子应用):

$ npm init ice icestark-child @icedesign/stark-child
$ cd icestark-child
$ npm install
$ npm start

应用改造

如果不是通过模板创建,则需要按照下面的步骤进行改造:

安装插件

$ npm i --save-dev @ice/plugin-icestark

框架应用改造

在应用配置文件中添加插件:

ice.config.mts

import { defineConfig } from '@ice/app';
import icestark from '@ice/plugin-icestark';

export default defineConfig(() => ({
plugins: [
// 设置应用类型为框架应用 framework
icestark({ type: 'framework' }),
],
}));

应用入口配置微应用相关信息:

src/app.ts
import { defineFrameworkConfig } from '@ice/plugin-icestark/types';
import FrameworkLayout from '@/components/FrameworkLayout';

export const icestark = defineFrameworkConfig(() => ({
// 用于微应用全局的 Layout
layout: FrameworkLayout,
// 配置微应用信息,可为异步方法
getApps: () => ([
{
path: '/seller',
title: '商家平台',
loadScriptMode: 'import',
entry: 'https://iceworks.oss-cn-hangzhou.aliyuncs.com/icestark/child-seller-ice-vite/index.html',
},
]),
// icestark 提供的 AppRouter 组件的配置参数
appRouter: {},
}));

微应用改造

在应用配置文件中添加插件:

ice.config.mts

import { defineConfig } from '@ice/app';
import icestark from '@ice/plugin-icestark';

export default defineConfig(() => ({
plugins: [
// 设置应用类型为微应用 child
icestark({ type: 'child' }),
],
}));

应用入口可以配置相关生命周期执行行为(可选):

ice.config.mts
import { defineChildConfig } from '@ice/plugin-icestark/types';

export const icestark = defineChildConfig(() => ({
mount: () => {
// 在微应用挂载前执行
},
unmount: () => {
// 在微应用卸载后执行
},
}));

附录

框架应用配置

getApp

  • 类型:Function
  • 默认值:() => []

用于获取微应用列表,单个微应用的完整配置字段请参考 AppConfig

layout

  • 类型:Component

框架应用对应的布局组件,必须渲染 children 用于渲染微前端相关应用结构:

export default function FrameworkLayout({ children }) {
return (
<>
<div>
{/* 必须渲染 layout 用来渲染微前端的结构 */}
{children}
</div>
</>
);
}

完成 layout 的开发后,配置在入口 src/app.ts 中:

src/app.ts
import { defineFrameworkConfig } from '@ice/plugin-icestark/types';
import FrameworkLayout from '@/components/FrameworkLayout';

export const icestark = defineFrameworkConfig(() => ({
layout: FrameworkLayout,
}));

appRouter

可传入 icestark 运行时的钩子函数和可选配置。主要有:

  • NotFoundComponent,匹配不到任何微应用路由时的状态。
  • LoadingComponent,加载过程中的 Loading 状态。
  • ErrorComponent,加载出现错误时的状态。

更多配置详见文档

微应用配置

mount

  • 类型:Function

在微应用挂载前,将执行该函数。

unmout

  • 类型:Function

在微应用卸载后,将执行该函数。

- - +

微前端

icestark 是飞冰团队针对大型系统提供的微前端解决方案,我们提供了独立插件 @ice/plugin-icestark 帮助 ice.js 应用快速接入微前端解决方案。

初始化应用

框架应用

通过模板快速创建一个微前端的框架应用(主应用):

$ npm init ice icestark-framework @icedesign/stark-layout
$ cd icestark-framework
$ npm install
$ npm start

微应用

通过模板快速创建一个微应用(子应用):

$ npm init ice icestark-child @icedesign/stark-child
$ cd icestark-child
$ npm install
$ npm start

应用改造

如果不是通过模板创建,则需要按照下面的步骤进行改造:

安装插件

$ npm i --save-dev @ice/plugin-icestark

框架应用改造

在应用配置文件中添加插件:

ice.config.mts

import { defineConfig } from '@ice/app';
import icestark from '@ice/plugin-icestark';

export default defineConfig(() => ({
plugins: [
// 设置应用类型为框架应用 framework
icestark({ type: 'framework' }),
],
}));

应用入口配置微应用相关信息:

src/app.ts
import { defineFrameworkConfig } from '@ice/plugin-icestark/types';
import FrameworkLayout from '@/components/FrameworkLayout';

export const icestark = defineFrameworkConfig(() => ({
// 用于微应用全局的 Layout
layout: FrameworkLayout,
// 配置微应用信息,可为异步方法
getApps: () => ([
{
path: '/seller',
title: '商家平台',
loadScriptMode: 'import',
entry: 'https://iceworks.oss-cn-hangzhou.aliyuncs.com/icestark/child-seller-ice-vite/index.html',
},
]),
// icestark 提供的 AppRouter 组件的配置参数
appRouter: {},
}));

微应用改造

在应用配置文件中添加插件:

ice.config.mts

import { defineConfig } from '@ice/app';
import icestark from '@ice/plugin-icestark';

export default defineConfig(() => ({
plugins: [
// 设置应用类型为微应用 child
icestark({ type: 'child' }),
],
}));

应用入口可以配置相关生命周期执行行为(可选):

ice.config.mts
import { defineChildConfig } from '@ice/plugin-icestark/types';

export const icestark = defineChildConfig(() => ({
mount: () => {
// 在微应用挂载前执行
},
unmount: () => {
// 在微应用卸载后执行
},
}));

附录

框架应用配置

getApp

  • 类型:Function
  • 默认值:() => []

用于获取微应用列表,单个微应用的完整配置字段请参考 AppConfig

layout

  • 类型:Component

框架应用对应的布局组件,必须渲染 children 用于渲染微前端相关应用结构:

export default function FrameworkLayout({ children }) {
return (
<>
<div>
{/* 必须渲染 layout 用来渲染微前端的结构 */}
{children}
</div>
</>
);
}

完成 layout 的开发后,配置在入口 src/app.ts 中:

src/app.ts
import { defineFrameworkConfig } from '@ice/plugin-icestark/types';
import FrameworkLayout from '@/components/FrameworkLayout';

export const icestark = defineFrameworkConfig(() => ({
layout: FrameworkLayout,
}));

appRouter

可传入 icestark 运行时的钩子函数和可选配置。主要有:

  • NotFoundComponent,匹配不到任何微应用路由时的状态。
  • LoadingComponent,加载过程中的 Loading 状态。
  • ErrorComponent,加载出现错误时的状态。

更多配置详见文档

微应用配置

mount

  • 类型:Function

在微应用挂载前,将执行该函数。

unmout

  • 类型:Function

在微应用卸载后,将执行该函数。

+ + \ No newline at end of file diff --git a/docs/guide/advanced/integrate-from-rax/index.html b/docs/guide/advanced/integrate-from-rax/index.html index 39acee6eb2..51433774b2 100644 --- a/docs/guide/advanced/integrate-from-rax/index.html +++ b/docs/guide/advanced/integrate-from-rax/index.html @@ -3,14 +3,14 @@ -从 Rax App 迁移 | 飞冰 ICE - - +从 Rax App 迁移 | 飞冰 ICE + +
-

从 Rax App 迁移

本文档面向的是使用 Rax App 的开发者,提供迁移到 ice.js 的方式。React 的社区生态显著优于 Rax,切换到 React 之后可以享受到更多的 React 生态,复用复杂场景(富文本、脑图等)社区生态可以大幅度降低成本。

警告

对于 Rax 小程序的用户,如果你没有使用到以下与原生小程序结合较为紧密的能力,则可以正常参考本文档进行迁移。

  • 引入原生 app.js、原生页面、原生自定义组件、小程序插件
  • 引入 Rax 编译时组件
  • 注册页面生命周期及事件
  • 分包加载

如果使用到以上能力,则需要参考 ice.js 文档进行相应能力的迁移。

ice.js 与 Rax App 的差异

ice.js 和 Rax App 都是应用研发框架,它们默认使用的 UI Framework 不同,前者使用 React,而后者使用 rax.js。但是在 ice.js 3.x 中,你可以使用 Rax 兼容模式来运行 Rax 组件。

核心差异包括:

  • 路由差异
  • 构建配置差异
  • 运行时配置差异

Rax App 项目迁移

对于之前使用 Rax App 的用户,我们提供了项目自动化迁移工具 rax-migrate,它可以辅助平滑迁移大部分工程配置,一些无法自动迁移的功能需要用户手动确认。

安装

$ npm i rax-migrate -g

使用

命令行进入 rax-app 工程(如工程名为 rax-project)所在的目录,通过运行 rax-migrate 可生成对应配置的同目录下的 ice.js 工程。

$ rax-migrate transform ./rax-project 

注意⚠️

该工具不是全自动迁移工具,部分功能点无法自动迁移,需要用户手动确认以及迁移,包括但不限于:

  • webpack 插件
  • 无法完全匹配的工程配置
  • rax-migrate 的 warning 以及 error 输出
  • ...
- - +

从 Rax App 迁移

本文档面向的是使用 Rax App 的开发者,提供迁移到 ice.js 的方式。React 的社区生态显著优于 Rax,切换到 React 之后可以享受到更多的 React 生态,复用复杂场景(富文本、脑图等)社区生态可以大幅度降低成本。

警告

对于 Rax 小程序的用户,如果你没有使用到以下与原生小程序结合较为紧密的能力,则可以正常参考本文档进行迁移。

  • 引入原生 app.js、原生页面、原生自定义组件、小程序插件
  • 引入 Rax 编译时组件
  • 注册页面生命周期及事件
  • 分包加载

如果使用到以上能力,则需要参考 ice.js 文档进行相应能力的迁移。

ice.js 与 Rax App 的差异

ice.js 和 Rax App 都是应用研发框架,它们默认使用的 UI Framework 不同,前者使用 React,而后者使用 rax.js。但是在 ice.js 3.x 中,你可以使用 Rax 兼容模式来运行 Rax 组件。

核心差异包括:

  • 路由差异
  • 构建配置差异
  • 运行时配置差异

Rax App 项目迁移

对于之前使用 Rax App 的用户,我们提供了项目自动化迁移工具 rax-migrate,它可以辅助平滑迁移大部分工程配置,一些无法自动迁移的功能需要用户手动确认。

安装

$ npm i rax-migrate -g

使用

命令行进入 rax-app 工程(如工程名为 rax-project)所在的目录,通过运行 rax-migrate 可生成对应配置的同目录下的 ice.js 工程。

$ rax-migrate transform ./rax-project 

注意⚠️

该工具不是全自动迁移工具,部分功能点无法自动迁移,需要用户手动确认以及迁移,包括但不限于:

  • webpack 插件
  • 无法完全匹配的工程配置
  • rax-migrate 的 warning 以及 error 输出
  • ...
+ + \ No newline at end of file diff --git a/docs/guide/advanced/jsx-plus/index.html b/docs/guide/advanced/jsx-plus/index.html index 1e30a85c9d..54ace809e8 100644 --- a/docs/guide/advanced/jsx-plus/index.html +++ b/docs/guide/advanced/jsx-plus/index.html @@ -3,14 +3,14 @@ -JSX+ | 飞冰 ICE - - +JSX+ | 飞冰 ICE + +
-

JSX+

该插件支持了一种 JSX 扩展语法 JSX+,它能帮助业务开发者更爽更快地书写 JSX。JSX+ 不是一种新的概念,它是 JSX 基础上的扩展指令概念。

为什么需要 JSX+

  • JSX 虽然语法灵活,但是大量的花括号 + JS 语法导致了上下文切换和代码可读性的下降,JSX+ 的指令很好的解决了这个问题
  • JSX 本质是 JS 表达式,在运行时阶段才可以计算出真实的 DOM 结构,JSX+ 引入了一部分静态模板特性可以满足编译优化
  • 不新创造实体,指令在社区中是已经被广泛接受的概念,对开发者更友好,语法糖的表达更简单
  • 统一一套 JSX+ 类似概念的语法规范,减少已存在和潜在的重复建设

安装使用

$ npm i @ice/plugin-jsx-plus -D

配置插件使用:

ice.config.mts
import { defineConfig } from '@ice/app';
import jsxPlus from '@ice/plugin-jsx-plus';

export default defineConfig(() => ({
plugins: [
jsxPlus(),
],
}));

接下来就可以使用更强大的 JSX+ 语法了:

function ExampleComponent(props) {
const { isAdmin, dataSource } = props;

return (
<div>
<div x-if={isAdmin}>admin</div>
<div x-else>guest</div>

<div x-for={item in dataSource}>
<span>{item.name}</span>
</div>
</div>
);
}

指令语法

以下是 JSX+ 规范已有的指令列表:

1. 条件判断

语法:

<View x-if={condition}>Hello</View>
<View x-elseif={anotherCondition}>World</View>
<View x-else>NothingElse</View>
警告

x-elseif 可以多次出现,但是顺序必须是 x-if -> x-elseif -> x-else,且这些节点是兄弟节点关系,如顺序错误则指令被忽略。

2. 循环列表

语法:

{/* Array or Plain Object*/}
<tag x-for={item in foo}>{item}</tag>

<tag x-for={(item, key) in foo}>{key}: {item}</tag>

说明:

  1. 若循环对象为数组,key 表示循环索引,其类型为 Number。

  2. x-forx-if 同时作用在同一节点上时,循环优先级大于条件,即循环的 itemindex 可以在子条件判断中使用。

3. 单次渲染

仅在首次渲染时会触发 createElement 并将其引用缓存,重新渲染时直接复用缓存,用于提高不带绑定节点渲染效率和 Diff 性能。

语法:

<p x-memo>this paragragh {mesasge} content will not change.</p>

4. 插槽指令

类似 WebComponents 的 slot 概念,并提供插槽作用域。

语法:

<tag x-slot:slotName="slotScope" />

示例:

// Example
<Waterfall>
<view x-slot:header>header</view>
<view x-slot:item="props">{props.index}: {props.item}</view>
<view x-slot:footer>footer</view>
</Waterfall>
<slot name="header" /> // 槽位

对比传统 JSX:

<Waterfall
renderHeader={() => (<view>header</view>)}
renderFooter={() => (<view>footer</view>)}
renderItem={(item, index) => (<view>{index}: {item}</view>}
/>

对比小程序:

<Waterfall>
<view slot="header">header</view>
<view slot="item" slot-scope="props">{props.index}: {props.item}</view>
<view slot="footer">footer</view>
</Waterfall>

5. Fragment 组件

提供空组件,不产生 UI,提供绑定 x-if x-for x-slot 指令。

使用:

<Fragment />

6. 类名绑定

语法:

<div x-class={{ item: true, active: val }} />

参考实现:

<div className={classnames({ item: true, active: val})} />

classnames 方法能力参考同名 npm 包

更多请参考 jsx-plus

- - +

JSX+

该插件支持了一种 JSX 扩展语法 JSX+,它能帮助业务开发者更爽更快地书写 JSX。JSX+ 不是一种新的概念,它是 JSX 基础上的扩展指令概念。

为什么需要 JSX+

  • JSX 虽然语法灵活,但是大量的花括号 + JS 语法导致了上下文切换和代码可读性的下降,JSX+ 的指令很好的解决了这个问题
  • JSX 本质是 JS 表达式,在运行时阶段才可以计算出真实的 DOM 结构,JSX+ 引入了一部分静态模板特性可以满足编译优化
  • 不新创造实体,指令在社区中是已经被广泛接受的概念,对开发者更友好,语法糖的表达更简单
  • 统一一套 JSX+ 类似概念的语法规范,减少已存在和潜在的重复建设

安装使用

$ npm i @ice/plugin-jsx-plus -D

配置插件使用:

ice.config.mts
import { defineConfig } from '@ice/app';
import jsxPlus from '@ice/plugin-jsx-plus';

export default defineConfig(() => ({
plugins: [
jsxPlus(),
],
}));

接下来就可以使用更强大的 JSX+ 语法了:

function ExampleComponent(props) {
const { isAdmin, dataSource } = props;

return (
<div>
<div x-if={isAdmin}>admin</div>
<div x-else>guest</div>

<div x-for={item in dataSource}>
<span>{item.name}</span>
</div>
</div>
);
}

指令语法

以下是 JSX+ 规范已有的指令列表:

1. 条件判断

语法:

<View x-if={condition}>Hello</View>
<View x-elseif={anotherCondition}>World</View>
<View x-else>NothingElse</View>
警告

x-elseif 可以多次出现,但是顺序必须是 x-if -> x-elseif -> x-else,且这些节点是兄弟节点关系,如顺序错误则指令被忽略。

2. 循环列表

语法:

{/* Array or Plain Object*/}
<tag x-for={item in foo}>{item}</tag>

<tag x-for={(item, key) in foo}>{key}: {item}</tag>

说明:

  1. 若循环对象为数组,key 表示循环索引,其类型为 Number。

  2. x-forx-if 同时作用在同一节点上时,循环优先级大于条件,即循环的 itemindex 可以在子条件判断中使用。

3. 单次渲染

仅在首次渲染时会触发 createElement 并将其引用缓存,重新渲染时直接复用缓存,用于提高不带绑定节点渲染效率和 Diff 性能。

语法:

<p x-memo>this paragragh {mesasge} content will not change.</p>

4. 插槽指令

类似 WebComponents 的 slot 概念,并提供插槽作用域。

语法:

<tag x-slot:slotName="slotScope" />

示例:

// Example
<Waterfall>
<view x-slot:header>header</view>
<view x-slot:item="props">{props.index}: {props.item}</view>
<view x-slot:footer>footer</view>
</Waterfall>
<slot name="header" /> // 槽位

对比传统 JSX:

<Waterfall
renderHeader={() => (<view>header</view>)}
renderFooter={() => (<view>footer</view>)}
renderItem={(item, index) => (<view>{index}: {item}</view>}
/>

对比小程序:

<Waterfall>
<view slot="header">header</view>
<view slot="item" slot-scope="props">{props.index}: {props.item}</view>
<view slot="footer">footer</view>
</Waterfall>

5. Fragment 组件

提供空组件,不产生 UI,提供绑定 x-if x-for x-slot 指令。

使用:

<Fragment />

6. 类名绑定

语法:

<div x-class={{ item: true, active: val }} />

参考实现:

<div className={classnames({ item: true, active: val})} />

classnames 方法能力参考同名 npm 包

更多请参考 jsx-plus

+ + \ No newline at end of file diff --git a/docs/guide/advanced/keep-alive/index.html b/docs/guide/advanced/keep-alive/index.html index cc51d5a416..ccb4ef3af9 100644 --- a/docs/guide/advanced/keep-alive/index.html +++ b/docs/guide/advanced/keep-alive/index.html @@ -3,14 +3,14 @@ -组件缓存 | 飞冰 ICE - - +组件缓存 | 飞冰 ICE + +
-

组件缓存

示例

ice.js 提供 Keep Alive 能力,支持在组件间进行切换时缓存被移除的组件实例。

使用 Keep Alive 能力需要安装 react 和 react-dom 的 experimental 版本:

$ npm i react@experimental react-dom@experimental -S

缓存路由组件

ice.js 提供 <KeepAliveOutlet /> 组件,用于在路由切换时缓存被移除的组件状态。

警告

<KeepAliveOutlet /> 目前是实验性的组件,可能会存在不稳定性。

src/pages/layout.tsx 文件中引入 <KeepAliveOutlet /> 组件后,即可缓存所有的路由组件:

src/pages/layout.tsx
import { KeepAliveOutlet } from 'ice';

export default function Layout() {
return (
<>
<h1>I'm Keep Alive</h1>
<KeepAliveOutlet />
</>
);
}

缓存其他组件

除了缓存路由组件,还可以直接使用 React 18 提供的实验特性 <Offscreen /> 组件,进一步缓存更细粒度的组件。

import React from 'react';

// @ts-ignore
const Offscreen = React.unstable_Offscreen;

export default function Home() {
const [auth, setAuth] = React.useState('admin');

return (
<>
<div>
<button onClick={() => setAuth('admin')}>Set Admin</button>
<button onClick={() => setAuth('user')}>Set User</button>
</div>
<>
<Offscreen mode={auth === 'admin' ? 'visible' : 'hidden'}>
Admin Name: <input />
</Offscreen>
<Offscreen mode={auth === 'user' ? 'visible' : 'hidden'}>
User Name: <input />
</Offscreen>
</>
</>
)
}
- - +

组件缓存

示例

ice.js 提供 Keep Alive 能力,支持在组件间进行切换时缓存被移除的组件实例。

使用 Keep Alive 能力需要安装 react 和 react-dom 的 experimental 版本:

$ npm i react@experimental react-dom@experimental -S

缓存路由组件

ice.js 提供 <KeepAliveOutlet /> 组件,用于在路由切换时缓存被移除的组件状态。

警告

<KeepAliveOutlet /> 目前是实验性的组件,可能会存在不稳定性。

src/pages/layout.tsx 文件中引入 <KeepAliveOutlet /> 组件后,即可缓存所有的路由组件:

src/pages/layout.tsx
import { KeepAliveOutlet } from 'ice';

export default function Layout() {
return (
<>
<h1>I'm Keep Alive</h1>
<KeepAliveOutlet />
</>
);
}

缓存其他组件

除了缓存路由组件,还可以直接使用 React 18 提供的实验特性 <Offscreen /> 组件,进一步缓存更细粒度的组件。

import React from 'react';

// @ts-ignore
const Offscreen = React.unstable_Offscreen;

export default function Home() {
const [auth, setAuth] = React.useState('admin');

return (
<>
<div>
<button onClick={() => setAuth('admin')}>Set Admin</button>
<button onClick={() => setAuth('user')}>Set User</button>
</div>
<>
<Offscreen mode={auth === 'admin' ? 'visible' : 'hidden'}>
Admin Name: <input />
</Offscreen>
<Offscreen mode={auth === 'user' ? 'visible' : 'hidden'}>
User Name: <input />
</Offscreen>
</>
</>
)
}
+ + \ No newline at end of file diff --git a/docs/guide/advanced/micro-frontends/index.html b/docs/guide/advanced/micro-frontends/index.html index b8cf539693..2f20d9b905 100644 --- a/docs/guide/advanced/micro-frontends/index.html +++ b/docs/guide/advanced/micro-frontends/index.html @@ -3,14 +3,14 @@ -微前端 | 飞冰 ICE - - +微前端 | 飞冰 ICE + + - - +
+ + \ No newline at end of file diff --git a/docs/guide/advanced/rax-compat/index.html b/docs/guide/advanced/rax-compat/index.html index 4a908ad092..9046a3d419 100644 --- a/docs/guide/advanced/rax-compat/index.html +++ b/docs/guide/advanced/rax-compat/index.html @@ -3,15 +3,15 @@ -兼容 Rax | 飞冰 ICE - - +兼容 Rax | 飞冰 ICE + +
-

兼容 Rax

框架提供了 rax-compat 以支持 rax.jsreact 的兼容。

rax-compat 通过对 react API 的封装,在内部抹平了 rax.js 与 react 使用上的大部分差异,同时导出了与 rax.js 一致的 API 能力,通过将源码中的 rax 引入替换为 rax-compat,可以桥接上绝大部分 react 运行时能力。

插件安装与使用

用户可以直接通过引入插件 @ice/plugin-rax-compat 来完成在 ice.js 中运行 Rax 组件。

$ npm i @ice/plugin-rax-compat --save-dev
ice.config.mts
+ import compatRax from '@ice/plugin-rax-compat';

export default defineConfig(() => ({
plugins: [
+ compatRax({ inlineStyle: true }), // 是否开启内联样式,这里是开启
+ // 也可以使用函数形式,根据文件名来判断是否开启内联样式
+ compatRax({ inlineStyle: (id) => id.includes('some-module') }),
],
}));

rax-compat 兼容性

Rax 核心 API

rax-compat 实现了所有的 Rax 核心 API,具体列表可以参考Rax 官网

Appear 和 Disappear 事件的处理

通过 onAppear 以及 onDisapper 事件可以监听元素的可见性变化,Rax DSL 通过 appear-polyfill 来实现这部分能力,但是 React Runtime 并没有这部分能力,因此 rax-compat 会在 React Runtime 中做兼容处理。

你依旧可以像之前一样使用 onAppear 以及 onDisapper 回调,如:

import { createElement } from 'rax';

function App {
return (<div
onAppear={() => {
alert('appear')
}}
onDisappear={() => {
alert('disappear')
}}
>
RaxApp
</div>)
}

使用 Rax 兼容模式无需做任何改造,也无需手动引入 appear-polyfillrax-compat 已经帮你处理掉了。

对于纯 React 组件,推荐使用 <VisibilityChange />,详见元素可见

样式的处理

  • inlineStyle: -当打开 @ice/plugin-rax-compat 插件的 inlineStyle 参数时,除了以 .module.css 结尾的文件会使用 CSS Modules 模式外,其它的 .css 文件都会被转换成 JavaScript 对象。

eg:

src/pages/home.css
.foo {
color: red;
}
src/pages/home.tsx
import { createElement } from 'rax';
import styles from './home.css';

console.log(styles); // { foo: { color: 'red' } }

此外,当 width 等属性没有单位时,如 width: 300,在 inlineStyle 模式下会自动补齐 rpx 单位并最终转化成 vw,同理,写了 rpx 单位的值也一样会被转化成 vw

兼容 rax-swiper

由于 rax-swiper 仅支持在非内联模式下使用,如果你启用了 inlineStyle,则需要在项目的全局 CSS 中新增对其样式的导入:

global.css
+ @import url('swiper/swiper-bundle.min.css');

或者你也可以使用函数形式的 lineStyle,将引用了 rax-swiper 的模块排除出内联样式的处理流程:

ice.config.mts
import compatRax from '@ice/plugin-rax-compat';

export default defineConfig(() => ({
plugins: [
+ compatRax({ inlineStyle: (id) => !id.includes('feeds-module') }),
],
}));

兼容使用内联样式构建的模块

Rax 的 inlineStyle 模式是具有传染性的,因此,如果你的项目中存在使用内联样式构建的模块,在 rax-compat 模式下需要确保这些模块也使用内联样式处理,否则会出现样式丢失的问题。此时你可以使用函数形式的 inlineStyle:

ice.config.mts
import compatRax from '@ice/plugin-rax-compat';

export default defineConfig(() => ({
plugins: [
+ compatRax({ inlineStyle: (id) => id.includes('inline-style-module') }),
],
}));

DOM 属性差异

在 React 中,原生标签的 props 是存在白名单的,而 rax.js 中没有。这导致使用非 dataset 的自定义属性在 React 中会被忽略(Dev 阶段有警告),从而无法从真实节点的 DOM 对象中通过 getAttribute() 方法获取。如果用了这些非标自定义属性,推荐使用 dataset(data-*) 来标识自定义属性。

事件差异

React 通过合成事件机制对浏览器环境中的事件进行代理,而 rax.js 则是通过节点(EventTarget)原生的 addEventListener() 方法将事件与处理函数绑定在一起。在你清楚地了解 Rax 与 React 的事件实现差异之前,尽量不要使用 ref 访问真实 DOM 节点来处理原生事件,否则可能会出现未预料的行为。

- - +

兼容 Rax

框架提供了 rax-compat 以支持 rax.jsreact 的兼容。

rax-compat 通过对 react API 的封装,在内部抹平了 rax.js 与 react 使用上的大部分差异,同时导出了与 rax.js 一致的 API 能力,通过将源码中的 rax 引入替换为 rax-compat,可以桥接上绝大部分 react 运行时能力。

插件安装与使用

用户可以直接通过引入插件 @ice/plugin-rax-compat 来完成在 ice.js 中运行 Rax 组件。

$ npm i @ice/plugin-rax-compat --save-dev
ice.config.mts
+ import compatRax from '@ice/plugin-rax-compat';

export default defineConfig(() => ({
plugins: [
+ compatRax({ inlineStyle: true }), // 是否开启内联样式,这里是开启
+ // 也可以使用函数形式,根据文件名来判断是否开启内联样式
+ compatRax({ inlineStyle: (id) => id.includes('some-module') }),
],
}));

rax-compat 兼容性

Rax 核心 API

rax-compat 实现了所有的 Rax 核心 API,具体列表可以参考Rax 官网

Appear 和 Disappear 事件的处理

通过 onAppear 以及 onDisapper 事件可以监听元素的可见性变化,Rax DSL 通过 appear-polyfill 来实现这部分能力,但是 React Runtime 并没有这部分能力,因此 rax-compat 会在 React Runtime 中做兼容处理。

你依旧可以像之前一样使用 onAppear 以及 onDisapper 回调,如:

import { createElement } from 'rax';

function App {
return (<div
onAppear={() => {
alert('appear')
}}
onDisappear={() => {
alert('disappear')
}}
>
RaxApp
</div>)
}

使用 Rax 兼容模式无需做任何改造,也无需手动引入 appear-polyfillrax-compat 已经帮你处理掉了。

对于纯 React 组件,推荐使用 <VisibilityChange />,详见元素可见

样式的处理

  • inlineStyle: +当打开 @ice/plugin-rax-compat 插件的 inlineStyle 参数时,除了以 .module.css 结尾的文件会使用 CSS Modules 模式外,其它的 .css 文件都会被转换成 JavaScript 对象。

eg:

src/pages/home.css
.foo {
color: red;
}
src/pages/home.tsx
import { createElement } from 'rax';
import styles from './home.css';

console.log(styles); // { foo: { color: 'red' } }

此外,当 width 等属性没有单位时,如 width: 300,在 inlineStyle 模式下会自动补齐 rpx 单位并最终转化成 vw,同理,写了 rpx 单位的值也一样会被转化成 vw

兼容 rax-swiper

由于 rax-swiper 仅支持在非内联模式下使用,如果你启用了 inlineStyle,则需要在项目的全局 CSS 中新增对其样式的导入:

global.css
+ @import url('swiper/swiper-bundle.min.css');

或者你也可以使用函数形式的 lineStyle,将引用了 rax-swiper 的模块排除出内联样式的处理流程:

ice.config.mts
import compatRax from '@ice/plugin-rax-compat';

export default defineConfig(() => ({
plugins: [
+ compatRax({ inlineStyle: (id) => !id.includes('feeds-module') }),
],
}));

兼容使用内联样式构建的模块

Rax 的 inlineStyle 模式是具有传染性的,因此,如果你的项目中存在使用内联样式构建的模块,在 rax-compat 模式下需要确保这些模块也使用内联样式处理,否则会出现样式丢失的问题。此时你可以使用函数形式的 inlineStyle:

ice.config.mts
import compatRax from '@ice/plugin-rax-compat';

export default defineConfig(() => ({
plugins: [
+ compatRax({ inlineStyle: (id) => id.includes('inline-style-module') }),
],
}));

DOM 属性差异

在 React 中,原生标签的 props 是存在白名单的,而 rax.js 中没有。这导致使用非 dataset 的自定义属性在 React 中会被忽略(Dev 阶段有警告),从而无法从真实节点的 DOM 对象中通过 getAttribute() 方法获取。如果用了这些非标自定义属性,推荐使用 dataset(data-*) 来标识自定义属性。

事件差异

React 通过合成事件机制对浏览器环境中的事件进行代理,而 rax.js 则是通过节点(EventTarget)原生的 addEventListener() 方法将事件与处理函数绑定在一起。在你清楚地了解 Rax 与 React 的事件实现差异之前,尽量不要使用 ref 访问真实 DOM 节点来处理原生事件,否则可能会出现未预料的行为。

+ + \ No newline at end of file diff --git a/docs/guide/advanced/request/index.html b/docs/guide/advanced/request/index.html index 095ba3e60a..2e7527118a 100644 --- a/docs/guide/advanced/request/index.html +++ b/docs/guide/advanced/request/index.html @@ -3,15 +3,15 @@ -HTTP 请求 | 飞冰 ICE - - +HTTP 请求 | 飞冰 ICE + +
-

HTTP 请求

大部分前端应用都会选择通过 HTTP(s) 协议与后端服务通讯。
-ice.js 提供了一套从 UI 交互到请求服务端数据的完整方案,通过切面编程的方式统一了数据请求管理,简化了设置参数、错误处理等逻辑的实现。

安装 request 插件

网络请求是可选能力,在使用前需要单独安装 @ice/plugin-request 插件。

npm i @ice/plugin-request -D

在配置文件中添加插件:

ice.config.mts
import { defineConfig } from '@ice/app';
import request from '@ice/plugin-request';

export default defineConfig(() => ({
plugins: [
request(),
],
}));

目录约定

框架约定 service 目录用于收敛请求逻辑,目录组织如下:

 src
├── models
+├── services // 定义全局数据请求,非必须
+│ └── user.ts
└── pages
| ├── home
| │ ├── models
+| │ ├── services // 定义页面级数据请求
+| │ | └── repo.ts
| │ └── components
| ├── about
| │ ├── services
| │ ├── components
| │ └── index.tsx
└── app.ts

通过调用 request 定义数据请求如下:

pages/home/service/repo.ts
import { request } from 'ice';

export default {
// 简单场景
async getUser() {
return await request('/api/user');
},

// 参数场景
async getRepo(id) {
return await request(`/api/repo/${id}`);
},

// 格式化返回值
async getDetail(params) {
const data = await request({
url: `/api/detail`,
params
});

return data.map(item => {
return {
...item,
price: item.oldPrice,
text: item.status === '1' ? '确定' : '取消'
};
});
}
}

消费 service

消费 service 主要有两种方式:

  • 在模型中调用 service:service -> model -> view
  • 在视图中调用 service:service -> view

在模型中调用 service

结合 状态管理 使用

  • service:约定数据请求统一管理在 services 目录下;
  • model:约定数据请求统一在 models 里进行调用;
  • view:最终在视图里通过调用 models 的 effects 的方法触发数据请求。

在模型中调用定义好的 service:

import userService from '@/services/user';

// src/models/user.ts
export default {
state: {
name: 'taoxiaobao',
age: 20,
},
reducers: {
update(prevState, payload) {
return { ...prevState, ...payload };
},
},
effects: (dispatch) => ({
async fetchUserInfo() {
const data = await userService.getUser();
dispatch.user.update(data);
},
}),
};
  • 在视图中调用模型方法:
import React, { useEffect } from 'react';
import store from '@/store';

const HomePage = () => {
// 调用定义的 user 模型
const [userState, userDispatchers] = store.useModel('user');

useEffect(() => {
// 调用 user 模型中的 fetchUserInfo 方法
userDispatchers.fetchUserInfo();
}, []);

return <>Home</>;
};

在视图中调用 service

  • service:约定数据请求统一管理在 services 目录下;
  • view:最终在视图里通过 useRequest 直接调用 service 触发数据请求。
import React, { useEffect } from 'react';
import { useRequest } from 'ice';
import userService from '@/services/user';

export default function HomePage() {
// 调用 service
const { data, error, loading, request } = useRequest(userService.getUser);

useEffect(() => {
// 触发数据请求
request();
}, []);

return <>Home</>;
}

API

request

request 基于 axios 进行封装,在使用上整体与 axios 保持一致,差异点:

  1. 默认只返回服务端响应的数据 Response.data,而不是整个 Response,如需返回整个 Response 请通过 withFullResponse 参数开启
  2. 在 axios 基础上默认支持了多请求实例的能力

使用方式如下:

import { request } from 'ice';

async function getList() {
const resData = await request({
url: '/api/user',
});
console.log(resData.list);

const { status, statusText, data } = await request({
url: '/api/user',
withFullResponse: true
});
console.log(data.list);
}

常用使用方式:

request(RequestConfig);

request.get('/user', RequestConfig);
request.post('/user', data, RequestConfig);

RequestConfig:

{
// `url` is the server URL that will be used for the request
url: '/user',
// `method` is the request method to be used when making the request
method: 'get', // default
// `headers` are custom headers to be sent
headers: {'X-Requested-With': 'XMLHttpRequest'},
// `params` are the URL parameters to be sent with the request
// Must be a plain object or a URLSearchParams object
params: {
ID: 12345
},
// `data` is the data to be sent as the request body
// Only applicable for request methods 'PUT', 'POST', and 'PATCH'
data: {
firstName: 'Fred'
},
// `timeout` specifies the number of milliseconds before the request times out.
// If the request takes longer than `timeout`, the request will be aborted.
timeout: 1000, // default is `0` (no timeout)
// `withCredentials` indicates whether or not cross-site Access-Control requests
// should be made using credentials
withCredentials: false, // default
// `responseType` indicates the type of data that the server will respond with
// options are: 'arraybuffer', 'document', 'json', 'text', 'stream'
responseType: 'json', // default
// should be made return full response
withFullResponse: false,
// request instance name
instanceName: 'request2'
}

更完整的配置请 参考

返回完整 Response Scheme 如下:

{
// `data` is the response that was provided by the server
data: {},

// `status` is the HTTP status code from the server response
status: 200,

// `statusText` is the HTTP status message from the server response
statusText: 'OK',

// `headers` the HTTP headers that the server responded with
// All header names are lower cased and can be accessed using the bracket notation.
// Example: `response.headers['content-type']`
headers: {},

// `config` is the config that was provided to `axios` for the request
config: {},

// `request` is the request that generated this response
// It is the last ClientRequest instance in node.js (in redirects)
// and an XMLHttpRequest instance in the browser
request: {}
}

useRequest

使用 useRequest 可以极大的简化对请求状态的管理,useRequest 基于 ahooks/useRequest 封装,差异点:

  • requestMethod 参数默认设置为上述的 request(即 axios),保证框架使用的一致性
  • manual 参数默认值从 false 改为 true,因为实际业务更多都是要手动触发的
  • 返回值 run 改为 request,因为更符合语义

API

const {
// 请求返回的数据,默认为 undefined
data,
// 请求抛出的异常,默认为 undefined
error,
// 请求状态
loading,
// 手动触发请求,参数会传递给 service
request,
// 当次执行请求的参数数组
params,
// 取消当前请求,如果有轮询,停止
cancel,
// 使用上一次的 params,重新执行请求
refresh,
// 直接修改 data
mutate,
// 默认情况下,新请求会覆盖旧请求。如果设置了 fetchKey,则可以实现多个请求并行,fetches 存储了多个请求的状态
fetches
} = useRequest(service, {
// 默认为 true 即需要手动执行请求
manual,
// 初始化的 data
initialData,
// 请求成功时触发,参数为 data 和 params
onSuccess,
// 请求报错时触发,参数为 error 和 params
onError,
// 格式化请求结果
formatResult,
// 请求唯一标识
cacheKey,
// 设置显示 loading 的延迟时间,避免闪烁
loadingDelay,
// 默认参数
defaultParams,
// 轮询间隔,单位为毫秒
pollingInterval,
// 在页面隐藏时,是否继续轮询,默认为 true,即不会停止轮询
pollingWhenHidden,
// 根据 params,获取当前请求的 key
fetchKey,
// 在屏幕重新获取焦点或重新显示时,是否重新发起请求。默认为 false,即不会重新发起请求
refreshOnWindowFocus,
// 屏幕重新聚焦,如果每次都重新发起请求,不是很好,我们需要有一个时间间隔,在当前时间间隔内,不会重新发起请求,需要配置 refreshOnWindowFocus 使用
focusTimespan,
// 防抖间隔, 单位为毫秒,设置后,请求进入防抖模式
debounceInterval,
// 节流间隔, 单位为毫秒,设置后,请求进入节流模式。
throttleInterval,
// 只有当 ready 为 true 时,才会发起请求
ready,
// 在 manual = false 时,refreshDeps 变化,会触发请求重新执行
refreshDeps,
});

常用使用方式

import { useRequest } from 'ice';
// 用法 1:传入请求地址
const { data, error, loading, request } = useRequest('/api/repo');

request();

// 用法 2:传入 Axios 配置对象
const { data, error, loading, request } = useRequest({
url: '/api/repo',
method: 'get',
});

request();

// 用法 3:传入 service 函数
const { data, error, loading, request } = useRequest((id) => Promise.resolve({
url: '/api/repo',
method: 'get',
data: { id },
}));

request();

更多使用方式详见 ahooks/useRequest

请求配置

在实际项目中通常需要对请求进行全局统一的封装,例如配置请求的 baseURL、统一 header、拦截请求和响应等等,这时只需要在应用的的 appConfig 中进行配置即可。

src/app.tsx
import { defineRequestConfig } from '@ice/plugin-request/types';

export const requestConfig = defineRequestConfig({
// 可选的,全局设置 request 是否返回 response 对象,默认为 false
withFullResponse: false,

baseURL: '/api',
headers: {},
// ...RequestConfig 其他参数

// 拦截器
interceptors: {
request: {
onConfig: (config) => {
// 发送请求前:可以对 RequestConfig 做一些统一处理
config.headers = { a: 1 };
return config;
},
onError: (error) => {
return Promise.reject(error);
},
},
response: {
onConfig: (response) => {
// 请求成功:可以做全局的 toast 展示,或者对 response 做一些格式化
if (!response.data.status !== 1) {
alert('请求失败');
}
return response;
},
onError: (error) => {
// 请求出错:服务端返回错误状态码
console.log(error.response.data);
console.log(error.response.status);
console.log(error.response.headers);
return Promise.reject(error);
},
},
},
});

多个请求配置

在某些复杂场景的应用中,我们也可以配置多个请求,每个配置请求都是单一的实例对象。

src/app.tsx
import { defineRequestConfig } from '@ice/plugin-request/types';

export const requestConfig = defineRequestConfig([
{
baseURL: '/api',
// ...RequestConfig 其他参数
},
{
// 配置 request 实例名称,如果不配默认使用内置的 request 实例
instanceName: 'request2',
baseURL: '/api2',
// ...RequestConfig 其他参数
}
]);

使用示例:

import { request } from 'ice';

export default {
// 使用默认的请求方法,即调用 /api/user 接口
async getUser() {
return await request({
url: '/user',
});
},

// 使用自定义的 request 请求方法,即调用接口 /api2/user
async getRepo(id) {
return await request({
instanceName: 'request2',
url: `/repo/${id}`,
});
},
};

异常处理

无论是拦截器里的错误参数,还是 request / useRequest 返回的错误对象,都符合以下类型:

const error = {
// 服务端返回错误状态码时则存在该字段
response: {
data: {},
status: {},
headers: {}
},
// 服务端未返回结构时则存在该字段
request: XMLHttpRequest,
// 一定存在,即 RequestConfig
config: {
},
// 一定存在
message: ''
}

高阶用法

Mock 接口

项目开发初期,后端接口可能还没开发好或不够稳定,此时前端可以通过 Mock 的方式来模拟接口,参考文档 本地 Mock 能力

如何解决接口跨域问题

当访问页面地址和请求接口地址的域名或端口不一致时,就会因为浏览器的同源策略导致跨域问题,此时推荐后端接口通过 CORS 支持信任域名的跨域访问,具体请参考:

根据环境配置不同的 baseURL

大部分情况下,前端代码里用到的后端接口写的都是相对路径如 /api/getFoo.json,然后访问不同环境时浏览器会根据当前域名发起对应的请求。如果域名跟实际请求的接口地址不一致,则需要通过 request.baseURL 来配置:

src/app.tsx
import { defineRequestConfig } from '@ice/plugin-request/types';

export const requestConfig = defineRequestConfig({
baseURL: '//service.example.com/api',
});

结合构建配置即可实现不同环境使用不同的 baseURL:

.env.local
# The should not be committed.
BASEURL=http://localhost:9999/api
.env.prod
BASEURL=https://example.com/api

src/app.tsx 中配置 request.baseURL:

src/app.tsx
import { defineRequestConfig } from '@ice/plugin-request/types';

export const requestConfig = defineRequestConfig({
baseURL: process.env.BASEURL,
});
- - +

HTTP 请求

大部分前端应用都会选择通过 HTTP(s) 协议与后端服务通讯。
+ice.js 提供了一套从 UI 交互到请求服务端数据的完整方案,通过切面编程的方式统一了数据请求管理,简化了设置参数、错误处理等逻辑的实现。

安装 request 插件

网络请求是可选能力,在使用前需要单独安装 @ice/plugin-request 插件。

npm i @ice/plugin-request -D

在配置文件中添加插件:

ice.config.mts
import { defineConfig } from '@ice/app';
import request from '@ice/plugin-request';

export default defineConfig(() => ({
plugins: [
request(),
],
}));

目录约定

框架约定 service 目录用于收敛请求逻辑,目录组织如下:

 src
├── models
+├── services // 定义全局数据请求,非必须
+│ └── user.ts
└── pages
| ├── home
| │ ├── models
+| │ ├── services // 定义页面级数据请求
+| │ | └── repo.ts
| │ └── components
| ├── about
| │ ├── services
| │ ├── components
| │ └── index.tsx
└── app.ts

通过调用 request 定义数据请求如下:

pages/home/service/repo.ts
import { request } from 'ice';

export default {
// 简单场景
async getUser() {
return await request('/api/user');
},

// 参数场景
async getRepo(id) {
return await request(`/api/repo/${id}`);
},

// 格式化返回值
async getDetail(params) {
const data = await request({
url: `/api/detail`,
params
});

return data.map(item => {
return {
...item,
price: item.oldPrice,
text: item.status === '1' ? '确定' : '取消'
};
});
}
}

消费 service

消费 service 主要有两种方式:

  • 在模型中调用 service:service -> model -> view
  • 在视图中调用 service:service -> view

在模型中调用 service

结合 状态管理 使用

  • service:约定数据请求统一管理在 services 目录下;
  • model:约定数据请求统一在 models 里进行调用;
  • view:最终在视图里通过调用 models 的 effects 的方法触发数据请求。

在模型中调用定义好的 service:

import userService from '@/services/user';

// src/models/user.ts
export default {
state: {
name: 'taoxiaobao',
age: 20,
},
reducers: {
update(prevState, payload) {
return { ...prevState, ...payload };
},
},
effects: (dispatch) => ({
async fetchUserInfo() {
const data = await userService.getUser();
dispatch.user.update(data);
},
}),
};
  • 在视图中调用模型方法:
import React, { useEffect } from 'react';
import store from '@/store';

const HomePage = () => {
// 调用定义的 user 模型
const [userState, userDispatchers] = store.useModel('user');

useEffect(() => {
// 调用 user 模型中的 fetchUserInfo 方法
userDispatchers.fetchUserInfo();
}, []);

return <>Home</>;
};

在视图中调用 service

  • service:约定数据请求统一管理在 services 目录下;
  • view:最终在视图里通过 useRequest 直接调用 service 触发数据请求。
import React, { useEffect } from 'react';
import { useRequest } from 'ice';
import userService from '@/services/user';

export default function HomePage() {
// 调用 service
const { data, error, loading, request } = useRequest(userService.getUser);

useEffect(() => {
// 触发数据请求
request();
}, []);

return <>Home</>;
}

API

request

request 基于 axios 进行封装,在使用上整体与 axios 保持一致,差异点:

  1. 默认只返回服务端响应的数据 Response.data,而不是整个 Response,如需返回整个 Response 请通过 withFullResponse 参数开启
  2. 在 axios 基础上默认支持了多请求实例的能力

使用方式如下:

import { request } from 'ice';

async function getList() {
const resData = await request({
url: '/api/user',
});
console.log(resData.list);

const { status, statusText, data } = await request({
url: '/api/user',
withFullResponse: true
});
console.log(data.list);
}

常用使用方式:

request(RequestConfig);

request.get('/user', RequestConfig);
request.post('/user', data, RequestConfig);

RequestConfig:

{
// `url` is the server URL that will be used for the request
url: '/user',
// `method` is the request method to be used when making the request
method: 'get', // default
// `headers` are custom headers to be sent
headers: {'X-Requested-With': 'XMLHttpRequest'},
// `params` are the URL parameters to be sent with the request
// Must be a plain object or a URLSearchParams object
params: {
ID: 12345
},
// `data` is the data to be sent as the request body
// Only applicable for request methods 'PUT', 'POST', and 'PATCH'
data: {
firstName: 'Fred'
},
// `timeout` specifies the number of milliseconds before the request times out.
// If the request takes longer than `timeout`, the request will be aborted.
timeout: 1000, // default is `0` (no timeout)
// `withCredentials` indicates whether or not cross-site Access-Control requests
// should be made using credentials
withCredentials: false, // default
// `responseType` indicates the type of data that the server will respond with
// options are: 'arraybuffer', 'document', 'json', 'text', 'stream'
responseType: 'json', // default
// should be made return full response
withFullResponse: false,
// request instance name
instanceName: 'request2'
}

更完整的配置请 参考

返回完整 Response Scheme 如下:

{
// `data` is the response that was provided by the server
data: {},

// `status` is the HTTP status code from the server response
status: 200,

// `statusText` is the HTTP status message from the server response
statusText: 'OK',

// `headers` the HTTP headers that the server responded with
// All header names are lower cased and can be accessed using the bracket notation.
// Example: `response.headers['content-type']`
headers: {},

// `config` is the config that was provided to `axios` for the request
config: {},

// `request` is the request that generated this response
// It is the last ClientRequest instance in node.js (in redirects)
// and an XMLHttpRequest instance in the browser
request: {}
}

useRequest

使用 useRequest 可以极大的简化对请求状态的管理,useRequest 基于 ahooks/useRequest 封装,差异点:

  • requestMethod 参数默认设置为上述的 request(即 axios),保证框架使用的一致性
  • manual 参数默认值从 false 改为 true,因为实际业务更多都是要手动触发的
  • 返回值 run 改为 request,因为更符合语义

API

const {
// 请求返回的数据,默认为 undefined
data,
// 请求抛出的异常,默认为 undefined
error,
// 请求状态
loading,
// 手动触发请求,参数会传递给 service
request,
// 当次执行请求的参数数组
params,
// 取消当前请求,如果有轮询,停止
cancel,
// 使用上一次的 params,重新执行请求
refresh,
// 直接修改 data
mutate,
// 默认情况下,新请求会覆盖旧请求。如果设置了 fetchKey,则可以实现多个请求并行,fetches 存储了多个请求的状态
fetches
} = useRequest(service, {
// 默认为 true 即需要手动执行请求
manual,
// 初始化的 data
initialData,
// 请求成功时触发,参数为 data 和 params
onSuccess,
// 请求报错时触发,参数为 error 和 params
onError,
// 格式化请求结果
formatResult,
// 请求唯一标识
cacheKey,
// 设置显示 loading 的延迟时间,避免闪烁
loadingDelay,
// 默认参数
defaultParams,
// 轮询间隔,单位为毫秒
pollingInterval,
// 在页面隐藏时,是否继续轮询,默认为 true,即不会停止轮询
pollingWhenHidden,
// 根据 params,获取当前请求的 key
fetchKey,
// 在屏幕重新获取焦点或重新显示时,是否重新发起请求。默认为 false,即不会重新发起请求
refreshOnWindowFocus,
// 屏幕重新聚焦,如果每次都重新发起请求,不是很好,我们需要有一个时间间隔,在当前时间间隔内,不会重新发起请求,需要配置 refreshOnWindowFocus 使用
focusTimespan,
// 防抖间隔, 单位为毫秒,设置后,请求进入防抖模式
debounceInterval,
// 节流间隔, 单位为毫秒,设置后,请求进入节流模式。
throttleInterval,
// 只有当 ready 为 true 时,才会发起请求
ready,
// 在 manual = false 时,refreshDeps 变化,会触发请求重新执行
refreshDeps,
});

常用使用方式

import { useRequest } from 'ice';
// 用法 1:传入请求地址
const { data, error, loading, request } = useRequest('/api/repo');

request();

// 用法 2:传入 Axios 配置对象
const { data, error, loading, request } = useRequest({
url: '/api/repo',
method: 'get',
});

request();

// 用法 3:传入 service 函数
const { data, error, loading, request } = useRequest((id) => Promise.resolve({
url: '/api/repo',
method: 'get',
data: { id },
}));

request();

更多使用方式详见 ahooks/useRequest

请求配置

在实际项目中通常需要对请求进行全局统一的封装,例如配置请求的 baseURL、统一 header、拦截请求和响应等等,这时只需要在应用的的 appConfig 中进行配置即可。

src/app.tsx
import { defineRequestConfig } from '@ice/plugin-request/types';

export const requestConfig = defineRequestConfig({
// 可选的,全局设置 request 是否返回 response 对象,默认为 false
withFullResponse: false,

baseURL: '/api',
headers: {},
// ...RequestConfig 其他参数

// 拦截器
interceptors: {
request: {
onConfig: (config) => {
// 发送请求前:可以对 RequestConfig 做一些统一处理
config.headers = { a: 1 };
return config;
},
onError: (error) => {
return Promise.reject(error);
},
},
response: {
onConfig: (response) => {
// 请求成功:可以做全局的 toast 展示,或者对 response 做一些格式化
if (!response.data.status !== 1) {
alert('请求失败');
}
return response;
},
onError: (error) => {
// 请求出错:服务端返回错误状态码
console.log(error.response.data);
console.log(error.response.status);
console.log(error.response.headers);
return Promise.reject(error);
},
},
},
});

多个请求配置

在某些复杂场景的应用中,我们也可以配置多个请求,每个配置请求都是单一的实例对象。

src/app.tsx
import { defineRequestConfig } from '@ice/plugin-request/types';

export const requestConfig = defineRequestConfig([
{
baseURL: '/api',
// ...RequestConfig 其他参数
},
{
// 配置 request 实例名称,如果不配默认使用内置的 request 实例
instanceName: 'request2',
baseURL: '/api2',
// ...RequestConfig 其他参数
}
]);

使用示例:

import { request } from 'ice';

export default {
// 使用默认的请求方法,即调用 /api/user 接口
async getUser() {
return await request({
url: '/user',
});
},

// 使用自定义的 request 请求方法,即调用接口 /api2/user
async getRepo(id) {
return await request({
instanceName: 'request2',
url: `/repo/${id}`,
});
},
};

异常处理

无论是拦截器里的错误参数,还是 request / useRequest 返回的错误对象,都符合以下类型:

const error = {
// 服务端返回错误状态码时则存在该字段
response: {
data: {},
status: {},
headers: {}
},
// 服务端未返回结构时则存在该字段
request: XMLHttpRequest,
// 一定存在,即 RequestConfig
config: {
},
// 一定存在
message: ''
}

高阶用法

Mock 接口

项目开发初期,后端接口可能还没开发好或不够稳定,此时前端可以通过 Mock 的方式来模拟接口,参考文档 本地 Mock 能力

如何解决接口跨域问题

当访问页面地址和请求接口地址的域名或端口不一致时,就会因为浏览器的同源策略导致跨域问题,此时推荐后端接口通过 CORS 支持信任域名的跨域访问,具体请参考:

根据环境配置不同的 baseURL

大部分情况下,前端代码里用到的后端接口写的都是相对路径如 /api/getFoo.json,然后访问不同环境时浏览器会根据当前域名发起对应的请求。如果域名跟实际请求的接口地址不一致,则需要通过 request.baseURL 来配置:

src/app.tsx
import { defineRequestConfig } from '@ice/plugin-request/types';

export const requestConfig = defineRequestConfig({
baseURL: '//service.example.com/api',
});

结合构建配置即可实现不同环境使用不同的 baseURL:

.env.local
# The should not be committed.
BASEURL=http://localhost:9999/api
.env.prod
BASEURL=https://example.com/api

src/app.tsx 中配置 request.baseURL:

src/app.tsx
import { defineRequestConfig } from '@ice/plugin-request/types';

export const requestConfig = defineRequestConfig({
baseURL: process.env.BASEURL,
});
+ + \ No newline at end of file diff --git a/docs/guide/advanced/store/index.html b/docs/guide/advanced/store/index.html index fa4a84668a..f1f621692e 100644 --- a/docs/guide/advanced/store/index.html +++ b/docs/guide/advanced/store/index.html @@ -3,15 +3,15 @@ -状态管理 | 飞冰 ICE - - +状态管理 | 飞冰 ICE + +
-

状态管理

示例

ice.js 基于 icestore ,提供主流的状态管理解决方案,以更好管理复杂的状态管理逻辑。

开启状态管理

安装插件:

$ npm i @ice/plugin-store -D

ice.config.mts 中添加插件:

ice.config.mts
import { defineConfig } from '@ice/app';
import store from '@ice/plugin-store';

export default defineConfig(() => ({
plugins: [
store(),
],
}));

全局状态

推荐在不同页面组件中共享的状态存放在全局状态中,比如主题、国际化语言、用户信息等。

定义 Model

约定在 src/models 目录定义全局状态。以定义全局用户状态为例:

src/models/user.ts
import { createModel } from 'ice';

interface User {
name: string;
id: string;
}

export default createModel({
// 定义 model 的初始 state
state: {
name: '',
id: '',
} as User,
// 定义改变该 model 状态的纯函数
reducers: {
update(state, payload) {
return {
...state,
...payload,
};
},
},
// 定义处理该 model 副作用的函数
effects: (dispatch) => ({
async getUserInfo() {
await delay(1000);
this.update({
name: 'taobao',
id: '123',
});
},
}),
})

初始化 Store

约定在 src/store.ts 中初始化 Store:

src/store.ts
import { createStore } from 'ice';
import user from './models/user';

export default createStore({ user });

在组件中使用

import { useEffect } from 'react';
+ import store from '@/store';

export default function Home() {
+ const [userState, userDispatchers] = store.useModel('user');

+ useEffect(() => {
+ // 触发 dispatcher 获取数据并修改 state
+ userDispatchers.getUserInfo()
+ }, [])
return (
<>
+ <span>{userState.id}</span>
+ <span>{userState.name}</span>
</>
);
}

页面状态

警告

页面状态只能在该页面下的组件中使用,无法跨页面使用。

定义 Model

约定在当前路由目录下新建 models 目录并定义 Model:

 src
└── pages
| ├── home // /home 页面
+| │ ├── models // 定义 model
+| │ | └── info.ts
| │ └── index.tsx

定义 Model 如下:

src/pages/home/models/info.ts
import { createModel } from 'ice';

export default createModel({
state: {
title: '',
},
reducers: {
update(state, payload) {
return {
...state,
...payload,
};
},
},
});

初始化 Store

约定在当前路由目录下新建 store 文件:

 src
└── pages
| ├── home // /home 页面
| │ ├── models // 定义 model
| │ | └── info.ts
+| │ ├── store.ts // 创建 store
| │ └── index.tsx
src/pages/home/store.ts
import { createStore } from 'ice';
import info from './models/info';

const store = createStore({ info });

export default store;

在组件中使用

src/pages/home/index.tsx
import { useEffect } from 'react';
+ import homeStore from './store';

export default function Home() {
+ const [infoState, infoDispatchers] = homeStore.useModel('info');

+ useEffect(() => {
+ infoDispatchers.update({ title: 'ICE' })
+ }, [])
return (
+ <h1>{infoState.title}</h1>
);
};

进阶用法

设置初始状态

警告

页面级状态目前不支持设置 initialStates

假设我们有 usercounter 两个 Model:

import { createStore } from 'ice';
import user from './models/user';
import counter from './models/counter';

export default createStore({ user, counter });

我们可以在 src/app.ts 中设置两个 Model 初始状态:

src/app.ts
import { defineStoreConfig } from '@ice/plugin-store/types';

export const storeConfig = defineStoreConfig(async () => {
// 模拟请求后端数据
// const data = (await fetch('your-url')).json();
return {
initialStates: {
// initialStates 键值与 createStore 的第一个入参键值保持一致
user: {
name: 'ice.js',
},
counter: {
count: 1
}
},
};
});

Model 定义详细说明

插件约定在 src/modelssrc/pages/**/models 目录下的文件为项目定义的 model 文件,每个文件需要默认导出一个对象。

state

定义 Model 的初始 state:

import { createModel } from 'ice';

export default createModel({
state: { count: 0 },
})

reducers

type Reducers = { 
[k: string]: (state, payload) => any;
};

一个改变该模型状态的函数集合。这些方法以模型的上一次 state 和一个 payload(调用 reducer 时传入的参数)作为入参,在方法中使用可变的方式来更新状态。 这些方法应该是仅依赖于 statepayload 参数来计算下一个 state 的纯函数。对于有副作用的函数,请使用 effects

import { createModel } from 'ice';

export default ({
state: { count: 0, list: [] },

reducers: {
increment (state, payload) {
const newList = state.list.slice();
newList.push(payload);
const newCount = state.count + 1;
return { ...state, count: newCount, list: newList }
},
decrement (state) {
return { ...state, count: state.count - 1 }
}
}
}

effects

type Effects = (dispatch) => ({ [string]: (payload, rootState) => void })

一个可以处理该模型副作用的函数集合。这些方法以 payloadrootState(当前模型的 state) 作为入参,适用于进行异步调用、模型联动等场景。

import { createModel } from 'ice';

export default createModel({
reducers: {
increment() {
// ...
}
},
effects: (dispatch) => ({
async asyncDecrement() {
const list = (await fetch('your-url')).json(); // 进行一些异步操作
this.increment(list); // 调用模型 reducers 内的方法来更新状态
},
}),
})

Model 之间通信

警告

如果两个 Model 不属于同一个 Store 实例,是无法通信的

// src/models/user.ts
import { createModel } from 'ice';

export default createModel({
state: {
name: '',
tasks: 0,
},
effects: () => ({
async refresh() {
const data = (await fetch('/user')).json();
// 通过 this.foo 调用自身的 reducer
this.setState(data);
},
}),
});

使用不可变状态

Redux 默认的函数式写法在处理一些复杂对象的 state 时会非常繁琐。推荐使用 immer 的方式来操作 state:

import { createModel } from 'ice';

export default createModel({
state: {
tasks: ['A Task', 'B Task'],
detail: {
name: 'Bob',
age: 3,
},
},
reducers: {
addTasks(state, payload) {
- return {
- ...state,
- tasks: [ ...state.tasks, payload ],
- },
+ state.tasks.push(payload);
},
updateAge(state, payload) {
- return {
- ...state,
- detail: {
- ...state.detail,
- age: payload,
- },
- },
+ state.detail.age = payload;
}
}
})

注意:因为 immer 无法支持字符串或数字这样的简单类型,因此如果 state 符合这种情况(极少数)则不支持通过 immer 操作,必须使用 Redux 默认的函数式写法(返回一个新值):

import { createModel } from 'ice';

export default createModel({
state: 0,
reducers: {
add(state) {
- state += 1;
+ return state += 1;
},
},
})

获取内置的加载状态和错误状态

通过 useModelEffectsState API 即可获取到 effects 的 加载状态( isLoading )和 错误状态(error)。

import store from '@/store';

function FunctionComponent() {
const [state, dispatchers] = store.useModel('counter');
+ const effectsState = store.useModelEffectsState('counter');

useEffect(() => {
dispatchers.asyncDecrement();
}, []);

+ console.log(effectsState.asyncDecrement.isLoading); // true
+ console.log(effectsState.asyncDecrement.error); // null
}

页面切换后重置状态

在单页应用下进行页面切换时,页面状态是会保留的。如果想切换页面后再次进入原页面时重新初始化页面状态,需要添加以下配置:

ice.config.mts
import { defineConfig } from '@ice/app';
import store from '@ice/plugin-store';

export default defineConfig(() => ({
plugins: [
- store(),
+ store({ resetPageState: true }),
],
}));

在 Class Component 中使用

通过 withModel 可以实现在 Class Component 中使用状态管理。

import store from '@/store';

@store.withModel('todos')
export default class TodoList extends React.Component {
render() {
const { todos } = this.props;
const [state, dispatchers] = todos;
console.log('state: ', state);
// ...
}
}
提示

TS 应用需要在 tsconfig.json 里添加 compilerOptions: { "experimentalDecorators": true } -才可启用装饰器语法。

Redux Devtools

插件中默认集成了 Redux Devtools,不需要额外的配置就可以在 Redux Devtools 调试:

如果需要定义 Devtools 的参数,可以在 createStore 的 options 入参中配置:

createStore({ user }, {
redux: {
devtoolOptions: {
// 更多配置参考:https://github.com/zalmoxisus/redux-devtools-extension/blob/master/docs/API/Arguments.md
}
}
})
- - +

状态管理

示例

ice.js 基于 icestore ,提供主流的状态管理解决方案,以更好管理复杂的状态管理逻辑。

开启状态管理

安装插件:

$ npm i @ice/plugin-store -D

ice.config.mts 中添加插件:

ice.config.mts
import { defineConfig } from '@ice/app';
import store from '@ice/plugin-store';

export default defineConfig(() => ({
plugins: [
store(),
],
}));

全局状态

推荐在不同页面组件中共享的状态存放在全局状态中,比如主题、国际化语言、用户信息等。

定义 Model

约定在 src/models 目录定义全局状态。以定义全局用户状态为例:

src/models/user.ts
import { createModel } from 'ice';

interface User {
name: string;
id: string;
}

export default createModel({
// 定义 model 的初始 state
state: {
name: '',
id: '',
} as User,
// 定义改变该 model 状态的纯函数
reducers: {
update(state, payload) {
return {
...state,
...payload,
};
},
},
// 定义处理该 model 副作用的函数
effects: (dispatch) => ({
async getUserInfo() {
await delay(1000);
this.update({
name: 'taobao',
id: '123',
});
},
}),
})

初始化 Store

约定在 src/store.ts 中初始化 Store:

src/store.ts
import { createStore } from 'ice';
import user from './models/user';

export default createStore({ user });

在组件中使用

import { useEffect } from 'react';
+ import store from '@/store';

export default function Home() {
+ const [userState, userDispatchers] = store.useModel('user');

+ useEffect(() => {
+ // 触发 dispatcher 获取数据并修改 state
+ userDispatchers.getUserInfo()
+ }, [])
return (
<>
+ <span>{userState.id}</span>
+ <span>{userState.name}</span>
</>
);
}

页面状态

警告

页面状态只能在该页面下的组件中使用,无法跨页面使用。

定义 Model

约定在当前路由目录下新建 models 目录并定义 Model:

 src
└── pages
| ├── home // /home 页面
+| │ ├── models // 定义 model
+| │ | └── info.ts
| │ └── index.tsx

定义 Model 如下:

src/pages/home/models/info.ts
import { createModel } from 'ice';

export default createModel({
state: {
title: '',
},
reducers: {
update(state, payload) {
return {
...state,
...payload,
};
},
},
});

初始化 Store

约定在当前路由目录下新建 store 文件:

 src
└── pages
| ├── home // /home 页面
| │ ├── models // 定义 model
| │ | └── info.ts
+| │ ├── store.ts // 创建 store
| │ └── index.tsx
src/pages/home/store.ts
import { createStore } from 'ice';
import info from './models/info';

const store = createStore({ info });

export default store;

在组件中使用

src/pages/home/index.tsx
import { useEffect } from 'react';
+ import homeStore from './store';

export default function Home() {
+ const [infoState, infoDispatchers] = homeStore.useModel('info');

+ useEffect(() => {
+ infoDispatchers.update({ title: 'ICE' })
+ }, [])
return (
+ <h1>{infoState.title}</h1>
);
};

进阶用法

设置初始状态

警告

页面级状态目前不支持设置 initialStates

假设我们有 usercounter 两个 Model:

import { createStore } from 'ice';
import user from './models/user';
import counter from './models/counter';

export default createStore({ user, counter });

我们可以在 src/app.ts 中设置两个 Model 初始状态:

src/app.ts
import { defineStoreConfig } from '@ice/plugin-store/types';

export const storeConfig = defineStoreConfig(async () => {
// 模拟请求后端数据
// const data = (await fetch('your-url')).json();
return {
initialStates: {
// initialStates 键值与 createStore 的第一个入参键值保持一致
user: {
name: 'ice.js',
},
counter: {
count: 1
}
},
};
});

Model 定义详细说明

插件约定在 src/modelssrc/pages/**/models 目录下的文件为项目定义的 model 文件,每个文件需要默认导出一个对象。

state

定义 Model 的初始 state:

import { createModel } from 'ice';

export default createModel({
state: { count: 0 },
})

reducers

type Reducers = { 
[k: string]: (state, payload) => any;
};

一个改变该模型状态的函数集合。这些方法以模型的上一次 state 和一个 payload(调用 reducer 时传入的参数)作为入参,在方法中使用可变的方式来更新状态。 这些方法应该是仅依赖于 statepayload 参数来计算下一个 state 的纯函数。对于有副作用的函数,请使用 effects

import { createModel } from 'ice';

export default ({
state: { count: 0, list: [] },

reducers: {
increment (state, payload) {
const newList = state.list.slice();
newList.push(payload);
const newCount = state.count + 1;
return { ...state, count: newCount, list: newList }
},
decrement (state) {
return { ...state, count: state.count - 1 }
}
}
}

effects

type Effects = (dispatch) => ({ [string]: (payload, rootState) => void })

一个可以处理该模型副作用的函数集合。这些方法以 payloadrootState(当前模型的 state) 作为入参,适用于进行异步调用、模型联动等场景。

import { createModel } from 'ice';

export default createModel({
reducers: {
increment() {
// ...
}
},
effects: (dispatch) => ({
async asyncDecrement() {
const list = (await fetch('your-url')).json(); // 进行一些异步操作
this.increment(list); // 调用模型 reducers 内的方法来更新状态
},
}),
})

Model 之间通信

警告

如果两个 Model 不属于同一个 Store 实例,是无法通信的

// src/models/user.ts
import { createModel } from 'ice';

export default createModel({
state: {
name: '',
tasks: 0,
},
effects: () => ({
async refresh() {
const data = (await fetch('/user')).json();
// 通过 this.foo 调用自身的 reducer
this.setState(data);
},
}),
});

使用不可变状态

Redux 默认的函数式写法在处理一些复杂对象的 state 时会非常繁琐。推荐使用 immer 的方式来操作 state:

import { createModel } from 'ice';

export default createModel({
state: {
tasks: ['A Task', 'B Task'],
detail: {
name: 'Bob',
age: 3,
},
},
reducers: {
addTasks(state, payload) {
- return {
- ...state,
- tasks: [ ...state.tasks, payload ],
- },
+ state.tasks.push(payload);
},
updateAge(state, payload) {
- return {
- ...state,
- detail: {
- ...state.detail,
- age: payload,
- },
- },
+ state.detail.age = payload;
}
}
})

注意:因为 immer 无法支持字符串或数字这样的简单类型,因此如果 state 符合这种情况(极少数)则不支持通过 immer 操作,必须使用 Redux 默认的函数式写法(返回一个新值):

import { createModel } from 'ice';

export default createModel({
state: 0,
reducers: {
add(state) {
- state += 1;
+ return state += 1;
},
},
})

获取内置的加载状态和错误状态

通过 useModelEffectsState API 即可获取到 effects 的 加载状态( isLoading )和 错误状态(error)。

import store from '@/store';

function FunctionComponent() {
const [state, dispatchers] = store.useModel('counter');
+ const effectsState = store.useModelEffectsState('counter');

useEffect(() => {
dispatchers.asyncDecrement();
}, []);

+ console.log(effectsState.asyncDecrement.isLoading); // true
+ console.log(effectsState.asyncDecrement.error); // null
}

页面切换后重置状态

在单页应用下进行页面切换时,页面状态是会保留的。如果想切换页面后再次进入原页面时重新初始化页面状态,需要添加以下配置:

ice.config.mts
import { defineConfig } from '@ice/app';
import store from '@ice/plugin-store';

export default defineConfig(() => ({
plugins: [
- store(),
+ store({ resetPageState: true }),
],
}));

在 Class Component 中使用

通过 withModel 可以实现在 Class Component 中使用状态管理。

import store from '@/store';

@store.withModel('todos')
export default class TodoList extends React.Component {
render() {
const { todos } = this.props;
const [state, dispatchers] = todos;
console.log('state: ', state);
// ...
}
}
提示

TS 应用需要在 tsconfig.json 里添加 compilerOptions: { "experimentalDecorators": true } +才可启用装饰器语法。

Redux Devtools

插件中默认集成了 Redux Devtools,不需要额外的配置就可以在 Redux Devtools 调试:

如果需要定义 Devtools 的参数,可以在 createStore 的 options 入参中配置:

createStore({ user }, {
redux: {
devtoolOptions: {
// 更多配置参考:https://github.com/zalmoxisus/redux-devtools-extension/blob/master/docs/API/Arguments.md
}
}
})
+ + \ No newline at end of file diff --git a/docs/guide/advanced/unit-test/index.html b/docs/guide/advanced/unit-test/index.html index d62f84f073..d92d5c80bb 100644 --- a/docs/guide/advanced/unit-test/index.html +++ b/docs/guide/advanced/unit-test/index.html @@ -3,14 +3,14 @@ -单元测试 | 飞冰 ICE - - +单元测试 | 飞冰 ICE + +
-

单元测试

示例

ice.js 不耦合任何一个测试框架,开发者可自由选择。目前提供开箱即用的 jestvitest 配置,以便快速开始单元测试。

Jest

依赖安装

$ npm i jest -D

如果使用 TypeScript 编写单元测试,推荐接入使用 @swc/jestts-jest

配置

首先需要在项目的根目录下新建 jest.config.mjs 文件,并加入以下内容:

jest.config.mjs
import { defineJestConfig } from '@ice/app';

export default defineJestConfig({});

defineJestConfig 方法返回的是 ice.js 默认配置好的 Jest 配置,支持传入自定义的 Jest 配置

defineJestConfig 入参支持两种写法:

  • jest.Config
  • () => Promise<jest.Config>

以添加 @swc/jest 为例:

jest.config.mjs
import { defineJestConfig } from '@ice/app';

export default defineJestConfig({
+ transform: {
+ '^.+\\.(t|j)sx?$': [
+ '@swc/jest',
+ {
+ // swc 配置
+ jsc: {
+ transform: {
+ react: {
+ runtime: 'automatic',
+ },
+ },
+ },
+ },
+ ],
+ },
});

然后在 package.json 中加入 test 脚本:

package.json
{
"scripts": {
+ "test": "jest"
}
}

配置完成后,就可以开始编写单元测试了。

非 UI 测试

假设现在要测试 add 函数如下:

src/utils/add.ts
export default function add(a, b) {
return a + b;
}

新建一个测试用例:

tests/add.spec.ts
import add from '../src/add';

test('add function', () => {
expect(add(1, 2)).toBe(3);
});

这时,运行 npm run test 查看测试结果了。

UI 测试

组件 UI 测试推荐使用 @testing-library/react@testing-library/jest-dom

首先安装依赖:

$ npm i @testing-library/react jest-environment-jsdom @testing-library/jest-dom -D

然后在项目根目录下新建 jest-setup.ts 并写入以下内容,以扩展匹配器(matchers):

jest-setup.ts
import '@testing-library/jest-dom';

最后在 jest.config.mjs 中加入以下内容:

jest.config.mjs
import { defineJestConfig } from '@ice/app';

export default defineJestConfig({
+ setupFilesAfterEnv: ['<rootDir>/jest-setup.ts'],
+ testEnvironment: 'jest-environment-jsdom',
});

假设现在要测试一个 Header 组件:

src/components/Header.tsx
export default function Header() {
return (
<h2 data-testid="title">Jest Test</h2>
);
}

编写组件的测试用例:

tests/Header.spec.tsx
import { render, screen } from '@testing-library/react';
import Header from '@/components/Header';

test('test Header component', () => {
render(<Header />);
expect(screen.getByTestId('title')).toHaveTextContent('Jest Test');
});

最后,运行 npm run test 就可以查看测试结果了。

Vitest

依赖安装

$ npm i vitest -D

配置

首先需要在项目的根目录下新建 vitest.config.mjs 文件,并加入以下内容:

vitest.config.mjs
import { defineVitestConfig } from '@ice/app';

export default defineVitestConfig({});

defineVitestConfig 方法返回的是 ice.js 默认配置好的 vitest 配置,支持传入自定义的 vitest 配置

defineVitestConfig 入参支持三种写法:

  • vitest.UserConfig
  • Promise<vitest.UserConfig>
  • (env) => Promise<vitest.UserConfig>

以修改 include 参数为例:

vitest.config.mjs
import { defineVitestConfig } from '@ice/app';

export default defineVitestConfig({
+ test: {
+ include: ['**/*.{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}']
+ }
});

然后在 package.json 中加入 test 脚本:

package.json
{
"scripts": {
+ "test": "vitest"
}
}

非 UI 测试

同样测试 Jest 非 UI 测试章节 中的 Header 组件,编写以下的测试用例:

tests/add.spec.ts
import { test, expect } from 'vitest';
import add from '../src/add';

test('add', () => {
expect(add(1, 2)).toBe(3);
});

现在可以运行 npm run test 查看测试结果。

UI 测试

首先安装依赖:

$ npm i @testing-library/react jsdom @testing-library/jest-dom @vitejs/plugin-react@1.3.2 -D

然后在项目根目录下新建 vitest-setup.js 并写入以下内容,以扩展匹配器(matchers):

vitest-setup.js
import matchers from '@testing-library/jest-dom/matchers';
import { expect } from 'vitest';

expect.extend(matchers);

最后在 vitest.config.mjs 中加入以下内容:

vitest.config.mjs
import { defineVitestConfig } from '@ice/app';
+ import react from '@vitejs/plugin-react';

export default defineVitestConfig({
+ test: {
+ environment: 'jsdom',
+ setupFiles: ['./vitest-setup.js'],
+ plugins: [react()], // 支持解析 JSX 语法
+ },
});

假设现在测试一个 Header 组件:

src/components/Header.tsx
export default function Header() {
return (
<h2 data-testid="title">Vitest Test</h2>
);
}

编写组件的测试用例:

tests/Header.spec.tsx
import { test, expect } from 'vitest';
import { render, screen } from '@testing-library/react';
import Header from '@/components/Header';

test('test Header component', () => {
render(<Header />);
expect(screen.getByTestId('title')).toHaveTextContent('Vitest Test');
});

最后,运行 npm run test 就可以查看测试结果了。

- - +

单元测试

示例

ice.js 不耦合任何一个测试框架,开发者可自由选择。目前提供开箱即用的 jestvitest 配置,以便快速开始单元测试。

Jest

依赖安装

$ npm i jest -D

如果使用 TypeScript 编写单元测试,推荐接入使用 @swc/jestts-jest

配置

首先需要在项目的根目录下新建 jest.config.mjs 文件,并加入以下内容:

jest.config.mjs
import { defineJestConfig } from '@ice/app';

export default defineJestConfig({});

defineJestConfig 方法返回的是 ice.js 默认配置好的 Jest 配置,支持传入自定义的 Jest 配置

defineJestConfig 入参支持两种写法:

  • jest.Config
  • () => Promise<jest.Config>

以添加 @swc/jest 为例:

jest.config.mjs
import { defineJestConfig } from '@ice/app';

export default defineJestConfig({
+ transform: {
+ '^.+\\.(t|j)sx?$': [
+ '@swc/jest',
+ {
+ // swc 配置
+ jsc: {
+ transform: {
+ react: {
+ runtime: 'automatic',
+ },
+ },
+ },
+ },
+ ],
+ },
});

然后在 package.json 中加入 test 脚本:

package.json
{
"scripts": {
+ "test": "jest"
}
}

配置完成后,就可以开始编写单元测试了。

非 UI 测试

假设现在要测试 add 函数如下:

src/utils/add.ts
export default function add(a, b) {
return a + b;
}

新建一个测试用例:

tests/add.spec.ts
import add from '../src/add';

test('add function', () => {
expect(add(1, 2)).toBe(3);
});

这时,运行 npm run test 查看测试结果了。

UI 测试

组件 UI 测试推荐使用 @testing-library/react@testing-library/jest-dom

首先安装依赖:

$ npm i @testing-library/react jest-environment-jsdom @testing-library/jest-dom -D

然后在项目根目录下新建 jest-setup.ts 并写入以下内容,以扩展匹配器(matchers):

jest-setup.ts
import '@testing-library/jest-dom';

最后在 jest.config.mjs 中加入以下内容:

jest.config.mjs
import { defineJestConfig } from '@ice/app';

export default defineJestConfig({
+ setupFilesAfterEnv: ['<rootDir>/jest-setup.ts'],
+ testEnvironment: 'jest-environment-jsdom',
});

假设现在要测试一个 Header 组件:

src/components/Header.tsx
export default function Header() {
return (
<h2 data-testid="title">Jest Test</h2>
);
}

编写组件的测试用例:

tests/Header.spec.tsx
import { render, screen } from '@testing-library/react';
import Header from '@/components/Header';

test('test Header component', () => {
render(<Header />);
expect(screen.getByTestId('title')).toHaveTextContent('Jest Test');
});

最后,运行 npm run test 就可以查看测试结果了。

Vitest

依赖安装

$ npm i vitest -D

配置

首先需要在项目的根目录下新建 vitest.config.mjs 文件,并加入以下内容:

vitest.config.mjs
import { defineVitestConfig } from '@ice/app';

export default defineVitestConfig({});

defineVitestConfig 方法返回的是 ice.js 默认配置好的 vitest 配置,支持传入自定义的 vitest 配置

defineVitestConfig 入参支持三种写法:

  • vitest.UserConfig
  • Promise<vitest.UserConfig>
  • (env) => Promise<vitest.UserConfig>

以修改 include 参数为例:

vitest.config.mjs
import { defineVitestConfig } from '@ice/app';

export default defineVitestConfig({
+ test: {
+ include: ['**/*.{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}']
+ }
});

然后在 package.json 中加入 test 脚本:

package.json
{
"scripts": {
+ "test": "vitest"
}
}

非 UI 测试

同样测试 Jest 非 UI 测试章节 中的 Header 组件,编写以下的测试用例:

tests/add.spec.ts
import { test, expect } from 'vitest';
import add from '../src/add';

test('add', () => {
expect(add(1, 2)).toBe(3);
});

现在可以运行 npm run test 查看测试结果。

UI 测试

首先安装依赖:

$ npm i @testing-library/react jsdom @testing-library/jest-dom @vitejs/plugin-react@1.3.2 -D

然后在项目根目录下新建 vitest-setup.js 并写入以下内容,以扩展匹配器(matchers):

vitest-setup.js
import matchers from '@testing-library/jest-dom/matchers';
import { expect } from 'vitest';

expect.extend(matchers);

最后在 vitest.config.mjs 中加入以下内容:

vitest.config.mjs
import { defineVitestConfig } from '@ice/app';
+ import react from '@vitejs/plugin-react';

export default defineVitestConfig({
+ test: {
+ environment: 'jsdom',
+ setupFiles: ['./vitest-setup.js'],
+ plugins: [react()], // 支持解析 JSX 语法
+ },
});

假设现在测试一个 Header 组件:

src/components/Header.tsx
export default function Header() {
return (
<h2 data-testid="title">Vitest Test</h2>
);
}

编写组件的测试用例:

tests/Header.spec.tsx
import { test, expect } from 'vitest';
import { render, screen } from '@testing-library/react';
import Header from '@/components/Header';

test('test Header component', () => {
render(<Header />);
expect(screen.getByTestId('title')).toHaveTextContent('Vitest Test');
});

最后,运行 npm run test 就可以查看测试结果了。

+ + \ No newline at end of file diff --git a/docs/guide/advanced/unocss/index.html b/docs/guide/advanced/unocss/index.html new file mode 100644 index 0000000000..6649a792b3 --- /dev/null +++ b/docs/guide/advanced/unocss/index.html @@ -0,0 +1,16 @@ + + + + + +使用原子化 CSS 能力 | 飞冰 ICE + + + + +
+

使用原子化 CSS 能力

原子化 CSS 是一种 CSS 写法,它将 CSS 样式拆分成一个个独立的样式,每个样式只包含一个属性,比如:

/* 原子化 CSS */
.mt-10 {
margin-top: 10px;
}

通过原子化 CSS 能力,可以方便地支持响应式布局,以及减少 CSS 文件体积。

ice.js 官方提供了 @ice/plugin-unocss 插件,可以方便开发这一键开启原子化 CSS 能力。

开启插件

安装插件:

$ npm i -D @ice/plugin-unocss

ice.config.mts 中添加插件:

ice.config.mts
import { defineConfig } from '@ice/app';
import Unocss from '@ice/plugin-unocss';

export default defineConfig(() => ({
plugins: [
Unocss(),
]
}));

配置

为了方便开发者便捷使用,@ice/plugin-unocss 内置了默认的 preset,开发者无需额外配置,可以通过插件配置项对内置配置进行覆盖:

ice.config.mts
import { defineConfig } from '@ice/app';
import Unocss from '@ice/plugin-unocss';
import {
defineConfig,
presetAttributify,
presetIcons,
presetTypography,
presetUno,
presetWebFonts,
transformerDirectives,
transformerVariantGroup
} from 'unocss';

export default defineConfig(() => ({
plugins: [
Unocss({
shortcuts: [
// ...
],
theme: {
colors: {
// ...
}
},
presets: [
presetUno(),
presetAttributify(),
presetIcons(),
presetTypography(),
presetWebFonts({
fonts: {
// ...
},
}),
],
transformers: [
transformerDirectives(),
transformerVariantGroup(),
],
}),
],
}));

插件配置能力,同 UnoCSS 配置能力保持一致,更多配置能力,请参考 UnoCSS 配置文档

+ + + + \ No newline at end of file diff --git a/docs/guide/advanced/update-from-icejs2/index.html b/docs/guide/advanced/update-from-icejs2/index.html index 2b05af3529..1ea4188218 100644 --- a/docs/guide/advanced/update-from-icejs2/index.html +++ b/docs/guide/advanced/update-from-icejs2/index.html @@ -3,15 +3,15 @@ -从 ice.js 2.x 升级 | 飞冰 ICE - - +从 ice.js 2.x 升级 | 飞冰 ICE + +
-

从 ice.js 2.x 升级

前言

升级 ice.js 3.x 可以带来构建速度和页面性能的提升,并且带来更多移动端功能,比如开箱即用的 PHA、Weex 和小程序方案等。

升级指南

依赖修改

{
"devDependencies": {
- "ice.js": "^2.0.0",
+ "@ice/app": "^3.0.0",
+ "@ice/runtime": "^1.0.0",
}
}

对应插件能力:

  • @ali/build-plugin-ice-def -> @ali/ice-plugin-def
  • build-plugin-moment-locales -> @ice/plugin-moment-locales
  • build-plugin-fusion -> @ice/plugin-fusion (多主题能力暂不支持)
  • build-plugin-antd -> @ice/plugin-antd
  • build-plugin-css-assets-local -> @ice/plugin-css-assets-local
  • build-plugin-jsx-plus -> @ice/plugin-jsx-plus 文档
  • build-plugin-keep-alive 不再支持,有 ice.js 3.0 的 keep alive 方案替代

插件使用方式变更为函数调用:

ice.config.mts
import { defineConfig } from '@ice/app';
import jsxPlus from '@ice/plugin-jsx-plus';

export default defineConfig(() => ({
plugins: [
jsxPlus(),
],
}));

完成依赖升级后推荐重新安装依赖,即执行 npm update

工程配置文件升级

为了获取更好的类型提示,ice 新版本中推荐使用 ts 文件进行配置,即在项目目录下新增 ice.config.mts 文件,原 json 中的能力支持情况如下:

ice 2.xice 3.0备注
--port-
--host-
--config-
--disable-open-
plugins-
alias-
publicPath-
devPublicPath-
sourceMap-
externals-
hash-
outputDir-
proxy-
define-
ssr-
--disable-mock-
--https-
--analyzer-
dropLogLevel-
minify简化配置(true/false)
compileDependencies配合现有的 compileIncludes 能力
eslint-
tsChecker-
postcssOptions / postcssrc-
polyfill需要主动开启
remoteRuntime-
--disable-assets不常用通过环境变量控制日志输出详细程度
--disable-reload配置禁止 fastRefresh
terser内置方案
outputAssetsPath后续输出最佳目录实践
devServer不支持全量配置 devServer,按需开启 server 相关能力
browserslist统一走 browserlist 文件
vendor内置的分包实践,可以通过 splitChunks 关闭
libraryTarget / library / libraryExport-
cssLoaderOptions / lessLoaderOptions / sassLoaderOptions不支持 webpack loader 相关,内置配置
ignoreHtmlTemplate-
entry自定义场景走 client.entry.tsx
vite / vitePlugins-
swc-
store / auth / request / pwa / router通过定制的插件支持
disableRuntime-
babelPlugins / babelPresets / webpackPlugins / webpackLoaders不推荐直接配置

ice.js 3 新版本中不再支持 vite 模式,并且 webpack 相关的快捷配置也不再支持。我们将会将内置的逻辑做到最优。如果存在 webpack 定制需求,可以参考如下自定义方式定制:

ice.config.mts
import { defineConfig } from '@ice/app';
import { modifyLoader } from '@ice/webpack-modify';

export default defineConfig(() => ({
// Set your configs here.
// ...
webpack: (webpackConfig) => {
if (typeof webpackConfig.devServer?.client === 'object') {
// 修改 webpack 配置
webpackConfig.devServer.client.overlay = false;
}

// 修改内置的 webpack 规则,借助官方工具可以更便捷的修改
// 修改 css 样式规则下的 postcss-loader 配置项
return modifyLoader(webpackConfig, {
rule: '.css',
loader: 'postcss-loader',
options: (originOptions) => ({}),
});
}
}));

其他新版配置参考:链接 -新版插件规范:链接

新版的 webpack 配置不再依赖 webpack-chain,如果有定制 webpack 的诉求可以直接通过 webpack-merge 的方式合并配置

常见配置迁移

新版框架对于大量配置进行了收敛,如果迁移时涉及到负责的定制场景,可以参考以下配置进行迁移

cssLoaderOptions

ice.config.mts
import { defineConfig } from '@ice/app';
import { modifyLoader } from '@ice/webpack-modify';

export default defineConfig(() => ({
// Set your configs here.
// ...
webpack: (webpackConfig) => {
return ['css', 'less', 'sass'].reduce((acc, cur) => {
return modifyLoader(acc, {
rule: `.${cur}`,
loader: 'css-loader',
options: (originOptions) => ({}),
});
}, webpackConfig);
},
}));

lessLoaderOptions

ice.config.mts
import { defineConfig } from '@ice/app';
import { modifyLoader } from '@ice/webpack-modify';

export default defineConfig(() => ({
// Set your configs here.
// ...
webpack: (webpackConfig) => {
return modifyLoader(webpackConfig, {
rule: '.less',
loader: 'less-loader',
options: (originOptions) => ({}),
});
},
}));

sassLoaderOptions

ice.config.mts
import { defineConfig } from '@ice/app';
import { modifyLoader } from '@ice/webpack-modify';

export default defineConfig(() => ({
// Set your configs here.
...
webpack: (webpackConfig) => {
return modifyLoader(webpackConfig, {
rule: '.sass',
loader: 'sass-loader',
options: (originOptions) => ({}),
});
}
}));

postcssOptions / postcssrc

ice.config.mts
import { defineConfig } from '@ice/app';
import { modifyLoader } from '@ice/webpack-modify';

export default defineConfig(() => ({
// Set your configs here.
// ...
webpack: (webpackConfig) => {
return ['css', 'less', 'sass'].reduce((acc, cur) => {
return modifyLoader(acc, {
rule: `.${cur}`,
loader: 'postcss-loader',
options: (originOptions) => ({}),
});
}, webpackConfig);
},
}));

如果希望使用 postcssrc 能力,将 options 配置成如上空对象即可

webpackPlugins

ice.config.mts
import { defineConfig } from '@ice/app';
import { removePlugin } from '@ice/webpack-modify';

export default defineConfig(() => ({
// Set your configs here.
// ...
webpack: (webpackConfig) => {
let modifiedConfig = webpackConfig;
// 添加插件
webpackConfig.plugins.push(new WebpackPlugin());
// webpack 插件修改,先删除插件在重新添加
modifiedConfig = removePlugin(webpackConfig, {
pluginName: 'AssetsManifestPlugin',
});
webpackConfig.plugins.push(new AssetsManifestPlugin());
}
}));

webpackLoaders

ice.config.mts
import { defineConfig } from '@ice/app';
import { addLoader, modifyLoader, removeLoader } from '@ice/webpack-modify';

export default defineConfig(() => ({
// Set your configs here.
//...
webpack: (webpackConfig) => {
let modifiedConfig = webpackConfig;
// 为 css 规则添加 loader
modifiedConfig = addLoader(modifiedConfig, {
rule: '.css',
before: 'css-loader',
useItem: {
loader: 'style-loader',
},
});
// 移除 loader
modifiedConfig = removeLoader(modifiedConfig, {
rule: '.css',
loader: 'css-loader',
});
// 修改 loader
modifiedConfig = modifyLoader(getWebpackConfig(), {
rule: '.css',
loader: 'css-loader',
options: () => ({ module: true }),
});
return modifiedConfig;
},
}));

babelPlugins / babelPresets

框架内置不再支持 babel 转换,一些常见语法转化逻辑已内置,如果存在定制 babel 插件的情况下,推荐以下方式转化

ice.config.mts
import { defineConfig } from '@ice/app';
import { transformSync } from '@babel/core';

export default defineConfig(() => ({
// Set your configs here.
// ...
transform: async (source, id) => {
// 过滤条件
if (id.match(/\.(j|t)s(x)?$/) && !id.includes('node_modules')) {
// 借助 babel 编译
const { code, map } = transformSync(source, {
plugins: ['transform-decorators-legacy'],
});
return { code, map };
}
},
}));

运行时修改

应用入口修改

- import { runApp } from 'ice';

const appConfing = {};

- runApp(appConfig);
+ export default appConfig;

为了获得良好类型提示,推荐写法为:

import { defineAppConfig } from 'ice';

export default defineAppConfig(() => ({
app: {
strict: false,
},
}));

原 appConfig 上大部分能力均通过不同的插件进行承载,目前应用入口能力,请参考文档

路由修改

为了提供更好的框架能力,新版 ice 默认提供的路由规则为约定式路由

原配置式路由推荐通过上述的规则重新组织目录结构,如果路由过于复杂,推荐如下方式进行迁移:

ice.config.mts
import { defineConfig } from '@ice/app';

export default defineConfig(() => ({
routes: {
// 忽略所有约定式规则
ignoreFiles: ['**'],
defineRoutes: (route) => {
// 指定根路由页面为 home/index.ts
route('/', 'home/index.tsx');
// 为 /product 路由添加 layout.tsx 作为 layout,并渲染 products.tsx 内容
route('/', 'layout.tsx', () => {
route('/product', 'products.tsx');
});
},
},
}));

进阶方案迁移

状态管理

使用状态管理方案需主动安装 @ice/plugin-store

$ npm i @ice/plugin-store -D

ice.config.mts 中添加插件:

ice.config.mts
import { defineConfig } from '@ice/app';
import store from '@ice/plugin-store';

export default defineConfig(() => ({
plugins: [
store({ resetPageState: true }),
],
}));

更多用法参考状态管理

数据请求

使用数据请求方案需主动安装 @ice/plugin-request

$ npm i @ice/plugin-request -D

ice.config.mts 中添加插件:

ice.config.mts
import { defineConfig } from '@ice/app';
import request from '@ice/plugin-request';

export default defineConfig(() => ({
plugins: [
request(),
],
}));

src/app.ts 中导出统一的请求配置:

src/app.ts
export const requestConfig = {
...
};

更多配置和用法参考网络请求

权限方案

使用权限方案需主动安装 @ice/plugin-auth

$ npm i @ice/plugin-auth -D

ice.config.mts 中添加插件:

ice.config.mts
import { defineConfig } from '@ice/app';
import auth from '@ice/plugin-auth';

export default defineConfig(() => ({
plugins: [
auth(),
],
}));

src/app.ts 中导出的权限配置:

src/app.ts
export const authConfig = {
...
};

更多配置和用法参考权限管理

- - +

从 ice.js 2.x 升级

前言

升级 ice.js 3.x 可以带来构建速度和页面性能的提升,并且带来更多移动端功能,比如开箱即用的 PHA、Weex 和小程序方案等。

升级指南

依赖修改

{
"devDependencies": {
- "ice.js": "^2.0.0",
+ "@ice/app": "^3.0.0",
+ "@ice/runtime": "^1.0.0",
}
}

对应插件能力:

  • @ali/build-plugin-ice-def -> @ali/ice-plugin-def
  • build-plugin-moment-locales -> @ice/plugin-moment-locales
  • build-plugin-fusion -> @ice/plugin-fusion (多主题能力暂不支持)
  • build-plugin-antd -> @ice/plugin-antd
  • build-plugin-css-assets-local -> @ice/plugin-css-assets-local
  • build-plugin-jsx-plus -> @ice/plugin-jsx-plus 文档
  • build-plugin-keep-alive 不再支持,有 ice.js 3.0 的 keep alive 方案替代

插件使用方式变更为函数调用:

ice.config.mts
import { defineConfig } from '@ice/app';
import jsxPlus from '@ice/plugin-jsx-plus';

export default defineConfig(() => ({
plugins: [
jsxPlus(),
],
}));

完成依赖升级后推荐重新安装依赖,即执行 npm update

工程配置文件升级

为了获取更好的类型提示,ice 新版本中推荐使用 ts 文件进行配置,即在项目目录下新增 ice.config.mts 文件,原 json 中的能力支持情况如下:

ice 2.xice 3.0备注
--port-
--host-
--config-
--disable-open-
plugins-
alias-
publicPath-
devPublicPath-
sourceMap-
externals-
hash-
outputDir-
proxy-
define-
ssr-
--disable-mock-
--https-
--analyzer-
dropLogLevel-
minify简化配置(true/false)
compileDependencies配合现有的 compileIncludes 能力
eslint-
tsChecker-
postcssOptions / postcssrc-
polyfill需要主动开启
remoteRuntime-
--disable-assets不常用通过环境变量控制日志输出详细程度
--disable-reload配置禁止 fastRefresh
terser内置方案
outputAssetsPath后续输出最佳目录实践
devServer不支持全量配置 devServer,按需开启 server 相关能力
browserslist统一走 browserlist 文件
vendor内置的分包实践,可以通过 splitChunks 关闭
libraryTarget / library / libraryExport-
cssLoaderOptions / lessLoaderOptions / sassLoaderOptions不支持 webpack loader 相关,内置配置
ignoreHtmlTemplate-
entry自定义场景走 client.entry.tsx
vite / vitePlugins-
swc-
store / auth / request / pwa / router通过定制的插件支持
disableRuntime-
babelPlugins / babelPresets / webpackPlugins / webpackLoaders不推荐直接配置

ice.js 3 新版本中不再支持 vite 模式,并且 webpack 相关的快捷配置也不再支持。我们将会将内置的逻辑做到最优。如果存在 webpack 定制需求,可以参考如下自定义方式定制:

ice.config.mts
import { defineConfig } from '@ice/app';
import { modifyLoader } from '@ice/webpack-modify';

export default defineConfig(() => ({
// Set your configs here.
// ...
webpack: (webpackConfig) => {
if (typeof webpackConfig.devServer?.client === 'object') {
// 修改 webpack 配置
webpackConfig.devServer.client.overlay = false;
}

// 修改内置的 webpack 规则,借助官方工具可以更便捷的修改
// 修改 css 样式规则下的 postcss-loader 配置项
return modifyLoader(webpackConfig, {
rule: '.css',
loader: 'postcss-loader',
options: (originOptions) => ({}),
});
}
}));

其他新版配置参考:链接 +新版插件规范:链接

新版的 webpack 配置不再依赖 webpack-chain,如果有定制 webpack 的诉求可以直接通过 webpack-merge 的方式合并配置

常见配置迁移

新版框架对于大量配置进行了收敛,如果迁移时涉及到负责的定制场景,可以参考以下配置进行迁移

cssLoaderOptions

ice.config.mts
import { defineConfig } from '@ice/app';
import { modifyLoader } from '@ice/webpack-modify';

export default defineConfig(() => ({
// Set your configs here.
// ...
webpack: (webpackConfig) => {
return ['css', 'less', 'sass'].reduce((acc, cur) => {
return modifyLoader(acc, {
rule: `.${cur}`,
loader: 'css-loader',
options: (originOptions) => ({}),
});
}, webpackConfig);
},
}));

lessLoaderOptions

ice.config.mts
import { defineConfig } from '@ice/app';
import { modifyLoader } from '@ice/webpack-modify';

export default defineConfig(() => ({
// Set your configs here.
// ...
webpack: (webpackConfig) => {
return modifyLoader(webpackConfig, {
rule: '.less',
loader: 'less-loader',
options: (originOptions) => ({}),
});
},
}));

sassLoaderOptions

ice.config.mts
import { defineConfig } from '@ice/app';
import { modifyLoader } from '@ice/webpack-modify';

export default defineConfig(() => ({
// Set your configs here.
...
webpack: (webpackConfig) => {
return modifyLoader(webpackConfig, {
rule: '.sass',
loader: 'sass-loader',
options: (originOptions) => ({}),
});
}
}));

postcssOptions / postcssrc

ice.config.mts
import { defineConfig } from '@ice/app';
import { modifyLoader } from '@ice/webpack-modify';

export default defineConfig(() => ({
// Set your configs here.
// ...
webpack: (webpackConfig) => {
return ['css', 'less', 'sass'].reduce((acc, cur) => {
return modifyLoader(acc, {
rule: `.${cur}`,
loader: 'postcss-loader',
options: (originOptions) => ({}),
});
}, webpackConfig);
},
}));

如果希望使用 postcssrc 能力,将 options 配置成如上空对象即可

webpackPlugins

ice.config.mts
import { defineConfig } from '@ice/app';
import { removePlugin } from '@ice/webpack-modify';

export default defineConfig(() => ({
// Set your configs here.
// ...
webpack: (webpackConfig) => {
let modifiedConfig = webpackConfig;
// 添加插件
webpackConfig.plugins.push(new WebpackPlugin());
// webpack 插件修改,先删除插件在重新添加
modifiedConfig = removePlugin(webpackConfig, {
pluginName: 'AssetsManifestPlugin',
});
webpackConfig.plugins.push(new AssetsManifestPlugin());
}
}));

webpackLoaders

ice.config.mts
import { defineConfig } from '@ice/app';
import { addLoader, modifyLoader, removeLoader } from '@ice/webpack-modify';

export default defineConfig(() => ({
// Set your configs here.
//...
webpack: (webpackConfig) => {
let modifiedConfig = webpackConfig;
// 为 css 规则添加 loader
modifiedConfig = addLoader(modifiedConfig, {
rule: '.css',
before: 'css-loader',
useItem: {
loader: 'style-loader',
},
});
// 移除 loader
modifiedConfig = removeLoader(modifiedConfig, {
rule: '.css',
loader: 'css-loader',
});
// 修改 loader
modifiedConfig = modifyLoader(getWebpackConfig(), {
rule: '.css',
loader: 'css-loader',
options: () => ({ module: true }),
});
return modifiedConfig;
},
}));

babelPlugins / babelPresets

框架内置不再支持 babel 转换,一些常见语法转化逻辑已内置,如果存在定制 babel 插件的情况下,推荐以下方式转化

ice.config.mts
import { defineConfig } from '@ice/app';
import { transformSync } from '@babel/core';

export default defineConfig(() => ({
// Set your configs here.
// ...
transform: async (source, id) => {
// 过滤条件
if (id.match(/\.(j|t)s(x)?$/) && !id.includes('node_modules')) {
// 借助 babel 编译
const { code, map } = transformSync(source, {
plugins: ['transform-decorators-legacy'],
});
return { code, map };
}
},
}));

运行时修改

应用入口修改

- import { runApp } from 'ice';

const appConfing = {};

- runApp(appConfig);
+ export default appConfig;

为了获得良好类型提示,推荐写法为:

import { defineAppConfig } from 'ice';

export default defineAppConfig(() => ({
app: {
strict: false,
},
}));

原 appConfig 上大部分能力均通过不同的插件进行承载,目前应用入口能力,请参考文档

路由修改

为了提供更好的框架能力,新版 ice 默认提供的路由规则为约定式路由

原配置式路由推荐通过上述的规则重新组织目录结构,如果路由过于复杂,推荐如下方式进行迁移:

ice.config.mts
import { defineConfig } from '@ice/app';

export default defineConfig(() => ({
routes: {
// 忽略所有约定式规则
ignoreFiles: ['**'],
defineRoutes: (route) => {
// 指定根路由页面为 home/index.ts
route('/', 'home/index.tsx');
// 为 /product 路由添加 layout.tsx 作为 layout,并渲染 products.tsx 内容
route('/', 'layout.tsx', () => {
route('/product', 'products.tsx');
});
},
},
}));

进阶方案迁移

状态管理

使用状态管理方案需主动安装 @ice/plugin-store

$ npm i @ice/plugin-store -D

ice.config.mts 中添加插件:

ice.config.mts
import { defineConfig } from '@ice/app';
import store from '@ice/plugin-store';

export default defineConfig(() => ({
plugins: [
store({ resetPageState: true }),
],
}));

更多用法参考状态管理

数据请求

使用数据请求方案需主动安装 @ice/plugin-request

$ npm i @ice/plugin-request -D

ice.config.mts 中添加插件:

ice.config.mts
import { defineConfig } from '@ice/app';
import request from '@ice/plugin-request';

export default defineConfig(() => ({
plugins: [
request(),
],
}));

src/app.ts 中导出统一的请求配置:

src/app.ts
export const requestConfig = {
...
};

更多配置和用法参考网络请求

权限方案

使用权限方案需主动安装 @ice/plugin-auth

$ npm i @ice/plugin-auth -D

ice.config.mts 中添加插件:

ice.config.mts
import { defineConfig } from '@ice/app';
import auth from '@ice/plugin-auth';

export default defineConfig(() => ({
plugins: [
auth(),
],
}));

src/app.ts 中导出的权限配置:

src/app.ts
export const authConfig = {
...
};

更多配置和用法参考权限管理

+ + \ No newline at end of file diff --git a/docs/guide/basic/api/index.html b/docs/guide/basic/api/index.html index 3c5d776afa..87037b1bb4 100644 --- a/docs/guide/basic/api/index.html +++ b/docs/guide/basic/api/index.html @@ -3,15 +3,15 @@ -API | 飞冰 ICE - - +API | 飞冰 ICE + +
-

API

defineAppConfig

该方法用于获取框架配置的类型提示。

src/app.ts
import { defineAppConfig } from 'ice';

export default defineAppConfig(() => ({
app: {
rootId: 'ice-container',
}
}));

definePageConfig

该方法用于获取路由组件支持的配置类型,支持的配置可以被插件动态扩展。

src/pages/home.tsx
import { definePageConfig } from 'ice';

export const pageConfig = definePageConfig(() => ({
title: 'About',
meta: [
{
name: 'theme-color',
content: '#eee',
},
],
}));

history

应用的 history,用于获取路由信息、执行跳转等。


import { history } from 'ice';

export function historyPush (link: string) {
history.push(link);
}
警告

在应用入口 src/app.ts 导入使用时,由于 history 还未完成初始化创建,不能以立即执行的方式使用。推荐以上述方式封装后在必要的时候进行调用。

useParams

警告

小程序端不支持该 API。

useParams 函数返回动态路由的匹配参数信息。

import { useParams } from 'ice';

// 路由规则为 home/:uid/repo/:repoid
// 当前路径 home/clark/repo/1234
export default function Home() {
const params = useParams();
// params 输出内容为 { uid: 'clark', repoid: '1234'}
return (
<>
<h2>Home Page</h2>
</>
);
}

useSearchParams

警告

小程序端会返回当前页面 Page.onLoad 生命周期返回的 query 参数。 -同时小程序端不支持修改 query string,即调用该 API 返回的 setSearchParams 不会生效。

useSearchParams 用于读取和修改当前 URL 的 query string。

import { useSearchParams } from 'ice';

// 假设当前访问的 url 是 localhost:3000/home?uid=1234
export default function Home() {
const [searchParams, setSearchParams] = useSearchParams();
// 通过 searchParams.get() 获取当前 query 值
console.log(searchParams.get('uid')); // 1234

const changeSearch = () => {
// 通过 setSearchParams 可以修改对应 query string
setSearchParams({ uid: '4321' });
}
return (
<>
<h2>Home Page</h2>
</>
);
}

useNavigate

警告

小程序端不支持该 API。可通过 Link 组件或 history 或小程序原生 API 进行跳转。

useNavigate 函数返回一个可以控制跳转的函数,用于组件内部控制路径跳转

import { useNavigate } from 'ice';

export default function Home() {
const navigate = useNavigate();
useEffect(() => {
navigate('/logout', { replace: true });
}, []);

return (
<>
<h2>Home Page</h2>
</>
);
}

useLocation

警告

小程序端不支持该 API。

useLocation 返回当前 location 信息。

import { useLocation } from 'ice';

function Home() {
const location = useLocation();
useEffect(() => {
// send pv info
}, [location]);
return (
<>
<h2>Home Page</h2>
</>
);
}

useAppData

useAppData 返回应用全局数据,需要搭配 src/app.ts 中导出的 dataLoader 使用:

src/app.ts
import { defineDataLoader } from 'ice';

export const dataLoader = defineDataLoader(() => {
return await fetch('/api/user');
})

在任意组件内进行消费:

import { useAppData } from 'ice';

function Home() {
const data = useAppData();
// data 内容为 /api/user 接口返回数据
return (
<>
<h2>Home Page</h2>
</>
);
}

useData

useData 返回路由组件数据,需要搭配在路由组件中定义数据获取方法进行使用。参考页面数据请求文档

useConfig

useConfig 返回路由组件配置,搭配 definePageConfig

src/pages/home.tsx
import { definePageConfig, useConfig } from 'ice';

export default function Home() {
const config = useConfig();
return (
<>
<h2>Home Page</h2>
</>
);
}

export const pageConfig = definePageConfig(() => ({
title: 'About',
meta: [
{
name: 'theme-color',
content: '#eee',
},
],
}));

useMounted

警告

小程序端不支持该 API。

该方法会在 React Hydrate 完成后返回 true,一般在开启 SSR/SSG 的应用中,用于控制在不同端中渲染不同的组件。

警告

使用此 useMounted 而不是 typeof windows !== 'undefined' 来判断当前是否在 Client 端中渲染。

因为第一次 Client 端渲染必须与 Server 端渲染的接口一致,如果不使用此 Hook 判断的话,在 Hydrate 时可能出现节点不匹配的情况。

使用示例:

import { useMounted } from 'ice';

const Home = () => {
const mounted = useMounted();
return <div>{mounted ? 'Client' : 'Server'}</div>;
};

useAppContext

获取应用级 Context, 包含字段为:

  • appConfig object, 通过 defineAppConfig 定义的 appConfig
  • renderMode string, 渲染模式,'CSR'|'SSR'|'SSG'
  • documentOnly boolean, 是否指定为 CSR
  • downgrade boolean, 是否为 SSR 降级
src/document.ts
import { useAppContext } from 'ice';

function Document() {
const { renderMode } = useAppContext();
console.log(renderMode);

return (
<html>
<head>
</head>
<body>
<Main />
</body>
</html>
);
}

<ClientOnly />

警告

小程序端不支持该组件。

<ClientOnly /> 组件只允许在 React Hydrate 完成后在 Client 端中渲染组件。

提示

<ClientOnly /> 组件包裹不能在 Node.js 中运行的组件,比如如果组件要访问 windowdocument 对象。

Props

  • children: 一个函数,且返回仅在浏览器中渲染的组件。该函数不会在 Server 端中执行
  • fallback(可选): 在 React Hydrate 完成之前渲染的组件

使用示例:

import { ClientOnly } from 'ice';

export function Home () {
return (
<ClientOnly fallback={<div>loading...</div>}>
{() => <span>page url is {window.location.href}</span>}
</ClientOnly>
);
};

引入一个组件:

import { ClientOnly } from 'ice';
import MyComponent from './MyComponent';

export function Home () {
return (
<ClientOnly fallback={<div>loading...</div>}>
{() => <MyComponent />}
</ClientOnly>
);
};

<KeepAliveOutlet />

警告

小程序端不支持该组件。

缓存所有路由组件的状态。详细使用方式参考 Keep Alive 文档

信息

在小程序端 Link 组件底层为原生 navigator 组件。

<Link> 是 React 组件,用于渲染带路由跳转功能的 <a> 元素。

import { Link } from 'ice';

function Home() {
const data = useAppData();
// data 内容为 /api/user 接口返回数据
return (
<>
<h2>Home Page</h2>
<Link to="/user">user</Link>
</>
);
}

<Outlet />

警告

小程序端不支持该组件。

<Outlet> 用于渲染父路由中渲染子路由,通常出现在 layout.tsx Layout 组件中。

src/layout.tsx

import { Outlet } from 'ice';

export default function Layout() {
return (
<div>
<h1>title</h1>
<Outlet />
</div>
);
}

AppConfig

AppConfig 是 TS 类型定义,用于获取框架配置类型。

import type { AppConfig } from 'ice';
警告

推荐通过 defineAppConfig 的方式在入口定义应用类型,如果涉及到类型拓展和泛型的应用可以通过上述方式导入该类型。

RouteConfig

RouteConfig 是 TS 类型定义,用于获取路由配置类型。

import type { RouteConfig } from 'ice';
警告

推荐通过 definePageConfig 的方式在路由组件中定义类型,如果涉及到类型拓展和泛型的应用可以通过上述方式导入该类型。

Document 组件

警告

小程序端不支持该组件。

MetaTitleLinksScriptsMain 组件仅支持在 src/document.tsx 中使用,使用场景参考 Document 文档

- - +

API

defineAppConfig

该方法用于获取框架配置的类型提示。

src/app.ts
import { defineAppConfig } from 'ice';

export default defineAppConfig(() => ({
app: {
rootId: 'ice-container',
}
}));

definePageConfig

该方法用于获取路由组件支持的配置类型,支持的配置可以被插件动态扩展。

src/pages/home.tsx
import { definePageConfig } from 'ice';

export const pageConfig = definePageConfig(() => ({
title: 'About',
meta: [
{
name: 'theme-color',
content: '#eee',
},
],
}));

history

应用的 history,用于获取路由信息、执行跳转等。


import { history } from 'ice';

export function historyPush (link: string) {
history.push(link);
}
警告

在应用入口 src/app.ts 导入使用时,由于 history 还未完成初始化创建,不能以立即执行的方式使用。推荐以上述方式封装后在必要的时候进行调用。

useParams

警告

小程序端不支持该 API。

useParams 函数返回动态路由的匹配参数信息。

import { useParams } from 'ice';

// 路由规则为 home/:uid/repo/:repoid
// 当前路径 home/clark/repo/1234
export default function Home() {
const params = useParams();
// params 输出内容为 { uid: 'clark', repoid: '1234'}
return (
<>
<h2>Home Page</h2>
</>
);
}

useSearchParams

警告

小程序端会返回当前页面 Page.onLoad 生命周期返回的 query 参数。 +同时小程序端不支持修改 query string,即调用该 API 返回的 setSearchParams 不会生效。

useSearchParams 用于读取和修改当前 URL 的 query string。

import { useSearchParams } from 'ice';

// 假设当前访问的 url 是 localhost:3000/home?uid=1234
export default function Home() {
const [searchParams, setSearchParams] = useSearchParams();
// 通过 searchParams.get() 获取当前 query 值
console.log(searchParams.get('uid')); // 1234

const changeSearch = () => {
// 通过 setSearchParams 可以修改对应 query string
setSearchParams({ uid: '4321' });
}
return (
<>
<h2>Home Page</h2>
</>
);
}

useNavigate

警告

小程序端不支持该 API。可通过 Link 组件或 history 或小程序原生 API 进行跳转。

useNavigate 函数返回一个可以控制跳转的函数,用于组件内部控制路径跳转

import { useNavigate } from 'ice';

export default function Home() {
const navigate = useNavigate();
useEffect(() => {
navigate('/logout', { replace: true });
}, []);

return (
<>
<h2>Home Page</h2>
</>
);
}

useLocation

警告

小程序端不支持该 API。

useLocation 返回当前 location 信息。

import { useLocation } from 'ice';

function Home() {
const location = useLocation();
useEffect(() => {
// send pv info
}, [location]);
return (
<>
<h2>Home Page</h2>
</>
);
}

useAppData

useAppData 返回应用全局数据,需要搭配 src/app.ts 中导出的 dataLoader 使用:

src/app.ts
import { defineDataLoader } from 'ice';

export const dataLoader = defineDataLoader(() => {
return await fetch('/api/user');
})

在任意组件内进行消费:

import { useAppData } from 'ice';

function Home() {
const data = useAppData();
// data 内容为 /api/user 接口返回数据
return (
<>
<h2>Home Page</h2>
</>
);
}

useData

useData 返回路由组件数据,需要搭配在路由组件中定义数据获取方法进行使用。参考页面数据请求文档

useConfig

useConfig 返回路由组件配置,搭配 definePageConfig

src/pages/home.tsx
import { definePageConfig, useConfig } from 'ice';

export default function Home() {
const config = useConfig();
return (
<>
<h2>Home Page</h2>
</>
);
}

export const pageConfig = definePageConfig(() => ({
title: 'About',
meta: [
{
name: 'theme-color',
content: '#eee',
},
],
}));

useMounted

警告

小程序端不支持该 API。

该方法会在 React Hydrate 完成后返回 true,一般在开启 SSR/SSG 的应用中,用于控制在不同端中渲染不同的组件。

警告

使用此 useMounted 而不是 typeof windows !== 'undefined' 来判断当前是否在 Client 端中渲染。

因为第一次 Client 端渲染必须与 Server 端渲染的接口一致,如果不使用此 Hook 判断的话,在 Hydrate 时可能出现节点不匹配的情况。

使用示例:

import { useMounted } from 'ice';

const Home = () => {
const mounted = useMounted();
return <div>{mounted ? 'Client' : 'Server'}</div>;
};

useAppContext

获取应用级 Context, 包含字段为:

  • appConfig object, 通过 defineAppConfig 定义的 appConfig
  • renderMode string, 渲染模式,'CSR'|'SSR'|'SSG'
  • documentOnly boolean, 是否指定为 CSR
  • downgrade boolean, 是否为 SSR 降级
src/document.ts
import { useAppContext } from 'ice';

function Document() {
const { renderMode } = useAppContext();
console.log(renderMode);

return (
<html>
<head>
</head>
<body>
<Main />
</body>
</html>
);
}

<ClientOnly />

警告

小程序端不支持该组件。

<ClientOnly /> 组件只允许在 React Hydrate 完成后在 Client 端中渲染组件。

提示

<ClientOnly /> 组件包裹不能在 Node.js 中运行的组件,比如如果组件要访问 windowdocument 对象。

Props

  • children: 一个函数,且返回仅在浏览器中渲染的组件。该函数不会在 Server 端中执行
  • fallback(可选): 在 React Hydrate 完成之前渲染的组件

使用示例:

import { ClientOnly } from 'ice';

export function Home () {
return (
<ClientOnly fallback={<div>loading...</div>}>
{() => <span>page url is {window.location.href}</span>}
</ClientOnly>
);
};

引入一个组件:

import { ClientOnly } from 'ice';
import MyComponent from './MyComponent';

export function Home () {
return (
<ClientOnly fallback={<div>loading...</div>}>
{() => <MyComponent />}
</ClientOnly>
);
};

<KeepAliveOutlet />

警告

小程序端不支持该组件。

缓存所有路由组件的状态。详细使用方式参考 Keep Alive 文档

信息

在小程序端 Link 组件底层为原生 navigator 组件。

<Link> 是 React 组件,用于渲染带路由跳转功能的 <a> 元素。

import { Link } from 'ice';

function Home() {
const data = useAppData();
// data 内容为 /api/user 接口返回数据
return (
<>
<h2>Home Page</h2>
<Link to="/user">user</Link>
</>
);
}

<Outlet />

警告

小程序端不支持该组件。

<Outlet> 用于渲染父路由中渲染子路由,通常出现在 layout.tsx Layout 组件中。

src/layout.tsx

import { Outlet } from 'ice';

export default function Layout() {
return (
<div>
<h1>title</h1>
<Outlet />
</div>
);
}

AppConfig

AppConfig 是 TS 类型定义,用于获取框架配置类型。

import type { AppConfig } from 'ice';
警告

推荐通过 defineAppConfig 的方式在入口定义应用类型,如果涉及到类型拓展和泛型的应用可以通过上述方式导入该类型。

RouteConfig

RouteConfig 是 TS 类型定义,用于获取路由配置类型。

import type { RouteConfig } from 'ice';
警告

推荐通过 definePageConfig 的方式在路由组件中定义类型,如果涉及到类型拓展和泛型的应用可以通过上述方式导入该类型。

Document 组件

警告

小程序端不支持该组件。

MetaTitleLinksScriptsMain 组件仅支持在 src/document.tsx 中使用,使用场景参考 Document 文档

+ + \ No newline at end of file diff --git a/docs/guide/basic/app/index.html b/docs/guide/basic/app/index.html index 63fce4997e..3678fc8924 100644 --- a/docs/guide/basic/app/index.html +++ b/docs/guide/basic/app/index.html @@ -3,14 +3,14 @@ -应用入口 | 飞冰 ICE - - +应用入口 | 飞冰 ICE + +
-

应用入口

ice.js 通过应用配置的方式渲染整个应用,开发者可以根据提供的配置定制应用。

应用配置文件

框架以 src/app.ts 作为应用配置文件:

import { defineAppConfig } from 'ice';

export default defineAppConfig(() => ({
app: {
strict: true,
},
}));

推荐通过 defineAppConfig() 的方式导出应用配置,以获得良好的类型提示。

配置项

应用入口的配置项,支持应用常用的相关配置。

app

rootId

根节点 id

  • 类型:string
  • 默认值:ice-container
提示

小程序端不支持修改 rootId。

strict

是否开启 React 的严格模式 (React.StrictMode)

  • 类型:boolean
  • 默认值:false

errorBoundary

是否启用内置的错误边界捕获能力

  • 类型:boolean
  • 默认值:false

router

提示

小程序端不支持 router 配置。关于小程序的 router 配置参考小程序开发-路由

type

路由类型

  • 类型:'hash' | 'browser' | 'memory'
  • 默认值:browser
提示

当设置路由类型为 memory 时,需要对应设置 initialEntries

initialEntries

路由类型设置为 MemoryRouter 时,需要渲染的路由。

  • 类型:InitialEntry[]
  • 默认值:['/']
import { defineAppConfig } from 'ice';

export default defineAppConfig(() => ({
router: {
type: 'memory',
// 渲染 home 页面
initialEntries: ['/home'],
},
}));

basename

路由 basename

  • 类型:string
  • 默认值:/

运行时拓展

应用入口除了支持定义应用配置之外,同时也承担运行时扩展的能力,比如权限配置:

import { defineAppConfig } from 'ice';
import { defineAuthConfig } from '@ice/plugin-auth/types';

// 导出 auth 相关的能力,该能力由 @ice/plugin-auth 插件提供
export const authConfig = defineAuthConfig(() => {
return {
initialAuth: {
admin: true,
},
};
});

export default defineAppConfig(() => ({
app: {
strict: true,
},
}));
- - +

应用入口

ice.js 通过应用配置的方式渲染整个应用,开发者可以根据提供的配置定制应用。

应用配置文件

框架以 src/app.ts 作为应用配置文件:

import { defineAppConfig } from 'ice';

export default defineAppConfig(() => ({
app: {
strict: true,
},
}));

推荐通过 defineAppConfig() 的方式导出应用配置,以获得良好的类型提示。

配置项

应用入口的配置项,支持应用常用的相关配置。

app

rootId

根节点 id

  • 类型:string
  • 默认值:ice-container
提示

小程序端不支持修改 rootId。

strict

是否开启 React 的严格模式 (React.StrictMode)

  • 类型:boolean
  • 默认值:false

errorBoundary

是否启用内置的错误边界捕获能力

  • 类型:boolean
  • 默认值:false

router

提示

小程序端不支持 router 配置。关于小程序的 router 配置参考小程序开发-路由

type

路由类型

  • 类型:'hash' | 'browser' | 'memory'
  • 默认值:browser
提示

当设置路由类型为 memory 时,需要对应设置 initialEntries

initialEntries

路由类型设置为 MemoryRouter 时,需要渲染的路由。

  • 类型:InitialEntry[]
  • 默认值:['/']
import { defineAppConfig } from 'ice';

export default defineAppConfig(() => ({
router: {
type: 'memory',
// 渲染 home 页面
initialEntries: ['/home'],
},
}));

basename

路由 basename

  • 类型:string
  • 默认值:/

运行时拓展

应用入口除了支持定义应用配置之外,同时也承担运行时扩展的能力,比如权限配置:

import { defineAppConfig } from 'ice';
import { defineAuthConfig } from '@ice/plugin-auth/types';

// 导出 auth 相关的能力,该能力由 @ice/plugin-auth 插件提供
export const authConfig = defineAuthConfig(() => {
return {
initialAuth: {
admin: true,
},
};
});

export default defineAppConfig(() => ({
app: {
strict: true,
},
}));
+ + \ No newline at end of file diff --git a/docs/guide/basic/appear/index.html b/docs/guide/basic/appear/index.html index 6420bf047c..38d5166beb 100644 --- a/docs/guide/basic/appear/index.html +++ b/docs/guide/basic/appear/index.html @@ -3,14 +3,14 @@ -元素可见 | 飞冰 ICE - - +元素可见 | 飞冰 ICE + +
-

元素可见

当需要监测一个元素是否出现在可见区域时(比如列表滚动时是否曝光),可以通过 <VisibilityChange /> 组件来监测指定元素是否当前可见或者消失。

提示

小程序端不支持该能力。

安装组件依赖

<VisibilityChange /> 组件并不是内置组件,需要通过安装 @ice/appear 来引入。

$ npm i @ice/appear --save

当元素进入可见状态时

import VisibilityChange from '@ice/appear';

export default function Home() {
return (
<VisibilityChange
onAppear={() => {
console.log('onAppear')
}}
>
show something
</VisibilityChange>
)
}

元素首次可见

有时候我们只需要元素首次可见的时机,例如发送曝光埋点,我们可以通过实现一个 useOnce 的自定义 hook 来实现:

src/pages/home.tsx
import { useState } from 'react';
import VisibilityChange from '@ice/appear';

// 示例代码
function useOnce(fn) {
const [called, setCalled] = useState(false);
return (...args) => {
if (!called) {
setCalled(true);
return fn(...args);
}
};
}

export default function Index() {
const handleAppearOnce = useOnce(() => {
console.log('The first time view appeared.');
});

return (
<div className={styles.app}>
<VisibilityChange
onAppear={handleAppearOnce}
>
<p>Hello ice.js 3</p>
</VisibilityChange>
</div>
);
}

当元素进入不可见状态时

src/pages/home.tsx
import VisibilityChange from '@ice/appear';

export default function Home() {
return (
<VisibilityChange
onDisappear={() => {
console.log('onDisappear')
}}
>
show something
</VisibilityChange>
)
}
警告

请注意,当元素使用 transform 等非触发 DOM 布局变更的行为使元素移动时,本组件的行为可能会失效。

- - +

元素可见

当需要监测一个元素是否出现在可见区域时(比如列表滚动时是否曝光),可以通过 <VisibilityChange /> 组件来监测指定元素是否当前可见或者消失。

提示

小程序端不支持该能力。

安装组件依赖

<VisibilityChange /> 组件并不是内置组件,需要通过安装 @ice/appear 来引入。

$ npm i @ice/appear --save

当元素进入可见状态时

import VisibilityChange from '@ice/appear';

export default function Home() {
return (
<VisibilityChange
onAppear={() => {
console.log('onAppear')
}}
>
show something
</VisibilityChange>
)
}

元素首次可见

有时候我们只需要元素首次可见的时机,例如发送曝光埋点,我们可以通过实现一个 useOnce 的自定义 hook 来实现:

src/pages/home.tsx
import { useState } from 'react';
import VisibilityChange from '@ice/appear';

// 示例代码
function useOnce(fn) {
const [called, setCalled] = useState(false);
return (...args) => {
if (!called) {
setCalled(true);
return fn(...args);
}
};
}

export default function Index() {
const handleAppearOnce = useOnce(() => {
console.log('The first time view appeared.');
});

return (
<div className={styles.app}>
<VisibilityChange
onAppear={handleAppearOnce}
>
<p>Hello ice.js 3</p>
</VisibilityChange>
</div>
);
}

当元素进入不可见状态时

src/pages/home.tsx
import VisibilityChange from '@ice/appear';

export default function Home() {
return (
<VisibilityChange
onDisappear={() => {
console.log('onDisappear')
}}
>
show something
</VisibilityChange>
)
}
警告

请注意,当元素使用 transform 等非触发 DOM 布局变更的行为使元素移动时,本组件的行为可能会失效。

+ + \ No newline at end of file diff --git a/docs/guide/basic/assets/index.html b/docs/guide/basic/assets/index.html index 35f976ebcb..07e6529820 100644 --- a/docs/guide/basic/assets/index.html +++ b/docs/guide/basic/assets/index.html @@ -3,14 +3,14 @@ -静态资源 | 飞冰 ICE - - +静态资源 | 飞冰 ICE + +
-

静态资源

框架默认内置了处理静态资源的通用规则,一般情况下开发者无需设置资源的处理方式。另外,对于一些特殊的处理规则,框架给出了便捷方式方便开发者引入资源。

基础规则

框架内置了针对以下资源的处理:

  • 图片资源:.png.jpg.webp.jpeg.gif
  • 字体文件:.woff.woff2.ttf.eot
  • svg 文件:.svg

上述资源文件名默认会经过 hash 处理,并通过资源地址的方式加载(比如 ./assets/background.png 经过构建处理后变成 /assets/background.ef5b6544.png)。

推荐将这些资源放在 src/assets/ 目录下:

src
├── assets/
│ ├── logo.png
│ └── background.png

然后就可以在源码中引入资源了。

在 JSX 文件中引入

import background from '@/assets/background.png';

export default function () {
return (
<img src={background} />
);
}

在 CSS 文件中引入

.container {
background-image: url('@/assets/background.png');
}
提示

如果资源尺寸小于 8kb,则进行 base64 转码并内联到脚本或样式文件中。

指定处理规则

对于内置规则不满足特定场景的情况下,框架提供了便捷的方式对资源进行处理

URL 引入

除基础规则中指定资源外,如果还希望通过资源地址的方式进行资源处理的,可以通过如下方式进行指定:

import workletURL from 'extra-scalloped-border/worklet.js?url'
CSS.paintWorklet.addModule(workletURL);

?url 等同于为指定资源指定 url-loader

文件内容引入

通过 ?raw 后缀声明将资源作为字符串引入:

import txtContent from './text.txt?raw';

?raw 等同于为指定资源指定 raw-loader

public 目录

public 目录作为框架默认的静态资源目录,不被构建工具进行编译的资源都可以放在该目录下。

比如 favicon.ico 文件,我们并不希望该文件名编译(默认静态资源文件名在编译后会生成独立 hash,而 favicon.ico 希望保持原有文件名),我们可以把该文件放在 public 目录下,使用时在 Document 组件中引用即可:

export default function Document() {
return (
<html>
<head>
+ <link rel="icon" href="/favicon.ico" />
</head>
<body>
...
</body>
</html>
);
}

另外像不被源码引入的资源也存放在 public 目录下,比如 robots.txt

警告
  • public 目录中的资源会在构建阶段完整复制到 outputDir 根目录,并且文件名不变,在部署时必须把资源文件放在服务器资源根目录下。(比如 public/icon.svg 文件应该在通过 http:example.com/icon.svg 进行访问)
- - +

静态资源

框架默认内置了处理静态资源的通用规则,一般情况下开发者无需设置资源的处理方式。另外,对于一些特殊的处理规则,框架给出了便捷方式方便开发者引入资源。

基础规则

框架内置了针对以下资源的处理:

  • 图片资源:.png.jpg.webp.jpeg.gif
  • 字体文件:.woff.woff2.ttf.eot
  • svg 文件:.svg

上述资源文件名默认会经过 hash 处理,并通过资源地址的方式加载(比如 ./assets/background.png 经过构建处理后变成 /assets/background.ef5b6544.png)。

推荐将这些资源放在 src/assets/ 目录下:

src
├── assets/
│ ├── logo.png
│ └── background.png

然后就可以在源码中引入资源了。

在 JSX 文件中引入

import background from '@/assets/background.png';

export default function () {
return (
<img src={background} />
);
}

在 CSS 文件中引入

.container {
background-image: url('@/assets/background.png');
}
提示

如果资源尺寸小于 8kb,则进行 base64 转码并内联到脚本或样式文件中。

指定处理规则

对于内置规则不满足特定场景的情况下,框架提供了便捷的方式对资源进行处理

URL 引入

除基础规则中指定资源外,如果还希望通过资源地址的方式进行资源处理的,可以通过如下方式进行指定:

import workletURL from 'extra-scalloped-border/worklet.js?url'
CSS.paintWorklet.addModule(workletURL);

?url 等同于为指定资源指定 url-loader

文件内容引入

通过 ?raw 后缀声明将资源作为字符串引入:

import txtContent from './text.txt?raw';

?raw 等同于为指定资源指定 raw-loader

public 目录

public 目录作为框架默认的静态资源目录,不被构建工具进行编译的资源都可以放在该目录下。

比如 favicon.ico 文件,我们并不希望该文件名编译(默认静态资源文件名在编译后会生成独立 hash,而 favicon.ico 希望保持原有文件名),我们可以把该文件放在 public 目录下,使用时在 Document 组件中引用即可:

export default function Document() {
return (
<html>
<head>
+ <link rel="icon" href="/favicon.ico" />
</head>
<body>
...
</body>
</html>
);
}

另外像不被源码引入的资源也存放在 public 目录下,比如 robots.txt

警告
  • public 目录中的资源会在构建阶段完整复制到 outputDir 根目录,并且文件名不变,在部署时必须把资源文件放在服务器资源根目录下。(比如 public/icon.svg 文件应该在通过 http:example.com/icon.svg 进行访问)
+ + \ No newline at end of file diff --git a/docs/guide/basic/cli/index.html b/docs/guide/basic/cli/index.html index 53deb8e282..0f76ee6170 100644 --- a/docs/guide/basic/cli/index.html +++ b/docs/guide/basic/cli/index.html @@ -3,14 +3,14 @@ -命令行 CLI | 飞冰 ICE - - +命令行 CLI | 飞冰 ICE + +
-

命令行 CLI

提示

指定命令行参数有两种方式:

  1. package.json 文件中指定参数:
{
"scripts": {
- "start": "ice start"
+ "start": "ice start --https"
}
}
  1. 在命令行中指定参数:
# npm v7 及以上需要多增加 `--` 字符
$ npm start -- --https
# npm v6
$ npm start --https

start

启动本地开发服务器,用于在本地开发调试项目。

ice start [options]
选项类型说明
--target <target> string指定编译的 target
--mode <mode> string指定环境模式 mode
--config <config>string指定使用的配置文件路径
--rootDir <rootDir>string指定应用的根目录
-h, --host <host>string指定开发服务器主机名
-p, --port <port>number指定开发服务器端口
--https [https]boolean开启 https
--no-openboolean禁止默认打开浏览器预览行为
--no-mockboolean禁用 mock 服务
--analyzerboolean开启 bundle 体积构建分析
--forceboolean强制删除构建缓存
-h, --help-显示可用的选项

build

构建项目,输出生产环境下的资源。

$ ice build [options]
选项类型说明
--target <target> string指定编译的 target
--mode <mode> string指定环境模式 mode
--config <config>string指定使用的配置文件路径
--rootDir <rootDir>string指定应用的根目录
--analyzerboolean开启 bundle 体积构建分析
-h, --help-显示可用的选项

help

查看帮助。

$ ice help

version

查看 ice.js 的版本。

$ ice --version

3.0.0
- - +

命令行 CLI

提示

指定命令行参数有两种方式:

  1. package.json 文件中指定参数:
{
"scripts": {
- "start": "ice start"
+ "start": "ice start --https"
}
}
  1. 在命令行中指定参数:
# npm v7 及以上需要多增加 `--` 字符
$ npm start -- --https
# npm v6
$ npm start --https

start

启动本地开发服务器,用于在本地开发调试项目。

ice start [options]
选项类型说明
--target <target> string指定编译的 target
--mode <mode> string指定环境模式 mode
--config <config>string指定使用的配置文件路径
--rootDir <rootDir>string指定应用的根目录
-h, --host <host>string指定开发服务器主机名
-p, --port <port>number指定开发服务器端口
--https [https]boolean开启 https
--no-openboolean禁止默认打开浏览器预览行为
--no-mockboolean禁用 mock 服务
--analyzerboolean开启 bundle 体积构建分析
--forceboolean强制删除构建缓存
-h, --help-显示可用的选项

build

构建项目,输出生产环境下的资源。

$ ice build [options]
选项类型说明
--target <target> string指定编译的 target
--mode <mode> string指定环境模式 mode
--config <config>string指定使用的配置文件路径
--rootDir <rootDir>string指定应用的根目录
--analyzerboolean开启 bundle 体积构建分析
-h, --help-显示可用的选项

help

查看帮助。

$ ice help

version

查看 ice.js 的版本。

$ ice --version

3.0.0
+ + \ No newline at end of file diff --git a/docs/guide/basic/config/index.html b/docs/guide/basic/config/index.html index e94f6622c3..f79260fcca 100644 --- a/docs/guide/basic/config/index.html +++ b/docs/guide/basic/config/index.html @@ -3,15 +3,15 @@ -构建配置 | 飞冰 ICE - - +构建配置 | 飞冰 ICE + +
-

构建配置

ice.js 支持常用的构建配置项,所有的配置项在 ice.config.mts 中设置。

配置文件

构建配置文件

为了获取良好的类型提示,ice.js 推荐以 ice.config.mts 作为配置文件:

import { defineConfig } from '@ice/app';

export default defineConfig(() => ({
publicPath: '/',
}));

兼容性配置

构建的兼容性配置推荐配置在 .browserslistrc 文件中:

chrome 55

更多配置请参考 browserslist 文档

配置项

alias

  • 类型:Record<string, string | false>
  • 默认值:{ "@": "./src/" }

在 ice.js 默认内置常用的 alias 规则,因此项目大多数时候不需要配置即可更加简单的导入模块了:

-import CustomTips from '../../../components/CustomTips';
+import CustomTips from '@/components/CustomTips';

如果需要配置别名对 import 路径进行映射:

import { defineConfig } from '@ice/app';

export default defineConfig(() => ({
alias: {
pages: './src/pages',
},
}));

crossOriginLoading

警告

小程序端不支持该配置。

  • 类型:false | 'anonymous' | 'use-credentials'
  • 默认值:false

配置

import { defineConfig } from '@ice/app';

export default defineConfig(() => ({
crossOriginLoading: 'anonymous'
}));

指定 webpack 启用 cross-origin 去加载 chunk。

define

  • 类型:Record<string, string | boolean>
  • 默认值:{ 'process.env.NODE_ENV': 'development' | 'production'; 'import.meta.renderer': 'client' | 'server'; 'import.meta.target': string; }

在编译时将代码中的全局变量替换成其他值或者表达式。一般用于区分不同环境以执行不同代码逻辑。

import { defineConfig } from '@ice/app';

export default defineConfig(() => ({
define: {
ASSETS_VERSION: JSON.stringify('0.1.0'),
AGE: '11',
},
}));

在代码中直接使用对应定义的变量:

console.log(ASSETS_VERSION);
// 最终会被编译成:
// console.log('0.1.0');

console.log(AGE);
// 最终会被编译成:
// console.log(11);

注意,在编译时,将会对你设置的 define 替换值进行类似字符串拼接的方式生成新的代码。因此:

  • 对于引用数据类型(functionobject),需要使用 JSON.stringify() 方法处理
  • 对于要替换的全局变量是字符串时,需要使用 JSON.stringify() 方法处理或者多添加一对引号(如 "'hello world'"),否则就是一个标识符,有可能跟预期结果不一致的情况

对于运行时变量,ice.js 更加推荐通过环境变量的方式注入。

dataLoader

  • 类型: boolean | { fetcher: { packageName: string; method: string } }
  • 默认值 true

是否启用内置的数据预加载能力以及自定义发送者(fetcher)。

publicPath

警告

小程序端不支持该配置。

  • 类型:string
  • 默认值:/

配置 Webpack 的 output.publicPath 属性,仅在运行 build 命令时生效。

devPublicPath

  • 类型:string
  • 默认值:/

同 publicPath 仅在执行 start 时生效。

hash

警告

小程序端不支持该配置。

  • 类型:boolean | string
  • 默认值:false

如果希望构建后的资源带 hash 版本,可以将 hash 设置为 true,也可以设置为 contenthash 按文件内容生成 hash 值:

import { defineConfig } from '@ice/app';

export default defineConfig(() => ({
hash: 'contenthash',
}));

externals

警告

小程序端不支持该配置。

  • 类型:Record<string, string>
  • 默认值:{}

设置哪些模块不打包,转而通过 <script> 或其他方式引入,比如:

import { defineConfig } from '@ice/app';

export default defineConfig(() => ({
externals: {
react: 'React',
'react-dom': 'ReactDOM',
},
}));

对应在 document.ts 或者页面模版里添加 CDN 文件:

import { Main, Scripts } from 'ice';

function Document() {
return (
<html lang="en">
<body>
<Main />
+ <script crossOrigin="" src="https://unpkg.com/react@18/umd/react.production.min.js"></script>
+ <script crossOrigin="" src="https://unpkg.com/react-dom@18/umd/react-dom.production.min.js"></script>
<Scripts />
</body>
</html>
);
}

export default Document;

outputDir

  • 类型:string
  • 默认值:build

构建产物输出目录,默认为 build 目录

proxy

警告

小程序端不支持该配置。

  • 类型:object
  • 默认值:{}

配置 dev 开发阶段的代理功能。配置项与 Webpack devServer.proxy 保持一致。

import { defineConfig } from '@ice/app';

export default defineConfig(() => ({
proxy: {
'/api': {
target: 'http://jsonplaceholder.typicode.com/',
changeOrigin: true,
pathRewrite: { '^/api' : '' },
},
},
}));

minify

  • 类型:boolean
  • 默认值:true

压缩产物,目前默认仅在 build 阶段生效

dropLogLevel

  • 类型:boolean | DropType[] | DropType
  • 默认值:false,不移除任何 console 代码

压缩代码时移除 console. 相关代码,配置为true时,移除所有console.相关代码。当想移除部分console代码,例如想要移除console.log和console.error时,可以配置为

import { defineConfig } from '@ice/app';

export default defineConfig(() => ({
dropLog: ['error', 'log'],
}));

也可以根据console等级来进行移除

// console 等级为 trace < debug < log < info < warn < error
// 例如想要移除trace、debug、log时可以像下面这样配置
import { defineConfig } from '@ice/app';

export default defineConfig(() => ({
dropLog: 'log',
}));

compileDependencies

  • 类型:array | boolean
  • 默认值:[]

默认情况下为了保证 dev 开发阶段的体验,node_modules 下文件不会进行编译,而考虑到 build 阶段对代码体积的极致优化以及兼容性保证,将会对 node_modules 下内容也进行编译。

如果 dev 阶段需要额外编译一些依赖,build 阶段下仍然全量编译,可以参考下面的方式在 dev 阶段通过正则追加一些配置:

import { defineConfig } from '@ice/app';

export default defineConfig(() => ({
compileDependencies: process.env.NODE_ENV === 'development' ? [/@alifd\/next/, /need-compile/] : true,
}));
警告

如果 build 阶段仍然需要全量编译,请务必增加环境判断

如果希望 dev 和 build 阶段均编译 node_modules,可以设置为 true

import { defineConfig } from '@ice/app';

export default defineConfig(() => ({
compileDependencies: true,
}));

如果明确知道哪些依赖需要进行编译也可以通过正则方式进行设置:(对 dev 和 build 同时生效)

import { defineConfig } from '@ice/app';

export default defineConfig(() => ({
compileDependencies: [/@alifd\/next/, /need-compile/],
}));

postcss

  • 类型:ProcessOptions & { plugins?: (string | [string, Record<string, any>?])[] };
  • 默认值:{}

用于添加 postcss 自定义配置。示例如下:

import { defineConfig } from '@ice/app';

export default defineConfig(() => ({
postcss: {
plugins: [
'postcss-px-to-viewport-8-plugin',
{
// ...
},
],
syntax: 'sugarss',
}
}));

ice.js 内置的 postcss 配置是:

{
"plugins": [
["postcss-nested"],
["postcss-preset-env", {
"stage": 3,
"autoprefixer": {
"flexbox": "no-2009",
},
"features": {
"custom-properties": false,
},
}],
["postcss-plugin-rpx2vw"],
],
}

如果需要完全重写 postcss 配置或修改内置的 postcss 配置,需要在项目根目录下新增 postcss.config.js 文件并加入配置,工程上会清空内置的 postcss 配置。

postcss.config.js
module.exports = {
plugins: [
[
'postcss-preset-env',
// 修改 postcss-preset-env 的选项
{
stage: 2,
}
]
],
}

polyfill

  • 类型:'usage' | 'entry' | false
  • 默认值:false

框架提供了多种 polyfill 的方式,开发者可以按实际情况选择对应的设置:

  • usage 按开发者使用的语法自动引入对应的 polyfill,适用于 node_modules 也进行编译的场景(一定程度上影响编译效率以及三方依赖二次编译造成的代码冗余)
  • entry 自动引入 browser(浏览器)需要兼容的 polyfill,适用于 node_modules 依赖不进行编译的场景(可能存在大量未被使用的 polyfill 被引入)

如果面向现代浏览器进行开发,大量 ES 语法均不需要引入 Polyfill,我们推荐不开启 polyfill 配置。如果你的代码或者三方依赖要求兼容到 IE 11 等浏览器,可以选择主动引入指定语法的 polyfill 或者开启 polyfill 配置。

transform

  • 类型:(code:string, id: string) => string | {code: string; map?: SourceMap | null;}
  • 默认值:undefined

通过 transform 配置实现代码的转化:

import { defineConfig } from '@ice/app';
import { transformSync } from '@babel/core';

export default defineConfig(() => ({
transform: (originalCode, id) => {
if (!id.includes('node_modules')) {
// 借助 babel 编译
const { code, map } = transformSync(originalCode, {
plugins: ['transform-decorators-legacy'],
});
return { code, map };
}
},
}));

ice.js 内置通过 swc 提升编译体验,如果在 transform 配置上过多依赖 babel 等工具将可以能造成编译性能瓶颈

ssr

警告

小程序端不支持该配置。

  • 类型:boolean
  • 默认值:false

是否开启 SSR 能力,更多 SSR 相关内容参考 SSR 文档

ssg

警告

小程序端不支持该配置。

  • 类型:boolean
  • 默认值:true

是否开启 SSG 能力,更多 SSG 相关内容参考 SSG 文档

server

警告

小程序端不支持该配置。

  • 类型:{ format: 'esm' | 'cjs'; bundle: boolean; ignores: IgnorePattern[]; externals: string[]; onDemand: boolean; }
  • 默认值:{ format: 'esm', bundle: false, ignores: [], externals: [], onDemand: false }

SSR / SSG 产物标准,推荐以 ESM 标准进行执行,如果希望打包成一个 cjs 模块,可以进行如下设置:

import { defineConfig } from '@ice/app';

export default defineConfig(() => ({
server: {
format: 'cjs',
bundle: true,
},
}));

可以通过 ignores 参数,为 SSR / SSG 产物过滤指定文件:

import { defineConfig } from '@ice/app';

export default defineConfig(() => ({
server: {
ignores: [{
resourceRegExp: /^\.\/locale$/,
contextRegExp: /moment$/,
}]
},
}));

其中:

  • resourceRegExp 对应文件的匹配路径
  • contextRegExp (可选)对应文件内容的匹配规则

通过 externals 参数,可以在构建 Server 端产物时 external 指定内容:

import { defineConfig } from '@ice/app';

export default defineConfig(() => ({
server: {
externals: ['react', 'react-dom']
},
}));

通过 onDemand 参数,可以在执行 Server 端产物时,按需构建所需的问题,并且提供体验良好的模块热更新服务:

import { defineConfig } from '@ice/app';

export default defineConfig(() => ({
server: {
onDemand: true,
format: 'esm',
},
}));

routes

警告

小程序端不支持该配置。

  • 类型:{ ignoreFiles: string[]; defineRoutes: (route: DefineRouteFunction) => void }
  • 默认值:{}

ignoreFiles

用于忽略 src/pages 下的文件被处理成路由模块,使用 glob 表达式(minimatch)对文件路径匹配。

import { defineConfig } from '@ice/app';

export default defineConfig(() => ({
routes: {
// 忽略 src/pages 下所有 components 目录
ignoreFiles: ['**/components/**'],
},
}));

defineRoutes

对于约定式路由不满足的场景,可以通过以下方式自定义路由地址。

import { defineConfig } from '@ice/app';

export default defineConfig(() => ({
routes: {
defineRoutes: (route) => {
// 将 /about-me 路由访问内容指定为 about.tsx
// 第一个参数是路由地址
// 第二个参数是页面组件的相对地址(前面不能带 `/`),相对于 `src/pages` 目录
route('/about-me', 'about.tsx');

// 嵌套路由的场景需要使用第三个 callback 参数来定义嵌套路由
route('/', 'layout.tsx', () => {
route('/product', 'products.tsx');
});
},
},
}));
警告

同一个路由组件只能分配一条路由规则,即同时执行以下语句时,仅生效后执行的逻辑。

route('/about-me', 'about.tsx');
route('/about-you', 'about.tsx');

config

对于简单的自定义场景,通过 defineRoutes 可以快速在约定式路由的基础上进行自定义。但对于大量自定义或者原配置式路由的升级项目,支持以 config 的字段指定路由信息:

import { defineConfig } from '@ice/app';

export default defineConfig({
routes: {
config: [
{
path: 'rewrite',
// 从 src/page 开始计算路径,并且需要写后缀。
component: 'sales/layout.tsx',
children: [
{
path: '/favorites',
component: 'sales/favorites.tsx',
},
{
path: 'overview',
component: 'sales/overview.tsx',
},
{
path: 'recommends',
component: 'sales/recommends.tsx',
},
],
},
{
path: '/',
component: 'index.tsx',
},
],
},
});

sourceMap

  • 类型:boolean | string
  • 默认值:development 模式:默认为 'cheap-module-source-map',支持通过 false 关闭,不支持设置为其他枚举值。production 模式:默认 false

splitChunks @deprecated

警告

不再建议使用,能力由 codeSplitting 替代。 -小程序端不支持该配置。

默认会根据模块体积自动拆分 chunks,有可能会出现多个 bundle。如果不希望打包产物出现过多 bundle ,可设置成 false

codeSplitting

  • 类型:boolean | 'vendors' | 'page' | 'chunks' | 'page-vendors'
  • 默认值:true

框架内置了三种分包策略分别为 chunks(默认策略,无需额外设置),pagevendors

  • vendors 策略:将异步 chunks 里的三方依赖统一打入到 vendor.js 中,避免重复,在依赖不变的情况下有效利用缓存。缺陷是如果项目过大会导致单文件尺寸过大。
  • page 策略:所有路由级别组件按需加载,如果需保留原 splitChunks: false 的效果,配置该策略 。
  • page-vendors 策略:在 page 策略的基础上,将异步 chunks 里的三方依赖统一打入到 vendor.js 中,以达到有效利用缓存的结果。
  • chunks 策略:在路由级别组件按需加载的基础上,根据模块体积大小自动拆分 chunks,为框架默认推荐策略。

如果存在特殊场景期望关闭分包能力,可以设置成 false

syntaxFeatures

  • 类型:{ exportDefaultFrom: boolean; functionBind: boolean; }
  • 默认值:undefined

ice.js 内置了大量 ES 语法支持,便于开发者进行编码。对于 proposal-export-default-fromproposal-bind-operator 由于其提案进度较慢,我们并不推荐使用。如果希望支持该语法,可以主动配置 syntaxFeatures 进行启用。

tsChecker

  • 类型:boolean
  • 默认值:false

默认关闭 TypeScript 类型检测,如需开启配置为 true 即可。

eslint

  • 类型:boolean | object
  • 默认值:undefined

配置说明:

  • false:不检测 eslint 错误
  • true:将 eslint 错误展示在预览页面上
  • object: 仅 Webpack 模式支持,表现等同于 true,支持配置 eslint-webpack-plugin 的更多参数

mock

警告

小程序端不支持该配置。

  • 类型:{ exclude: string[] }
  • 默认值:{}

配置忽略 mock 的文件。

import { defineConfig } from '@ice/app';

export default defineConfig(() => ({
mock: {
// 忽略 mock 目录中 custom 目录下的文件以及 api.ts 文件
exclude: ["custom/**", "api.ts"]
},
}));

htmlGenerating

  • 类型:boolean
  • 默认值:true

如果产物不想生成 html,可以设置为 false,在 SSG 开启的情况下,强制关闭 html 生成,将导致 SSG 失效。

plugins

  • 类型:PluginList<Config, OverwritePluginAPI>
  • 默认值:[]

添加插件

import { defineConfig } from '@ice/app';
import customPlugin from './custom-plugin';
import myPlugin from '@ice/my-plugin';

export default defineConfig(() => ({
plugins: [
customPlugin(),
myPlugin(),
],
}));

webpack

提示

ice.js 对 webpack 构建配置进行了定制,并借助 esbuild 等工具提升用户开发体验,直接修改 webpack 配置的方式并不推荐。

  • 类型:(config: WebpackConfig, taskConfig: TaskConfig) => WebpackConfig
  • 默认值:true

ice.js 默认基于 webpack 5 进行构建,在上述提供的构建配置无法满足的情况下,用户可以定制 webpack 配置:

import { defineConfig } from '@ice/app';
import SpeedMeasurePlugin from 'speed-measure-webpack-plugin';

export default defineConfig(() => ({
webpack: (webpackConfig) => {
if (process.env.NODE_ENV !== 'test') {
// 添加 webpack 插件
webpackConfig.plugins?.push(new SpeedMeasurePlugin());
}
return webpackConfig;
},
}));

cssModules

  • 类型:{ localIdentName: string }
  • 默认值:{}

构建 cssModules 时,定制 class 名称的生成规则,配置参考 https://webpack.js.org/loaders/css-loader/#localidentname

例如,配置 '[hash:8]' 可以只保留 hash 值,以精简 HTML 大小及 CSS 文件大小。默认情况 className="custom-head-tab-wrap" 会被构建为 class="custom-head-tab-wrap--rAEgGaqM",自定义构建规则后后样式名会被精简为 class="rAEgGaqM"

import { defineConfig } from '@ice/app';

export default defineConfig(() => ({
cssModules: {
localIdentName: '[hash:8]'
},
}));

如有定制需求欢迎👏 PR 或反馈:https://github.com/alibaba/ice/issues

- - +

构建配置

ice.js 支持常用的构建配置项,所有的配置项在 ice.config.mts 中设置。

配置文件

构建配置文件

为了获取良好的类型提示,ice.js 推荐以 ice.config.mts 作为配置文件:

import { defineConfig } from '@ice/app';

export default defineConfig(() => ({
publicPath: '/',
}));

兼容性配置

构建的兼容性配置推荐配置在 .browserslistrc 文件中:

chrome 55

更多配置请参考 browserslist 文档

配置项

alias

  • 类型:Record<string, string | false>
  • 默认值:{ "@": "./src/" }

在 ice.js 默认内置常用的 alias 规则,因此项目大多数时候不需要配置即可更加简单的导入模块了:

-import CustomTips from '../../../components/CustomTips';
+import CustomTips from '@/components/CustomTips';

如果需要配置别名对 import 路径进行映射:

import { defineConfig } from '@ice/app';

export default defineConfig(() => ({
alias: {
pages: './src/pages',
},
}));

crossOriginLoading

警告

小程序端不支持该配置。

  • 类型:false | 'anonymous' | 'use-credentials'
  • 默认值:false

配置

import { defineConfig } from '@ice/app';

export default defineConfig(() => ({
crossOriginLoading: 'anonymous'
}));

指定 webpack 启用 cross-origin 去加载 chunk。

define

  • 类型:Record<string, string | boolean>
  • 默认值:{ 'process.env.NODE_ENV': 'development' | 'production'; 'import.meta.renderer': 'client' | 'server'; 'import.meta.target': string; }

在编译时将代码中的全局变量替换成其他值或者表达式。一般用于区分不同环境以执行不同代码逻辑。

import { defineConfig } from '@ice/app';

export default defineConfig(() => ({
define: {
ASSETS_VERSION: JSON.stringify('0.1.0'),
AGE: '11',
},
}));

在代码中直接使用对应定义的变量:

console.log(ASSETS_VERSION);
// 最终会被编译成:
// console.log('0.1.0');

console.log(AGE);
// 最终会被编译成:
// console.log(11);

注意,在编译时,将会对你设置的 define 替换值进行类似字符串拼接的方式生成新的代码。因此:

  • 对于引用数据类型(functionobject),需要使用 JSON.stringify() 方法处理
  • 对于要替换的全局变量是字符串时,需要使用 JSON.stringify() 方法处理或者多添加一对引号(如 "'hello world'"),否则就是一个标识符,有可能跟预期结果不一致的情况

对于运行时变量,ice.js 更加推荐通过环境变量的方式注入。

dataLoader

  • 类型: boolean | { fetcher: { packageName: string; method: string } }
  • 默认值 true

是否启用内置的数据预加载能力以及自定义发送者(fetcher)。

publicPath

警告

小程序端不支持该配置。

  • 类型:string
  • 默认值:/

配置 Webpack 的 output.publicPath 属性,仅在运行 build 命令时生效。

devPublicPath

  • 类型:string
  • 默认值:/

同 publicPath 仅在执行 start 时生效。

hash

警告

小程序端不支持该配置。

  • 类型:boolean | string
  • 默认值:false

如果希望构建后的资源带 hash 版本,可以将 hash 设置为 true,也可以设置为 contenthash 按文件内容生成 hash 值:

import { defineConfig } from '@ice/app';

export default defineConfig(() => ({
hash: 'contenthash',
}));

externals

警告

小程序端不支持该配置。

  • 类型:Record<string, string>
  • 默认值:{}

设置哪些模块不打包,转而通过 <script> 或其他方式引入,比如:

import { defineConfig } from '@ice/app';

export default defineConfig(() => ({
externals: {
react: 'React',
'react-dom': 'ReactDOM',
},
}));

对应在 document.ts 或者页面模版里添加 CDN 文件:

import { Main, Scripts } from 'ice';

function Document() {
return (
<html lang="en">
<body>
<Main />
+ <script crossOrigin="" src="https://unpkg.com/react@18/umd/react.production.min.js"></script>
+ <script crossOrigin="" src="https://unpkg.com/react-dom@18/umd/react-dom.production.min.js"></script>
<Scripts />
</body>
</html>
);
}

export default Document;

outputDir

  • 类型:string
  • 默认值:build

构建产物输出目录,默认为 build 目录

proxy

警告

小程序端不支持该配置。

  • 类型:object
  • 默认值:{}

配置 dev 开发阶段的代理功能。配置项与 Webpack devServer.proxy 保持一致。

import { defineConfig } from '@ice/app';

export default defineConfig(() => ({
proxy: {
'/api': {
target: 'http://jsonplaceholder.typicode.com/',
changeOrigin: true,
pathRewrite: { '^/api' : '' },
},
},
}));

minify

  • 类型:boolean
  • 默认值:true

压缩产物,目前默认仅在 build 阶段生效

dropLogLevel

  • 类型:boolean | DropType[] | DropType
  • 默认值:false,不移除任何 console 代码

压缩代码时移除 console. 相关代码,配置为true时,移除所有console.相关代码。当想移除部分console代码,例如想要移除console.log和console.error时,可以配置为

import { defineConfig } from '@ice/app';

export default defineConfig(() => ({
dropLog: ['error', 'log'],
}));

也可以根据console等级来进行移除

// console 等级为 trace < debug < log < info < warn < error
// 例如想要移除trace、debug、log时可以像下面这样配置
import { defineConfig } from '@ice/app';

export default defineConfig(() => ({
dropLog: 'log',
}));

compileDependencies

  • 类型:array | boolean
  • 默认值:[]

默认情况下为了保证 dev 开发阶段的体验,node_modules 下文件不会进行编译,而考虑到 build 阶段对代码体积的极致优化以及兼容性保证,将会对 node_modules 下内容也进行编译。

如果 dev 阶段需要额外编译一些依赖,build 阶段下仍然全量编译,可以参考下面的方式在 dev 阶段通过正则追加一些配置:

import { defineConfig } from '@ice/app';

export default defineConfig(() => ({
compileDependencies: process.env.NODE_ENV === 'development' ? [/@alifd\/next/, /need-compile/] : true,
}));
警告

如果 build 阶段仍然需要全量编译,请务必增加环境判断

如果希望 dev 和 build 阶段均编译 node_modules,可以设置为 true

import { defineConfig } from '@ice/app';

export default defineConfig(() => ({
compileDependencies: true,
}));

如果明确知道哪些依赖需要进行编译也可以通过正则方式进行设置:(对 dev 和 build 同时生效)

import { defineConfig } from '@ice/app';

export default defineConfig(() => ({
compileDependencies: [/@alifd\/next/, /need-compile/],
}));

postcss

  • 类型:ProcessOptions & { plugins?: (string | [string, Record<string, any>?])[] };
  • 默认值:{}

用于添加 postcss 自定义配置。示例如下:

import { defineConfig } from '@ice/app';

export default defineConfig(() => ({
postcss: {
plugins: [
'postcss-px-to-viewport-8-plugin',
{
// ...
},
],
syntax: 'sugarss',
}
}));

ice.js 内置的 postcss 配置是:

{
"plugins": [
["postcss-nested"],
["postcss-preset-env", {
"stage": 3,
"autoprefixer": {
"flexbox": "no-2009",
},
"features": {
"custom-properties": false,
},
}],
["postcss-plugin-rpx2vw"],
],
}

如果需要完全重写 postcss 配置或修改内置的 postcss 配置,需要在项目根目录下新增 postcss.config.js 文件并加入配置,工程上会清空内置的 postcss 配置。

postcss.config.js
module.exports = {
plugins: [
[
'postcss-preset-env',
// 修改 postcss-preset-env 的选项
{
stage: 2,
}
]
],
}

polyfill

  • 类型:'usage' | 'entry' | false
  • 默认值:false

框架提供了多种 polyfill 的方式,开发者可以按实际情况选择对应的设置:

  • usage 按开发者使用的语法自动引入对应的 polyfill,适用于 node_modules 也进行编译的场景(一定程度上影响编译效率以及三方依赖二次编译造成的代码冗余)
  • entry 自动引入 browser(浏览器)需要兼容的 polyfill,适用于 node_modules 依赖不进行编译的场景(可能存在大量未被使用的 polyfill 被引入)

如果面向现代浏览器进行开发,大量 ES 语法均不需要引入 Polyfill,我们推荐不开启 polyfill 配置。如果你的代码或者三方依赖要求兼容到 IE 11 等浏览器,可以选择主动引入指定语法的 polyfill 或者开启 polyfill 配置。

transform

  • 类型:(code:string, id: string) => string | {code: string; map?: SourceMap | null;}
  • 默认值:undefined

通过 transform 配置实现代码的转化:

import { defineConfig } from '@ice/app';
import { transformSync } from '@babel/core';

export default defineConfig(() => ({
transform: (originalCode, id) => {
if (!id.includes('node_modules')) {
// 借助 babel 编译
const { code, map } = transformSync(originalCode, {
plugins: ['transform-decorators-legacy'],
});
return { code, map };
}
},
}));

ice.js 内置通过 swc 提升编译体验,如果在 transform 配置上过多依赖 babel 等工具将可以能造成编译性能瓶颈

ssr

警告

小程序端不支持该配置。

  • 类型:boolean
  • 默认值:false

是否开启 SSR 能力,更多 SSR 相关内容参考 SSR 文档

ssg

警告

小程序端不支持该配置。

  • 类型:boolean
  • 默认值:true

是否开启 SSG 能力,更多 SSG 相关内容参考 SSG 文档

server

警告

小程序端不支持该配置。

  • 类型:{ format: 'esm' | 'cjs'; bundle: boolean; ignores: IgnorePattern[]; externals: string[]; onDemand: boolean; }
  • 默认值:{ format: 'esm', bundle: false, ignores: [], externals: [], onDemand: false }

SSR / SSG 产物标准,推荐以 ESM 标准进行执行,如果希望打包成一个 cjs 模块,可以进行如下设置:

import { defineConfig } from '@ice/app';

export default defineConfig(() => ({
server: {
format: 'cjs',
bundle: true,
},
}));

可以通过 ignores 参数,为 SSR / SSG 产物过滤指定文件:

import { defineConfig } from '@ice/app';

export default defineConfig(() => ({
server: {
ignores: [{
resourceRegExp: /^\.\/locale$/,
contextRegExp: /moment$/,
}]
},
}));

其中:

  • resourceRegExp 对应文件的匹配路径
  • contextRegExp (可选)对应文件内容的匹配规则

通过 externals 参数,可以在构建 Server 端产物时 external 指定内容:

import { defineConfig } from '@ice/app';

export default defineConfig(() => ({
server: {
externals: ['react', 'react-dom']
},
}));

通过 onDemand 参数,可以在执行 Server 端产物时,按需构建所需的问题,并且提供体验良好的模块热更新服务:

import { defineConfig } from '@ice/app';

export default defineConfig(() => ({
server: {
onDemand: true,
format: 'esm',
},
}));

routes

警告

小程序端不支持该配置。

  • 类型:{ ignoreFiles: string[]; defineRoutes: (route: DefineRouteFunction) => void }
  • 默认值:{}

ignoreFiles

用于忽略 src/pages 下的文件被处理成路由模块,使用 glob 表达式(minimatch)对文件路径匹配。

import { defineConfig } from '@ice/app';

export default defineConfig(() => ({
routes: {
// 忽略 src/pages 下所有 components 目录
ignoreFiles: ['**/components/**'],
},
}));

defineRoutes

对于约定式路由不满足的场景,可以通过以下方式自定义路由地址。

import { defineConfig } from '@ice/app';

export default defineConfig(() => ({
routes: {
defineRoutes: (route) => {
// 将 /about-me 路由访问内容指定为 about.tsx
// 第一个参数是路由地址
// 第二个参数是页面组件的相对地址(前面不能带 `/`),相对于 `src/pages` 目录
route('/about-me', 'about.tsx');

// 嵌套路由的场景需要使用第三个 callback 参数来定义嵌套路由
route('/', 'layout.tsx', () => {
route('/product', 'products.tsx');
});
},
},
}));
警告

同一个路由组件只能分配一条路由规则,即同时执行以下语句时,仅生效后执行的逻辑。

route('/about-me', 'about.tsx');
route('/about-you', 'about.tsx');

config

对于简单的自定义场景,通过 defineRoutes 可以快速在约定式路由的基础上进行自定义。但对于大量自定义或者原配置式路由的升级项目,支持以 config 的字段指定路由信息:

import { defineConfig } from '@ice/app';

export default defineConfig({
routes: {
config: [
{
path: 'rewrite',
// 从 src/page 开始计算路径,并且需要写后缀。
component: 'sales/layout.tsx',
children: [
{
path: '/favorites',
component: 'sales/favorites.tsx',
},
{
path: 'overview',
component: 'sales/overview.tsx',
},
{
path: 'recommends',
component: 'sales/recommends.tsx',
},
],
},
{
path: '/',
component: 'index.tsx',
},
],
},
});

sourceMap

  • 类型:boolean | string
  • 默认值:development 模式:默认为 'cheap-module-source-map',支持通过 false 关闭,不支持设置为其他枚举值。production 模式:默认 false

splitChunks @deprecated

警告

不再建议使用,能力由 codeSplitting 替代。 +小程序端不支持该配置。

默认会根据模块体积自动拆分 chunks,有可能会出现多个 bundle。如果不希望打包产物出现过多 bundle ,可设置成 false

codeSplitting

  • 类型:boolean | 'vendors' | 'page' | 'chunks' | 'page-vendors'
  • 默认值:true

框架内置了三种分包策略分别为 chunks(默认策略,无需额外设置),pagevendors

  • vendors 策略:将异步 chunks 里的三方依赖统一打入到 vendor.js 中,避免重复,在依赖不变的情况下有效利用缓存。缺陷是如果项目过大会导致单文件尺寸过大。
  • page 策略:所有路由级别组件按需加载,如果需保留原 splitChunks: false 的效果,配置该策略 。
  • page-vendors 策略:在 page 策略的基础上,将异步 chunks 里的三方依赖统一打入到 vendor.js 中,以达到有效利用缓存的结果。
  • chunks 策略:在路由级别组件按需加载的基础上,根据模块体积大小自动拆分 chunks,为框架默认推荐策略。

如果存在特殊场景期望关闭分包能力,可以设置成 false

syntaxFeatures

  • 类型:{ exportDefaultFrom: boolean; functionBind: boolean; }
  • 默认值:undefined

ice.js 内置了大量 ES 语法支持,便于开发者进行编码。对于 proposal-export-default-fromproposal-bind-operator 由于其提案进度较慢,我们并不推荐使用。如果希望支持该语法,可以主动配置 syntaxFeatures 进行启用。

tsChecker

  • 类型:boolean
  • 默认值:false

默认关闭 TypeScript 类型检测,如需开启配置为 true 即可。

eslint

  • 类型:boolean | object
  • 默认值:undefined

配置说明:

  • false:不检测 eslint 错误
  • true:将 eslint 错误展示在预览页面上
  • object: 仅 Webpack 模式支持,表现等同于 true,支持配置 eslint-webpack-plugin 的更多参数

mock

警告

小程序端不支持该配置。

  • 类型:{ exclude: string[] }
  • 默认值:{}

配置忽略 mock 的文件。

import { defineConfig } from '@ice/app';

export default defineConfig(() => ({
mock: {
// 忽略 mock 目录中 custom 目录下的文件以及 api.ts 文件
exclude: ["custom/**", "api.ts"]
},
}));

htmlGenerating

  • 类型:boolean
  • 默认值:true

如果产物不想生成 html,可以设置为 false,在 SSG 开启的情况下,强制关闭 html 生成,将导致 SSG 失效。

plugins

  • 类型:PluginList<Config, OverwritePluginAPI>
  • 默认值:[]

添加插件

import { defineConfig } from '@ice/app';
import customPlugin from './custom-plugin';
import myPlugin from '@ice/my-plugin';

export default defineConfig(() => ({
plugins: [
customPlugin(),
myPlugin(),
],
}));

webpack

提示

ice.js 对 webpack 构建配置进行了定制,并借助 esbuild 等工具提升用户开发体验,直接修改 webpack 配置的方式并不推荐。

  • 类型:(config: WebpackConfig, taskConfig: TaskConfig) => WebpackConfig
  • 默认值:true

ice.js 默认基于 webpack 5 进行构建,在上述提供的构建配置无法满足的情况下,用户可以定制 webpack 配置:

import { defineConfig } from '@ice/app';
import SpeedMeasurePlugin from 'speed-measure-webpack-plugin';

export default defineConfig(() => ({
webpack: (webpackConfig) => {
if (process.env.NODE_ENV !== 'test') {
// 添加 webpack 插件
webpackConfig.plugins?.push(new SpeedMeasurePlugin());
}
return webpackConfig;
},
}));

cssModules

  • 类型:{ localIdentName: string }
  • 默认值:{}

构建 cssModules 时,定制 class 名称的生成规则,配置参考 https://webpack.js.org/loaders/css-loader/#localidentname

例如,配置 '[hash:8]' 可以只保留 hash 值,以精简 HTML 大小及 CSS 文件大小。默认情况 className="custom-head-tab-wrap" 会被构建为 class="custom-head-tab-wrap--rAEgGaqM",自定义构建规则后后样式名会被精简为 class="rAEgGaqM"

import { defineConfig } from '@ice/app';

export default defineConfig(() => ({
cssModules: {
localIdentName: '[hash:8]'
},
}));

如有定制需求欢迎👏 PR 或反馈:https://github.com/alibaba/ice/issues

+ + \ No newline at end of file diff --git a/docs/guide/basic/data-loader/index.html b/docs/guide/basic/data-loader/index.html index e1f09ec309..533aea8a6b 100644 --- a/docs/guide/basic/data-loader/index.html +++ b/docs/guide/basic/data-loader/index.html @@ -3,14 +3,14 @@ -数据加载 | 飞冰 ICE - - +数据加载 | 飞冰 ICE + +
-

数据加载

设计理念

框架对页面数据加载的编码规范做出了约定,来最大限度的提前页面的数据加载时机。

  • 在传统的编码模式下,数据请求一般在组件内部发起,依赖于业务 Bundle 的加载解析执行,整个过程是串行、阻塞的。
  • 而在 ice.js 中,页面的数据请求会由框架(或容器)统一发起,和业务 Bundle 的加载解析是并行、不阻塞的。

基于这种模式开发的页面,天然获得了更好的性能体验。

常规的 React 应用,一般都会在组件首次 useEffect 时发起数据请求。这种组织方式,数据请求会在页面完成首次渲染后才发起,请求的时机是非常滞后的。

src/pages/index.tsx
import { useState, useEffect } from 'react';

export default function Home() {
const [data, setData] = useState();

useEffect(async () => {
const data = await fetch('https://example.com/api/xxx');

setData(data);
}, [])

return (
<>
<div>Hello ICE</div>
<div>{JSON.stringify(data)}</div>
</>
);
};

在 ice.js 中,我们推荐将页面的的数据请求和 UI 实现解耦,通过 dataLoader 来定义页面的数据请求。示例:

src/pages/index.tsx
import { useData, defineDataLoader } from 'ice';

// 页面组件的 UI 实现
export default function Home() {
const data = useData();

return (
<>
<div>Hello ICE</div>
<div>{JSON.stringify(data)}</div>
</>
);
};

// 页面的数据请求
export const dataLoader = defineDataLoader(async () => {
const data = await fetch('https://example.com/api/xxx');
return data;
});

通过 dataLoader 导出的数据请求,会由框架在进入页面时发起,和业务 Bundle 的加载解析是并行的。在支持预请求的容器下(例如 PHA),数据请求还可以被进一步的提升为预请求。

同一个项目,两种不同写法,数据请求发起时机的差异对比如下(测试环境 chrome slow 3G):

信息

在 dataLoader 应避免处理 UI 相关逻辑,或引入较大的依赖,以确保 dataLoader 的构建产物足够小

受小程序环境限制,通过 dataLoader 定义的应用级数据加载将在 ApponLaunch 生命周期中进行,页面级数据加载则会在 PageonLoad 生命周期中,二者均会阻塞页面的 UI 渲染。如果这不是你想要的效果,请按照常规方式进行数据请求。(比如在组件首次 useEffect 时发起数据请求)

异步消费数据

默认情况下,页面会等待数据请求完成后,再开始渲染,在数据接口比较快的情况下,这可以避免页面的二次渲染。

如果数据接口较慢,也可以选择先渲染不依赖于动态数据的部分,待数据回来后,再重新渲染依赖数据的页面内容。

具体做法如下:

    1. 在定义 dataLoader 时标记 defer: true
    1. 在消费数据时,使用 Await 组件包裹依赖于数据的页面内容
src/pages/index.tsx
import { useData, defineDataLoader, Await } from 'ice';

// 页面组件的 UI 实现
export default function Home() {
const data = useData();

return (
<>
<div>Hello ICE</div>
<Await resolve={data} fallback={<div>loading...</div>} errorElement={<div>Error!</div>} />
{
(data) => <div>{JSON.stringify(data)}</div>
}
</Await>
</>
);
};

// 在定义 dataLoader 时标记 defer: true
export const dataLoader = defineDataLoader(async () => {
const data = await fetch('https://example.com/api/xxx');
return data;
}, { defer: true });

注意:

  • 当 dataLoader 被声明为异步时,useData 返回的内容不可直接消费,需由 Await 组件处理

Await 组件接收三个参数

  • resolve 数据请求对象
  • fallback 数据加载过程中展示的 UI
  • errorElement 请求失败时展示的 UI

静态 dataLoader

当开发者希望通过统一的发送函数处理静态配置以完成 dataLoader 时,可以通过自定义 fetcher 以完成发送逻辑的统一封装,在 dataLoader 中只需要传递一份配置即可。

export const dataLoader = defineDataLoader({
api: 'xxx',
options: {}
});

通过 defineConfig 配置 dataLoader 配置以自定义 fetcher

ice.config.mts
export default defineConfig(() => ({
dataLoader: {
fetcher: {
packageName: '@ice/custom-fetcher-lib', // 统一处理静态 dataLoader 的 NPM 包
method: 'request', // NPM 包导出的方法
},
},
}));

最终构建后会呈现以下形式:

import { request as fetcher } '@ice/custom-fetcher-lib';

fetcher({
api: 'xxx',
options: {}
});

使用示例

示例工程

页面级数据加载

页面路由组件或 layout 组件,都支持通过导出 dataLoader 来声明各自的数据请求。

下面是一个最基础的页面级数据请求示例:

  • 通过 defineDataLoader 定义了页面数据请求的具体实现,并导出为 dataLoader
  • 通过 useData 方法,在组件侧获取和消费数据。
src/pages/index.tsx
import { useData, defineDataLoader } from 'ice';

export default function Home() {
const data = useData();

return (
<>
<div>Hello ICE</div>
<div>{JSON.stringify(data)}</div>
</>
);
};

export const dataLoader = defineDataLoader(async (ctx) => {
console.log(ctx.pathname);
console.log(ctx.query);

const data = await fetch('https://example.com/api/xxx');
return data;
});

defineDataLoader 支持传入 Function,来定义页面数据请求的具体实现,其入参 ctx 包含:

  • pathname: string, 当前页面的路径名。
  • query: object, 当前页面的 query 信息,会被提前解析。

返回值为希望传给页面组件的具体数据,类型支持 Data | Promise<Data>

应用级数据加载

如果是应用级的数据加载,可以在应用入口 src/app.ts 中定义并导出 dataLoader 方法,来注册数据加载逻辑。示例:

src/app.ts
import { defineDataLoader } from 'ice';

// ...

export const dataLoader = defineDataLoader(async () => {
const data = await fetch('https://example.com/api/xxx');
return data;
});

在页面或其他组件中,可以通过 useAppData 方法获取应用级数据。示例:

import { useAppData } from 'ice';

export default function Home(props) {
const appData = useAppData();

// ...
}

多个数据请求

如果页面需要同时发起多个数据请求,首先推荐使用嵌套路由来组织页面内容,将不同区块的数据请求,放到不同路由组件下来注册。

如果多个数据请求属于同一个路由组件,则可以在 defineDataLoader 时,以数组的方式传入数据请求实现。示例:

import { useData, defineDataLoader } from 'ice';

export default function Home() {
const [userInfo, itemInfo] = useData();

return (
<>
<div>Hello {userInfo?.name}</div>
<div>{JSON.stringify(itemInfo)}</div>
</>
);
};

export const dataLoader = defineDataLoader([
async () => {
const userInfo = await fetch('https://example.com/api/userInfo');
return userInfo;
},
async (ctx) => {
const itemInfo = await fetch(`https://example.com/api/itemInfo${ctx?.query?.itemId}`);
return itemInfo;
},
]);

多个数据请求的情况下,useData 获取的数据也对应的为数组,数组元素和 dataLoader 中定义的数据请求的返回值一一对应。

如果 dataLoader 被声明为异步,消费时可以分别 Await 不同的数据,这样可以做到先返回的数据,先渲染。

import { useData, defineDataLoader } from 'ice';

export default function Home() {
const [userInfo, itemInfo] = useData();

return (
<>
<Await resolve={userInfo}>
{ (data) => <div>Hello {data?.name}</div> }
</Await>
<Await resolve={itemInfo}>
{ (data) => <div>{JSON.stringify(data)}</div> }
</Await>
</Await>
);
};

export const dataLoader = defineDataLoader([
async () => {
const useInfo = await fetch('https://example.com/api/userInfo');
return useInfo;
},
async (ctx) => {
const itemInfo = await fetch(`https://example.com/api/itemInfo${ctx?.query?.itemId}`);
return itemInfo;
},
], { defer: true });
- - +

数据加载

设计理念

框架对页面数据加载的编码规范做出了约定,来最大限度的提前页面的数据加载时机。

  • 在传统的编码模式下,数据请求一般在组件内部发起,依赖于业务 Bundle 的加载解析执行,整个过程是串行、阻塞的。
  • 而在 ice.js 中,页面的数据请求会由框架(或容器)统一发起,和业务 Bundle 的加载解析是并行、不阻塞的。

基于这种模式开发的页面,天然获得了更好的性能体验。

常规的 React 应用,一般都会在组件首次 useEffect 时发起数据请求。这种组织方式,数据请求会在页面完成首次渲染后才发起,请求的时机是非常滞后的。

src/pages/index.tsx
import { useState, useEffect } from 'react';

export default function Home() {
const [data, setData] = useState();

useEffect(async () => {
const data = await fetch('https://example.com/api/xxx');

setData(data);
}, [])

return (
<>
<div>Hello ICE</div>
<div>{JSON.stringify(data)}</div>
</>
);
};

在 ice.js 中,我们推荐将页面的的数据请求和 UI 实现解耦,通过 dataLoader 来定义页面的数据请求。示例:

src/pages/index.tsx
import { useData, defineDataLoader } from 'ice';

// 页面组件的 UI 实现
export default function Home() {
const data = useData();

return (
<>
<div>Hello ICE</div>
<div>{JSON.stringify(data)}</div>
</>
);
};

// 页面的数据请求
export const dataLoader = defineDataLoader(async () => {
const data = await fetch('https://example.com/api/xxx');
return data;
});

通过 dataLoader 导出的数据请求,会由框架在进入页面时发起,和业务 Bundle 的加载解析是并行的。在支持预请求的容器下(例如 PHA),数据请求还可以被进一步的提升为预请求。

同一个项目,两种不同写法,数据请求发起时机的差异对比如下(测试环境 chrome slow 3G):

信息

在 dataLoader 应避免处理 UI 相关逻辑,或引入较大的依赖,以确保 dataLoader 的构建产物足够小

受小程序环境限制,通过 dataLoader 定义的应用级数据加载将在 ApponLaunch 生命周期中进行,页面级数据加载则会在 PageonLoad 生命周期中,二者均会阻塞页面的 UI 渲染。如果这不是你想要的效果,请按照常规方式进行数据请求。(比如在组件首次 useEffect 时发起数据请求)

异步消费数据

默认情况下,页面会等待数据请求完成后,再开始渲染,在数据接口比较快的情况下,这可以避免页面的二次渲染。

如果数据接口较慢,也可以选择先渲染不依赖于动态数据的部分,待数据回来后,再重新渲染依赖数据的页面内容。

具体做法如下:

    1. 在定义 dataLoader 时标记 defer: true
    1. 在消费数据时,使用 Await 组件包裹依赖于数据的页面内容
src/pages/index.tsx
import { useData, defineDataLoader, Await } from 'ice';

// 页面组件的 UI 实现
export default function Home() {
const data = useData();

return (
<>
<div>Hello ICE</div>
<Await resolve={data} fallback={<div>loading...</div>} errorElement={<div>Error!</div>} />
{
(data) => <div>{JSON.stringify(data)}</div>
}
</Await>
</>
);
};

// 在定义 dataLoader 时标记 defer: true
export const dataLoader = defineDataLoader(async () => {
const data = await fetch('https://example.com/api/xxx');
return data;
}, { defer: true });

注意:

  • 当 dataLoader 被声明为异步时,useData 返回的内容不可直接消费,需由 Await 组件处理

Await 组件接收三个参数

  • resolve 数据请求对象
  • fallback 数据加载过程中展示的 UI
  • errorElement 请求失败时展示的 UI

静态 dataLoader

当开发者希望通过统一的发送函数处理静态配置以完成 dataLoader 时,可以通过自定义 fetcher 以完成发送逻辑的统一封装,在 dataLoader 中只需要传递一份配置即可。

export const dataLoader = defineDataLoader({
api: 'xxx',
options: {}
});

通过 defineConfig 配置 dataLoader 配置以自定义 fetcher

ice.config.mts
export default defineConfig(() => ({
dataLoader: {
fetcher: {
packageName: '@ice/custom-fetcher-lib', // 统一处理静态 dataLoader 的 NPM 包
method: 'request', // NPM 包导出的方法
},
},
}));

最终构建后会呈现以下形式:

import { request as fetcher } '@ice/custom-fetcher-lib';

fetcher({
api: 'xxx',
options: {}
});

使用示例

示例工程

页面级数据加载

页面路由组件或 layout 组件,都支持通过导出 dataLoader 来声明各自的数据请求。

下面是一个最基础的页面级数据请求示例:

  • 通过 defineDataLoader 定义了页面数据请求的具体实现,并导出为 dataLoader
  • 通过 useData 方法,在组件侧获取和消费数据。
src/pages/index.tsx
import { useData, defineDataLoader } from 'ice';

export default function Home() {
const data = useData();

return (
<>
<div>Hello ICE</div>
<div>{JSON.stringify(data)}</div>
</>
);
};

export const dataLoader = defineDataLoader(async (ctx) => {
console.log(ctx.pathname);
console.log(ctx.query);

const data = await fetch('https://example.com/api/xxx');
return data;
});

defineDataLoader 支持传入 Function,来定义页面数据请求的具体实现,其入参 ctx 包含:

  • pathname: string, 当前页面的路径名。
  • query: object, 当前页面的 query 信息,会被提前解析。

返回值为希望传给页面组件的具体数据,类型支持 Data | Promise<Data>

应用级数据加载

如果是应用级的数据加载,可以在应用入口 src/app.ts 中定义并导出 dataLoader 方法,来注册数据加载逻辑。示例:

src/app.ts
import { defineDataLoader } from 'ice';

// ...

export const dataLoader = defineDataLoader(async () => {
const data = await fetch('https://example.com/api/xxx');
return data;
});

在页面或其他组件中,可以通过 useAppData 方法获取应用级数据。示例:

import { useAppData } from 'ice';

export default function Home(props) {
const appData = useAppData();

// ...
}

多个数据请求

如果页面需要同时发起多个数据请求,首先推荐使用嵌套路由来组织页面内容,将不同区块的数据请求,放到不同路由组件下来注册。

如果多个数据请求属于同一个路由组件,则可以在 defineDataLoader 时,以数组的方式传入数据请求实现。示例:

import { useData, defineDataLoader } from 'ice';

export default function Home() {
const [userInfo, itemInfo] = useData();

return (
<>
<div>Hello {userInfo?.name}</div>
<div>{JSON.stringify(itemInfo)}</div>
</>
);
};

export const dataLoader = defineDataLoader([
async () => {
const userInfo = await fetch('https://example.com/api/userInfo');
return userInfo;
},
async (ctx) => {
const itemInfo = await fetch(`https://example.com/api/itemInfo${ctx?.query?.itemId}`);
return itemInfo;
},
]);

多个数据请求的情况下,useData 获取的数据也对应的为数组,数组元素和 dataLoader 中定义的数据请求的返回值一一对应。

如果 dataLoader 被声明为异步,消费时可以分别 Await 不同的数据,这样可以做到先返回的数据,先渲染。

import { useData, defineDataLoader } from 'ice';

export default function Home() {
const [userInfo, itemInfo] = useData();

return (
<>
<Await resolve={userInfo}>
{ (data) => <div>Hello {data?.name}</div> }
</Await>
<Await resolve={itemInfo}>
{ (data) => <div>{JSON.stringify(data)}</div> }
</Await>
</Await>
);
};

export const dataLoader = defineDataLoader([
async () => {
const useInfo = await fetch('https://example.com/api/userInfo');
return useInfo;
},
async (ctx) => {
const itemInfo = await fetch(`https://example.com/api/itemInfo${ctx?.query?.itemId}`);
return itemInfo;
},
], { defer: true });
+ + \ No newline at end of file diff --git a/docs/guide/basic/development/index.html b/docs/guide/basic/development/index.html index 858b86abf3..cb06bf4a20 100644 --- a/docs/guide/basic/development/index.html +++ b/docs/guide/basic/development/index.html @@ -3,14 +3,14 @@ -开发环境 | 飞冰 ICE - - +开发环境 | 飞冰 ICE + +
-

开发环境

本文讲述在开发应用前如何安装最小开发环境。

Node.js

开发前端应用前需要安装 Node.js,并确保 node 版本是 14.x 或以上。推荐使用 nvm(Windows 下使用 nvm-windows) 或者 fnm 来管理 node 版本。下面以在 mac 下安装 nvm 为例:

$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
# 安装 node 14 版本
$ nvm install 14
# 使用 node 14
$ nvm use 14
# 验证 node 是否安装成功
$ node -v
v14.19.3

包管理工具

安装 Node.js 后,默认会包含 npm。除此以外,还有其他的包管理工具:

安装 pnpm 示例如下:

$ npm i pnpm -g --register=https://registry.npmmirror.com/
# 验证 pnpm 是否安装成功
$ pnpm -v
7.1.7

如果经常需要切换 npm 镜像源,推荐使用 nrm 进行管理:

$ npm install -g nrm
# 验证 nrm 是否安装成功
$ nrm --version
# 查看所有镜像源
$ nrm ls
# 推荐使用淘宝镜像源
nrm use taobao

IDE

推荐使用 IDE 进行前端应用开发和调试,会有更好的调试体验。目前比较流行的 IDE 有:

小程序开发者工具

目前小程序开发调试均需使用对应的开发者工具,在此附上小程序开发者工具下载链接:

- - +

开发环境

本文讲述在开发应用前如何安装最小开发环境。

Node.js

开发前端应用前需要安装 Node.js,并确保 node 版本是 14.x 或以上。推荐使用 nvm(Windows 下使用 nvm-windows) 或者 fnm 来管理 node 版本。下面以在 mac 下安装 nvm 为例:

$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
# 安装 node 14 版本
$ nvm install 14
# 使用 node 14
$ nvm use 14
# 验证 node 是否安装成功
$ node -v
v14.19.3

包管理工具

安装 Node.js 后,默认会包含 npm。除此以外,还有其他的包管理工具:

安装 pnpm 示例如下:

$ npm i pnpm -g --register=https://registry.npmmirror.com/
# 验证 pnpm 是否安装成功
$ pnpm -v
7.1.7

如果经常需要切换 npm 镜像源,推荐使用 nrm 进行管理:

$ npm install -g nrm
# 验证 nrm 是否安装成功
$ nrm --version
# 查看所有镜像源
$ nrm ls
# 推荐使用淘宝镜像源
nrm use taobao

IDE

推荐使用 IDE 进行前端应用开发和调试,会有更好的调试体验。目前比较流行的 IDE 有:

小程序开发者工具

目前小程序开发调试均需使用对应的开发者工具,在此附上小程序开发者工具下载链接:

+ + \ No newline at end of file diff --git a/docs/guide/basic/directory/index.html b/docs/guide/basic/directory/index.html index f076681f49..ba49e380c9 100644 --- a/docs/guide/basic/directory/index.html +++ b/docs/guide/basic/directory/index.html @@ -3,14 +3,14 @@ -目录结构 | 飞冰 ICE - - +目录结构 | 飞冰 ICE + +
-

目录结构

ice.js 的默认应用目录提供了良好的代码分层结构,约定的目录结构如下:

├── build            // 构建产物目录
├── mock // 本地模拟数据
│ ├── index.ts
├── public // 静态资源目录
│ └── favicon.ico // Favicon 图标
├── src // 源码目录
│ ├── components // 自定义业务组件
│ ├── pages // 路由页面组件
| | ├── about.tsx
| | ├── home.tsx
| | └── layout.tsx // 全局布局组件
│ ├── global.css // 全局样式
│ ├── document.tsx // HTML 模板
│ └── app.ts // 应用入口
├── .env // 环境变量配置文件
├── ice.config.mts // 构建配置
├── package.json
└── tsconfig.json // TypeScript 配置文件

package.json

声明应用所需要的各种依赖或者插件,以及配置信息(比如名称、版本、许可证等元数据)。

ice.config.mts

应用的构建配置文件。详见 构建配置

.env

配置环境变量。详见 环境变量

tsconfig.json

TypeScript 编译所需的配置文件。

mock 目录

存放 mock 文件,用于本地模拟请求数据服务。详见 Mock

public 目录

用于存放静态资源(如 favicon.ico)的目录,此目录下所有的文件会被复制到构建产物目录中。

src 目录

用于存放源码的目录

app.ts

项目的入口文件,用于对应用进行全局运行时配置,包括路由、添加 Provider 等。详见应用入口

document.tsx

HTML 模板,使用 JSX 语法来描述,与 index.html 类似用于生成 HTML 产物。详见 Document

global.[css|scss|less]

全局的样式配置,框架默认会引入该文件。详见样式方案

pages 目录

存放路由组件的目录。ice.js 使用约定式路由,会自动根据文件生成路由规则,详见路由

components 目录

项目通用的组件目录,推荐的目录形式如下:

src
├── components
| └── Guide
| ├── index.module.css
| └── index.tsx

组件通常会在路由组件中被引入。

其它

  • build 目录
    • 运行 npm build 后的构建产物目录,可修改构建配置修改输出路径。
  • .ice 目录
    • 运行 ice.js 项目时默认生成的临时目录,该目录不需要进行 git 提交。
- - +

目录结构

ice.js 的默认应用目录提供了良好的代码分层结构,约定的目录结构如下:

├── build            // 构建产物目录
├── mock // 本地模拟数据
│ ├── index.ts
├── public // 静态资源目录
│ └── favicon.ico // Favicon 图标
├── src // 源码目录
│ ├── components // 自定义业务组件
│ ├── pages // 路由页面组件
| | ├── about.tsx
| | ├── home.tsx
| | └── layout.tsx // 全局布局组件
│ ├── global.css // 全局样式
│ ├── document.tsx // HTML 模板
│ └── app.ts // 应用入口
├── .env // 环境变量配置文件
├── ice.config.mts // 构建配置
├── package.json
└── tsconfig.json // TypeScript 配置文件

package.json

声明应用所需要的各种依赖或者插件,以及配置信息(比如名称、版本、许可证等元数据)。

ice.config.mts

应用的构建配置文件。详见 构建配置

.env

配置环境变量。详见 环境变量

tsconfig.json

TypeScript 编译所需的配置文件。

mock 目录

存放 mock 文件,用于本地模拟请求数据服务。详见 Mock

public 目录

用于存放静态资源(如 favicon.ico)的目录,此目录下所有的文件会被复制到构建产物目录中。

src 目录

用于存放源码的目录

app.ts

项目的入口文件,用于对应用进行全局运行时配置,包括路由、添加 Provider 等。详见应用入口

document.tsx

HTML 模板,使用 JSX 语法来描述,与 index.html 类似用于生成 HTML 产物。详见 Document

global.[css|scss|less]

全局的样式配置,框架默认会引入该文件。详见样式方案

pages 目录

存放路由组件的目录。ice.js 使用约定式路由,会自动根据文件生成路由规则,详见路由

components 目录

项目通用的组件目录,推荐的目录形式如下:

src
├── components
| └── Guide
| ├── index.module.css
| └── index.tsx

组件通常会在路由组件中被引入。

其它

  • build 目录
    • 运行 npm build 后的构建产物目录,可修改构建配置修改输出路径。
  • .ice 目录
    • 运行 ice.js 项目时默认生成的临时目录,该目录不需要进行 git 提交。
+ + \ No newline at end of file diff --git a/docs/guide/basic/document/index.html b/docs/guide/basic/document/index.html index 6f30fbf802..efbad8a93c 100644 --- a/docs/guide/basic/document/index.html +++ b/docs/guide/basic/document/index.html @@ -3,14 +3,14 @@ -定制 HTML | 飞冰 ICE - - +定制 HTML | 飞冰 ICE + +
-

定制 HTML

提示

小程序端不支持该能力。

ice.js 使用 JSX 维护页面的 HTML 模板结构,其入口位于 src/document.tsx

初始模板

Document 的初始模板如下:

import { Meta, Title, Links, Main, Scripts } from 'ice';

function Document() {
return (
<html>
<head>
<meta charSet="utf-8" />
<meta name="description" content="ice.js DEMO" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<Meta />
<Title />
<Links />
</head>
<body>
<Main />
<Scripts />
</body>
</html>
);
}

export default Document;

默认引入了以下组件:

  • <Meta />:页面的元信息
  • <Title /> 页面的标题信息
  • <Links /> 页面面依赖的 CSS 资源及其他 link 标签
  • <Scripts /> 页面依赖的 JS 资源
  • <Main /> 页面渲染的容器节点

这些组件,配合各路由组件的 pageConfig 配置,可以实现不同页面 HTML 模板的差异化渲染。

内容定制

添加 HTML 元素

就像开发其他 React 组件一样,可以在 Document 组件内插入自定义的其它 JSX 内容。例如:

<body>
<div>hello</div>
<Main />
<Scripts />
<script src="xxx.js" />
</body>
警告

注意: 在 <Scripts /> 前插入外部资源,会阻塞主 Bundle 的解析执行,影响页面性能。

添加内联代码

另外,由于 Document 使用的是 JSX 语法,而非普通的 HTML。在 <style /><script /> 元素中添加内联代码需要结合 dangerouslySetInnerHTML 的方式,示例如下:

<style dangerouslySetInnerHTML={{__html: `
p {
color: red;
font-size: 20px;
}
`}}>
</style>

<script type="text/javascript" dangerouslySetInnerHTML={{__html: `
console.log("Hello World!")
`}}>
</script>

定制不同页面的 HTML

可以通过 props.pagePath 参数(当前页面的路由地址)区分页面并差异化渲染 HTML:

function Document({ pagePath }) {
return (
<html>
<body>
...
<script crossOrigin="anonymous" src={pagePath === '/' ? 'a.js' : 'b.js' } />
</body>
</html>
);
}
提示

script 标签中添加 crossOrigin="anonymous" 有助于错误分析器获取到跨域的全局异常。

自定义标签渲染逻辑

如果想自定义如 Scripts 等组件的渲染行为,比如希望 <script> 标签的行为是内联代码而不是通过 src 来异步拉取的,则可以通过 ScriptsLink 等组件暴露的方法来自定义组件的行为。

自定义 Scripts:

import { Main, Scripts } from 'ice';

function Document() {
return (
<html>
<head></head>
<body>
<Main />
<Scripts ScriptElement={(props) => {
return <script {...props} >
console.log('custom script');
</script>;
}}
/>
</body>
</html>
);
}
import { Links, Main } from 'ice';

function Document() {
return (
<html>
<head>
<Links LinkElement={(props) => {
return <link {...props} ></link>;
}}
/>
</head>
<body>
<Main />
</body>
</html>
);
}

自定义 Title

import { Title, Main } from 'ice';

function Document() {
return (
<html>
<head>
<Title TitleElement={(props) => {
return <title {...props} ></title>;
}}
/>
</head>
<body>
<Main />
</body>
</html>
);
}

自定义 Meta

import { Meta, Main } from 'ice';

function Document() {
return (
<html>
<head>
<Meta MetaElement={(props) => {
return <meta {...props} ></meta>;
}}
/>
</head>
<body>
<Main />
</body>
</html>
);
}

usePageAssets

获取当前页面的所有 Assets 资源,包含 CSS 和 JS。

src/document.ts
import { usePageAssets } from 'ice';

function Document() {
const pageAssets = usePageAssets();
const pageScripts = pageAssets.filter(src => src.indexOf('.js') > -1);

console.log(pageScripts);

return (
<html>
<head>
</head>
<body>
<Main />
</body>
</html>
);
}
- - +

定制 HTML

提示

小程序端不支持该能力。

ice.js 使用 JSX 维护页面的 HTML 模板结构,其入口位于 src/document.tsx

初始模板

Document 的初始模板如下:

import { Meta, Title, Links, Main, Scripts } from 'ice';

function Document() {
return (
<html>
<head>
<meta charSet="utf-8" />
<meta name="description" content="ice.js DEMO" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<Meta />
<Title />
<Links />
</head>
<body>
<Main />
<Scripts />
</body>
</html>
);
}

export default Document;

默认引入了以下组件:

  • <Meta />:页面的元信息
  • <Title /> 页面的标题信息
  • <Links /> 页面面依赖的 CSS 资源及其他 link 标签
  • <Scripts /> 页面依赖的 JS 资源
  • <Main /> 页面渲染的容器节点

这些组件,配合各路由组件的 pageConfig 配置,可以实现不同页面 HTML 模板的差异化渲染。

内容定制

添加 HTML 元素

就像开发其他 React 组件一样,可以在 Document 组件内插入自定义的其它 JSX 内容。例如:

<body>
<div>hello</div>
<Main />
<Scripts />
<script src="xxx.js" />
</body>
警告

注意: 在 <Scripts /> 前插入外部资源,会阻塞主 Bundle 的解析执行,影响页面性能。

添加内联代码

另外,由于 Document 使用的是 JSX 语法,而非普通的 HTML。在 <style /><script /> 元素中添加内联代码需要结合 dangerouslySetInnerHTML 的方式,示例如下:

<style dangerouslySetInnerHTML={{__html: `
p {
color: red;
font-size: 20px;
}
`}}>
</style>

<script type="text/javascript" dangerouslySetInnerHTML={{__html: `
console.log("Hello World!")
`}}>
</script>

定制不同页面的 HTML

可以通过 props.pagePath 参数(当前页面的路由地址)区分页面并差异化渲染 HTML:

function Document({ pagePath }) {
return (
<html>
<body>
...
<script crossOrigin="anonymous" src={pagePath === '/' ? 'a.js' : 'b.js' } />
</body>
</html>
);
}
提示

script 标签中添加 crossOrigin="anonymous" 有助于错误分析器获取到跨域的全局异常。

自定义标签渲染逻辑

如果想自定义如 Scripts 等组件的渲染行为,比如希望 <script> 标签的行为是内联代码而不是通过 src 来异步拉取的,则可以通过 ScriptsLink 等组件暴露的方法来自定义组件的行为。

自定义 Scripts:

import { Main, Scripts } from 'ice';

function Document() {
return (
<html>
<head></head>
<body>
<Main />
<Scripts ScriptElement={(props) => {
return <script {...props} >
console.log('custom script');
</script>;
}}
/>
</body>
</html>
);
}
import { Links, Main } from 'ice';

function Document() {
return (
<html>
<head>
<Links LinkElement={(props) => {
return <link {...props} ></link>;
}}
/>
</head>
<body>
<Main />
</body>
</html>
);
}

自定义 Title

import { Title, Main } from 'ice';

function Document() {
return (
<html>
<head>
<Title TitleElement={(props) => {
return <title {...props} ></title>;
}}
/>
</head>
<body>
<Main />
</body>
</html>
);
}

自定义 Meta

import { Meta, Main } from 'ice';

function Document() {
return (
<html>
<head>
<Meta MetaElement={(props) => {
return <meta {...props} ></meta>;
}}
/>
</head>
<body>
<Main />
</body>
</html>
);
}

usePageAssets

获取当前页面的所有 Assets 资源,包含 CSS 和 JS。

src/document.ts
import { usePageAssets } from 'ice';

function Document() {
const pageAssets = usePageAssets();
const pageScripts = pageAssets.filter(src => src.indexOf('.js') > -1);

console.log(pageScripts);

return (
<html>
<head>
</head>
<body>
<Main />
</body>
</html>
);
}
+ + \ No newline at end of file diff --git a/docs/guide/basic/env/index.html b/docs/guide/basic/env/index.html index b491d719fa..4a2013f21d 100644 --- a/docs/guide/basic/env/index.html +++ b/docs/guide/basic/env/index.html @@ -3,14 +3,14 @@ -环境变量 | 飞冰 ICE - - +环境变量 | 飞冰 ICE + +
-

环境变量

ice.js 内置通过环境变量实现给构建或运行时传递参数的功能。

  • 使用 .env 文件来配置环境变量
  • 配置 ICE_ 开头的环境变量则会同时暴露到运行时环境中

如何配置环境变量

命令行环境变量

例如需要修改 ice.js 本地开发服务的端口号,可以在命令行中使用环境变量:

$ cross-env PORT=9999 npm start

示例中使用了 cross-env 来兼容不容操作系统的环境变量配置方式。

使用 .env 文件

ice.js 内置了加载 .env 文件的支持,在该文件中设置的环境变量会被自动加载到 process.env 上。

.env 文件的示例:

DEV_PORT=3000
FOO=bar

如果有部分环境变量的配置在本地有差异,你可以配置在 .env.local 文件中去覆盖 .env 中的配置。如在之前的 .env 的基础上, 你想本地开发覆盖之前 3000 端口, 而使用 9999 端口,示例如下:

# The .env.local should not be committed.
DEV_PORT=9999

此外你也可以在 .env.${mode}.env.${mode}.local 文件中指定不同模式下的环境变量。${mode} 的取值是 developmentproduction

需要注意的是:

  1. 这几个文件的优先级由低至高分别是
  • .env
  • .env.local
  • .env.${mode}
  • .env.${mode}.local
  1. 一般不建议将 .local 结尾的文件加入版本管理 (如 Git) 中。

使用环境变量

在 ice.js 中,环境变量的使用场景分构建时与运行时两种类型。

特别注意:环境变量在使用时的类型都是 string,特别是设置为 truefalse 时需要注意判断为字符串类型:

// ICE_DISABLE_FOO=false
if (process.env.ICE_DISABLE_FOO === 'false') {
// ...
}

构建时

默认情况下,所有设置的环境变量都会被注入到构建环境,你可以在 ice.config.mts 文件或其它构建插件中通过 process.env 变量访问。

const port = process.env.PORT;
// ...

运行时

默认情况下环境变量是不能在运行时访问的,如若需要在浏览器环境中访问,可以在设置环境变量时增加前缀:ICE_,如:

# File .env
ICE_APP_ID=123456

在运行时代码中访问:

import React from 'react';

export default function AppID() {
return <h1>AppId is {process.env.ICE_APP_ID}.</h1>
}

内置的环境变量

ice.js 会内置一些环境变量方便使用,通常由 ICE_CORE_ 开头,如下:

ICE_CORE_MODE

用于 ice.js 的运行模式,可能是 developmentproduction

ICE_CORE_ROUTER

用于标识框架是否启用路由,可能是 truefalse

ICE_CORE_ERROR_BOUNDARY

用于标识框架是否启用错误边界,可能是 truefalse

ICE_CORE_INITIAL_DATA

用于标识框架是否启用初始数据,可能是 truefalse

ICE_CORE_DEV_PORT

用于标识 ice.js 的开发服务器端口号。

- - +

环境变量

ice.js 内置通过环境变量实现给构建或运行时传递参数的功能。

  • 使用 .env 文件来配置环境变量
  • 配置 ICE_ 开头的环境变量则会同时暴露到运行时环境中

如何配置环境变量

命令行环境变量

例如需要修改 ice.js 本地开发服务的端口号,可以在命令行中使用环境变量:

$ cross-env PORT=9999 npm start

示例中使用了 cross-env 来兼容不容操作系统的环境变量配置方式。

使用 .env 文件

ice.js 内置了加载 .env 文件的支持,在该文件中设置的环境变量会被自动加载到 process.env 上。

.env 文件的示例:

DEV_PORT=3000
FOO=bar

如果有部分环境变量的配置在本地有差异,你可以配置在 .env.local 文件中去覆盖 .env 中的配置。如在之前的 .env 的基础上, 你想本地开发覆盖之前 3000 端口, 而使用 9999 端口,示例如下:

# The .env.local should not be committed.
DEV_PORT=9999

此外你也可以在 .env.${mode}.env.${mode}.local 文件中指定不同模式下的环境变量。${mode} 的取值是 developmentproduction

需要注意的是:

  1. 这几个文件的优先级由低至高分别是
  • .env
  • .env.local
  • .env.${mode}
  • .env.${mode}.local
  1. 一般不建议将 .local 结尾的文件加入版本管理 (如 Git) 中。

使用环境变量

在 ice.js 中,环境变量的使用场景分构建时与运行时两种类型。

特别注意:环境变量在使用时的类型都是 string,特别是设置为 truefalse 时需要注意判断为字符串类型:

// ICE_DISABLE_FOO=false
if (process.env.ICE_DISABLE_FOO === 'false') {
// ...
}

构建时

默认情况下,所有设置的环境变量都会被注入到构建环境,你可以在 ice.config.mts 文件或其它构建插件中通过 process.env 变量访问。

const port = process.env.PORT;
// ...

运行时

默认情况下环境变量是不能在运行时访问的,如若需要在浏览器环境中访问,可以在设置环境变量时增加前缀:ICE_,如:

# File .env
ICE_APP_ID=123456

在运行时代码中访问:

import React from 'react';

export default function AppID() {
return <h1>AppId is {process.env.ICE_APP_ID}.</h1>
}

内置的环境变量

ice.js 会内置一些环境变量方便使用,通常由 ICE_CORE_ 开头,如下:

ICE_CORE_MODE

用于 ice.js 的运行模式,可能是 developmentproduction

ICE_CORE_ROUTER

用于标识框架是否启用路由,可能是 truefalse

ICE_CORE_ERROR_BOUNDARY

用于标识框架是否启用错误边界,可能是 truefalse

ICE_CORE_INITIAL_DATA

用于标识框架是否启用初始数据,可能是 truefalse

ICE_CORE_DEV_PORT

用于标识 ice.js 的开发服务器端口号。

+ + \ No newline at end of file diff --git a/docs/guide/basic/mock/index.html b/docs/guide/basic/mock/index.html index 8fa9eb2b2c..41689b272b 100644 --- a/docs/guide/basic/mock/index.html +++ b/docs/guide/basic/mock/index.html @@ -3,14 +3,14 @@ -数据模拟 Mock | 飞冰 ICE - - +数据模拟 Mock | 飞冰 ICE + +
-

数据模拟 Mock

提示

小程序端不支持该能力。

在前后端分离的开发中,Mock 数据是前端开发中很重要的一个环节,前端可以不必强依赖后端接口,只需要约定好对应的数据接口,前端可以通过 Mock 模拟数据先行开发,在后端接口开发完成后,只需要切换对应的接口地址即可,可以保证项目的同步开发。

ice.js 提供了开箱即用的 Mock 方案,支持 CRUD 等操作,在启动本地调试时会自动启用 Mock 服务。

目录约定

只需要在项目目录下新建 /mock 目录,并增加 jsts 文件作为 mock 服务文件。比如有以下的目录结构:

├── mock
| ├── index.ts
| └── user.ts
├── src
└── package.json

mock 目录下的 index.tsuser.ts 会被识别为 Mock 服务文件。

如果某些文件不需要被 mock 服务解析,可以通过工程配置进行自定义:

ice.config.mts
import { defineConfig } from '@ice/app';

export default defineConfig(() => ({
mock: {
// 忽略 mock 目录中 custom 目录下的文件以及 api.ts 文件
exclude: ["custom/**", "api.ts"]
},
}));

编写 Mock 接口

在 mock 服务文件中写入以下代码:

./mock/user.ts
export default {
'GET /api/users': [
{ name: 'foo', id: 0 },
{ name: 'bar', id: 1 },
],
}

启动调试服务后,假设启动的端口是 3000,直接在浏览器里访问 http://127.0.0.1:3000/api/users 即可看到接口返回数据。

请求方法

默认支持 GET, POST, PUT, DELETE, PATCH, HEAD, OPTIONS 请求方法。示例代码如下:

export default {
// 当 HTTP 请求方法是 GET,可以省略请求方法
'/api/users': [{ name: 'foo', id: 1 }, { name: 'bar', id: 2 }],
// 等同于上面的写法
'GET /api/users': [{ name: 'foo', id: 1 }, { name: 'bar', id: 2 }],

'POST /api/user': { users: [1, 2] },

'DELETE /api/users/1': { name: 'foo' },
}

返回值

返回值支持 StringArrayObject 类型。比如:

export default {
// 返回值是 String 类型
'GET /api/name': 'foo',
// 返回值 Array 类型
'POST /api/users': [
{ name: 'foo', id: 0 },
{ name: 'bar', id: 1 },
],
// 返回值是 Object 类型
'DELETE /api/users/1': { name: 'bar', id: 1 },
}

除此以外,还可以使用函数的形式来计算返回值,这在需要动态返回接口数据时很有用,如:

import type { Request, Response } from '@ice/app';

export default {
'POST /api/users/:id': (request: Request, response: Response) => {
const { id } = request.params;
response.send({ id: id });
},
}

关闭 Mock

当后端接口开发完成以后。此时可以通过以下命令关闭 Mock 服务:

# 关闭 Mock 服务
$ npm run start -- --no-mock

这样我们可以请求到后端返回的数据了。

使用 Mock.js

Mock.js 是一个随机生成 mock 数据的工具库,可以帮助我们快速生成随机的模拟数据。

import Mock from 'mockjs';

export default {
'GET /api/list': (req, res) => {
const list = Mock.mock({
'list|1-10': [
{
'id|+1': 1,
},
],
});
res.send({
status: 'SUCCESS',
data: {
list,
}
});
},
};

完整的语法请参考 Mock.js 文档

处理请求数据

如果用户希望使用一些中间件来处理请求的数据(req 对象),可以参考以下的示例代码:

import bodyParser from 'body-parser';
import type { Request, Response } from 'express';

export default {
'POST /api/login': (req: Request, res: Response) => {
bodyParser.json({ limit: '5mb', strict: false })(req, res, () => {
console.log(req.body);

res.send({});
})
},
}
- - +

数据模拟 Mock

提示

小程序端不支持该能力。

在前后端分离的开发中,Mock 数据是前端开发中很重要的一个环节,前端可以不必强依赖后端接口,只需要约定好对应的数据接口,前端可以通过 Mock 模拟数据先行开发,在后端接口开发完成后,只需要切换对应的接口地址即可,可以保证项目的同步开发。

ice.js 提供了开箱即用的 Mock 方案,支持 CRUD 等操作,在启动本地调试时会自动启用 Mock 服务。

目录约定

只需要在项目目录下新建 /mock 目录,并增加 jsts 文件作为 mock 服务文件。比如有以下的目录结构:

├── mock
| ├── index.ts
| └── user.ts
├── src
└── package.json

mock 目录下的 index.tsuser.ts 会被识别为 Mock 服务文件。

如果某些文件不需要被 mock 服务解析,可以通过工程配置进行自定义:

ice.config.mts
import { defineConfig } from '@ice/app';

export default defineConfig(() => ({
mock: {
// 忽略 mock 目录中 custom 目录下的文件以及 api.ts 文件
exclude: ["custom/**", "api.ts"]
},
}));

编写 Mock 接口

在 mock 服务文件中写入以下代码:

./mock/user.ts
export default {
'GET /api/users': [
{ name: 'foo', id: 0 },
{ name: 'bar', id: 1 },
],
}

启动调试服务后,假设启动的端口是 3000,直接在浏览器里访问 http://127.0.0.1:3000/api/users 即可看到接口返回数据。

请求方法

默认支持 GET, POST, PUT, DELETE, PATCH, HEAD, OPTIONS 请求方法。示例代码如下:

export default {
// 当 HTTP 请求方法是 GET,可以省略请求方法
'/api/users': [{ name: 'foo', id: 1 }, { name: 'bar', id: 2 }],
// 等同于上面的写法
'GET /api/users': [{ name: 'foo', id: 1 }, { name: 'bar', id: 2 }],

'POST /api/user': { users: [1, 2] },

'DELETE /api/users/1': { name: 'foo' },
}

返回值

返回值支持 StringArrayObject 类型。比如:

export default {
// 返回值是 String 类型
'GET /api/name': 'foo',
// 返回值 Array 类型
'POST /api/users': [
{ name: 'foo', id: 0 },
{ name: 'bar', id: 1 },
],
// 返回值是 Object 类型
'DELETE /api/users/1': { name: 'bar', id: 1 },
}

除此以外,还可以使用函数的形式来计算返回值,这在需要动态返回接口数据时很有用,如:

import type { Request, Response } from '@ice/app';

export default {
'POST /api/users/:id': (request: Request, response: Response) => {
const { id } = request.params;
response.send({ id: id });
},
}

关闭 Mock

当后端接口开发完成以后。此时可以通过以下命令关闭 Mock 服务:

# 关闭 Mock 服务
$ npm run start -- --no-mock

这样我们可以请求到后端返回的数据了。

使用 Mock.js

Mock.js 是一个随机生成 mock 数据的工具库,可以帮助我们快速生成随机的模拟数据。

import Mock from 'mockjs';

export default {
'GET /api/list': (req, res) => {
const list = Mock.mock({
'list|1-10': [
{
'id|+1': 1,
},
],
});
res.send({
status: 'SUCCESS',
data: {
list,
}
});
},
};

完整的语法请参考 Mock.js 文档

处理请求数据

如果用户希望使用一些中间件来处理请求的数据(req 对象),可以参考以下的示例代码:

import bodyParser from 'body-parser';
import type { Request, Response } from 'express';

export default {
'POST /api/login': (req: Request, res: Response) => {
bodyParser.json({ limit: '5mb', strict: false })(req, res, () => {
console.log(req.body);

res.send({});
})
},
}
+ + \ No newline at end of file diff --git a/docs/guide/basic/page/index.html b/docs/guide/basic/page/index.html index 1bebda4060..8e109c5a48 100644 --- a/docs/guide/basic/page/index.html +++ b/docs/guide/basic/page/index.html @@ -3,14 +3,14 @@ -页面 | 飞冰 ICE - - +页面 | 飞冰 ICE + +
-

页面

每一张页面,都可以由 路由组件零或多个布局组件 组装而成。路由组件和布局组件的开发规范基本一致,可以包含以下内容:

  • 默认导出是组件的具体实现,必选。
  • 导出 dataLoader,约定页面的数据请求,可选。
  • 导出 pageConfig,约定页面的 TitleMeta 等信息,可选。

组件

对应路由组件或布局组件在页面中需要渲染的内容。

src/pages/index.tsx
import { useData } from 'ice';

export default function Home() {
const data = useData();
return (
<>
<div>Hello ICE</div>
<div>{JSON.stringify(data)}</div>
</>
);
}

获取页面初始数据

详见数据加载

配置页面运行时属性

页面主体内容之外的、其他需要通用 HTML 模板上差异化显示的内容,可以通过导出 pageConfig 来声明。

支持的页面级配置包含:

title

标题会显示在文档上,可以通过 title 属性来设置。 示例:

import { definePageConfig } from 'ice';

export const pageConfig = definePageConfig(() => ({
title: 'Home',
}));

metas

Meta 信息会显示在文档上,可以通过 metas 属性来设置。 示例:

import { definePageConfig } from 'ice';

export const pageConfig = definePageConfig(() => ({
metas: [
{ charset: 'utf-8' },
{
title: 'Something cool',
description: 'This becomes the nice preview on search results.',
},
],
}));

页面级需要额外插入的 <link /> 标签,会被插入 <head> 标签内,先于页面自身的 Bundle 加载,是阻塞型的。

框架提供了这个能力,但不推荐使用,除非确有需要前置加载。

import { definePageConfig } from 'ice';

export const pageConfig = definePageConfig(() => ({
links: [
{
rel: 'icon',
href: '/favicon.png',
type: 'image/png',
},
{
rel: 'stylesheet',
href: 'https://example.com/some/styles.css',
},
]
}));

推荐,在页面组件内延迟加载,以达到更好的性能体验。

// src/pages/index.tsx
export default function Home() {
return (
<>
<div>Hello ICE</div>
<link rel="stylesheet" href="https://example.com/some/styles.css" />
</>
);
}

scripts

页面级需要前置加载的脚本资源,会被插入在主 Bundle 前,但是会阻塞渲染。通常用于加载全局 JS SDK 或 Polyfill。


import { definePageConfig } from 'ice';

export const pageConfig = definePageConfig(() => ({
scripts: [
{
src: 'https://example.com/some/index.js',
},
],
}));

推荐在页面组件内按需异步加载,以达到更好的性能体验。

小程序页面配置

小程序端不支持上述 title/metas/links/scripts 等配置。但是,通过导出 pageConfig 能够声明该页面的小程序页面配置。以阿里小程序为例,阿里小程序-页面配置的内容均可通过该方式声明:

src/pages/index.tsx
import { definePageConfig } from 'ice';

export const pageConfig = definePageConfig(() => ({
"defaultTitle": "",
"allowsBounceVertical": "NO",
"transparentTitle": "auto",
"titleBarColor": "#262833",
"optionMenu": {
"icon": "https://img.alicdn.com/tps/i3/T1OjaVFl4dXXa.JOZB-114-114.png"
},
"titlePenetrate": "YES",
"barButtonTheme": "light"
}));
- - +

页面

每一张页面,都可以由 路由组件零或多个布局组件 组装而成。路由组件和布局组件的开发规范基本一致,可以包含以下内容:

  • 默认导出是组件的具体实现,必选。
  • 导出 dataLoader,约定页面的数据请求,可选。
  • 导出 pageConfig,约定页面的 TitleMeta 等信息,可选。

组件

对应路由组件或布局组件在页面中需要渲染的内容。

src/pages/index.tsx
import { useData } from 'ice';

export default function Home() {
const data = useData();
return (
<>
<div>Hello ICE</div>
<div>{JSON.stringify(data)}</div>
</>
);
}

获取页面初始数据

详见数据加载

配置页面运行时属性

页面主体内容之外的、其他需要通用 HTML 模板上差异化显示的内容,可以通过导出 pageConfig 来声明。

支持的页面级配置包含:

title

标题会显示在文档上,可以通过 title 属性来设置。 示例:

import { definePageConfig } from 'ice';

export const pageConfig = definePageConfig(() => ({
title: 'Home',
}));

metas

Meta 信息会显示在文档上,可以通过 metas 属性来设置。 示例:

import { definePageConfig } from 'ice';

export const pageConfig = definePageConfig(() => ({
meta: [
{ charset: 'utf-8' },
{
name: 'title',
value: 'Something cool',
},
{
name: 'description',
value: 'This becomes the nice preview on search results.',
},
],
}));

页面级需要额外插入的 <link /> 标签,会被插入 <head> 标签内,先于页面自身的 Bundle 加载,是阻塞型的。

框架提供了这个能力,但不推荐使用,除非确有需要前置加载。

import { definePageConfig } from 'ice';

export const pageConfig = definePageConfig(() => ({
links: [
{
rel: 'icon',
href: '/favicon.png',
type: 'image/png',
},
{
rel: 'stylesheet',
href: 'https://example.com/some/styles.css',
},
]
}));

推荐,在页面组件内延迟加载,以达到更好的性能体验。

// src/pages/index.tsx
export default function Home() {
return (
<>
<div>Hello ICE</div>
<link rel="stylesheet" href="https://example.com/some/styles.css" />
</>
);
}

scripts

页面级需要前置加载的脚本资源,会被插入在主 Bundle 前,但是会阻塞渲染。通常用于加载全局 JS SDK 或 Polyfill。


import { definePageConfig } from 'ice';

export const pageConfig = definePageConfig(() => ({
scripts: [
{
src: 'https://example.com/some/index.js',
},
],
}));

推荐在页面组件内按需异步加载,以达到更好的性能体验。

小程序页面配置

小程序端不支持上述 title/metas/links/scripts 等配置。但是,通过导出 pageConfig 能够声明该页面的小程序页面配置。以阿里小程序为例,阿里小程序-页面配置的内容均可通过该方式声明:

src/pages/index.tsx
import { definePageConfig } from 'ice';

export const pageConfig = definePageConfig(() => ({
"defaultTitle": "",
"allowsBounceVertical": "NO",
"transparentTitle": "auto",
"titleBarColor": "#262833",
"optionMenu": {
"icon": "https://img.alicdn.com/tps/i3/T1OjaVFl4dXXa.JOZB-114-114.png"
},
"titlePenetrate": "YES",
"barButtonTheme": "light"
}));
+ + \ No newline at end of file diff --git a/docs/guide/basic/router/index.html b/docs/guide/basic/router/index.html index d7ed2453b0..35b83bec5e 100644 --- a/docs/guide/basic/router/index.html +++ b/docs/guide/basic/router/index.html @@ -3,14 +3,14 @@ -路由 | 飞冰 ICE - - +路由 | 飞冰 ICE + +
-

路由

ice.js 采用 约定式路由,并针对 嵌套路由 做了一系列加载和渲染上的优化,以构建出性能更好的 Web 应用。

基础概念

约定式路由

框架会根据项目的目录结构自动生成应用的路由信息。src/pages 目录下的每一个 .(js|jsx|tsx) 文件会被映射为一个路由地址,示例如下:

小程序端路由规则

对于小程序来说,使用约定式路由会带来无法确定首页的问题(在原生小程序中,app.jsonpages 数组的第一项即被指定为首页)。因此 ice.js 开发小程序时,用户需要在 src/app.tsx 中通过导出 miniappManifest 进行路由的指定,示例如下:

export const miniappManifest = {
routes: [
'index',
'about',
'repo/index',
'repo/preview',
],
};

注意,routes 中的每一项应该与文件在 pages 目录下的实际路径保持一致,且其第一项将作为小程序的首页被加载。

路由组件

路由组件,是每一个页面的入口文件,通过 export default 导出其具体实现,例如:

src/pages/index.tsx
export default function Home() {
return (
<div>Hello ICE</div>
);
};

路由组件支持配置页面级信息和数据加载逻辑,详见页面

布局组件

警告

小程序端不支持。

pages 目录下,还可以创建一类特殊的组件,来维护全局或一组页面共用的布局, 其文件名约定为 layout.(js|jsx|tsx)

布局组件和路由组件一样,也通过 export default 导出其具体实现。

import { Outlet } from 'ice';

export default function Layout() {
return (
<div>
<h1>Root Layout</h1>
<h2>Hello ICE</h2>
<Outlet />
</div>
)
}

其中, <Outlet /> 组件对应需要被布局组件嵌套的子组件。

布局组件:

  • 如果位于 pages 目录的最顶层,则它将作为全局布局,嵌套在所有路由组件外。
  • 如果位于某个子文件夹,则它将作为页面级布局,嵌套在这个目录下的其他路由组件外。

如果同时存在 全局布局组件页面级布局组件,则全局布局组件会嵌套于页面级布局组件之外。

嵌套路由

通过创建文件夹布局组件,可以轻松构建嵌套路由。例如,下面的示例中,/repo/preview 页面,由这三个组件嵌套而成:

  • layout.tsx
  • repo/layout.tsx
  • repo/preview.tsx

ice.js 针对嵌套路由的场景,应用了以下优化,来让页面达成更好的性能体验:

  • 各路由组件的资源数据请求会被并行加载,以达到最快的资源加载速度。
  • 路由间跳转,比如从 /repo/preview 跳转到 /repo/edit,框架只会加载差异化的路由组件 edit.tsx 进行渲染,而不会重新渲染整个页面。

利用框架对嵌套路由所做的优化,我们可以将页面中逻辑相对分离的部分,用嵌套路由的方式来组织,以获得更好的加载体验。

例如,下面这个常见的移动端营销页,可以将顶部通用的 Slider 抽象为布局组件,将不同 tab 下对应的瀑布流,抽象为路由组件。这样,Slider 和瀑布流就可以做到并行加载,并且当切换 tab 时,新的 tab 内容将由框架触发按需加载和渲染。示例工程

提示

假如同时存在 src/pages/home.tsxsrc/pages/home/index.tsx,则访问 /home 路由地址时,只有 src/pages/home/index.tsx 组件渲染。

如果你想有嵌套路由,但是又不想创建有嵌套目录结构,你可以使用 . 来创建一个扁平的文件名。

└── src
├── root.jsx
└── pages
- ├── about
- │ ├── repo
- │ │ └── $id.tsx
│ └── index.tsx
+ └── about.repo.$id.tsx

这样,我们就可以通过 /about/repo/$id 的路由地址访问到 about.repo.$id.tsx 的路由组件了。

动态路由

警告

小程序端不支持。

在某些场景下可能需要动态指定路由,例如 /user/:id,可以以 $ 开头创建文件名或目录名,比如 src/pages/user/$id.tsx

通配路由

src/pages 目录下的 $.tsx 文件将会被解析成通配路由。如果当前访问的路由没有任何组件能匹配,将会渲染通配路由组件。

通常可以增加 src/pages/$.tsx 作为自定义 404 页面。

转义路由

默认情况下,对于 src/pages/**/index.tsx 这样的路由文件,路由的生成规则是这样的:

路由文件路由
src/pages/index.tsx/
src/pages/about/index.tsx/about

可以看到,index 字符串不会出现在路由上,被转成 /。如果希望路由上保留 /index,可以使用转义字符 []

路由文件路由
src/pages/[index].tsx/index
src/pages/about/[index].tsx/about/index

路由跳转

ice.js 提供三种方式进行路由间跳转,这样就可以只加载下一个页面相比于当前页面差异化的 Bundle 进行渲染,以达到更好的性能体验。

history

可使用 history API 进行路由跳转。

import { history } from 'ice';

export default () => {
history.push('/dashboard');
}

useNavigate

组件内可以使用 useNavigate Hook 进行路由跳转。

import { useNavigate } from 'ice';

export default () => {
const navigate = useNavigate();
navigate('/logout');
}

组件内可以使用 <Link /> 组件进行路由跳转。

src/pages/index.tsx
import { Link } from 'ice';

export default function Home() {
return (
<>
<div>Hello ICE</div>
<Link to="/about">about ice</Link>
</>
);
}
信息

在小程序中,Link 组件底层实现即为原生 navigator 组件。

获取路由信息

location

使用 useLocation 获取 location 信息。

import { useLocation } from 'ice';

export default function () {
const location = useLocation();
}

query

使用 useSearchParams 获取和修改 query 信息。

import { useSearchParams } from 'ice';

export default function Repo() {
const [searchParams, setSearchParams] = useSearchParams();
console.log(searchParams);
setSearchParams({ tab: 'a' })
}

动态路由参数

在动态路由组件使用 useParams 获取当前路由的参数。

import { useParams } from 'ice';

// 路由规则为 /repo/:id
// 当前路径 /repo/123
export default function Repo() {
const params = useParams();
console.log(params);
// { id: 123 }
}

忽略被解析为路由组件

默认情况下,ice.js 会把 src/pages 目录下的每一个 .(js|jsx|tsx) 文件映射为一个路由地址。如果你有一些组件不想被解析成路由组件,可通过 ignoreFiles 进行配置。

ice.config.mts
import { defineConfig } from '@ice/app';

export default defineConfig({
routes: {
ignoreFiles: [
'custom.tsx',
'**/components/**', // 如果每个页面下有 components 目录存放当前页面的组件,可以通过添加此配置忽略被解析成路由组件
],
},
});

定制路由地址

对于约定式路由不满足的场景,可以通过 defineRoutes 方式进行自定义。

ice.config.mts
import { defineConfig } from '@ice/app';

export default defineConfig({
routes: {
defineRoutes: (route) => {
// 将 /hello 路由访问内容指定为 about.tsx
route('/hello', 'about.tsx');
},
},
});
- - +

路由

ice.js 采用 约定式路由,并针对 嵌套路由 做了一系列加载和渲染上的优化,以构建出性能更好的 Web 应用。

基础概念

约定式路由

框架会根据项目的目录结构自动生成应用的路由信息。src/pages 目录下的每一个 .(js|jsx|tsx) 文件会被映射为一个路由地址,示例如下:

小程序端路由规则

对于小程序来说,使用约定式路由会带来无法确定首页的问题(在原生小程序中,app.jsonpages 数组的第一项即被指定为首页)。因此 ice.js 开发小程序时,用户需要在 src/app.tsx 中通过导出 miniappManifest 进行路由的指定,示例如下:

export const miniappManifest = {
routes: [
'index',
'about',
'repo/index',
'repo/preview',
],
};

注意,routes 中的每一项应该与文件在 pages 目录下的实际路径保持一致,且其第一项将作为小程序的首页被加载。

路由组件

路由组件,是每一个页面的入口文件,通过 export default 导出其具体实现,例如:

src/pages/index.tsx
export default function Home() {
return (
<div>Hello ICE</div>
);
};

路由组件支持配置页面级信息和数据加载逻辑,详见页面

布局组件

警告

小程序端不支持。

pages 目录下,还可以创建一类特殊的组件,来维护全局或一组页面共用的布局, 其文件名约定为 layout.(js|jsx|tsx)

布局组件和路由组件一样,也通过 export default 导出其具体实现。

import { Outlet } from 'ice';

export default function Layout() {
return (
<div>
<h1>Root Layout</h1>
<h2>Hello ICE</h2>
<Outlet />
</div>
)
}

其中, <Outlet /> 组件对应需要被布局组件嵌套的子组件。

布局组件:

  • 如果位于 pages 目录的最顶层,则它将作为全局布局,嵌套在所有路由组件外。
  • 如果位于某个子文件夹,则它将作为页面级布局,嵌套在这个目录下的其他路由组件外。

如果同时存在 全局布局组件页面级布局组件,则全局布局组件会嵌套于页面级布局组件之外。

嵌套路由

通过创建文件夹布局组件,可以轻松构建嵌套路由。例如,下面的示例中,/repo/preview 页面,由这三个组件嵌套而成:

  • layout.tsx
  • repo/layout.tsx
  • repo/preview.tsx

ice.js 针对嵌套路由的场景,应用了以下优化,来让页面达成更好的性能体验:

  • 各路由组件的资源数据请求会被并行加载,以达到最快的资源加载速度。
  • 路由间跳转,比如从 /repo/preview 跳转到 /repo/edit,框架只会加载差异化的路由组件 edit.tsx 进行渲染,而不会重新渲染整个页面。

利用框架对嵌套路由所做的优化,我们可以将页面中逻辑相对分离的部分,用嵌套路由的方式来组织,以获得更好的加载体验。

例如,下面这个常见的移动端营销页,可以将顶部通用的 Slider 抽象为布局组件,将不同 tab 下对应的瀑布流,抽象为路由组件。这样,Slider 和瀑布流就可以做到并行加载,并且当切换 tab 时,新的 tab 内容将由框架触发按需加载和渲染。示例工程

提示

假如同时存在 src/pages/home.tsxsrc/pages/home/index.tsx,则访问 /home 路由地址时,只有 src/pages/home/index.tsx 组件渲染。

如果你想有嵌套路由,但是又不想创建有嵌套目录结构,你可以使用 . 来创建一个扁平的文件名。

└── src
├── root.jsx
└── pages
- ├── about
- │ ├── repo
- │ │ └── $id.tsx
│ └── index.tsx
+ └── about.repo.$id.tsx

这样,我们就可以通过 /about/repo/$id 的路由地址访问到 about.repo.$id.tsx 的路由组件了。

动态路由

警告

小程序端不支持。

在某些场景下可能需要动态指定路由,例如 /user/:id,可以以 $ 开头创建文件名或目录名,比如 src/pages/user/$id.tsx

通配路由

src/pages 目录下的 $.tsx 文件将会被解析成通配路由。如果当前访问的路由没有任何组件能匹配,将会渲染通配路由组件。

通常可以增加 src/pages/$.tsx 作为自定义 404 页面。

转义路由

默认情况下,对于 src/pages/**/index.tsx 这样的路由文件,路由的生成规则是这样的:

路由文件路由
src/pages/index.tsx/
src/pages/about/index.tsx/about

可以看到,index 字符串不会出现在路由上,被转成 /。如果希望路由上保留 /index,可以使用转义字符 []

路由文件路由
src/pages/[index].tsx/index
src/pages/about/[index].tsx/about/index

路由跳转

ice.js 提供三种方式进行路由间跳转,这样就可以只加载下一个页面相比于当前页面差异化的 Bundle 进行渲染,以达到更好的性能体验。

history

可使用 history API 进行路由跳转。

import { history } from 'ice';

export default () => {
history.push('/dashboard');
}

useNavigate

组件内可以使用 useNavigate Hook 进行路由跳转。

import { useNavigate } from 'ice';

export default () => {
const navigate = useNavigate();
navigate('/logout');
}

组件内可以使用 <Link /> 组件进行路由跳转。

src/pages/index.tsx
import { Link } from 'ice';

export default function Home() {
return (
<>
<div>Hello ICE</div>
<Link to="/about">about ice</Link>
</>
);
}
信息

在小程序中,Link 组件底层实现即为原生 navigator 组件。

获取路由信息

location

使用 useLocation 获取 location 信息。

import { useLocation } from 'ice';

export default function () {
const location = useLocation();
}

query

使用 useSearchParams 获取和修改 query 信息。

import { useSearchParams } from 'ice';

export default function Repo() {
const [searchParams, setSearchParams] = useSearchParams();
console.log(searchParams);
setSearchParams({ tab: 'a' })
}

动态路由参数

在动态路由组件使用 useParams 获取当前路由的参数。

import { useParams } from 'ice';

// 路由规则为 /repo/:id
// 当前路径 /repo/123
export default function Repo() {
const params = useParams();
console.log(params);
// { id: 123 }
}

忽略被解析为路由组件

默认情况下,ice.js 会把 src/pages 目录下的每一个 .(js|jsx|tsx) 文件映射为一个路由地址。如果你有一些组件不想被解析成路由组件,可通过 ignoreFiles 进行配置。

ice.config.mts
import { defineConfig } from '@ice/app';

export default defineConfig({
routes: {
ignoreFiles: [
'custom.tsx',
'**/components/**', // 如果每个页面下有 components 目录存放当前页面的组件,可以通过添加此配置忽略被解析成路由组件
],
},
});

定制路由地址

对于约定式路由不满足的场景,可以通过 defineRoutes 方式进行自定义。

ice.config.mts
import { defineConfig } from '@ice/app';

export default defineConfig({
routes: {
defineRoutes: (route) => {
// 将 /hello 路由访问内容指定为 about.tsx
route('/hello', 'about.tsx');
},
},
});
+ + \ No newline at end of file diff --git a/docs/guide/basic/ssg/index.html b/docs/guide/basic/ssg/index.html index c3066cc67e..3c931d2935 100644 --- a/docs/guide/basic/ssg/index.html +++ b/docs/guide/basic/ssg/index.html @@ -3,14 +3,14 @@ -构建时渲染 SSG | 飞冰 ICE - - +构建时渲染 SSG | 飞冰 ICE + +
-

构建时渲染 SSG

提示

小程序端不支持该能力。

构建时渲染,简称 SSG (Static Site Generation),是指在构建时提前生成内容 HTML 的渲染模式。

ice.js 默认开启 SSG 能力。SSG 不仅适用于静态站点,也适用于为普通 CSR 应用提前生成静态内容。

若有如下页面,内容为:

src/pages/home.tsx
import { useData } from 'ice';

export default function Home() {
const data = useData();
return (
<>
<div>Hello ICE</div>
<div>stars: {data?.stars}</div>
</>
);
}

其中,第一个 div 中的内容是不依赖于数据。在传统的 CSR 应用中,<Home /> 组件内容,无论是否依赖数据,都需要等待 JS 加载、解析后渲染。

利用 SSG,则可以在构建时,就将不依赖于动态数据的部分提前生成到 HTML 中。示例:

<html>
<head>
...
</head>
<body>
<div id="ice-container">
<div>Hello ICE</div>
<div>stars: </div>
</div>
</body>
</html>

注意事项

  • 在消费 data 时,需要做好空值判断,避免 dataundefinednull 时,产生渲染异常,无法正常构建。
  • 代码需要兼容 Node.js 端。SSG 会在构建时进行,因此代码会运行在 Node.js 侧,因此在消费一些浏览器特有的环境变量时,要做好环境判断。

SSG 的数据请求

通常在 SSG 时,我们不能使用后端接口获取当前的数据,因为这通常与用户访问时不一致。这时我们可以为 SSG 定义特定的数据请求方法,通过为路由组件定义 staticDataLoader 来实现。这样在 SSG 时,组件通过 useData() 获取的数据为 staticDataLoader 的返回值。

src/pages/index.tsx
import { useData, defineDataLoader, defineStaticDataLoader } from 'ice';

export default function Home() {
const data = useData();
return (
<>
<div>Hello ICE</div>
<div>stars: {data?.stars}</div>
</>
);
}

// 浏览器侧的常规数据请求
export const dataLoader = defineDataLoader(() => {
return fetch('https://example.com/stars');
});

// 返回用于 SSG 的兜底数据
export const staticDataLoader = defineStaticDataLoader(() => {
return {
stars: 0,
};
});
提示

defineDataLoader 接受入参为数组时(定义了多个数据请求),defineStaticDataLoader 也需要与其一一对应。

构建 Client 端的产物时,会移除 staticDataLoader 及其相关依赖。

关闭 SSG

ice.config.mts 下,按如下配置修改

ice.config.mts
import { defineConfig } from '@ice/app';

export default defineConfig(() => ({
// ...
ssg: false,
}));
- - +

构建时渲染 SSG

提示

小程序端不支持该能力。

构建时渲染,简称 SSG (Static Site Generation),是指在构建时提前生成内容 HTML 的渲染模式。

ice.js 默认开启 SSG 能力。SSG 不仅适用于静态站点,也适用于为普通 CSR 应用提前生成静态内容。

若有如下页面,内容为:

src/pages/home.tsx
import { useData } from 'ice';

export default function Home() {
const data = useData();
return (
<>
<div>Hello ICE</div>
<div>stars: {data?.stars}</div>
</>
);
}

其中,第一个 div 中的内容是不依赖于数据。在传统的 CSR 应用中,<Home /> 组件内容,无论是否依赖数据,都需要等待 JS 加载、解析后渲染。

利用 SSG,则可以在构建时,就将不依赖于动态数据的部分提前生成到 HTML 中。示例:

<html>
<head>
...
</head>
<body>
<div id="ice-container">
<div>Hello ICE</div>
<div>stars: </div>
</div>
</body>
</html>

注意事项

  • 在消费 data 时,需要做好空值判断,避免 dataundefinednull 时,产生渲染异常,无法正常构建。
  • 代码需要兼容 Node.js 端。SSG 会在构建时进行,因此代码会运行在 Node.js 侧,因此在消费一些浏览器特有的环境变量时,要做好环境判断。

SSG 的数据请求

通常在 SSG 时,我们不能使用后端接口获取当前的数据,因为这通常与用户访问时不一致。这时我们可以为 SSG 定义特定的数据请求方法,通过为路由组件定义 staticDataLoader 来实现。这样在 SSG 时,组件通过 useData() 获取的数据为 staticDataLoader 的返回值。

src/pages/index.tsx
import { useData, defineDataLoader, defineStaticDataLoader } from 'ice';

export default function Home() {
const data = useData();
return (
<>
<div>Hello ICE</div>
<div>stars: {data?.stars}</div>
</>
);
}

// 浏览器侧的常规数据请求
export const dataLoader = defineDataLoader(() => {
return fetch('https://example.com/stars');
});

// 返回用于 SSG 的兜底数据
export const staticDataLoader = defineStaticDataLoader(() => {
return {
stars: 0,
};
});
提示

defineDataLoader 接受入参为数组时(定义了多个数据请求),defineStaticDataLoader 也需要与其一一对应。

构建 Client 端的产物时,会移除 staticDataLoader 及其相关依赖。

关闭 SSG

ice.config.mts 下,按如下配置修改

ice.config.mts
import { defineConfig } from '@ice/app';

export default defineConfig(() => ({
// ...
ssg: false,
}));
+ + \ No newline at end of file diff --git a/docs/guide/basic/ssr/index.html b/docs/guide/basic/ssr/index.html index fe85ab4d44..be6aefd4af 100644 --- a/docs/guide/basic/ssr/index.html +++ b/docs/guide/basic/ssr/index.html @@ -3,14 +3,14 @@ -服务端渲染 SSR | 飞冰 ICE - - +服务端渲染 SSR | 飞冰 ICE + +
-

服务端渲染 SSR

提示

小程序端不支持该能力。

服务器渲染,简称 SSR (Server Side Rendering),是一种在服务端运行 Node.js 程序动态生成 HTML 的渲染方式。

SSR 相比传统在浏览器端渲染的模式(CSR),受设备性能和网络情况的影响更小,可以达到更好的性能体验和 SEO 能力。

开启 SSR

与 SSG 不同的是,ice.js 中 SSR 不是默认启用的,需要手动开启。

ice.config.mts 中,增加如下配置:

ice.config.mts
import { defineConfig } from '@ice/app';

export default defineConfig(() => ({
// ...
ssr: true,
}));

数据请求

开启 SSR 后,路由组件中导出的 dataLoader 方法将优先在 Server 端执行,如果 SSR 渲染成功,在 Client 端将不会再次调用 dataLoader,而会复用 SSR 的结果。当页面在浏览器侧通过路由跳转,或页面降级时,才会在 Client 端调用 dataLoader

因此,一般情况下 dataLoader 内的数据请求需要保持同构,在 Server 端和 Client 端都能执行。

示例:

src/pages/foo.tsx
import { useData, defineDataLoader, defineServerDataLoader } from 'ice';

// 同构的数据请求
export const dataLoader = defineDataLoader(async () => {
if (isClient) {
return await fetch('https://example.com/api/xxx');
} else if (isServer) {
return await fetchDataAtServer();
}
});

如果确实需要为 Server 端指定不一样的数据请求方式,可以通过定义 serverDataLoader 来实现。当路由组件声明了 serverDataLoader,会在 SSR 优先使用这个方法。

示例:

src/pages/foo.tsx
import { useData, defineDataLoader, defineServerDataLoader } from 'ice';

// Client 端的数据请求
export const dataLoader = defineDataLoader(async () => {
return await fetch('https://example.com/api/xxx');
});

// Server 端的数据请求
export const serverDataLoader = defineServerDataLoader(async () => {
return await fetchDataAtServer();
});

在构建 Client 端的产物时,会移除导出的 serverDataLoader 及其相关依赖。

- - +

服务端渲染 SSR

提示

小程序端不支持该能力。

服务器渲染,简称 SSR (Server Side Rendering),是一种在服务端运行 Node.js 程序动态生成 HTML 的渲染方式。

SSR 相比传统在浏览器端渲染的模式(CSR),受设备性能和网络情况的影响更小,可以达到更好的性能体验和 SEO 能力。

开启 SSR

与 SSG 不同的是,ice.js 中 SSR 不是默认启用的,需要手动开启。

ice.config.mts 中,增加如下配置:

ice.config.mts
import { defineConfig } from '@ice/app';

export default defineConfig(() => ({
// ...
ssr: true,
}));

数据请求

开启 SSR 后,路由组件中导出的 dataLoader 方法将优先在 Server 端执行,如果 SSR 渲染成功,在 Client 端将不会再次调用 dataLoader,而会复用 SSR 的结果。当页面在浏览器侧通过路由跳转,或页面降级时,才会在 Client 端调用 dataLoader

因此,一般情况下 dataLoader 内的数据请求需要保持同构,在 Server 端和 Client 端都能执行。

示例:

src/pages/foo.tsx
import { useData, defineDataLoader, defineServerDataLoader } from 'ice';

// 同构的数据请求
export const dataLoader = defineDataLoader(async () => {
if (isClient) {
return await fetch('https://example.com/api/xxx');
} else if (isServer) {
return await fetchDataAtServer();
}
});

如果确实需要为 Server 端指定不一样的数据请求方式,可以通过定义 serverDataLoader 来实现。当路由组件声明了 serverDataLoader,会在 SSR 优先使用这个方法。

示例:

src/pages/foo.tsx
import { useData, defineDataLoader, defineServerDataLoader } from 'ice';

// Client 端的数据请求
export const dataLoader = defineDataLoader(async () => {
return await fetch('https://example.com/api/xxx');
});

// Server 端的数据请求
export const serverDataLoader = defineServerDataLoader(async () => {
return await fetchDataAtServer();
});

在构建 Client 端的产物时,会移除导出的 serverDataLoader 及其相关依赖。

+ + \ No newline at end of file diff --git a/docs/guide/basic/style/index.html b/docs/guide/basic/style/index.html index 756c8eeb65..fbcfc71332 100644 --- a/docs/guide/basic/style/index.html +++ b/docs/guide/basic/style/index.html @@ -3,14 +3,14 @@ -样式 | 飞冰 ICE - - +样式 | 飞冰 ICE + +
-

样式

ice.js 推荐使用原生 CSS + PostCSS 的方案编写样式,不建议使用 less/sass 之类的预编译方案,CSS 写法目前扩展支持了 @import 以及嵌套写法。

@import './theme.css';

.home {
color: red;

h2 {
display: block;
}
}

ice.js 同时支持 less/scss 预编译器,只要保证文件后缀匹配即可。

全局样式

对于整个项目的全局样式,统一定义在 src/global.css 文件中,框架会默认引入该文件:

body {
-webkit-font-smoothing: antialiased;
}

局部样式

对于页面级和组件级的样式,我们推荐使用 CSS Modules 的方案,这能很好的解决样式开发中的两个痛点问题:

  1. 全局污染:CSS 使用全局选择器机制来设置样式,优点是方便重写样式。缺点是所有的样式都是全局生效,样式可能被错误覆盖,因此产生了非常丑陋的 !important,甚至 inline !important 等问题。
  2. 命名混乱:由于全局污染的问题,多人协同开发时为了避免样式冲突,选择器越来越复杂,容易形成不同的命名风格,很难统一,样式变多后,命名将更加混乱。

具体规范规则如下:

  • 文件名:约定文件名格式如 xxx.module.css
  • 模块化:一个页面或者一个组件对应一个样式文件

如有以下的目录结构和代码:

├── src
| ├── pages
| | ├── index.module.css
| | └── index.tsx
.container {
background: #fff;
}
使用该方案之后,上文中的 `className` 都会被编译为唯一性的名字,避免因为重名 `class` 而产生样式冲突。如果在浏览器里查看这个示例的 DOM 结构,你会发现实际渲染出来是这样的:
<div class="container--WZ5p3kdM"><h2>CSS Modules</h2></div>

同时 CSS Modules 支持 less/scss 预编译器:

import lessStyles from './index.module.less';
import scssStyles from './index.module.scss';

export default function () {
return <div className={lessStyles.title}>
Hello World
<p className={scssStyles.blue}>I am blue</p>
</div>;
}

更多 CSS Modules 文档请参考:

常见问题

ice.js 支持 rpx 吗

ice.js 原生支持 rpx 单位。在无线端中,阿里巴巴集团标准统一使用 rpx 作为响应式长度单位。你可以直接在样式文件中使用 rpx,不需要担心转换的问题。

rpx(responsive pixel),可以根据屏幕宽度进行自适应。规定屏幕宽为 750rpx。以 iPhone6 为例,屏幕宽度为 375px,共有 750 个物理像素,则 750rpx = 375px = 750 物理像素,1rpx = 0.5px = 1物理像素。

在浏览器中,ice.js 会将 rpx 会转换为 vw 进行渲染,其转换关系为:750rpx = 100vw,即 1rpx = 1/7.5vw,保留 5 位小数。小程序由于天然支持 rpx 单位,因此可以直接使用并且 ice.js 不会将其转换为 vw。

如何覆盖全局基础组件(next/antd)样式

推荐通过 src/global.css 覆盖全局样式:

src/global.css
body {
-webkit-font-smoothing: antialiased;

/* 覆盖 next 组件的样式 */
.next-btn {
font-size: 18px;
}
}

该方式会覆盖应用中所有 Button 组件的 font-size 属性。

如何覆盖局部基础组件样式

如果只是想覆盖某个页面/模块里的组件样式,则推荐采用局部覆盖的方式:

./pages/Home/index.module.css
.home {
padding: 10px;
}

.home :global {
/* 仅修改 .home 下的 button 样式 */
.next-btn {
font-size: 24px;
}
}

如果组件本身支持 style 属性,也可通过 style 属性修改:

./pages/Home/index.tsx
export default function () {
return (
<>
<Button style={{ fontSize: '16px' }}>OK</Button>
</>
);
}

如何获得 CSS 嵌套的类型提示

可以在 VSCode 编辑器中需要安装 PostCSS Language Support 插件 以支持嵌套写法。

- - +

样式

ice.js 推荐使用原生 CSS + PostCSS 的方案编写样式,不建议使用 less/sass 之类的预编译方案,CSS 写法目前扩展支持了 @import 以及嵌套写法。

@import './theme.css';

.home {
color: red;

h2 {
display: block;
}
}

ice.js 同时支持 less/scss 预编译器,只要保证文件后缀匹配即可。

全局样式

对于整个项目的全局样式,统一定义在 src/global.css 文件中,框架会默认引入该文件:

body {
-webkit-font-smoothing: antialiased;
}

局部样式

对于页面级和组件级的样式,我们推荐使用 CSS Modules 的方案,这能很好的解决样式开发中的两个痛点问题:

  1. 全局污染:CSS 使用全局选择器机制来设置样式,优点是方便重写样式。缺点是所有的样式都是全局生效,样式可能被错误覆盖,因此产生了非常丑陋的 !important,甚至 inline !important 等问题。
  2. 命名混乱:由于全局污染的问题,多人协同开发时为了避免样式冲突,选择器越来越复杂,容易形成不同的命名风格,很难统一,样式变多后,命名将更加混乱。

具体规范规则如下:

  • 文件名:约定文件名格式如 xxx.module.css
  • 模块化:一个页面或者一个组件对应一个样式文件

如有以下的目录结构和代码:

├── src
| ├── pages
| | ├── index.module.css
| | └── index.tsx
.container {
background: #fff;
}
使用该方案之后,上文中的 `className` 都会被编译为唯一性的名字,避免因为重名 `class` 而产生样式冲突。如果在浏览器里查看这个示例的 DOM 结构,你会发现实际渲染出来是这样的:
<div class="container--WZ5p3kdM"><h2>CSS Modules</h2></div>

同时 CSS Modules 支持 less/scss 预编译器:

import lessStyles from './index.module.less';
import scssStyles from './index.module.scss';

export default function () {
return <div className={lessStyles.title}>
Hello World
<p className={scssStyles.blue}>I am blue</p>
</div>;
}

更多 CSS Modules 文档请参考:

常见问题

ice.js 支持 rpx 吗

ice.js 原生支持 rpx 单位。在无线端中,阿里巴巴集团标准统一使用 rpx 作为响应式长度单位。你可以直接在样式文件中使用 rpx,不需要担心转换的问题。

rpx(responsive pixel),可以根据屏幕宽度进行自适应。规定屏幕宽为 750rpx。以 iPhone6 为例,屏幕宽度为 375px,共有 750 个物理像素,则 750rpx = 375px = 750 物理像素,1rpx = 0.5px = 1物理像素。

在浏览器中,ice.js 会将 rpx 会转换为 vw 进行渲染,其转换关系为:750rpx = 100vw,即 1rpx = 1/7.5vw,保留 5 位小数。小程序由于天然支持 rpx 单位,因此可以直接使用并且 ice.js 不会将其转换为 vw。

如何覆盖全局基础组件(next/antd)样式

推荐通过 src/global.css 覆盖全局样式:

src/global.css
body {
-webkit-font-smoothing: antialiased;

/* 覆盖 next 组件的样式 */
.next-btn {
font-size: 18px;
}
}

该方式会覆盖应用中所有 Button 组件的 font-size 属性。

如何覆盖局部基础组件样式

如果只是想覆盖某个页面/模块里的组件样式,则推荐采用局部覆盖的方式:

./pages/Home/index.module.css
.home {
padding: 10px;
}

.home :global {
/* 仅修改 .home 下的 button 样式 */
.next-btn {
font-size: 24px;
}
}

如果组件本身支持 style 属性,也可通过 style 属性修改:

./pages/Home/index.tsx
export default function () {
return (
<>
<Button style={{ fontSize: '16px' }}>OK</Button>
</>
);
}

如何获得 CSS 嵌套的类型提示

可以在 VSCode 编辑器中需要安装 PostCSS Language Support 插件 以支持嵌套写法。

+ + \ No newline at end of file diff --git a/docs/guide/miniapp/api/index.html b/docs/guide/miniapp/api/index.html index 99eb1a070e..73f17d6966 100644 --- a/docs/guide/miniapp/api/index.html +++ b/docs/guide/miniapp/api/index.html @@ -3,14 +3,14 @@ -API | 飞冰 ICE - - +API | 飞冰 ICE + +
-

API

Uni API

为扩展 ice.js 体系能力边界,我们为开发者提供了一系列的 Universal API,开发者可以通过调用这些 API 快速开发多端应用。

Uni API 提供丰富完善的 API,支持 Web、微信小程序、阿里小程序、字节小程序等多种环境,开箱即用,快速接入,更支持按环境拆包,提供更极致的代码体积,体验升级。使用方式详见 Uni API 文档。

原生小程序 API

对于 Uni API 没有覆盖到的场景,你也可以直接在 ice.js 小程序中使用小程序原生 API(即微信小程序的 wx API 等)。此时如果仍有跨端诉求,你可以结合 @uni/env 进行处理,示例如下:

import { isMiniApp, isWeChatMiniProgram } from '@uni/env';

function scan() {
if (isWeChatMiniProgram) {
wx.scanCode();
} else if (isMiniApp) {
my.scan();
}
}

参考文档

- - +

API

Uni API

为扩展 ice.js 体系能力边界,我们为开发者提供了一系列的 Universal API,开发者可以通过调用这些 API 快速开发多端应用。

Uni API 提供丰富完善的 API,支持 Web、微信小程序、阿里小程序、字节小程序等多种环境,开箱即用,快速接入,更支持按环境拆包,提供更极致的代码体积,体验升级。使用方式详见 Uni API 文档。

原生小程序 API

对于 Uni API 没有覆盖到的场景,你也可以直接在 ice.js 小程序中使用小程序原生 API(即微信小程序的 wx API 等)。此时如果仍有跨端诉求,你可以结合 @uni/env 进行处理,示例如下:

import { isMiniApp, isWeChatMiniProgram } from '@uni/env';

function scan() {
if (isWeChatMiniProgram) {
wx.scanCode();
} else if (isMiniApp) {
my.scan();
}
}

参考文档

+ + \ No newline at end of file diff --git a/docs/guide/miniapp/app-config/index.html b/docs/guide/miniapp/app-config/index.html index bc3a0f2436..34f511035c 100644 --- a/docs/guide/miniapp/app-config/index.html +++ b/docs/guide/miniapp/app-config/index.html @@ -3,14 +3,14 @@ -应用配置 | 飞冰 ICE - - +应用配置 | 飞冰 ICE + +
-

应用配置

全局配置

开发者可在 src/app.ts 中通过导出 miniappManifest 对小程序的 windowtabBar 等字段进行配置:

src/app.ts
export const miniappManifest = {
window: {
defaultTitle: 'miniapp test'
},
routes: [
'index',
'about',
'second/profile',
'third/index',
'third/test',
],
};

注意,路由请使用 routes 字段进行配置,参考小程序-路由

页面配置

小程序端不支持配置页面运行时属性 中的 title/metas/links/scripts 等配置。但是,通过导出 pageConfig 能够声明该页面的小程序页面配置。以阿里小程序为例,阿里小程序-页面配置的内容均可通过该方式声明:

src/pages/index.tsx
import { definePageConfig } from 'ice';

export const pageConfig = definePageConfig(() => ({
"defaultTitle": "",
"allowsBounceVertical": "NO",
"transparentTitle": "auto",
"titleBarColor": "#262833",
"optionMenu": {
"icon": "https://img.alicdn.com/tps/i3/T1OjaVFl4dXXa.JOZB-114-114.png"
},
"titlePenetrate": "YES",
"barButtonTheme": "light"
}));

待支持能力

  • 配置小程序原生应用生命周期及事件
  • 配置小程序原生页面生命周期及事件
  • 配置原生小程序 project.config.json
  • 与原生页面、组件、插件混用
  • 分包加载
- - +

应用配置

全局配置

开发者可在 src/app.ts 中通过导出 miniappManifest 对小程序的 windowtabBar 等字段进行配置:

src/app.ts
export const miniappManifest = {
window: {
defaultTitle: 'miniapp test'
},
routes: [
'index',
'about',
'second/profile',
'third/index',
'third/test',
],
};

注意,路由请使用 routes 字段进行配置,参考小程序-路由

页面配置

小程序端不支持配置页面运行时属性 中的 title/metas/links/scripts 等配置。但是,通过导出 pageConfig 能够声明该页面的小程序页面配置。以阿里小程序为例,阿里小程序-页面配置的内容均可通过该方式声明:

src/pages/index.tsx
import { definePageConfig } from 'ice';

export const pageConfig = definePageConfig(() => ({
"defaultTitle": "",
"allowsBounceVertical": "NO",
"transparentTitle": "auto",
"titleBarColor": "#262833",
"optionMenu": {
"icon": "https://img.alicdn.com/tps/i3/T1OjaVFl4dXXa.JOZB-114-114.png"
},
"titlePenetrate": "YES",
"barButtonTheme": "light"
}));

待支持能力

  • 配置小程序原生应用生命周期及事件
  • 配置小程序原生页面生命周期及事件
  • 配置原生小程序 project.config.json
  • 与原生页面、组件、插件混用
  • 分包加载
+ + \ No newline at end of file diff --git a/docs/guide/miniapp/component-use/index.html b/docs/guide/miniapp/component-use/index.html index b868791746..6365c7079b 100644 --- a/docs/guide/miniapp/component-use/index.html +++ b/docs/guide/miniapp/component-use/index.html @@ -3,14 +3,14 @@ -组件使用 | 飞冰 ICE - - +组件使用 | 飞冰 ICE + +
-

组件使用

ice.js 小程序支持以下集中类型的组件的使用:

小程序内置组件

所有小程序内置组件可在 ice.js 中直接使用,但是需要注意按照 JSX 语法编写代码。例如,在小程序原生项目中按照以下方式使用的组件:

<!-- 阿里小程序 -->
<button type="{{customType}}" onTap="clickMe">我是按钮</button>

<!-- 微信小程序 -->
<button type="{{customType}}" bindtap="clickMe" bindgetphonenumber="handleGetPhoneNumber">我是按钮</button>

对应在 ice.js JSX 中应该这样使用:

<button type={customType} onClick={clickMe} onGetPhoneNumber={handleGetPhoneNumber}>我是按钮</button>

特别注意,在微信等小程序端通过 bind 前缀绑定事件,在 JSX 中需要处理为 on 前缀,并遵循驼峰式命名规则,如上面示例中 bindgetphonenumber 需要处理为 onGetPhoneNumber

HTML 标签

详见使用 HTML 标签

小程序原生自定义组件

即将支持,敬请期待。

- - +

组件使用

ice.js 小程序支持以下集中类型的组件的使用:

小程序内置组件

所有小程序内置组件可在 ice.js 中直接使用,但是需要注意按照 JSX 语法编写代码。例如,在小程序原生项目中按照以下方式使用的组件:

<!-- 阿里小程序 -->
<button type="{{customType}}" onTap="clickMe">我是按钮</button>

<!-- 微信小程序 -->
<button type="{{customType}}" bindtap="clickMe" bindgetphonenumber="handleGetPhoneNumber">我是按钮</button>

对应在 ice.js JSX 中应该这样使用:

<button type={customType} onClick={clickMe} onGetPhoneNumber={handleGetPhoneNumber}>我是按钮</button>

特别注意,在微信等小程序端通过 bind 前缀绑定事件,在 JSX 中需要处理为 on 前缀,并遵循驼峰式命名规则,如上面示例中 bindgetphonenumber 需要处理为 onGetPhoneNumber

HTML 标签

详见使用 HTML 标签

小程序原生自定义组件

即将支持,敬请期待。

+ + \ No newline at end of file diff --git a/docs/guide/miniapp/native-lifecycle-events/index.html b/docs/guide/miniapp/native-lifecycle-events/index.html index ed88d344c9..76804c770d 100644 --- a/docs/guide/miniapp/native-lifecycle-events/index.html +++ b/docs/guide/miniapp/native-lifecycle-events/index.html @@ -3,14 +3,14 @@ -原生生命周期事件使用 | 飞冰 ICE - - +原生生命周期事件使用 | 飞冰 ICE + +
-

原生生命周期事件使用

原生应用生命周期事件注册

你可以在 src/app.tsx 中使用 defineMiniappConfig 导出 miniappLifecycles 来进行原生应用的生命周期事件注册:

src/app.tsx
import { defineMiniappConfig } from '@ice/plugin-miniapp/runtime';

export const miniappLifecycles = defineMiniappConfig(() => {
return {
onLaunch(options) {
console.log('on launch', options);
},
onShow(options) {
console.log('on show', options);
}
};
});

原生页面生命周期事件注册

1.在 pageConfig 中通过 nativeEvents 声明需要注册的生命周期事件。目前仅 onPageScroll/onShareAppMessage/onShareTimeline 三个会带来副作用的事件需要注册,其他事件可直接跳过该步骤。

src/pages/index.tsx
export function pageConfig() {
return {
title: 'Home',
nativeEvents: [
'onShareAppMessage',
],
};
}

2.在组件中通过 usePageLifecycle hooks 监听事件:

警告

Web 应用中该方法不会生效。

src/pages/index.tsx
import { usePageLifecycle } from 'ice';
export default function Home() {
usePageLifecycle('onShareAppMessage', (options) => {
console.log('[Second] onShareAppMessage', options);
return {
title: '123',
path: 'pages/index',
};
}); return (
<view>1</view>
);
}
- - +

原生生命周期事件使用

原生应用生命周期事件注册

你可以在 src/app.tsx 中使用 defineMiniappConfig 导出 miniappLifecycles 来进行原生应用的生命周期事件注册:

src/app.tsx
import { defineMiniappConfig } from '@ice/plugin-miniapp/runtime';

export const miniappLifecycles = defineMiniappConfig(() => {
return {
onLaunch(options) {
console.log('on launch', options);
},
onShow(options) {
console.log('on show', options);
}
};
});

原生页面生命周期事件注册

1.在 pageConfig 中通过 nativeEvents 声明需要注册的生命周期事件。目前仅 onPageScroll/onShareAppMessage/onShareTimeline 三个会带来副作用的事件需要注册,其他事件可直接跳过该步骤。

src/pages/index.tsx
export function pageConfig() {
return {
title: 'Home',
nativeEvents: [
'onShareAppMessage',
],
};
}

2.在组件中通过 usePageLifecycle hooks 监听事件:

警告

Web 应用中该方法不会生效。

src/pages/index.tsx
import { usePageLifecycle } from 'ice';
export default function Home() {
usePageLifecycle('onShareAppMessage', (options) => {
console.log('[Second] onShareAppMessage', options);
return {
title: '123',
path: 'pages/index',
};
}); return (
<view>1</view>
);
}
+ + \ No newline at end of file diff --git a/docs/guide/miniapp/project-config/index.html b/docs/guide/miniapp/project-config/index.html index 9f0e05824a..69ce3c7f55 100644 --- a/docs/guide/miniapp/project-config/index.html +++ b/docs/guide/miniapp/project-config/index.html @@ -3,14 +3,14 @@ -原生项目工程配置 | 飞冰 ICE - - +原生项目工程配置 | 飞冰 ICE + +
-

原生项目工程配置

各个小程序端均存在自己的项目工程配置,存放于一个单独的 json 文件中,对应名称如下:

  • 微信小程序:project.config.json

  • 阿里小程序:mini.project.json

在 ice.js 中,你可以在小程序开发的插件中使用 nativeConfig 字段来进行相应的配置。编译完成后,该字段的内容将被写入项目配置文件中:

ice.config.mts
import miniapp from '@ice/plugin-miniapp';

export default defineConfig({
plugins: [miniapp({
nativeConfig: {
appid: '<your-app-id>'
}
})],
});

参考文档:

- - +

原生项目工程配置

各个小程序端均存在自己的项目工程配置,存放于一个单独的 json 文件中,对应名称如下:

  • 微信小程序:project.config.json

  • 阿里小程序:mini.project.json

在 ice.js 中,你可以在小程序开发的插件中使用 nativeConfig 字段来进行相应的配置。编译完成后,该字段的内容将被写入项目配置文件中:

ice.config.mts
import miniapp from '@ice/plugin-miniapp';

export default defineConfig({
plugins: [miniapp({
nativeConfig: {
appid: '<your-app-id>'
}
})],
});

参考文档:

+ + \ No newline at end of file diff --git a/docs/guide/miniapp/router/index.html b/docs/guide/miniapp/router/index.html index 29f28f2526..2b97342a83 100644 --- a/docs/guide/miniapp/router/index.html +++ b/docs/guide/miniapp/router/index.html @@ -3,14 +3,14 @@ -路由 | 飞冰 ICE - - +路由 | 飞冰 ICE + +
-

路由

小程序端路由相关概念基本与指南-路由章节保持一致(不支持布局组件动态路由),以下仅列出小程序端路由的注意点。

路由规则

指南-路由章节提到,ice.js 采用约定式路由。但是对于小程序来说,使用约定式路由会带来无法确定首页的问题(在原生小程序中,app.jsonpages 数组的第一项即被指定为首页)。因此 ice.js 开发小程序时,用户需要在 src/app.tsx 中通过导出 miniappManifest 进行路由的指定,示例如下:

export const miniappManifest = {
routes: [
'index',
'about',
'repo/index',
'repo/preview',
],
};

注意,routes 中的每一项应该与文件在 pages 目录下的实际路径保持一致,且其第一项将作为小程序的首页被加载。

路由跳转

ice.js 小程序通过 Link 组件(底层即小程序原生 navigator 组件),来提供路由间的跳转能力。其接受的 to 参数与 Web 端约定式路由产生的 url 保持一致。

src/pages/index.tsx
import { Link } from 'ice';

export default function Home() {
return (
<>
<div>Hello ICE</div>
<Link to="/about">about ice</Link>
</>
);
}

API 形式

  1. 通过 ice.js 提供的 history 能力,你可以实现小程序端的路由跳转:
import { history } from 'ice';

export function historyPush (link: string) {
history.push(link);
}
警告

在应用入口 src/app.ts 导入使用时,由于 history 还未完成初始化创建,不能以立即执行的方式使用。推荐以上述方式封装后在必要的时候进行调用。

  1. 小程序原生的路由相关 API 也可以正常使用。以阿里小程序为例:
my.navigateTo({ url: '/pages/repo/index' });

注意,url 参数必须与页面实际路径保持一致。

路由参数获取

对应小程序原生页面 onLoad 方法的参数,可以使用 useSearchParams 获取:

import { useParams } from 'ice';

// 路由规则 /home?uid=1234
export default function Home() {
const [searchParams] = useSearchParams();
// searchParams 输出内容为 { uid: '1234'}

return (
<>
<h2>Home Page</h2>
</>
);
}
- - +

路由

小程序端路由相关概念基本与指南-路由章节保持一致(不支持布局组件动态路由),以下仅列出小程序端路由的注意点。

路由规则

指南-路由章节提到,ice.js 采用约定式路由。但是对于小程序来说,使用约定式路由会带来无法确定首页的问题(在原生小程序中,app.jsonpages 数组的第一项即被指定为首页)。因此 ice.js 开发小程序时,用户需要在 src/app.tsx 中通过导出 miniappManifest 进行路由的指定,示例如下:

export const miniappManifest = {
routes: [
'index',
'about',
'repo/index',
'repo/preview',
],
};

注意,routes 中的每一项应该与文件在 pages 目录下的实际路径保持一致,且其第一项将作为小程序的首页被加载。

路由跳转

ice.js 小程序通过 Link 组件(底层即小程序原生 navigator 组件),来提供路由间的跳转能力。其接受的 to 参数与 Web 端约定式路由产生的 url 保持一致。

src/pages/index.tsx
import { Link } from 'ice';

export default function Home() {
return (
<>
<div>Hello ICE</div>
<Link to="/about">about ice</Link>
</>
);
}

API 形式

  1. 通过 ice.js 提供的 history 能力,你可以实现小程序端的路由跳转:
import { history } from 'ice';

export function historyPush (link: string) {
history.push(link);
}
警告

在应用入口 src/app.ts 导入使用时,由于 history 还未完成初始化创建,不能以立即执行的方式使用。推荐以上述方式封装后在必要的时候进行调用。

  1. 小程序原生的路由相关 API 也可以正常使用。以阿里小程序为例:
my.navigateTo({ url: '/pages/repo/index' });

注意,url 参数必须与页面实际路径保持一致。

路由参数获取

对应小程序原生页面 onLoad 方法的参数,可以使用 useSearchParams 获取:

import { useParams } from 'ice';

// 路由规则 /home?uid=1234
export default function Home() {
const [searchParams] = useSearchParams();
// searchParams 输出内容为 { uid: '1234'}

return (
<>
<h2>Home Page</h2>
</>
);
}
+ + \ No newline at end of file diff --git a/docs/guide/miniapp/start/index.html b/docs/guide/miniapp/start/index.html index 5b35db886d..ba4fdfe171 100644 --- a/docs/guide/miniapp/start/index.html +++ b/docs/guide/miniapp/start/index.html @@ -3,14 +3,14 @@ -快速开始 | 飞冰 ICE - - +快速开始 | 飞冰 ICE + +
-

快速开始

ice.js 支持小程序开发。由于小程序端大部分能力及配置均与 Web 应用对齐,本章节仅介绍小程序快速开始、与 Web 应用的差异点以及小程序独有能力的使用。

提示

当你准备开发小程序时,请务必阅读本模块文档。

创建小程序应用

共有两种方式创建 ice.js 小程序应用:

1. 通过小程序模板创建

$ npm create ice ice-app --template @ice/miniapp-scaffold
$ cd ice-app
$ npm install

创建完毕后可以直接跳到调试与构建章节。

2. 改造已有的 Web 应用

将已有的 ice.js Web 应用改造为支持小程序开发,只需进行以下几步:

配置命令

package.json 中配置以下 scripts 命令:

  "scripts": {
"start": "ice start",
"start:wechat": "ice start --target wechat-miniprogram",
"start:ali": "ice start --target ali-miniapp",
"build": "ice build",
"build:wechat": "ice build --target wechat-miniprogram",
"build:ali": "ice start --target ali-miniapp"
}

配置小程序开发插件及运行时依赖

安装小程序开发插件 @ice/plugin-miniapp 和小程序运行时依赖 @ice/miniapp-runtime

$ npm install @ice/plugin-miniapp -D
$ npm install @ice/miniapp-runtime -S

ice.config.mts 中配置插件:

ice.config.mts
import miniapp from '@ice/plugin-miniapp';

export default defineConfig({
plugins: [miniapp()],
});

添加 miniappManifest

src/app.tsx 中导出 miniappManifest,在其中配置 routes 数组用以指定小程序中的页面(详见小程序-路由):

export const miniappManifest = {
routes: [
// 初始化项目中仅有 index 一个页面
'index'
]
};

适配 HTML 标签样式

从 Web 应用迁移而来意味着你的项目中使用了 HTML 标签,为了适配样式,你还需要在 src/global.css 引入样式的 polyfill:

@import '@ice/miniapp-html-styles/html';

关于在小程序中使用 HTML 标签的注意事项,详见文档使用 HTML 标签

调试与构建

当需要开发小程序时,执行对应的命令即可。例如,需要开发调试微信小程序时,执行

$ npm run start:wechat

需要构建微信小程序生产环境的产物时,执行

$ npm run build:wechat

编译完成后,命令行会给出相应提示,提醒开发者使用对应的小程序开发者工具打开编译产物目录进行调试预览:

Use wechat-miniprogram developer tools to open the following folder:
~/Code/ice-next/examples/miniapp-project/build

支持小程序平台

可以看到,相比开发 Web 应用,开发小程序的命令需要传递 platform 参数,目前 ice.js 支持开发的小程序平台及其 platform 名称如下:

小程序平台platform
阿里系(支付宝、淘宝、钉钉等)ali-miniapp
微信wechat-miniprogram

暂未支持但计划支持的小程序平台及其 platform 名称如下:

小程序平台platform
字节bytedance-microapp
百度baidu-smartprogram
快手kuaishou-miniprogram

待支持能力

  • 配置小程序原生应用生命周期及事件
  • 配置小程序原生页面生命周期及事件
  • 配置原生小程序 project.config.json
  • 与原生页面、组件、插件混用
  • 分包加载

不支持能力

受小程序环境限制,以下 ice.js 提供的能力在小程序端不适用,相关章节中也会进行标注:

信息

小程序中的数据请求需要统一使用其提供的 request 相关 API,因此 ice.js 提供的数据模拟 Mock 能力对小程序不适用。小程序端的数据模拟能力可通过开发者工具进行配置使用,这里列出阿里及微信小程序的相关使用文档:

信息

没有经过适配的 Web 组件库暂时无法直接在 ice.js 小程序端使用。

- - +

快速开始

ice.js 支持小程序开发。由于小程序端大部分能力及配置均与 Web 应用对齐,本章节仅介绍小程序快速开始、与 Web 应用的差异点以及小程序独有能力的使用。

提示

当你准备开发小程序时,请务必阅读本模块文档。

创建小程序应用

共有两种方式创建 ice.js 小程序应用:

1. 通过小程序模板创建

$ npm create ice ice-app --template @ice/miniapp-scaffold
$ cd ice-app
$ npm install

创建完毕后可以直接跳到调试与构建章节。

2. 改造已有的 Web 应用

将已有的 ice.js Web 应用改造为支持小程序开发,只需进行以下几步:

配置命令

package.json 中配置以下 scripts 命令:

  "scripts": {
"start": "ice start",
"start:wechat": "ice start --target wechat-miniprogram",
"start:ali": "ice start --target ali-miniapp",
"build": "ice build",
"build:wechat": "ice build --target wechat-miniprogram",
"build:ali": "ice start --target ali-miniapp"
}

配置小程序开发插件及运行时依赖

安装小程序开发插件 @ice/plugin-miniapp 和小程序运行时依赖 @ice/miniapp-runtime

$ npm install @ice/plugin-miniapp -D
$ npm install @ice/miniapp-runtime -S

ice.config.mts 中配置插件:

ice.config.mts
import miniapp from '@ice/plugin-miniapp';

export default defineConfig({
plugins: [miniapp()],
});

添加 miniappManifest

src/app.tsx 中导出 miniappManifest,在其中配置 routes 数组用以指定小程序中的页面(详见小程序-路由):

export const miniappManifest = {
routes: [
// 初始化项目中仅有 index 一个页面
'index'
]
};

适配 HTML 标签样式

从 Web 应用迁移而来意味着你的项目中使用了 HTML 标签,为了适配样式,你还需要在 src/global.css 引入样式的 polyfill:

@import '@ice/miniapp-html-styles/html';

关于在小程序中使用 HTML 标签的注意事项,详见文档使用 HTML 标签

调试与构建

当需要开发小程序时,执行对应的命令即可。例如,需要开发调试微信小程序时,执行

$ npm run start:wechat

需要构建微信小程序生产环境的产物时,执行

$ npm run build:wechat

编译完成后,命令行会给出相应提示,提醒开发者使用对应的小程序开发者工具打开编译产物目录进行调试预览:

Use wechat-miniprogram developer tools to open the following folder:
~/Code/ice-next/examples/miniapp-project/build

支持小程序平台

可以看到,相比开发 Web 应用,开发小程序的命令需要传递 platform 参数,目前 ice.js 支持开发的小程序平台及其 platform 名称如下:

小程序平台platform
阿里系(支付宝、淘宝、钉钉等)ali-miniapp
微信wechat-miniprogram

暂未支持但计划支持的小程序平台及其 platform 名称如下:

小程序平台platform
字节bytedance-microapp
百度baidu-smartprogram
快手kuaishou-miniprogram

待支持能力

  • 配置小程序原生应用生命周期及事件
  • 配置小程序原生页面生命周期及事件
  • 配置原生小程序 project.config.json
  • 与原生页面、组件、插件混用
  • 分包加载

不支持能力

受小程序环境限制,以下 ice.js 提供的能力在小程序端不适用,相关章节中也会进行标注:

信息

小程序中的数据请求需要统一使用其提供的 request 相关 API,因此 ice.js 提供的数据模拟 Mock 能力对小程序不适用。小程序端的数据模拟能力可通过开发者工具进行配置使用,这里列出阿里及微信小程序的相关使用文档:

信息

没有经过适配的 Web 组件库暂时无法直接在 ice.js 小程序端使用。

+ + \ No newline at end of file diff --git a/docs/guide/miniapp/use-html/index.html b/docs/guide/miniapp/use-html/index.html index d614b056fd..c00b50118e 100644 --- a/docs/guide/miniapp/use-html/index.html +++ b/docs/guide/miniapp/use-html/index.html @@ -3,17 +3,17 @@ -使用 HTML 标签 | 飞冰 ICE - - +使用 HTML 标签 | 飞冰 ICE + +
-

使用 HTML 标签

ice.js 支持在开发小程序时直接使用 HTML 标签:

export default function Home() {
return (
<div> Hello World!</div>
)
}

样式相关问题

浏览器默认样式

ice.js 提供了两种内置的浏览器默认样式,可以根据项目需要进行引入。

根据经验,在 Web 端的项目中常常会写一些样式去重置部分浏览器的默认样式,因此一般情况下开发者并不需要所有的这些默认样式。我们建议手动挑选项目需要的默认样式添加到全局样式中。

首先需要安装 @ice/miniapp-html-styles 包:

$ npm install @ice/miniapp-html-styles --save
  1. HTML4 -W3C HTML4 的内置样式。只有 HTML4 标签样式,体积较小,兼容性强,能适应大多数情况。

用法:

src/global.css
@import '@ice/miniapp-html-styles/html';
  1. HTML5 -Chrome(Blink) HTML5 的内置样式。内置样式丰富,包括了大多数 HTML5 标签,体积较大,不一定支持所有小程序容器。

用法:

src/global.css
@import '@ice/miniapp-html-styles/html5';

<span> 默认表现为块级样式

<span> 是行内元素,本来需要映射为同样是行内元素的 <Text> 组件。

但小程序的 <Text> 组件有一个限制,它只能嵌套 <Text> 自身,嵌套 <View><Image> 等组件都会不显示。也就是说,如果 <span> 映射为 <Text><span> 只能嵌套同样映射为 <Text><i><b> 等行内元素。

但是我们发现 <span> 里很可能会嵌套 <div><img> 等标签,用法十分多样。因此我们决定把 <span> 映射为 <View>,以兼容 H5 标签写法的多样性。

这样做的缺点是,开发者需要自行使用样式令 <span> 默认表现为行内样式:

src/global.css
/* 方法一:只使用部分需要的浏览器默认样式 */
.h5-span {
display: inline;
}

/* 方法二:直接引入全套浏览器默认样式 */
@import '@ice/miniapp-html-styles/html';

至于 <i> 等行内标签还是默认映射为 <Text>

不支持部分 CSS 选择器

在小程序中部分 CSS 选择器不会生效,如:

  • 通配符 *
  • 媒体查询
  • 属性选择器,当属性不是对应小程序组件的内置属性时

不支持使用 rem

暂不支持 rem。

其他限制

HTML 标准和小程序标准存在着很大的差异,有一些能够抹平,但仍有部分差异无法处理。

表单组件

HTML 标签和小程序组件两种规范之间,存在较大差异的部分主要是表单组件。

  1. 在使用 <input type='checkbox'><input type='radio'> 时,需要手动补充 <checkbox-group><radio-group> 组件。 -HTML 使用 <select> + <option> 实现选择器,而小程序使用 <Picker>。两者差异巨大,因此不作映射。当用户使用了 <select> 时,会提示用户直接使用 <Picker> 组件。

不能同步获取元素尺寸

在 H5 中我们可以调用 DOM API 同步获取元素的尺寸:

h5
const el = document.getElementById('#inner');
const res = el.getBoundingClientRect();
console.log(res);

但是在小程序中,获取元素尺寸的 API 是异步的:

小程序
const query = Taro.createSelectorQuery();
query.select('#inner')
.boundingClientRect()
.exec(res => {
console.log(res)
});

因此 ice.js 提供了这些 API 的异步版本,如 getBoundingClientRect。

ice.js
const el = document.getElementById('#inner');
const res = await el.getBoundingClientRect();
console.log(res);

DOM API 差异

canvasvideoaudio 等元素在 H5 端可以直接调用 HTMLElement 上的方法。

h5
const el = document.getElementById('myVideo');
el.play();

但是在 ice.js 小程序中,要调用组件上的原生方法,必须先创建对应的 Context:

小程序
// 配合 Uni API 提供的能力
import { createVideoContext } from '@uni/video';

const videoContext = createVideoContext('myVideo');
videoContext.play();

<img> 图片尺寸问题

在 H5 中,不设置 <img> 的宽高时,浏览器会使用原图的宽高作为标签的宽高。

而在小程序中,不设置 <Image> 的宽高时,会使用默认样式中规定的宽高。

解决办法:用户在使用 <img> 时必须显式设置它的宽高。

不支持 ReactDOM 部分 API

ice.js 使用 React Reconciler 实现了自定义的渲染器,相对于 ReactDOM 来说功能十分精简。

因此部分基于 ReactDOM 实现的 H5 组件会无法使用,如:unstable_renderSubtreeIntoContainer

不支持 React Portal

不支持使用 SVG

暂不支持使用 SVG。

- - +

使用 HTML 标签

ice.js 支持在开发小程序时直接使用 HTML 标签:

export default function Home() {
return (
<div> Hello World!</div>
)
}

样式相关问题

浏览器默认样式

ice.js 提供了两种内置的浏览器默认样式,可以根据项目需要进行引入。

根据经验,在 Web 端的项目中常常会写一些样式去重置部分浏览器的默认样式,因此一般情况下开发者并不需要所有的这些默认样式。我们建议手动挑选项目需要的默认样式添加到全局样式中。

首先需要安装 @ice/miniapp-html-styles 包:

$ npm install @ice/miniapp-html-styles --save
  1. HTML4 +W3C HTML4 的内置样式。只有 HTML4 标签样式,体积较小,兼容性强,能适应大多数情况。

用法:

src/global.css
@import '@ice/miniapp-html-styles/html';
  1. HTML5 +Chrome(Blink) HTML5 的内置样式。内置样式丰富,包括了大多数 HTML5 标签,体积较大,不一定支持所有小程序容器。

用法:

src/global.css
@import '@ice/miniapp-html-styles/html5';

<span> 默认表现为块级样式

<span> 是行内元素,本来需要映射为同样是行内元素的 <Text> 组件。

但小程序的 <Text> 组件有一个限制,它只能嵌套 <Text> 自身,嵌套 <View><Image> 等组件都会不显示。也就是说,如果 <span> 映射为 <Text><span> 只能嵌套同样映射为 <Text><i><b> 等行内元素。

但是我们发现 <span> 里很可能会嵌套 <div><img> 等标签,用法十分多样。因此我们决定把 <span> 映射为 <View>,以兼容 H5 标签写法的多样性。

这样做的缺点是,开发者需要自行使用样式令 <span> 默认表现为行内样式:

src/global.css
/* 方法一:只使用部分需要的浏览器默认样式 */
.h5-span {
display: inline;
}

/* 方法二:直接引入全套浏览器默认样式 */
@import '@ice/miniapp-html-styles/html';

至于 <i> 等行内标签还是默认映射为 <Text>

不支持部分 CSS 选择器

在小程序中部分 CSS 选择器不会生效,如:

  • 通配符 *
  • 媒体查询
  • 属性选择器,当属性不是对应小程序组件的内置属性时

不支持使用 rem

暂不支持 rem。

其他限制

HTML 标准和小程序标准存在着很大的差异,有一些能够抹平,但仍有部分差异无法处理。

表单组件

HTML 标签和小程序组件两种规范之间,存在较大差异的部分主要是表单组件。

  1. 在使用 <input type='checkbox'><input type='radio'> 时,需要手动补充 <checkbox-group><radio-group> 组件。 +HTML 使用 <select> + <option> 实现选择器,而小程序使用 <Picker>。两者差异巨大,因此不作映射。当用户使用了 <select> 时,会提示用户直接使用 <Picker> 组件。

不能同步获取元素尺寸

在 H5 中我们可以调用 DOM API 同步获取元素的尺寸:

h5
const el = document.getElementById('#inner');
const res = el.getBoundingClientRect();
console.log(res);

但是在小程序中,获取元素尺寸的 API 是异步的:

小程序
const query = Taro.createSelectorQuery();
query.select('#inner')
.boundingClientRect()
.exec(res => {
console.log(res)
});

因此 ice.js 提供了这些 API 的异步版本,如 getBoundingClientRect。

ice.js
const el = document.getElementById('#inner');
const res = await el.getBoundingClientRect();
console.log(res);

DOM API 差异

canvasvideoaudio 等元素在 H5 端可以直接调用 HTMLElement 上的方法。

h5
const el = document.getElementById('myVideo');
el.play();

但是在 ice.js 小程序中,要调用组件上的原生方法,必须先创建对应的 Context:

小程序
// 配合 Uni API 提供的能力
import { createVideoContext } from '@uni/video';

const videoContext = createVideoContext('myVideo');
videoContext.play();

<img> 图片尺寸问题

在 H5 中,不设置 <img> 的宽高时,浏览器会使用原图的宽高作为标签的宽高。

而在小程序中,不设置 <Image> 的宽高时,会使用默认样式中规定的宽高。

解决办法:用户在使用 <img> 时必须显式设置它的宽高。

不支持 ReactDOM 部分 API

ice.js 使用 React Reconciler 实现了自定义的渲染器,相对于 ReactDOM 来说功能十分精简。

因此部分基于 ReactDOM 实现的 H5 组件会无法使用,如:unstable_renderSubtreeIntoContainer

不支持 React Portal

不支持使用 SVG

暂不支持使用 SVG。

+ + \ No newline at end of file diff --git a/docs/guide/plugins/plugin-dev/index.html b/docs/guide/plugins/plugin-dev/index.html index 43dbb03032..5ad62216f3 100644 --- a/docs/guide/plugins/plugin-dev/index.html +++ b/docs/guide/plugins/plugin-dev/index.html @@ -3,14 +3,14 @@ -开发插件 | 飞冰 ICE - - +开发插件 | 飞冰 ICE + +
-

开发插件

ice.js 底层基于 build-scripts 插件系统,在提供丰富的框架能力的基础上也可以让开发者可以在框架能力不满足诉求的情况下进行定制:

  • 定制修改框架构建配置
  • 支持在整个构建生命周期定制行为,比如项目启动前拉取某些资源
  • 支持扩展运行时能力,比如统一为路由组件增加鉴权逻辑(添加高阶组件)

插件规范

ice.js 插件本质是一个 JS 模块,官方推荐以 TS 进行开发以获得良好的类型提示:

import type { Plugin } from '@ice/app/types';

interface PluginOptions {
id: string;
}

const plugin: Plugin<PluginOptions> = (options) => ({
// name 可选,插件名称
name: 'plugin-name',
// setup 必选,用于定制工程构建配置
setup: (pluginAPI) => { console.log(options.id) },
// runtime 可选,用于定制运行时配置
runtime: '/path/to/runtime',
});

export default plugin;

开发本地插件

推荐在项目根目录下新建一个插件目录,目录名比如叫 my-plugin。然后在该目录下新建以下文件:

  • index.ts:必选,插件入口,用于定制工程构建能力
  • runtime.tsx:可选,用于定制运行时能力
import * as path from 'path';
import type { Plugin } from '@ice/app/types';

const plugin: Plugin = () => ({
name: 'my-plugin',
setup: (pluginAPI) => {
console.log(pluginAPI);
},
// runtime 为可选,用于定制运行时配置。runtime 的值必须是一个绝对路径
runtime: path.join(__dirname, 'runtime.tsx'),
});

export default plugin;

开发完成后,我们需要把插件添加到应用的构建配置中:

ice.config.mts
import { defineConfig } from '@ice/app';
+ import myPlugin from './my-plugin/index.js';

export default defineConfig(() => ({
plugins: [
+ myPlugin(),
],
}))

发布插件到 npm

假设现在需要开发一个插件(包括修改工程配置和运行时配置),并发布到 npm 上。插件的文件目录如下:

/xxx/@ice/my-plugin
├── package.json
├── src
| ├── index.ts // 插件入口
| └── runtime.tsx // 定制运行时能力

推荐以 ES Module 的方式编写插件,并使用 exports 字段导出插件入口和运行时配置:

package.json
{
"name": "@ice/my-plugin",
"type": "module",
"exports": {
".": {
"types": "./esm/index.d.ts",
"import": "./esm/index.js",
"default": "./esm/index.js"
},
"./runtime": {
"types": "./esm/runtime/index.d.ts",
"import": "./esm/runtime/index.js",
"default": "./esm/runtime/index.js"
}
},
"main": "./esm/index.js",
"types": "./esm/index.d.ts",
"files": [
"esm",
"!esm/**/*.map"
],
}
import type { Plugin } from '@ice/app/types';

const plugin: Plugin = () => ({
name: '@ice/my-plugin',
setup: (pluginAPI) => {},
// runtime 的值需要配置为「模块引入路径」,对应上面 package.json 中 exports 里的 "./runtime" 导出
runtime: '@ice/my-plugin/runtime',
});

export default plugin;

把插件发布到 npm 后,需要把插件添加到构建配置中:

ice.config.mts
import { defineConfig } from '@ice/app';
+ import myPlugin from '@ice/my-plugin';

export default defineConfig(() => ({
plugins: [
+ myPlugin(),
],
}));

工程能力定制

框架为定制工程能力提供了插件 API,方便开发者扩展和自定义能力。

context

context 包含构建时的上下文信息:

  • command 当前运行命令,start/build/test
  • commandArgs script 命令执行时接受到的参数
  • rootDir 项目根目录
  • userConfig 用户在构建配置文件 ice.config.mts 中配置的内容
  • pkg 项目 package.json 中的内容
  • webpack webpack 实例,工程不建议安装多个 webpack 版本,可以从 context.webpack 上获取内置的 webpack 实例
const plugin = () => ({
setup: ({ context }) => {
console.log('context: ', context);
},
})

export default plugin;

onGetConfig

通过 onGetConfig 获取框架的工程配置,并可通过该 API 对配置进行自定义修改:

const plugin = () => ({
name: 'plugin-test',
setup: ({ onGetConfig }) => {
onGetConfig((config) => {
config.alias = {
'@': './src/',
};
});
},
});

export default plugin;

为了简化开发者的配置,通过 onGetConfig 修改配置项是基于底层工程工具的抽象,包括以下配置项:

  • mode 配置 'none' | 'development' | 'production' 以确定构建环境
  • entry 配置应用入口文件
  • define 注入到运行时的变量
  • experimental 实验性能力,同 webpack.experiments
  • outputDir 构建输出目录
  • externalswebpack.externals
  • outputAssetsPath 静态资源输出目录,可以分别配置 js 和 css
  • sourceMap 源码调试映射,同 webpack.devtool
  • publicPathwebpack.output.publicPath
  • aliaswebpack.resolve.alias
  • hash 配置资源输出文件名是否带 hash
  • transformPlugins unplugin 标准 插件,该插件对于服务端和浏览器端产物同时生效
  • transforms 配置源码转化,支持对源码进行定制转化
  • middlewares development 开发阶段配置中间件
  • proxy 配置代理服务
  • compileIncludes 配置需要进行编译的三方依赖
  • minify 是否进行压缩
  • minimizerOptions 压缩配置项,基于 minify-options
  • analyzer 开启产物分析
  • https 配置 https 服务
  • port 配置调试端口
  • cacheDir 配置构建缓存目录
  • tsCheckerOptions ts 类型检查 配置项
  • eslintOptions eslint 检查 配置项
  • splitChunks 是否分包
  • assetsManifest 是否生成资源 manifest
  • devServer 配置 webpack dev server 配置
  • fastRefresh 是否开启 fast-refresh 能力
  • configureWebpack 如果上述快捷配置项不满足定制需求,可以通过 configureWebpack 进行自定义
export default () => ({
name: 'plugin-test',
setup: ({ onGetConfig }) => {
onGetConfig((config) => {
config.configureWebpack.push((webpackConfig) => {
webpackConfig.mode = 'development';
return webpackConfig;
})
});
},
})

onHook

通过 onHook 监听命令构建时事件,onHook 注册的函数执行完成后才会执行后续操作,可以用于在命令运行中途插入插件想做的操作:

export default () => ({
name: 'plugin-test',
setup: ({ onHook }) => {
onHook('before.build.load', () => {
// do something before build
});
onHook('after.build.compile', (stats) => {
// do something after build
});
},
})

目前支持的生命周期如下:

  • before.start.run 构建命令 start 执行前,该阶段可以获取各项构建任务最终配置
  • before.build.run 构建命令 build 执行前,同 start
  • after.start.compile 构建命令 start 执行结束,该阶段可以获取构建的执行结果
  • after.build.compile 构建命令 build 执行结束,同 start
  • after.start.devServer dev 阶段的 server 服务启动后,该阶段可以获取相关 dev server 启动的 url 等信息

每个周期可以获取的具体的参数类型可以参考 TS 类型

registerUserConfig

为用户配置文件 ice.config.mts 中添加自定义字段:

export default () => ({
name: 'plugin-test',
setup: ({ registerUserConfig }) => {
registerUserConfig({
name: 'custom-key',
validation: 'boolean', // 可选,支持类型有 string, number, array, object, boolean
setConfig: () => {
// 该字段对于配置的影响,通过 onGetConfig 设置
},
});
},
});

registerCliOption

为命令行启动添加自定义参数:

export default () => ({
name: 'plugin-test',
setup: ({ registerCliOption }) => {
registerCliOption({
name: 'custom-option',
commands: ['start'], // 支持的扩展的命令
setConfig: () => {
// 该字段对于配置的影响,通过 onGetConfig 设置
},
});
},
});

modifyUserConfig

修改用户配置:

export default () => ({
name: 'plugin-test',
setup: ({ modifyUserConfig }) => {
modifyUserConfig('key', 'value'); // key, value 分别为用户配置文件键值对
// 例如:把 ssr 配置项修改为 true,以开启 SSR
modifyUserConfig('ssr', true);
},
});

registerTask

添加自定义任务:

export default () => ({
name: 'plugin-test',
setup: ({ registerTask }) => {
const config = {
sourceMap: true,
};
registerTask('task name', config); // name: Task名, config: 对于任务配置同 onGetConfig 配置项
},
});

getAllTask

获取所有任务名称,内置主要任务名为 web

export default () => ({
name: 'plugin-test',
setup: ({ getAllTask }) => {
const tasks = getAllTask();
console.log(tasks);
},
});

generator

支持生成或者修改模版,支持的 API 如下:

addRenderTemplate

添加模块生成目录:

export default () => ({
name: 'plugin-test',
setup: ({ generator }) => {
generator.addRenderTemplate({
template: '/path/to/template/dir',
targetDir: 'router',
}, {});
},
});

addRenderFile

添加模块生成文件:

export default () => ({
name: 'plugin-test',
setup: ({ generator }) => {
generator.addRenderFile('/path/to/file.ts.ejs', 'folder/file.ts', {});
},
});

addExport

向 ice.js 里注册模块,实现 import { request } from 'ice'; 的能力:

export default () => ({
name: 'plugin-test',
setup: ({ generator }) => {
generator.addExport({
source: './request/request',
exportName: 'request',
});
},
});

addExportTypes

向 ice.js 里注册类型,实现 import type { Request } from 'ice'; 的能力:

export default () => ({
name: 'plugin-test',
setup: ({ generator }) => {
generator.addExportTypes({
source: './request/types',
specifier: '{ Request }',
exportName: 'Request',
});
},
});

addDataLoaderImport

向 ice.js 里注册 data-loader 的自定义发送方法,实现 import { customFetch as fetcher } from 'custom-fetch'; 的能力:

export default () => ({
name: 'plugin-test',
setup: ({ generator }) => {
generator.addDataLoaderImport({
source: 'custom-fetch',
alias: {
customFetch: 'fetcher',
},
specifier: ['customFetch'],
});
},
});

watch

支持统一的 watch 服务

addEvent

添加 watch 事件:

export default () => ({
name: 'plugin-test',
setup: ({ watch }) => {
watch.addEvent([
/src\/global.(scss|less|css)/,
(event: string, filePath: string) => {},
'cssWatch',
]);
},
});

removeEvent

移除 watch 事件:

export default () => ({
name: 'plugin-test',
setup: ({ watch }) => {
watch.removeEvent('cssWatch');
},
});

运行时能力定制

插件运行时可以定制框架的运行时能力:

import type { Plugin } from '@ice/app/types';
const plugin: Plugin = () => ({
name: 'plugin-name',
runtime: '/absolute/path/to/runtime',
});

export default plugin;

框架运行时指向的文件地址为一个 JS 模块,源码阶段推荐用 TS 进行开发:

import type { RuntimePlugin } from '@ice/runtime/types';

const runtime: RuntimePlugin = () => {};
export default runtime;

appContext

appContext 上包含框架相关上下文配置信息,主要包括:

  • appConfig:应用配置,详细内容可以参考 应用入口
  • assetsManifest:应用资讯配置信息
  • routesData:路由信息
const runtime = ({ appContext }) => {
console.log(appContext);
}
export default runtime;

addProvider

在应用最外层添加全局 Provider:

export default ({ addProvider }) => {
function Provider({ children }) {
return (
<div>{children}</div>
)
}

const StoreProvider = ({ children }) => {
return <Provider>{children}</Provider>;
};
addProvider(StoreProvider);
};

addWrapper

为所有路由组件添加一层包裹:

import { useEffect } from 'react';

export default ({ addWrapper }) => {
const PageWrapper = ({ children }) => {
useEffect(() => {
document.title = 'Hello ICE';
}, [])
return <>{children}</>
}

addWrapper(PageWrapper);

// 如果希望同样为 layout 组件添加可以添加第二个参数
addWrapper(PageWrapper, true);
};

setAppRouter

定制 Router 渲染方式

export default ({ setAppRouter }) => {
// setAppRouter 入参为路由数组
const renderRouter = (routes) => () => {
return <div>route</div>;
};
setAppRouter(renderRouter);
};

setRender

自定义渲染,默认使用 react-dom 进行渲染

import ReactDOM from 'react-dom';

export default ({ setRender }) => {
// App: React 组件
// appMountNode: App 挂载点
const DOMRender = (appMountNode, App) => {
ReactDOM.render(<App />, appMountNode);
};
setRender(DOMRender);
};

useData

获取页面组件的数据,一般配合 addWrapper 进行使用:

import { useEffect } from 'react';

export default ({ addWrapper, useData }) => {
const PageWrapper = (PageComponent) => {
const pageData = useData();
console.log(pageData);
return PageComponent;
};
addWrapper(PageWrapper);
};

useConfig

获取页面组件的配置,一般配合 addWrapper 进行使用:

import { useEffect } from 'react';

export default ({ addWrapper, useConfig }) => {
const PageWrapper = (PageComponent) => {
const pageConfig = useConfig();
console.log(pageConfig);
return PageComponent;
};
addWrapper(PageWrapper);
};
- - +

开发插件

ice.js 底层基于 build-scripts 插件系统,在提供丰富的框架能力的基础上也可以让开发者可以在框架能力不满足诉求的情况下进行定制:

  • 定制修改框架构建配置
  • 支持在整个构建生命周期定制行为,比如项目启动前拉取某些资源
  • 支持扩展运行时能力,比如统一为路由组件增加鉴权逻辑(添加高阶组件)

插件规范

ice.js 插件本质是一个 JS 模块,官方推荐以 TS 进行开发以获得良好的类型提示:

import type { Plugin } from '@ice/app/types';

interface PluginOptions {
id: string;
}

const plugin: Plugin<PluginOptions> = (options) => ({
// name 可选,插件名称
name: 'plugin-name',
// setup 必选,用于定制工程构建配置
setup: (pluginAPI) => { console.log(options.id) },
// runtime 可选,用于定制运行时配置
runtime: '/path/to/runtime',
});

export default plugin;

开发本地插件

推荐在项目根目录下新建一个插件目录,目录名比如叫 my-plugin。然后在该目录下新建以下文件:

  • index.ts:必选,插件入口,用于定制工程构建能力
  • runtime.tsx:可选,用于定制运行时能力
import * as path from 'path';
import type { Plugin } from '@ice/app/types';

const plugin: Plugin = () => ({
name: 'my-plugin',
setup: (pluginAPI) => {
console.log(pluginAPI);
},
// runtime 为可选,用于定制运行时配置。runtime 的值必须是一个绝对路径
runtime: path.join(__dirname, 'runtime.tsx'),
});

export default plugin;

开发完成后,我们需要把插件添加到应用的构建配置中:

ice.config.mts
import { defineConfig } from '@ice/app';
+ import myPlugin from './my-plugin/index.js';

export default defineConfig(() => ({
plugins: [
+ myPlugin(),
],
}))

发布插件到 npm

假设现在需要开发一个插件(包括修改工程配置和运行时配置),并发布到 npm 上。插件的文件目录如下:

/xxx/@ice/my-plugin
├── package.json
├── src
| ├── index.ts // 插件入口
| └── runtime.tsx // 定制运行时能力

推荐以 ES Module 的方式编写插件,并使用 exports 字段导出插件入口和运行时配置:

package.json
{
"name": "@ice/my-plugin",
"type": "module",
"exports": {
".": {
"types": "./esm/index.d.ts",
"import": "./esm/index.js",
"default": "./esm/index.js"
},
"./runtime": {
"types": "./esm/runtime/index.d.ts",
"import": "./esm/runtime/index.js",
"default": "./esm/runtime/index.js"
}
},
"main": "./esm/index.js",
"types": "./esm/index.d.ts",
"files": [
"esm",
"!esm/**/*.map"
],
}
import type { Plugin } from '@ice/app/types';

const plugin: Plugin = () => ({
name: '@ice/my-plugin',
setup: (pluginAPI) => {},
// runtime 的值需要配置为「模块引入路径」,对应上面 package.json 中 exports 里的 "./runtime" 导出
runtime: '@ice/my-plugin/runtime',
});

export default plugin;

把插件发布到 npm 后,需要把插件添加到构建配置中:

ice.config.mts
import { defineConfig } from '@ice/app';
+ import myPlugin from '@ice/my-plugin';

export default defineConfig(() => ({
plugins: [
+ myPlugin(),
],
}));

工程能力定制

框架为定制工程能力提供了插件 API,方便开发者扩展和自定义能力。

context

context 包含构建时的上下文信息:

  • command 当前运行命令,start/build/test
  • commandArgs script 命令执行时接受到的参数
  • rootDir 项目根目录
  • userConfig 用户在构建配置文件 ice.config.mts 中配置的内容
  • pkg 项目 package.json 中的内容
  • webpack webpack 实例,工程不建议安装多个 webpack 版本,可以从 context.webpack 上获取内置的 webpack 实例
const plugin = () => ({
setup: ({ context }) => {
console.log('context: ', context);
},
})

export default plugin;

onGetConfig

通过 onGetConfig 获取框架的工程配置,并可通过该 API 对配置进行自定义修改:

const plugin = () => ({
name: 'plugin-test',
setup: ({ onGetConfig }) => {
onGetConfig((config) => {
config.alias = {
'@': './src/',
};
});
},
});

export default plugin;

为了简化开发者的配置,通过 onGetConfig 修改配置项是基于底层工程工具的抽象,包括以下配置项:

  • mode 配置 'none' | 'development' | 'production' 以确定构建环境
  • entry 配置应用入口文件
  • define 注入到运行时的变量
  • experimental 实验性能力,同 webpack.experiments
  • outputDir 构建输出目录
  • externalswebpack.externals
  • outputAssetsPath 静态资源输出目录,可以分别配置 js 和 css
  • sourceMap 源码调试映射,同 webpack.devtool
  • publicPathwebpack.output.publicPath
  • aliaswebpack.resolve.alias
  • hash 配置资源输出文件名是否带 hash
  • transformPlugins unplugin 标准 插件,该插件对于服务端和浏览器端产物同时生效
  • transforms 配置源码转化,支持对源码进行定制转化
  • middlewares development 开发阶段配置中间件
  • proxy 配置代理服务
  • compileIncludes 配置需要进行编译的三方依赖
  • minify 是否进行压缩
  • minimizerOptions 压缩配置项,基于 minify-options
  • analyzer 开启产物分析
  • https 配置 https 服务
  • port 配置调试端口
  • cacheDir 配置构建缓存目录
  • tsCheckerOptions ts 类型检查 配置项
  • eslintOptions eslint 检查 配置项
  • splitChunks 是否分包
  • assetsManifest 是否生成资源 manifest
  • devServer 配置 webpack dev server 配置
  • fastRefresh 是否开启 fast-refresh 能力
  • configureWebpack 如果上述快捷配置项不满足定制需求,可以通过 configureWebpack 进行自定义
export default () => ({
name: 'plugin-test',
setup: ({ onGetConfig }) => {
onGetConfig((config) => {
config.configureWebpack.push((webpackConfig) => {
webpackConfig.mode = 'development';
return webpackConfig;
})
});
},
})

onHook

通过 onHook 监听命令构建时事件,onHook 注册的函数执行完成后才会执行后续操作,可以用于在命令运行中途插入插件想做的操作:

export default () => ({
name: 'plugin-test',
setup: ({ onHook }) => {
onHook('before.build.load', () => {
// do something before build
});
onHook('after.build.compile', (stats) => {
// do something after build
});
},
})

目前支持的生命周期如下:

  • before.start.run 构建命令 start 执行前,该阶段可以获取各项构建任务最终配置
  • before.build.run 构建命令 build 执行前,同 start
  • after.start.compile 构建命令 start 执行结束,该阶段可以获取构建的执行结果
  • after.build.compile 构建命令 build 执行结束,同 start
  • after.start.devServer dev 阶段的 server 服务启动后,该阶段可以获取相关 dev server 启动的 url 等信息

每个周期可以获取的具体的参数类型可以参考 TS 类型

registerUserConfig

为用户配置文件 ice.config.mts 中添加自定义字段:

export default () => ({
name: 'plugin-test',
setup: ({ registerUserConfig }) => {
registerUserConfig({
name: 'custom-key',
validation: 'boolean', // 可选,支持类型有 string, number, array, object, boolean
setConfig: () => {
// 该字段对于配置的影响,通过 onGetConfig 设置
},
});
},
});

registerCliOption

为命令行启动添加自定义参数:

export default () => ({
name: 'plugin-test',
setup: ({ registerCliOption }) => {
registerCliOption({
name: 'custom-option',
commands: ['start'], // 支持的扩展的命令
setConfig: () => {
// 该字段对于配置的影响,通过 onGetConfig 设置
},
});
},
});

modifyUserConfig

修改用户配置:

export default () => ({
name: 'plugin-test',
setup: ({ modifyUserConfig }) => {
modifyUserConfig('key', 'value'); // key, value 分别为用户配置文件键值对
// 例如:把 ssr 配置项修改为 true,以开启 SSR
modifyUserConfig('ssr', true);
},
});

registerTask

添加自定义任务:

export default () => ({
name: 'plugin-test',
setup: ({ registerTask }) => {
const config = {
sourceMap: true,
};
registerTask('task name', config); // name: Task名, config: 对于任务配置同 onGetConfig 配置项
},
});

getAllTask

获取所有任务名称,内置主要任务名为 web

export default () => ({
name: 'plugin-test',
setup: ({ getAllTask }) => {
const tasks = getAllTask();
console.log(tasks);
},
});

generator

支持生成或者修改模版,支持的 API 如下:

addRenderTemplate

添加模块生成目录:

export default () => ({
name: 'plugin-test',
setup: ({ generator }) => {
generator.addRenderTemplate({
template: '/path/to/template/dir',
targetDir: 'router',
}, {});
},
});

addRenderFile

添加模块生成文件:

export default () => ({
name: 'plugin-test',
setup: ({ generator }) => {
generator.addRenderFile('/path/to/file.ts.ejs', 'folder/file.ts', {});
},
});

addExport

向 ice.js 里注册模块,实现 import { request } from 'ice'; 的能力:

export default () => ({
name: 'plugin-test',
setup: ({ generator }) => {
generator.addExport({
source: './request/request',
exportName: 'request',
});
},
});

addExportTypes

向 ice.js 里注册类型,实现 import type { Request } from 'ice'; 的能力:

export default () => ({
name: 'plugin-test',
setup: ({ generator }) => {
generator.addExportTypes({
source: './request/types',
specifier: '{ Request }',
exportName: 'Request',
});
},
});

addDataLoaderImport

向 ice.js 里注册 data-loader 的自定义发送方法,实现 import { customFetch as fetcher } from 'custom-fetch'; 的能力:

export default () => ({
name: 'plugin-test',
setup: ({ generator }) => {
generator.addDataLoaderImport({
source: 'custom-fetch',
alias: {
customFetch: 'fetcher',
},
specifier: ['customFetch'],
});
},
});

watch

支持统一的 watch 服务

addEvent

添加 watch 事件:

export default () => ({
name: 'plugin-test',
setup: ({ watch }) => {
watch.addEvent([
/src\/global.(scss|less|css)/,
(event: string, filePath: string) => {},
'cssWatch',
]);
},
});

removeEvent

移除 watch 事件:

export default () => ({
name: 'plugin-test',
setup: ({ watch }) => {
watch.removeEvent('cssWatch');
},
});

运行时能力定制

插件运行时可以定制框架的运行时能力:

import type { Plugin } from '@ice/app/types';
const plugin: Plugin = () => ({
name: 'plugin-name',
runtime: '/absolute/path/to/runtime',
});

export default plugin;

框架运行时指向的文件地址为一个 JS 模块,源码阶段推荐用 TS 进行开发:

import type { RuntimePlugin } from '@ice/runtime/types';

const runtime: RuntimePlugin = () => {};
export default runtime;

appContext

appContext 上包含框架相关上下文配置信息,主要包括:

  • appConfig:应用配置,详细内容可以参考 应用入口
  • assetsManifest:应用资讯配置信息
  • routesData:路由信息
const runtime = ({ appContext }) => {
console.log(appContext);
}
export default runtime;

addProvider

在应用最外层添加全局 Provider:

export default ({ addProvider }) => {
function Provider({ children }) {
return (
<div>{children}</div>
)
}

const StoreProvider = ({ children }) => {
return <Provider>{children}</Provider>;
};
addProvider(StoreProvider);
};

addWrapper

为所有路由组件添加一层包裹:

import { useEffect } from 'react';

export default ({ addWrapper }) => {
const PageWrapper = ({ children }) => {
useEffect(() => {
document.title = 'Hello ICE';
}, [])
return <>{children}</>
}

addWrapper(PageWrapper);

// 如果希望同样为 layout 组件添加可以添加第二个参数
addWrapper(PageWrapper, true);
};

setAppRouter

定制 Router 渲染方式

export default ({ setAppRouter }) => {
// setAppRouter 入参为路由数组
const renderRouter = (routes) => () => {
return <div>route</div>;
};
setAppRouter(renderRouter);
};

setRender

自定义渲染,默认使用 react-dom 进行渲染

import ReactDOM from 'react-dom';

export default ({ setRender }) => {
// App: React 组件
// appMountNode: App 挂载点
const DOMRender = (appMountNode, App) => {
ReactDOM.render(<App />, appMountNode);
};
setRender(DOMRender);
};

useData

获取页面组件的数据,一般配合 addWrapper 进行使用:

import { useEffect } from 'react';

export default ({ addWrapper, useData }) => {
const PageWrapper = (PageComponent) => {
const pageData = useData();
console.log(pageData);
return PageComponent;
};
addWrapper(PageWrapper);
};

useConfig

获取页面组件的配置,一般配合 addWrapper 进行使用:

import { useEffect } from 'react';

export default ({ addWrapper, useConfig }) => {
const PageWrapper = (PageComponent) => {
const pageConfig = useConfig();
console.log(pageConfig);
return PageComponent;
};
addWrapper(PageWrapper);
};
+ + \ No newline at end of file diff --git a/docs/guide/plugins/plugin-list/index.html b/docs/guide/plugins/plugin-list/index.html index 3777cb4915..f8c7acb4c9 100644 --- a/docs/guide/plugins/plugin-list/index.html +++ b/docs/guide/plugins/plugin-list/index.html @@ -3,14 +3,14 @@ -插件列表 | 飞冰 ICE - - +插件列表 | 飞冰 ICE + + - - + + + \ No newline at end of file diff --git a/docs/guide/practice/index.html b/docs/guide/practice/index.html index 06f1f8e4f0..4d8de5bf03 100644 --- a/docs/guide/practice/index.html +++ b/docs/guide/practice/index.html @@ -3,14 +3,14 @@ -实战教程 | 飞冰 ICE - - +实战教程 | 飞冰 ICE + + - - +
+ + \ No newline at end of file diff --git a/docs/guide/start/index.html b/docs/guide/start/index.html index 44c4600f6a..ca3c3a7009 100644 --- a/docs/guide/start/index.html +++ b/docs/guide/start/index.html @@ -3,14 +3,14 @@ -快速开始 | 飞冰 ICE - - +快速开始 | 飞冰 ICE + +
-

快速开始

需要保证已安装 Node.js,并确保 Node 版本是 14 或以上。详见 开发环境

创建应用

在终端执行以下命令:

$ npm create ice ice-app

然后按照提示操作即可!

或者你通过附加的命令行选项指定使用的模板:

$ npm create ice ice-app --template @ice/lite-scaffold

看到如下信息说明项目创建成功:

✔ download npm tarball successfully.
info clean package.json...
Initialize project successfully.
Starts the development server.

cd ice-app
npm install
npm start

本地调试

首先需要安装项目依赖:

# 进入项目目录
$ cd ice-app
# 安装依赖
$ npm install

安装依赖完成以后,执行以下命令以启动调试:

# 启动调试
$ npm start

此时会自动打开浏览器窗口并访问 http://localhost:3000,这时会看到默认页面。

img

部署发布

执行以下命令以构建生产环境产物:

# 构建
$ npm build

产物默认生成到 build 目录下:

./build
├── css
| └── index.css
├── index.html
└── js
├── framework.js
├── index.js
└── main.js

这时你可以把 build 目录部署到服务器上。

小程序应用

通过小程序专用的模板创建项目并安装依赖:

$ npm create ice ice-app --template @ice/miniapp-scaffold
$ cd ice-app
$ npm install

可以看到项目的 package.json 中已经配置好命令:

package.json
  "scripts": {
"start": "ice start",
"start:wechat": "ice start --target wechat-miniprogram",
"start:ali": "ice start --target ali-miniapp",
"build": "ice build",
"build:wechat": "ice build --target wechat-miniprogram",
"build:ali": "ice start --target ali-miniapp"
}

小程序调试

当需要开发调试小程序时,执行对应的命令即可。例如,需要开发调试微信小程序时,执行

$ npm run start:wechat

编译完成后,命令行会给出相应提示,提醒开发者使用对应的小程序开发者工具打开编译产物目录进行调试预览:

Use wechat-miniprogram developer tools to open the following folder:
~/miniapp-project/build

编译完成后,命令行会给出相应提示,提醒开发者使用对应的小程序开发者工具打开编译产物目录进行调试预览:

Use wechat-miniprogram developer tools to open the following folder:
~/miniapp-project/build

小程序部署发布

仍以微信小程序为例,执行以下命令以构建微信小程序生产环境产物:

$ npm run build:wechat

产物同样默认生成到 build 目录下。这时你可以使用对应的小程序开发者工具打开 build 目录并将其上传发布。

- - +

快速开始

需要保证已安装 Node.js,并确保 Node 版本是 14 或以上。详见 开发环境

创建应用

在终端执行以下命令:

$ npm create ice ice-app

然后按照提示操作即可!

或者你通过附加的命令行选项指定使用的模板:

$ npm create ice ice-app --template @ice/lite-scaffold

看到如下信息说明项目创建成功:

✔ download npm tarball successfully.
info clean package.json...
Initialize project successfully.
Starts the development server.

cd ice-app
npm install
npm start

本地调试

首先需要安装项目依赖:

# 进入项目目录
$ cd ice-app
# 安装依赖
$ npm install

安装依赖完成以后,执行以下命令以启动调试:

# 启动调试
$ npm start

此时会自动打开浏览器窗口并访问 http://localhost:3000,这时会看到默认页面。

img

部署发布

执行以下命令以构建生产环境产物:

# 构建
$ npm build

产物默认生成到 build 目录下:

./build
├── css
| └── index.css
├── index.html
└── js
├── framework.js
├── index.js
└── main.js

这时你可以把 build 目录部署到服务器上。

小程序应用

通过小程序专用的模板创建项目并安装依赖:

$ npm create ice ice-app --template @ice/miniapp-scaffold
$ cd ice-app
$ npm install

可以看到项目的 package.json 中已经配置好命令:

package.json
  "scripts": {
"start": "ice start",
"start:wechat": "ice start --target wechat-miniprogram",
"start:ali": "ice start --target ali-miniapp",
"build": "ice build",
"build:wechat": "ice build --target wechat-miniprogram",
"build:ali": "ice start --target ali-miniapp"
}

小程序调试

当需要开发调试小程序时,执行对应的命令即可。例如,需要开发调试微信小程序时,执行

$ npm run start:wechat

编译完成后,命令行会给出相应提示,提醒开发者使用对应的小程序开发者工具打开编译产物目录进行调试预览:

Use wechat-miniprogram developer tools to open the following folder:
~/miniapp-project/build

编译完成后,命令行会给出相应提示,提醒开发者使用对应的小程序开发者工具打开编译产物目录进行调试预览:

Use wechat-miniprogram developer tools to open the following folder:
~/miniapp-project/build

小程序部署发布

仍以微信小程序为例,执行以下命令以构建微信小程序生产环境产物:

$ npm run build:wechat

产物同样默认生成到 build 目录下。这时你可以使用对应的小程序开发者工具打开 build 目录并将其上传发布。

+ + \ No newline at end of file diff --git a/docs/icestark/index.html b/docs/icestark/index.html index de9aa84c9b..575eeee4d9 100644 --- a/docs/icestark/index.html +++ b/docs/icestark/index.html @@ -3,14 +3,14 @@ -飞冰 ICE - - +飞冰 ICE + +
- - + + \ No newline at end of file diff --git a/docs/materials/index.html b/docs/materials/index.html index bd13dac7ae..45e8bcf5c6 100644 --- a/docs/materials/index.html +++ b/docs/materials/index.html @@ -3,14 +3,14 @@ -飞冰 ICE - - +飞冰 ICE + +
- - + + \ No newline at end of file diff --git a/index.html b/index.html index 966694b7ba..f41f740890 100644 --- a/index.html +++ b/index.html @@ -3,14 +3,14 @@ -飞冰 ICE - 基于 React 的应用研发框架 | 飞冰 ICE - - +飞冰 ICE - 基于 React 的应用研发框架 | 飞冰 ICE + + - - +
+ + \ No newline at end of file diff --git a/search-index.json b/search-index.json index b433d8e5f2..6b03f53ea2 100644 --- a/search-index.json +++ b/search-index.json @@ -1 +1 @@ -[{"documents":[{"i":1,"t":"关于","u":"/docs/guide/about","b":["指南"]},{"i":22,"t":"使用 Ant Design 组件","u":"/docs/guide/advanced/antd","b":["进阶"]},{"i":35,"t":"代码分包","u":"/docs/guide/advanced/code-splitting","b":["进阶"]},{"i":42,"t":"权限管理","u":"/docs/guide/advanced/auth","b":["进阶"]},{"i":60,"t":"一体化","u":"/docs/guide/advanced/faas","b":[]},{"i":62,"t":"CSS 资源本地化","u":"/docs/guide/advanced/css-assets-local","b":["进阶"]},{"i":73,"t":"部署","u":"/docs/guide/advanced/deploy","b":["进阶"]},{"i":95,"t":"国际化","u":"/docs/guide/advanced/i18n","b":["进阶"]},{"i":125,"t":"微前端","u":"/docs/guide/advanced/icestark","b":["进阶"]},{"i":149,"t":"使用 Fusion 组件","u":"/docs/guide/advanced/fusion","b":["进阶"]},{"i":162,"t":"从 Rax App 迁移","u":"/docs/guide/advanced/integrate-from-rax","b":["进阶"]},{"i":174,"t":"组件缓存","u":"/docs/guide/advanced/keep-alive","b":["进阶"]},{"i":180,"t":"JSX+","u":"/docs/guide/advanced/jsx-plus","b":["进阶"]},{"i":200,"t":"微前端","u":"/docs/guide/advanced/micro-frontends","b":[]},{"i":202,"t":"兼容 Rax","u":"/docs/guide/advanced/rax-compat","b":["进阶"]},{"i":221,"t":"HTTP 请求","u":"/docs/guide/advanced/request","b":["进阶"]},{"i":251,"t":"单元测试","u":"/docs/guide/advanced/unit-test","b":["进阶"]},{"i":271,"t":"状态管理","u":"/docs/guide/advanced/store","b":["进阶"]},{"i":308,"t":"从 ice.js 2.x 升级","u":"/docs/guide/advanced/update-from-icejs2","b":["进阶"]},{"i":322,"t":"API","u":"/docs/guide/basic/api","b":["指南"]},{"i":361,"t":"应用入口","u":"/docs/guide/basic/app","b":["指南"]},{"i":373,"t":"元素可见","u":"/docs/guide/basic/appear","b":["指南"]},{"i":383,"t":"命令行 CLI","u":"/docs/guide/basic/cli","b":["指南"]},{"i":393,"t":"静态资源","u":"/docs/guide/basic/assets","b":["指南"]},{"i":409,"t":"构建配置","u":"/docs/guide/basic/config","b":["指南"]},{"i":479,"t":"开发环境","u":"/docs/guide/basic/development","b":["指南"]},{"i":489,"t":"目录结构","u":"/docs/guide/basic/directory","b":["指南"]},{"i":517,"t":"数据加载","u":"/docs/guide/basic/data-loader","b":["指南"]},{"i":532,"t":"定制 HTML","u":"/docs/guide/basic/document","b":["指南"]},{"i":547,"t":"环境变量","u":"/docs/guide/basic/env","b":["指南"]},{"i":572,"t":"页面","u":"/docs/guide/basic/page","b":["指南"]},{"i":590,"t":"数据模拟 Mock","u":"/docs/guide/basic/mock","b":["指南"]},{"i":606,"t":"路由","u":"/docs/guide/basic/router","b":["指南"]},{"i":644,"t":"构建时渲染 SSG","u":"/docs/guide/basic/ssg","b":["指南"]},{"i":652,"t":"服务端渲染 SSR","u":"/docs/guide/basic/ssr","b":["指南"]},{"i":658,"t":"样式","u":"/docs/guide/basic/style","b":["指南"]},{"i":673,"t":"API","u":"/docs/guide/miniapp/api","b":["进阶","小程序"]},{"i":680,"t":"应用配置","u":"/docs/guide/miniapp/app-config","b":["进阶","小程序"]},{"i":687,"t":"组件使用","u":"/docs/guide/miniapp/component-use","b":["进阶","小程序"]},{"i":695,"t":"原生生命周期事件使用","u":"/docs/guide/miniapp/native-lifecycle-events","b":["进阶","小程序"]},{"i":700,"t":"原生项目工程配置","u":"/docs/guide/miniapp/project-config","b":["进阶","小程序"]},{"i":702,"t":"路由","u":"/docs/guide/miniapp/router","b":["进阶","小程序"]},{"i":713,"t":"快速开始","u":"/docs/guide/miniapp/start","b":["进阶","小程序"]},{"i":729,"t":"使用 HTML 标签","u":"/docs/guide/miniapp/use-html","b":["进阶","小程序"]},{"i":755,"t":"开发插件","u":"/docs/guide/plugins/plugin-dev","b":["插件"]},{"i":799,"t":"插件列表","u":"/docs/guide/plugins/plugin-list","b":["插件"]},{"i":812,"t":"实战教程","u":"/docs/guide/practice","b":[]},{"i":814,"t":"快速开始","u":"/docs/guide/start","b":[]}],"index":{"version":"2.3.9","fields":["t"],"fieldVectors":[["t/1",[0,4.428]],["t/22",[1,1.589,2,2.533,3,2.533,4,1.735]],["t/35",[5,3.544,6,3.544]],["t/42",[7,3.544,8,3.025]],["t/60",[9,4.428]],["t/62",[10,2.955,11,2.522,12,2.955]],["t/73",[13,4.428]],["t/95",[14,4.428]],["t/125",[15,3.025,16,3.025]],["t/149",[1,1.853,4,2.024,17,2.955]],["t/162",[18,2.522,19,2.955,20,2.955]],["t/174",[4,2.427,21,3.544]],["t/180",[22,4.428]],["t/200",[15,3.025,16,3.025]],["t/202",[18,3.025,23,3.544]],["t/221",[24,3.544,25,3.544]],["t/251",[26,4.428]],["t/271",[8,3.025,27,3.544]],["t/308",[28,2.217,29,2.217,30,2.217,31,2.217,32,2.217]],["t/322",[33,3.78]],["t/361",[34,3.025,35,3.544]],["t/373",[36,3.544,37,3.544]],["t/383",[38,3.544,39,3.544]],["t/393",[11,3.025,40,3.544]],["t/409",[41,3.025,42,2.683]],["t/479",[43,3.025,44,3.544]],["t/489",[45,3.544,46,3.544]],["t/517",[47,3.025,48,3.544]],["t/532",[49,3.544,50,3.025]],["t/547",[51,4.428]],["t/572",[52,4.428]],["t/590",[47,2.522,53,2.955,54,2.955]],["t/606",[55,3.78]],["t/644",[41,2.162,56,2.533,57,2.162,58,2.533]],["t/652",[57,2.522,59,2.955,60,2.955]],["t/658",[61,4.428]],["t/673",[33,3.78]],["t/680",[34,3.025,42,2.683]],["t/687",[1,2.223,4,2.427]],["t/695",[1,1.589,62,2.162,63,2.533,64,2.533]],["t/700",[42,1.917,62,2.162,65,2.533,66,2.533]],["t/702",[55,3.78]],["t/713",[67,3.025,68,3.025]],["t/729",[1,1.853,50,2.522,69,2.955]],["t/755",[43,3.025,70,3.025]],["t/799",[70,3.025,71,3.544]],["t/812",[72,3.544,73,3.544]],["t/814",[67,3.025,68,3.025]]],"invertedIndex":[["2",{"_index":30,"t":{"308":{"position":[[9,1]]}}}],["ant",{"_index":2,"t":{"22":{"position":[[3,3]]}}}],["api",{"_index":33,"t":{"322":{"position":[[0,3]]},"673":{"position":[[0,3]]}}}],["app",{"_index":19,"t":{"162":{"position":[[6,3]]}}}],["cli",{"_index":39,"t":{"383":{"position":[[4,3]]}}}],["css",{"_index":10,"t":{"62":{"position":[[0,3]]}}}],["design",{"_index":3,"t":{"22":{"position":[[7,6]]}}}],["fusion",{"_index":17,"t":{"149":{"position":[[3,6]]}}}],["html",{"_index":50,"t":{"532":{"position":[[3,4]]},"729":{"position":[[3,4]]}}}],["http",{"_index":24,"t":{"221":{"position":[[0,4]]}}}],["ic",{"_index":28,"t":{"308":{"position":[[2,3]]}}}],["js",{"_index":29,"t":{"308":{"position":[[6,2]]}}}],["jsx",{"_index":22,"t":{"180":{"position":[[0,3]]}}}],["mock",{"_index":54,"t":{"590":{"position":[[5,4]]}}}],["rax",{"_index":18,"t":{"162":{"position":[[2,3]]},"202":{"position":[[3,3]]}}}],["ssg",{"_index":58,"t":{"644":{"position":[[6,3]]}}}],["ssr",{"_index":60,"t":{"652":{"position":[[6,3]]}}}],["x",{"_index":31,"t":{"308":{"position":[[11,1]]}}}],["一体化",{"_index":9,"t":{"60":{"position":[[0,3]]}}}],["事件",{"_index":64,"t":{"695":{"position":[[6,2]]}}}],["代码",{"_index":5,"t":{"35":{"position":[[0,2]]}}}],["使用",{"_index":1,"t":{"22":{"position":[[0,2]]},"149":{"position":[[0,2]]},"687":{"position":[[2,2]]},"695":{"position":[[8,2]]},"729":{"position":[[0,2]]}}}],["元素",{"_index":36,"t":{"373":{"position":[[0,2]]}}}],["入口",{"_index":35,"t":{"361":{"position":[[2,2]]}}}],["关于",{"_index":0,"t":{"1":{"position":[[0,2]]}}}],["兼容",{"_index":23,"t":{"202":{"position":[[0,2]]}}}],["分包",{"_index":6,"t":{"35":{"position":[[2,2]]}}}],["列表",{"_index":71,"t":{"799":{"position":[[2,2]]}}}],["前端",{"_index":16,"t":{"125":{"position":[[1,2]]},"200":{"position":[[1,2]]}}}],["加载",{"_index":48,"t":{"517":{"position":[[2,2]]}}}],["升级",{"_index":32,"t":{"308":{"position":[[13,2]]}}}],["单元测试",{"_index":26,"t":{"251":{"position":[[0,4]]}}}],["原生",{"_index":62,"t":{"695":{"position":[[0,2]]},"700":{"position":[[0,2]]}}}],["可见",{"_index":37,"t":{"373":{"position":[[2,2]]}}}],["命令行",{"_index":38,"t":{"383":{"position":[[0,3]]}}}],["国际化",{"_index":14,"t":{"95":{"position":[[0,3]]}}}],["定制",{"_index":49,"t":{"532":{"position":[[0,2]]}}}],["实战",{"_index":72,"t":{"812":{"position":[[0,2]]}}}],["工程",{"_index":66,"t":{"700":{"position":[[4,2]]}}}],["应用",{"_index":34,"t":{"361":{"position":[[0,2]]},"680":{"position":[[0,2]]}}}],["开发",{"_index":43,"t":{"479":{"position":[[0,2]]},"755":{"position":[[0,2]]}}}],["开始",{"_index":68,"t":{"713":{"position":[[2,2]]},"814":{"position":[[2,2]]}}}],["微",{"_index":15,"t":{"125":{"position":[[0,1]]},"200":{"position":[[0,1]]}}}],["快速",{"_index":67,"t":{"713":{"position":[[0,2]]},"814":{"position":[[0,2]]}}}],["插件",{"_index":70,"t":{"755":{"position":[[2,2]]},"799":{"position":[[0,2]]}}}],["教程",{"_index":73,"t":{"812":{"position":[[2,2]]}}}],["数据",{"_index":47,"t":{"517":{"position":[[0,2]]},"590":{"position":[[0,2]]}}}],["时",{"_index":56,"t":{"644":{"position":[[2,1]]}}}],["服务端",{"_index":59,"t":{"652":{"position":[[0,3]]}}}],["本地化",{"_index":12,"t":{"62":{"position":[[6,3]]}}}],["权限",{"_index":7,"t":{"42":{"position":[[0,2]]}}}],["构建",{"_index":41,"t":{"409":{"position":[[0,2]]},"644":{"position":[[0,2]]}}}],["标签",{"_index":69,"t":{"729":{"position":[[8,2]]}}}],["样式",{"_index":61,"t":{"658":{"position":[[0,2]]}}}],["模拟",{"_index":53,"t":{"590":{"position":[[2,2]]}}}],["渲染",{"_index":57,"t":{"644":{"position":[[3,2]]},"652":{"position":[[3,2]]}}}],["状态",{"_index":27,"t":{"271":{"position":[[0,2]]}}}],["环境",{"_index":44,"t":{"479":{"position":[[2,2]]}}}],["环境变量",{"_index":51,"t":{"547":{"position":[[0,4]]}}}],["生命周期",{"_index":63,"t":{"695":{"position":[[2,4]]}}}],["目录",{"_index":45,"t":{"489":{"position":[[0,2]]}}}],["管理",{"_index":8,"t":{"42":{"position":[[2,2]]},"271":{"position":[[2,2]]}}}],["组件",{"_index":4,"t":{"22":{"position":[[14,2]]},"149":{"position":[[10,2]]},"174":{"position":[[0,2]]},"687":{"position":[[0,2]]}}}],["结构",{"_index":46,"t":{"489":{"position":[[2,2]]}}}],["缓存",{"_index":21,"t":{"174":{"position":[[2,2]]}}}],["请求",{"_index":25,"t":{"221":{"position":[[5,2]]}}}],["资源",{"_index":11,"t":{"62":{"position":[[4,2]]},"393":{"position":[[2,2]]}}}],["路由",{"_index":55,"t":{"606":{"position":[[0,2]]},"702":{"position":[[0,2]]}}}],["迁移",{"_index":20,"t":{"162":{"position":[[10,2]]}}}],["部署",{"_index":13,"t":{"73":{"position":[[0,2]]}}}],["配置",{"_index":42,"t":{"409":{"position":[[2,2]]},"680":{"position":[[2,2]]},"700":{"position":[[6,2]]}}}],["静态",{"_index":40,"t":{"393":{"position":[[0,2]]}}}],["页面",{"_index":52,"t":{"572":{"position":[[0,2]]}}}],["项目",{"_index":65,"t":{"700":{"position":[[2,2]]}}}]],"pipeline":["stemmer"]}},{"documents":[{"i":3,"t":"特性 🎉","u":"/docs/guide/about","h":"#特性-","p":1},{"i":5,"t":"常见问题 📝","u":"/docs/guide/about","h":"#常见问题-","p":1},{"i":6,"t":"与直接使用 Webpack 相比,使用 ice.js 有什么优势?","u":"/docs/guide/about","h":"#与直接使用-webpack-相比使用-icejs-有什么优势","p":1},{"i":8,"t":"我正在使用 ice.js 2,需要升级到 ice.js 3 吗?","u":"/docs/guide/about","h":"#我正在使用-icejs-2需要升级到-icejs-3-吗","p":1},{"i":10,"t":"使用飞冰 (ICE) 是否需要具备一定的前端基础?","u":"/docs/guide/about","h":"#使用飞冰-ice-是否需要具备一定的前端基础","p":1},{"i":12,"t":"资深前端同学是否适合使用飞冰?","u":"/docs/guide/about","h":"#资深前端同学是否适合使用飞冰","p":1},{"i":14,"t":"飞冰的浏览器兼容策略是怎样的?","u":"/docs/guide/about","h":"#飞冰的浏览器兼容策略是怎样的","p":1},{"i":16,"t":"飞冰可以使用哪些 UI 组件?","u":"/docs/guide/about","h":"#飞冰可以使用哪些-ui-组件","p":1},{"i":18,"t":"飞冰跟低代码方案有什么关系?","u":"/docs/guide/about","h":"#飞冰跟低代码方案有什么关系","p":1},{"i":20,"t":"联系我们 🧼","u":"/docs/guide/about","h":"#联系我们-","p":1},{"i":24,"t":"开启插件","u":"/docs/guide/advanced/antd","h":"#开启插件","p":22},{"i":26,"t":"配置","u":"/docs/guide/advanced/antd","h":"#配置","p":22},{"i":27,"t":"importStyle","u":"/docs/guide/advanced/antd","h":"#importstyle","p":22},{"i":29,"t":"dark","u":"/docs/guide/advanced/antd","h":"#dark","p":22},{"i":31,"t":"compact","u":"/docs/guide/advanced/antd","h":"#compact","p":22},{"i":33,"t":"theme","u":"/docs/guide/advanced/antd","h":"#theme","p":22},{"i":36,"t":"默认策略","u":"/docs/guide/advanced/code-splitting","h":"#默认策略","p":35},{"i":38,"t":"组件级别的代码分割","u":"/docs/guide/advanced/code-splitting","h":"#组件级别的代码分割","p":35},{"i":40,"t":"控制三方依赖的分包","u":"/docs/guide/advanced/code-splitting","h":"#控制三方依赖的分包","p":35},{"i":44,"t":"安装插件","u":"/docs/guide/advanced/auth","h":"#安装插件","p":42},{"i":46,"t":"初始化权限数据","u":"/docs/guide/advanced/auth","h":"#初始化权限数据","p":42},{"i":48,"t":"页面权限","u":"/docs/guide/advanced/auth","h":"#页面权限","p":42},{"i":50,"t":"操作权限","u":"/docs/guide/advanced/auth","h":"#操作权限","p":42},{"i":52,"t":"获取权限数据","u":"/docs/guide/advanced/auth","h":"#获取权限数据","p":42},{"i":54,"t":"设置权限数据","u":"/docs/guide/advanced/auth","h":"#设置权限数据","p":42},{"i":56,"t":"自定义权限组件","u":"/docs/guide/advanced/auth","h":"#自定义权限组件","p":42},{"i":58,"t":"自定义 Fallback","u":"/docs/guide/advanced/auth","h":"#自定义-fallback","p":42},{"i":64,"t":"开启插件","u":"/docs/guide/advanced/css-assets-local","h":"#开启插件","p":62},{"i":66,"t":"配置","u":"/docs/guide/advanced/css-assets-local","h":"#配置","p":62},{"i":67,"t":"outputPath","u":"/docs/guide/advanced/css-assets-local","h":"#outputpath","p":62},{"i":69,"t":"relativeCssPath","u":"/docs/guide/advanced/css-assets-local","h":"#relativecsspath","p":62},{"i":71,"t":"enableInDev","u":"/docs/guide/advanced/css-assets-local","h":"#enableindev","p":62},{"i":75,"t":"资源发布","u":"/docs/guide/advanced/deploy","h":"#资源发布","p":73},{"i":77,"t":"CDN 发布","u":"/docs/guide/advanced/deploy","h":"#cdn-发布","p":73},{"i":79,"t":"Nginx","u":"/docs/guide/advanced/deploy","h":"#nginx","p":73},{"i":81,"t":"静态资源托管服务","u":"/docs/guide/advanced/deploy","h":"#静态资源托管服务","p":73},{"i":83,"t":"后端应用集成","u":"/docs/guide/advanced/deploy","h":"#后端应用集成","p":73},{"i":84,"t":"Node.js 应用","u":"/docs/guide/advanced/deploy","h":"#nodejs-应用","p":73},{"i":86,"t":"Java 应用","u":"/docs/guide/advanced/deploy","h":"#java-应用","p":73},{"i":88,"t":"小程序发布","u":"/docs/guide/advanced/deploy","h":"#小程序发布","p":73},{"i":90,"t":"FAQ","u":"/docs/guide/advanced/deploy","h":"#faq","p":73},{"i":91,"t":"静态资源在非根目录或 CDN","u":"/docs/guide/advanced/deploy","h":"#静态资源在非根目录或-cdn","p":73},{"i":93,"t":"部署的 HTML 在非根目录","u":"/docs/guide/advanced/deploy","h":"#部署的-html-在非根目录","p":73},{"i":97,"t":"快速开始","u":"/docs/guide/advanced/i18n","h":"#快速开始","p":95},{"i":99,"t":"国际化路由","u":"/docs/guide/advanced/i18n","h":"#国际化路由","p":95},{"i":101,"t":"获取语言信息","u":"/docs/guide/advanced/i18n","h":"#获取语言信息","p":95},{"i":102,"t":"getLocales()","u":"/docs/guide/advanced/i18n","h":"#getlocales","p":95},{"i":104,"t":"getDefaultLocale()","u":"/docs/guide/advanced/i18n","h":"#getdefaultlocale","p":95},{"i":106,"t":"useLocale()","u":"/docs/guide/advanced/i18n","h":"#uselocale","p":95},{"i":108,"t":"withLocale()","u":"/docs/guide/advanced/i18n","h":"#withlocale","p":95},{"i":110,"t":"切换语言","u":"/docs/guide/advanced/i18n","h":"#切换语言","p":95},{"i":112,"t":"路由自动重定向","u":"/docs/guide/advanced/i18n","h":"#路由自动重定向","p":95},{"i":114,"t":"禁用 Cookie","u":"/docs/guide/advanced/i18n","h":"#禁用-cookie","p":95},{"i":116,"t":"SSG","u":"/docs/guide/advanced/i18n","h":"#ssg","p":95},{"i":118,"t":"插件选项","u":"/docs/guide/advanced/i18n","h":"#插件选项","p":95},{"i":119,"t":"locales","u":"/docs/guide/advanced/i18n","h":"#locales","p":95},{"i":121,"t":"defaultLocale","u":"/docs/guide/advanced/i18n","h":"#defaultlocale","p":95},{"i":123,"t":"autoRedirect","u":"/docs/guide/advanced/i18n","h":"#autoredirect","p":95},{"i":127,"t":"初始化应用","u":"/docs/guide/advanced/icestark","h":"#初始化应用","p":125},{"i":128,"t":"框架应用","u":"/docs/guide/advanced/icestark","h":"#框架应用","p":125},{"i":130,"t":"微应用","u":"/docs/guide/advanced/icestark","h":"#微应用","p":125},{"i":132,"t":"应用改造","u":"/docs/guide/advanced/icestark","h":"#应用改造","p":125},{"i":134,"t":"安装插件","u":"/docs/guide/advanced/icestark","h":"#安装插件","p":125},{"i":136,"t":"框架应用改造","u":"/docs/guide/advanced/icestark","h":"#框架应用改造","p":125},{"i":138,"t":"微应用改造","u":"/docs/guide/advanced/icestark","h":"#微应用改造","p":125},{"i":140,"t":"附录","u":"/docs/guide/advanced/icestark","h":"#附录","p":125},{"i":141,"t":"框架应用配置","u":"/docs/guide/advanced/icestark","h":"#框架应用配置","p":125},{"i":143,"t":"layout","u":"/docs/guide/advanced/icestark","h":"#layout","p":125},{"i":145,"t":"appRouter","u":"/docs/guide/advanced/icestark","h":"#approuter","p":125},{"i":147,"t":"微应用配置","u":"/docs/guide/advanced/icestark","h":"#微应用配置","p":125},{"i":151,"t":"开启插件","u":"/docs/guide/advanced/fusion","h":"#开启插件","p":149},{"i":153,"t":"配置","u":"/docs/guide/advanced/fusion","h":"#配置","p":149},{"i":154,"t":"importStyle","u":"/docs/guide/advanced/fusion","h":"#importstyle","p":149},{"i":156,"t":"themePackage","u":"/docs/guide/advanced/fusion","h":"#themepackage","p":149},{"i":158,"t":"theme","u":"/docs/guide/advanced/fusion","h":"#theme","p":149},{"i":160,"t":"推荐配置","u":"/docs/guide/advanced/fusion","h":"#推荐配置","p":149},{"i":164,"t":"ice.js 与 Rax App 的差异","u":"/docs/guide/advanced/integrate-from-rax","h":"#icejs-与-rax-app-的差异","p":162},{"i":166,"t":"Rax App 项目迁移","u":"/docs/guide/advanced/integrate-from-rax","h":"#rax-app-项目迁移","p":162},{"i":168,"t":"安装","u":"/docs/guide/advanced/integrate-from-rax","h":"#安装","p":162},{"i":170,"t":"使用","u":"/docs/guide/advanced/integrate-from-rax","h":"#使用","p":162},{"i":172,"t":"注意⚠️","u":"/docs/guide/advanced/integrate-from-rax","h":"#注意️","p":162},{"i":176,"t":"缓存路由组件","u":"/docs/guide/advanced/keep-alive","h":"#缓存路由组件","p":174},{"i":178,"t":"缓存其他组件","u":"/docs/guide/advanced/keep-alive","h":"#缓存其他组件","p":174},{"i":182,"t":"为什么需要 JSX+","u":"/docs/guide/advanced/jsx-plus","h":"#为什么需要-jsx","p":180},{"i":184,"t":"安装使用","u":"/docs/guide/advanced/jsx-plus","h":"#安装使用","p":180},{"i":186,"t":"指令语法","u":"/docs/guide/advanced/jsx-plus","h":"#指令语法","p":180},{"i":188,"t":"1. 条件判断","u":"/docs/guide/advanced/jsx-plus","h":"#1-条件判断","p":180},{"i":190,"t":"2. 循环列表","u":"/docs/guide/advanced/jsx-plus","h":"#2-循环列表","p":180},{"i":192,"t":"3. 单次渲染","u":"/docs/guide/advanced/jsx-plus","h":"#3-单次渲染","p":180},{"i":194,"t":"4. 插槽指令","u":"/docs/guide/advanced/jsx-plus","h":"#4-插槽指令","p":180},{"i":196,"t":"5. Fragment 组件","u":"/docs/guide/advanced/jsx-plus","h":"#5-fragment-组件","p":180},{"i":198,"t":"6. 类名绑定","u":"/docs/guide/advanced/jsx-plus","h":"#6-类名绑定","p":180},{"i":204,"t":"插件安装与使用","u":"/docs/guide/advanced/rax-compat","h":"#插件安装与使用","p":202},{"i":206,"t":"rax-compat 兼容性","u":"/docs/guide/advanced/rax-compat","h":"#rax-compat-兼容性","p":202},{"i":207,"t":"Rax 核心 API","u":"/docs/guide/advanced/rax-compat","h":"#rax-核心-api","p":202},{"i":209,"t":"Appear 和 Disappear 事件的处理","u":"/docs/guide/advanced/rax-compat","h":"#appear-和-disappear-事件的处理","p":202},{"i":211,"t":"样式的处理","u":"/docs/guide/advanced/rax-compat","h":"#样式的处理","p":202},{"i":213,"t":"兼容 rax-swiper","u":"/docs/guide/advanced/rax-compat","h":"#兼容-rax-swiper","p":202},{"i":215,"t":"兼容使用内联样式构建的模块","u":"/docs/guide/advanced/rax-compat","h":"#兼容使用内联样式构建的模块","p":202},{"i":217,"t":"DOM 属性差异","u":"/docs/guide/advanced/rax-compat","h":"#dom-属性差异","p":202},{"i":219,"t":"事件差异","u":"/docs/guide/advanced/rax-compat","h":"#事件差异","p":202},{"i":223,"t":"安装 request 插件","u":"/docs/guide/advanced/request","h":"#安装-request-插件","p":221},{"i":225,"t":"目录约定","u":"/docs/guide/advanced/request","h":"#目录约定","p":221},{"i":227,"t":"消费 service","u":"/docs/guide/advanced/request","h":"#消费-service","p":221},{"i":229,"t":"在模型中调用 service","u":"/docs/guide/advanced/request","h":"#在模型中调用-service","p":221},{"i":231,"t":"在视图中调用 service","u":"/docs/guide/advanced/request","h":"#在视图中调用-service","p":221},{"i":233,"t":"API","u":"/docs/guide/advanced/request","h":"#api","p":221},{"i":234,"t":"request","u":"/docs/guide/advanced/request","h":"#request","p":221},{"i":236,"t":"useRequest","u":"/docs/guide/advanced/request","h":"#userequest","p":221},{"i":238,"t":"请求配置","u":"/docs/guide/advanced/request","h":"#请求配置","p":221},{"i":240,"t":"多个请求配置","u":"/docs/guide/advanced/request","h":"#多个请求配置","p":221},{"i":242,"t":"异常处理","u":"/docs/guide/advanced/request","h":"#异常处理","p":221},{"i":244,"t":"高阶用法","u":"/docs/guide/advanced/request","h":"#高阶用法","p":221},{"i":245,"t":"Mock 接口","u":"/docs/guide/advanced/request","h":"#mock-接口","p":221},{"i":247,"t":"如何解决接口跨域问题","u":"/docs/guide/advanced/request","h":"#如何解决接口跨域问题","p":221},{"i":249,"t":"根据环境配置不同的 baseURL","u":"/docs/guide/advanced/request","h":"#根据环境配置不同的-baseurl","p":221},{"i":253,"t":"Jest","u":"/docs/guide/advanced/unit-test","h":"#jest","p":251},{"i":254,"t":"依赖安装","u":"/docs/guide/advanced/unit-test","h":"#依赖安装","p":251},{"i":256,"t":"配置","u":"/docs/guide/advanced/unit-test","h":"#配置","p":251},{"i":258,"t":"非 UI 测试","u":"/docs/guide/advanced/unit-test","h":"#非-ui-测试","p":251},{"i":260,"t":"UI 测试","u":"/docs/guide/advanced/unit-test","h":"#ui-测试","p":251},{"i":262,"t":"Vitest","u":"/docs/guide/advanced/unit-test","h":"#vitest","p":251},{"i":263,"t":"依赖安装","u":"/docs/guide/advanced/unit-test","h":"#依赖安装-1","p":251},{"i":265,"t":"配置","u":"/docs/guide/advanced/unit-test","h":"#配置-1","p":251},{"i":267,"t":"非 UI 测试","u":"/docs/guide/advanced/unit-test","h":"#非-ui-测试-1","p":251},{"i":269,"t":"UI 测试","u":"/docs/guide/advanced/unit-test","h":"#ui-测试-1","p":251},{"i":273,"t":"开启状态管理","u":"/docs/guide/advanced/store","h":"#开启状态管理","p":271},{"i":275,"t":"全局状态","u":"/docs/guide/advanced/store","h":"#全局状态","p":271},{"i":277,"t":"定义 Model","u":"/docs/guide/advanced/store","h":"#定义-model","p":271},{"i":279,"t":"初始化 Store","u":"/docs/guide/advanced/store","h":"#初始化-store","p":271},{"i":281,"t":"在组件中使用","u":"/docs/guide/advanced/store","h":"#在组件中使用","p":271},{"i":283,"t":"页面状态","u":"/docs/guide/advanced/store","h":"#页面状态","p":271},{"i":285,"t":"定义 Model","u":"/docs/guide/advanced/store","h":"#定义-model-1","p":271},{"i":287,"t":"初始化 Store","u":"/docs/guide/advanced/store","h":"#初始化-store-1","p":271},{"i":289,"t":"在组件中使用","u":"/docs/guide/advanced/store","h":"#在组件中使用-1","p":271},{"i":291,"t":"进阶用法","u":"/docs/guide/advanced/store","h":"#进阶用法","p":271},{"i":292,"t":"设置初始状态","u":"/docs/guide/advanced/store","h":"#设置初始状态","p":271},{"i":294,"t":"Model 定义详细说明","u":"/docs/guide/advanced/store","h":"#model-定义详细说明","p":271},{"i":296,"t":"Model 之间通信","u":"/docs/guide/advanced/store","h":"#model-之间通信","p":271},{"i":298,"t":"使用不可变状态","u":"/docs/guide/advanced/store","h":"#使用不可变状态","p":271},{"i":300,"t":"获取内置的加载状态和错误状态","u":"/docs/guide/advanced/store","h":"#获取内置的加载状态和错误状态","p":271},{"i":302,"t":"页面切换后重置状态","u":"/docs/guide/advanced/store","h":"#页面切换后重置状态","p":271},{"i":304,"t":"在 Class Component 中使用","u":"/docs/guide/advanced/store","h":"#在-class-component-中使用","p":271},{"i":306,"t":"Redux Devtools","u":"/docs/guide/advanced/store","h":"#redux-devtools","p":271},{"i":309,"t":"前言","u":"/docs/guide/advanced/update-from-icejs2","h":"#前言","p":308},{"i":311,"t":"升级指南","u":"/docs/guide/advanced/update-from-icejs2","h":"#升级指南","p":308},{"i":312,"t":"依赖修改","u":"/docs/guide/advanced/update-from-icejs2","h":"#依赖修改","p":308},{"i":314,"t":"工程配置文件升级","u":"/docs/guide/advanced/update-from-icejs2","h":"#工程配置文件升级","p":308},{"i":316,"t":"常见配置迁移","u":"/docs/guide/advanced/update-from-icejs2","h":"#常见配置迁移","p":308},{"i":318,"t":"运行时修改","u":"/docs/guide/advanced/update-from-icejs2","h":"#运行时修改","p":308},{"i":320,"t":"进阶方案迁移","u":"/docs/guide/advanced/update-from-icejs2","h":"#进阶方案迁移","p":308},{"i":323,"t":"defineAppConfig","u":"/docs/guide/basic/api","h":"#defineappconfig","p":322},{"i":325,"t":"definePageConfig","u":"/docs/guide/basic/api","h":"#definepageconfig","p":322},{"i":327,"t":"history","u":"/docs/guide/basic/api","h":"#history","p":322},{"i":329,"t":"useParams","u":"/docs/guide/basic/api","h":"#useparams","p":322},{"i":331,"t":"useSearchParams","u":"/docs/guide/basic/api","h":"#usesearchparams","p":322},{"i":333,"t":"useNavigate","u":"/docs/guide/basic/api","h":"#usenavigate","p":322},{"i":335,"t":"useLocation","u":"/docs/guide/basic/api","h":"#uselocation","p":322},{"i":337,"t":"useAppData","u":"/docs/guide/basic/api","h":"#useappdata","p":322},{"i":339,"t":"useData","u":"/docs/guide/basic/api","h":"#usedata","p":322},{"i":341,"t":"useConfig","u":"/docs/guide/basic/api","h":"#useconfig","p":322},{"i":343,"t":"useMounted","u":"/docs/guide/basic/api","h":"#usemounted","p":322},{"i":345,"t":"useAppContext","u":"/docs/guide/basic/api","h":"#useappcontext","p":322},{"i":347,"t":"","u":"/docs/guide/basic/api","h":"#clientonly-","p":322},{"i":349,"t":"","u":"/docs/guide/basic/api","h":"#keepaliveoutlet-","p":322},{"i":351,"t":"","u":"/docs/guide/basic/api","h":"#link-","p":322},{"i":353,"t":"","u":"/docs/guide/basic/api","h":"#outlet-","p":322},{"i":355,"t":"AppConfig","u":"/docs/guide/basic/api","h":"#appconfig","p":322},{"i":357,"t":"RouteConfig","u":"/docs/guide/basic/api","h":"#routeconfig","p":322},{"i":359,"t":"Document 组件","u":"/docs/guide/basic/api","h":"#document-组件","p":322},{"i":363,"t":"应用配置文件","u":"/docs/guide/basic/app","h":"#应用配置文件","p":361},{"i":365,"t":"配置项","u":"/docs/guide/basic/app","h":"#配置项","p":361},{"i":367,"t":"app","u":"/docs/guide/basic/app","h":"#app","p":361},{"i":369,"t":"router","u":"/docs/guide/basic/app","h":"#router","p":361},{"i":371,"t":"运行时拓展","u":"/docs/guide/basic/app","h":"#运行时拓展","p":361},{"i":375,"t":"安装组件依赖","u":"/docs/guide/basic/appear","h":"#安装组件依赖","p":373},{"i":377,"t":"当元素进入可见状态时","u":"/docs/guide/basic/appear","h":"#当元素进入可见状态时","p":373},{"i":379,"t":"元素首次可见","u":"/docs/guide/basic/appear","h":"#元素首次可见","p":373},{"i":381,"t":"当元素进入不可见状态时","u":"/docs/guide/basic/appear","h":"#当元素进入不可见状态时","p":373},{"i":385,"t":"start","u":"/docs/guide/basic/cli","h":"#start","p":383},{"i":387,"t":"build","u":"/docs/guide/basic/cli","h":"#build","p":383},{"i":389,"t":"help","u":"/docs/guide/basic/cli","h":"#help","p":383},{"i":391,"t":"version","u":"/docs/guide/basic/cli","h":"#version","p":383},{"i":395,"t":"基础规则","u":"/docs/guide/basic/assets","h":"#基础规则","p":393},{"i":397,"t":"在 JSX 文件中引入","u":"/docs/guide/basic/assets","h":"#在-jsx-文件中引入","p":393},{"i":399,"t":"在 CSS 文件中引入","u":"/docs/guide/basic/assets","h":"#在-css-文件中引入","p":393},{"i":401,"t":"指定处理规则","u":"/docs/guide/basic/assets","h":"#指定处理规则","p":393},{"i":403,"t":"URL 引入","u":"/docs/guide/basic/assets","h":"#url-引入","p":393},{"i":405,"t":"文件内容引入","u":"/docs/guide/basic/assets","h":"#文件内容引入","p":393},{"i":407,"t":"public 目录","u":"/docs/guide/basic/assets","h":"#public-目录","p":393},{"i":411,"t":"配置文件","u":"/docs/guide/basic/config","h":"#配置文件","p":409},{"i":412,"t":"构建配置文件","u":"/docs/guide/basic/config","h":"#构建配置文件","p":409},{"i":414,"t":"兼容性配置","u":"/docs/guide/basic/config","h":"#兼容性配置","p":409},{"i":416,"t":"配置项","u":"/docs/guide/basic/config","h":"#配置项","p":409},{"i":417,"t":"alias","u":"/docs/guide/basic/config","h":"#alias","p":409},{"i":419,"t":"crossOriginLoading","u":"/docs/guide/basic/config","h":"#crossoriginloading","p":409},{"i":421,"t":"define","u":"/docs/guide/basic/config","h":"#define","p":409},{"i":423,"t":"dataLoader","u":"/docs/guide/basic/config","h":"#dataloader","p":409},{"i":425,"t":"publicPath","u":"/docs/guide/basic/config","h":"#publicpath","p":409},{"i":427,"t":"devPublicPath","u":"/docs/guide/basic/config","h":"#devpublicpath","p":409},{"i":429,"t":"hash","u":"/docs/guide/basic/config","h":"#hash","p":409},{"i":431,"t":"externals","u":"/docs/guide/basic/config","h":"#externals","p":409},{"i":433,"t":"outputDir","u":"/docs/guide/basic/config","h":"#outputdir","p":409},{"i":435,"t":"proxy","u":"/docs/guide/basic/config","h":"#proxy","p":409},{"i":437,"t":"minify","u":"/docs/guide/basic/config","h":"#minify","p":409},{"i":439,"t":"dropLogLevel","u":"/docs/guide/basic/config","h":"#droploglevel","p":409},{"i":441,"t":"compileDependencies","u":"/docs/guide/basic/config","h":"#compiledependencies","p":409},{"i":443,"t":"postcss","u":"/docs/guide/basic/config","h":"#postcss","p":409},{"i":445,"t":"polyfill","u":"/docs/guide/basic/config","h":"#polyfill","p":409},{"i":447,"t":"transform","u":"/docs/guide/basic/config","h":"#transform","p":409},{"i":449,"t":"ssr","u":"/docs/guide/basic/config","h":"#ssr","p":409},{"i":451,"t":"ssg","u":"/docs/guide/basic/config","h":"#ssg","p":409},{"i":453,"t":"server","u":"/docs/guide/basic/config","h":"#server","p":409},{"i":455,"t":"routes","u":"/docs/guide/basic/config","h":"#routes","p":409},{"i":457,"t":"sourceMap","u":"/docs/guide/basic/config","h":"#sourcemap","p":409},{"i":459,"t":"splitChunks @deprecated","u":"/docs/guide/basic/config","h":"#splitchunks-deprecated","p":409},{"i":461,"t":"codeSplitting","u":"/docs/guide/basic/config","h":"#codesplitting","p":409},{"i":463,"t":"syntaxFeatures","u":"/docs/guide/basic/config","h":"#syntaxfeatures","p":409},{"i":465,"t":"tsChecker","u":"/docs/guide/basic/config","h":"#tschecker","p":409},{"i":467,"t":"eslint","u":"/docs/guide/basic/config","h":"#eslint","p":409},{"i":469,"t":"mock","u":"/docs/guide/basic/config","h":"#mock","p":409},{"i":471,"t":"htmlGenerating","u":"/docs/guide/basic/config","h":"#htmlgenerating","p":409},{"i":473,"t":"plugins","u":"/docs/guide/basic/config","h":"#plugins","p":409},{"i":475,"t":"webpack","u":"/docs/guide/basic/config","h":"#webpack","p":409},{"i":477,"t":"cssModules","u":"/docs/guide/basic/config","h":"#cssmodules","p":409},{"i":481,"t":"Node.js","u":"/docs/guide/basic/development","h":"#nodejs","p":479},{"i":483,"t":"包管理工具","u":"/docs/guide/basic/development","h":"#包管理工具","p":479},{"i":485,"t":"IDE","u":"/docs/guide/basic/development","h":"#ide","p":479},{"i":487,"t":"小程序开发者工具","u":"/docs/guide/basic/development","h":"#小程序开发者工具","p":479},{"i":491,"t":"package.json","u":"/docs/guide/basic/directory","h":"#packagejson","p":489},{"i":493,"t":"ice.config.mts","u":"/docs/guide/basic/directory","h":"#iceconfigmts","p":489},{"i":495,"t":".env","u":"/docs/guide/basic/directory","h":"#env","p":489},{"i":497,"t":"tsconfig.json","u":"/docs/guide/basic/directory","h":"#tsconfigjson","p":489},{"i":499,"t":"mock 目录","u":"/docs/guide/basic/directory","h":"#mock-目录","p":489},{"i":501,"t":"public 目录","u":"/docs/guide/basic/directory","h":"#public-目录","p":489},{"i":503,"t":"src 目录","u":"/docs/guide/basic/directory","h":"#src-目录","p":489},{"i":505,"t":"app.ts","u":"/docs/guide/basic/directory","h":"#appts","p":489},{"i":507,"t":"document.tsx","u":"/docs/guide/basic/directory","h":"#documenttsx","p":489},{"i":509,"t":"global.[css|scss|less]","u":"/docs/guide/basic/directory","h":"#globalcssscssless","p":489},{"i":511,"t":"pages 目录","u":"/docs/guide/basic/directory","h":"#pages-目录","p":489},{"i":513,"t":"components 目录","u":"/docs/guide/basic/directory","h":"#components-目录","p":489},{"i":515,"t":"其它","u":"/docs/guide/basic/directory","h":"#其它","p":489},{"i":518,"t":"设计理念","u":"/docs/guide/basic/data-loader","h":"#设计理念","p":517},{"i":520,"t":"异步消费数据","u":"/docs/guide/basic/data-loader","h":"#异步消费数据","p":517},{"i":522,"t":"静态 dataLoader","u":"/docs/guide/basic/data-loader","h":"#静态-dataloader","p":517},{"i":524,"t":"使用示例","u":"/docs/guide/basic/data-loader","h":"#使用示例","p":517},{"i":526,"t":"页面级数据加载","u":"/docs/guide/basic/data-loader","h":"#页面级数据加载","p":517},{"i":528,"t":"应用级数据加载","u":"/docs/guide/basic/data-loader","h":"#应用级数据加载","p":517},{"i":530,"t":"多个数据请求","u":"/docs/guide/basic/data-loader","h":"#多个数据请求","p":517},{"i":534,"t":"初始模板","u":"/docs/guide/basic/document","h":"#初始模板","p":532},{"i":536,"t":"内容定制","u":"/docs/guide/basic/document","h":"#内容定制","p":532},{"i":537,"t":"添加 HTML 元素","u":"/docs/guide/basic/document","h":"#添加-html-元素","p":532},{"i":539,"t":"添加内联代码","u":"/docs/guide/basic/document","h":"#添加内联代码","p":532},{"i":541,"t":"定制不同页面的 HTML","u":"/docs/guide/basic/document","h":"#定制不同页面的-html","p":532},{"i":543,"t":"自定义标签渲染逻辑","u":"/docs/guide/basic/document","h":"#自定义标签渲染逻辑","p":532},{"i":545,"t":"usePageAssets","u":"/docs/guide/basic/document","h":"#usepageassets","p":532},{"i":549,"t":"如何配置环境变量","u":"/docs/guide/basic/env","h":"#如何配置环境变量","p":547},{"i":550,"t":"命令行环境变量","u":"/docs/guide/basic/env","h":"#命令行环境变量","p":547},{"i":552,"t":"使用 .env 文件","u":"/docs/guide/basic/env","h":"#使用-env-文件","p":547},{"i":554,"t":"使用环境变量","u":"/docs/guide/basic/env","h":"#使用环境变量","p":547},{"i":556,"t":"构建时","u":"/docs/guide/basic/env","h":"#构建时","p":547},{"i":558,"t":"运行时","u":"/docs/guide/basic/env","h":"#运行时","p":547},{"i":560,"t":"内置的环境变量","u":"/docs/guide/basic/env","h":"#内置的环境变量","p":547},{"i":562,"t":"ICE_CORE_MODE","u":"/docs/guide/basic/env","h":"#ice_core_mode","p":547},{"i":564,"t":"ICE_CORE_ROUTER","u":"/docs/guide/basic/env","h":"#ice_core_router","p":547},{"i":566,"t":"ICE_CORE_ERROR_BOUNDARY","u":"/docs/guide/basic/env","h":"#ice_core_error_boundary","p":547},{"i":568,"t":"ICE_CORE_INITIAL_DATA","u":"/docs/guide/basic/env","h":"#ice_core_initial_data","p":547},{"i":570,"t":"ICE_CORE_DEV_PORT","u":"/docs/guide/basic/env","h":"#ice_core_dev_port","p":547},{"i":574,"t":"组件","u":"/docs/guide/basic/page","h":"#组件","p":572},{"i":576,"t":"获取页面初始数据","u":"/docs/guide/basic/page","h":"#获取页面初始数据","p":572},{"i":578,"t":"配置页面运行时属性","u":"/docs/guide/basic/page","h":"#配置页面运行时属性","p":572},{"i":580,"t":"title","u":"/docs/guide/basic/page","h":"#title","p":572},{"i":582,"t":"metas","u":"/docs/guide/basic/page","h":"#metas","p":572},{"i":584,"t":"links","u":"/docs/guide/basic/page","h":"#links","p":572},{"i":586,"t":"scripts","u":"/docs/guide/basic/page","h":"#scripts","p":572},{"i":588,"t":"小程序页面配置","u":"/docs/guide/basic/page","h":"#小程序页面配置","p":572},{"i":592,"t":"目录约定","u":"/docs/guide/basic/mock","h":"#目录约定","p":590},{"i":594,"t":"编写 Mock 接口","u":"/docs/guide/basic/mock","h":"#编写-mock-接口","p":590},{"i":596,"t":"请求方法","u":"/docs/guide/basic/mock","h":"#请求方法","p":590},{"i":598,"t":"返回值","u":"/docs/guide/basic/mock","h":"#返回值","p":590},{"i":600,"t":"关闭 Mock","u":"/docs/guide/basic/mock","h":"#关闭-mock","p":590},{"i":602,"t":"使用 Mock.js","u":"/docs/guide/basic/mock","h":"#使用-mockjs","p":590},{"i":604,"t":"处理请求数据","u":"/docs/guide/basic/mock","h":"#处理请求数据","p":590},{"i":608,"t":"基础概念","u":"/docs/guide/basic/router","h":"#基础概念","p":606},{"i":609,"t":"约定式路由","u":"/docs/guide/basic/router","h":"#约定式路由","p":606},{"i":611,"t":"小程序端路由规则","u":"/docs/guide/basic/router","h":"#小程序端路由规则","p":606},{"i":613,"t":"路由组件","u":"/docs/guide/basic/router","h":"#路由组件","p":606},{"i":615,"t":"布局组件","u":"/docs/guide/basic/router","h":"#布局组件","p":606},{"i":617,"t":"嵌套路由","u":"/docs/guide/basic/router","h":"#嵌套路由","p":606},{"i":619,"t":"动态路由","u":"/docs/guide/basic/router","h":"#动态路由","p":606},{"i":621,"t":"通配路由","u":"/docs/guide/basic/router","h":"#通配路由","p":606},{"i":623,"t":"转义路由","u":"/docs/guide/basic/router","h":"#转义路由","p":606},{"i":625,"t":"路由跳转","u":"/docs/guide/basic/router","h":"#路由跳转","p":606},{"i":627,"t":"history","u":"/docs/guide/basic/router","h":"#history","p":606},{"i":629,"t":"useNavigate","u":"/docs/guide/basic/router","h":"#usenavigate","p":606},{"i":631,"t":"Link 组件","u":"/docs/guide/basic/router","h":"#link-组件","p":606},{"i":633,"t":"获取路由信息","u":"/docs/guide/basic/router","h":"#获取路由信息","p":606},{"i":634,"t":"location","u":"/docs/guide/basic/router","h":"#location","p":606},{"i":636,"t":"query","u":"/docs/guide/basic/router","h":"#query","p":606},{"i":638,"t":"动态路由参数","u":"/docs/guide/basic/router","h":"#动态路由参数","p":606},{"i":640,"t":"忽略被解析为路由组件","u":"/docs/guide/basic/router","h":"#忽略被解析为路由组件","p":606},{"i":642,"t":"定制路由地址","u":"/docs/guide/basic/router","h":"#定制路由地址","p":606},{"i":646,"t":"注意事项","u":"/docs/guide/basic/ssg","h":"#注意事项","p":644},{"i":648,"t":"SSG 的数据请求","u":"/docs/guide/basic/ssg","h":"#ssg-的数据请求","p":644},{"i":650,"t":"关闭 SSG","u":"/docs/guide/basic/ssg","h":"#关闭-ssg","p":644},{"i":654,"t":"开启 SSR","u":"/docs/guide/basic/ssr","h":"#开启-ssr","p":652},{"i":656,"t":"数据请求","u":"/docs/guide/basic/ssr","h":"#数据请求","p":652},{"i":660,"t":"全局样式","u":"/docs/guide/basic/style","h":"#全局样式","p":658},{"i":662,"t":"局部样式","u":"/docs/guide/basic/style","h":"#局部样式","p":658},{"i":664,"t":"常见问题","u":"/docs/guide/basic/style","h":"#常见问题","p":658},{"i":665,"t":"ice.js 支持 rpx 吗","u":"/docs/guide/basic/style","h":"#icejs-支持-rpx-吗","p":658},{"i":667,"t":"如何覆盖全局基础组件(next/antd)样式","u":"/docs/guide/basic/style","h":"#如何覆盖全局基础组件nextantd样式","p":658},{"i":669,"t":"如何覆盖局部基础组件样式","u":"/docs/guide/basic/style","h":"#如何覆盖局部基础组件样式","p":658},{"i":671,"t":"如何获得 CSS 嵌套的类型提示","u":"/docs/guide/basic/style","h":"#如何获得-css-嵌套的类型提示","p":658},{"i":674,"t":"Uni API","u":"/docs/guide/miniapp/api","h":"#uni-api","p":673},{"i":676,"t":"原生小程序 API","u":"/docs/guide/miniapp/api","h":"#原生小程序-api","p":673},{"i":678,"t":"参考文档","u":"/docs/guide/miniapp/api","h":"#参考文档","p":673},{"i":681,"t":"全局配置","u":"/docs/guide/miniapp/app-config","h":"#全局配置","p":680},{"i":683,"t":"页面配置","u":"/docs/guide/miniapp/app-config","h":"#页面配置","p":680},{"i":685,"t":"待支持能力","u":"/docs/guide/miniapp/app-config","h":"#待支持能力","p":680},{"i":689,"t":"小程序内置组件","u":"/docs/guide/miniapp/component-use","h":"#小程序内置组件","p":687},{"i":691,"t":"HTML 标签","u":"/docs/guide/miniapp/component-use","h":"#html-标签","p":687},{"i":693,"t":"小程序原生自定义组件","u":"/docs/guide/miniapp/component-use","h":"#小程序原生自定义组件","p":687},{"i":696,"t":"原生应用生命周期事件注册","u":"/docs/guide/miniapp/native-lifecycle-events","h":"#原生应用生命周期事件注册","p":695},{"i":698,"t":"原生页面生命周期事件注册","u":"/docs/guide/miniapp/native-lifecycle-events","h":"#原生页面生命周期事件注册","p":695},{"i":704,"t":"路由规则","u":"/docs/guide/miniapp/router","h":"#路由规则","p":702},{"i":706,"t":"路由跳转","u":"/docs/guide/miniapp/router","h":"#路由跳转","p":702},{"i":707,"t":"Link 组件","u":"/docs/guide/miniapp/router","h":"#link-组件","p":702},{"i":709,"t":"API 形式","u":"/docs/guide/miniapp/router","h":"#api-形式","p":702},{"i":711,"t":"路由参数获取","u":"/docs/guide/miniapp/router","h":"#路由参数获取","p":702},{"i":715,"t":"创建小程序应用","u":"/docs/guide/miniapp/start","h":"#创建小程序应用","p":713},{"i":717,"t":"1. 通过小程序模板创建","u":"/docs/guide/miniapp/start","h":"#1-通过小程序模板创建","p":713},{"i":719,"t":"2. 改造已有的 Web 应用","u":"/docs/guide/miniapp/start","h":"#2-改造已有的-web-应用","p":713},{"i":721,"t":"调试与构建","u":"/docs/guide/miniapp/start","h":"#调试与构建","p":713},{"i":723,"t":"支持小程序平台","u":"/docs/guide/miniapp/start","h":"#支持小程序平台","p":713},{"i":725,"t":"待支持能力","u":"/docs/guide/miniapp/start","h":"#待支持能力","p":713},{"i":727,"t":"不支持能力","u":"/docs/guide/miniapp/start","h":"#不支持能力","p":713},{"i":731,"t":"样式相关问题","u":"/docs/guide/miniapp/use-html","h":"#样式相关问题","p":729},{"i":732,"t":"浏览器默认样式","u":"/docs/guide/miniapp/use-html","h":"#浏览器默认样式","p":729},{"i":734,"t":" 默认表现为块级样式","u":"/docs/guide/miniapp/use-html","h":"#span-默认表现为块级样式","p":729},{"i":736,"t":"不支持部分 CSS 选择器","u":"/docs/guide/miniapp/use-html","h":"#不支持部分-css-选择器","p":729},{"i":738,"t":"不支持使用 rem","u":"/docs/guide/miniapp/use-html","h":"#不支持使用-rem","p":729},{"i":740,"t":"其他限制","u":"/docs/guide/miniapp/use-html","h":"#其他限制","p":729},{"i":742,"t":"表单组件","u":"/docs/guide/miniapp/use-html","h":"#表单组件","p":729},{"i":744,"t":"不能同步获取元素尺寸","u":"/docs/guide/miniapp/use-html","h":"#不能同步获取元素尺寸","p":729},{"i":746,"t":"DOM API 差异","u":"/docs/guide/miniapp/use-html","h":"#dom-api-差异","p":729},{"i":748,"t":" 图片尺寸问题","u":"/docs/guide/miniapp/use-html","h":"#img-图片尺寸问题","p":729},{"i":750,"t":"不支持 ReactDOM 部分 API","u":"/docs/guide/miniapp/use-html","h":"#不支持-reactdom-部分-api","p":729},{"i":752,"t":"不支持 React Portal","u":"/docs/guide/miniapp/use-html","h":"#不支持-react-portal","p":729},{"i":753,"t":"不支持使用 SVG","u":"/docs/guide/miniapp/use-html","h":"#不支持使用-svg","p":729},{"i":757,"t":"插件规范","u":"/docs/guide/plugins/plugin-dev","h":"#插件规范","p":755},{"i":759,"t":"开发本地插件","u":"/docs/guide/plugins/plugin-dev","h":"#开发本地插件","p":755},{"i":761,"t":"发布插件到 npm","u":"/docs/guide/plugins/plugin-dev","h":"#发布插件到-npm","p":755},{"i":763,"t":"工程能力定制","u":"/docs/guide/plugins/plugin-dev","h":"#工程能力定制","p":755},{"i":765,"t":"context","u":"/docs/guide/plugins/plugin-dev","h":"#context","p":755},{"i":767,"t":"onGetConfig","u":"/docs/guide/plugins/plugin-dev","h":"#ongetconfig","p":755},{"i":769,"t":"onHook","u":"/docs/guide/plugins/plugin-dev","h":"#onhook","p":755},{"i":771,"t":"registerUserConfig","u":"/docs/guide/plugins/plugin-dev","h":"#registeruserconfig","p":755},{"i":773,"t":"registerCliOption","u":"/docs/guide/plugins/plugin-dev","h":"#registerclioption","p":755},{"i":775,"t":"modifyUserConfig","u":"/docs/guide/plugins/plugin-dev","h":"#modifyuserconfig","p":755},{"i":777,"t":"registerTask","u":"/docs/guide/plugins/plugin-dev","h":"#registertask","p":755},{"i":779,"t":"getAllTask","u":"/docs/guide/plugins/plugin-dev","h":"#getalltask","p":755},{"i":781,"t":"generator","u":"/docs/guide/plugins/plugin-dev","h":"#generator","p":755},{"i":783,"t":"watch","u":"/docs/guide/plugins/plugin-dev","h":"#watch","p":755},{"i":785,"t":"运行时能力定制","u":"/docs/guide/plugins/plugin-dev","h":"#运行时能力定制","p":755},{"i":787,"t":"appContext","u":"/docs/guide/plugins/plugin-dev","h":"#appcontext","p":755},{"i":789,"t":"addProvider","u":"/docs/guide/plugins/plugin-dev","h":"#addprovider","p":755},{"i":791,"t":"addWrapper","u":"/docs/guide/plugins/plugin-dev","h":"#addwrapper","p":755},{"i":793,"t":"setRender","u":"/docs/guide/plugins/plugin-dev","h":"#setrender","p":755},{"i":795,"t":"useData","u":"/docs/guide/plugins/plugin-dev","h":"#usedata","p":755},{"i":797,"t":"useConfig","u":"/docs/guide/plugins/plugin-dev","h":"#useconfig","p":755},{"i":800,"t":"@ice/plugin-miniapp","u":"/docs/guide/plugins/plugin-list","h":"#iceplugin-miniapp","p":799},{"i":802,"t":"@ice/plugin-auth","u":"/docs/guide/plugins/plugin-list","h":"#iceplugin-auth","p":799},{"i":804,"t":"@ice/plugin-store","u":"/docs/guide/plugins/plugin-list","h":"#iceplugin-store","p":799},{"i":806,"t":"@ice/plugin-css-assets-local","u":"/docs/guide/plugins/plugin-list","h":"#iceplugin-css-assets-local","p":799},{"i":808,"t":"@ice/plugin-antd","u":"/docs/guide/plugins/plugin-list","h":"#iceplugin-antd","p":799},{"i":810,"t":"@ice/plugin-fusion","u":"/docs/guide/plugins/plugin-list","h":"#iceplugin-fusion","p":799},{"i":816,"t":"创建应用","u":"/docs/guide/start","h":"#创建应用","p":814},{"i":818,"t":"本地调试","u":"/docs/guide/start","h":"#本地调试","p":814},{"i":820,"t":"部署发布","u":"/docs/guide/start","h":"#部署发布","p":814},{"i":822,"t":"小程序应用","u":"/docs/guide/start","h":"#小程序应用","p":814},{"i":824,"t":"小程序调试","u":"/docs/guide/start","h":"#小程序调试","p":814},{"i":826,"t":"小程序部署发布","u":"/docs/guide/start","h":"#小程序部署发布","p":814}],"index":{"version":"2.3.9","fields":["t"],"fieldVectors":[["t/3",[0,7.254]],["t/5",[1,6.586]],["t/6",[2,2.576,3,2.286,4,2.339,5,2.576,6,1.435,7,1.828,8,2.339,9,2.576]],["t/8",[3,1.192,6,2.091,7,2.665,10,2.218,11,1.879,12,1.879,13,1.879,14,2.014,15,2.014]],["t/10",[3,1.281,6,1.328,12,2.02,16,1.825,17,1.825,18,2.164,19,2.384,20,2.384,21,2.164,22,1.825]],["t/12",[3,1.506,16,2.145,17,2.145,18,2.544,21,2.544,23,2.802,24,2.802,25,2.802]],["t/14",[16,2.602,17,2.602,26,3.085,27,2.879,28,3.085,29,3.398]],["t/16",[3,1.651,16,2.352,17,2.352,30,3.071,31,3.071,32,2.352,33,1.597]],["t/18",[8,2.788,16,2.352,17,2.352,34,3.071,35,2.602,36,2.788,37,3.071]],["t/20",[38,5.912,39,5.912]],["t/24",[40,4.527,41,3.74]],["t/26",[42,3.833]],["t/27",[43,6.586]],["t/29",[44,7.254]],["t/31",[45,7.254]],["t/33",[46,6.586]],["t/36",[28,5.367,47,5.009]],["t/38",[33,2.243,35,3.656,48,4.315,49,4.315]],["t/40",[50,4.315,51,4.315,52,3.304,53,4.315]],["t/44",[41,3.74,54,3.944]],["t/46",[55,4.001,56,3.67,57,3.157]],["t/48",[56,4.349,58,3.837]],["t/50",[56,4.349,59,5.912]],["t/52",[56,3.67,57,3.157,60,3.541]],["t/54",[56,3.67,57,3.157,61,4.53]],["t/56",[33,2.594,56,3.67,62,4.001]],["t/58",[62,4.741,63,5.912]],["t/64",[40,4.527,41,3.74]],["t/66",[42,3.833]],["t/67",[64,7.254]],["t/69",[65,7.254]],["t/71",[66,7.254]],["t/75",[67,5.009,68,4.349]],["t/77",[68,4.349,69,5.367]],["t/79",[70,7.254]],["t/81",[67,3.656,71,3.656,72,4.315,73,4.315]],["t/83",[74,4.53,75,2.729,76,4.989]],["t/84",[7,3.541,75,2.729,77,4.53]],["t/86",[75,3.234,78,5.912]],["t/88",[68,4.349,79,3.74]],["t/90",[80,7.254]],["t/91",[67,3.221,69,3.452,71,3.221,81,3.049,82,3.452]],["t/93",[81,3.46,82,3.918,83,3.656,84,3.46]],["t/97",[85,5.912,86,5.912]],["t/99",[87,5.912,88,3.234]],["t/101",[60,3.541,89,4.53,90,4.53]],["t/102",[91,7.254]],["t/104",[92,7.254]],["t/106",[93,7.254]],["t/108",[94,7.254]],["t/110",[89,5.367,95,5.367]],["t/112",[88,2.729,96,4.989,97,4.989]],["t/114",[98,5.912,99,5.912]],["t/116",[100,5.817]],["t/118",[41,3.74,101,5.912]],["t/119",[102,6.586]],["t/121",[103,7.254]],["t/123",[104,7.254]],["t/127",[55,4.741,75,3.234]],["t/128",[75,3.234,105,5.009]],["t/130",[75,3.234,106,5.009]],["t/132",[75,3.234,107,4.741]],["t/134",[41,3.74,54,3.944]],["t/136",[75,2.729,105,4.227,107,4.001]],["t/138",[75,2.729,106,4.227,107,4.001]],["t/140",[108,7.254]],["t/141",[42,2.636,75,2.729,105,4.227]],["t/143",[109,7.254]],["t/145",[110,7.254]],["t/147",[42,2.636,75,2.729,106,4.227]],["t/151",[40,4.527,41,3.74]],["t/153",[42,3.833]],["t/154",[43,6.586]],["t/156",[111,7.254]],["t/158",[46,6.586]],["t/160",[42,3.124,112,5.912]],["t/164",[6,2.118,7,2.699,113,2.911,114,3.049,115,3.049]],["t/166",[113,3.304,114,3.46,116,4.315,117,3.656]],["t/168",[54,4.839]],["t/170",[3,3.899]],["t/172",[118,7.254]],["t/176",[33,2.594,88,2.729,119,4.53]],["t/178",[33,2.594,119,4.53,120,4.53]],["t/182",[12,4.227,121,4.989,122,4.53]],["t/184",[3,3.177,54,3.944]],["t/186",[123,5.367,124,5.912]],["t/188",[125,4.53,126,4.989,127,4.989]],["t/190",[11,4.227,128,4.989,129,4.989]],["t/192",[14,3.918,130,4.315,131,4.315,132,3.918]],["t/194",[123,4.53,133,4.989,134,4.989]],["t/196",[33,2.594,135,4.989,136,4.989]],["t/198",[137,4.315,138,4.315,139,4.315,140,4.315]],["t/204",[3,2.681,41,3.157,54,3.328]],["t/206",[113,3.82,141,4.989,142,4.53]],["t/207",[113,3.82,143,4.989,144,3.541]],["t/209",[145,4.315,146,4.315,147,3.46,148,3.304]],["t/211",[148,4.527,149,3.944]],["t/213",[27,4.227,113,3.82,150,4.989]],["t/215",[3,1.826,27,2.879,149,2.267,151,3.085,152,2.725,153,3.398]],["t/217",[115,4.001,154,4.53,155,4.53]],["t/219",[115,4.741,147,4.741]],["t/223",[41,3.157,54,3.328,156,4.53]],["t/225",[157,4.063,158,5.009]],["t/227",[159,5.367,160,5.009]],["t/229",[160,3.656,161,4.315,162,3.063,163,3.918]],["t/231",[160,3.656,162,3.063,163,3.918,164,4.315]],["t/233",[144,5.149]],["t/234",[156,6.586]],["t/236",[165,7.254]],["t/238",[42,3.124,166,4.196]],["t/240",[42,2.636,166,3.541,167,4.53]],["t/242",[148,4.527,168,5.912]],["t/244",[169,5.912,170,5.367]],["t/245",[171,4.349,172,5.009]],["t/247",[172,2.879,173,2.602,174,3.398,175,3.398,176,3.398,177,2.879]],["t/249",[42,2.009,178,3.802,179,3.802,180,3.452,181,3.802]],["t/253",[182,7.254]],["t/254",[52,4.527,54,3.944]],["t/256",[42,3.833]],["t/258",[32,3.82,81,4.001,183,4.001]],["t/260",[32,4.527,183,4.741]],["t/262",[184,7.254]],["t/263",[52,4.527,54,3.944]],["t/265",[42,3.833]],["t/267",[32,3.82,81,4.001,183,4.001]],["t/269",[32,4.527,183,4.741]],["t/273",[40,3.82,185,3.428,186,4.989]],["t/275",[185,4.063,187,4.741]],["t/277",[188,5.009,189,4.741]],["t/279",[55,4.741,190,5.009]],["t/281",[3,2.681,33,2.594,162,3.541]],["t/283",[58,3.837,185,4.063]],["t/285",[188,5.009,189,4.741]],["t/287",[55,4.741,190,5.009]],["t/289",[3,2.681,33,2.594,162,3.541]],["t/291",[170,5.367,191,5.367]],["t/292",[61,5.367,192,5.912]],["t/294",[188,3.656,189,3.46,193,4.315,194,4.315]],["t/296",[189,4.001,195,4.989,196,4.989]],["t/298",[3,2.319,185,2.966,197,4.315,198,4.315]],["t/300",[60,2.412,185,3.653,199,2.879,200,2.879,201,3.398]],["t/302",[58,2.801,95,3.918,185,2.966,202,4.315]],["t/304",[3,2.319,162,3.063,203,4.315,204,3.918]],["t/306",[205,5.912,206,5.912]],["t/309",[207,7.254]],["t/311",[13,5.009,208,5.912]],["t/312",[52,4.527,209,5.367]],["t/314",[13,4.227,210,4.53,211,4.001]],["t/316",[42,2.636,117,4.227,212,4.989]],["t/318",[209,4.53,213,3.82,214,3.428]],["t/320",[36,4.53,117,4.227,191,4.53]],["t/323",[215,7.254]],["t/325",[216,7.254]],["t/327",[217,6.586]],["t/329",[218,7.254]],["t/331",[219,7.254]],["t/333",[220,6.586]],["t/335",[221,7.254]],["t/337",[222,7.254]],["t/339",[223,6.586]],["t/341",[224,6.586]],["t/343",[225,7.254]],["t/345",[226,7.254]],["t/347",[227,7.254]],["t/349",[228,7.254]],["t/351",[229,5.817]],["t/353",[230,7.254]],["t/355",[231,7.254]],["t/357",[232,7.254]],["t/359",[33,3.073,233,5.367]],["t/363",[75,3.234,211,4.741]],["t/365",[42,3.124,234,5.367]],["t/367",[114,5.817]],["t/369",[235,6.586]],["t/371",[213,3.82,214,3.428,236,4.989]],["t/375",[33,2.594,52,3.82,54,3.328]],["t/377",[185,2.613,214,2.613,237,2.911,238,3.452,239,3.221]],["t/379",[237,3.82,239,4.227,240,4.989]],["t/381",[185,2.613,214,2.613,237,2.911,238,3.452,239,3.221]],["t/385",[241,7.254]],["t/387",[242,7.254]],["t/389",[243,7.254]],["t/391",[244,7.254]],["t/395",[22,4.527,245,4.741]],["t/397",[122,3.918,162,3.063,246,3.46,247,3.46]],["t/399",[162,3.063,246,3.46,247,3.46,248,3.304]],["t/401",[148,3.82,245,4.001,249,4.989]],["t/403",[247,4.741,250,5.912]],["t/405",[246,4.001,247,4.001,251,4.53]],["t/407",[157,4.063,252,5.367]],["t/411",[211,5.817]],["t/412",[152,4.741,211,4.741]],["t/414",[42,3.124,142,5.367]],["t/416",[42,3.124,234,5.367]],["t/417",[253,7.254]],["t/419",[254,7.254]],["t/421",[255,7.254]],["t/423",[256,6.586]],["t/425",[257,7.254]],["t/427",[258,7.254]],["t/429",[259,7.254]],["t/431",[260,7.254]],["t/433",[261,7.254]],["t/435",[262,7.254]],["t/437",[263,7.254]],["t/439",[264,7.254]],["t/441",[265,7.254]],["t/443",[266,7.254]],["t/445",[267,7.254]],["t/447",[268,7.254]],["t/449",[269,6.586]],["t/451",[100,5.817]],["t/453",[270,7.254]],["t/455",[271,7.254]],["t/457",[272,7.254]],["t/459",[273,5.912,274,5.912]],["t/461",[275,7.254]],["t/463",[276,7.254]],["t/465",[277,7.254]],["t/467",[278,7.254]],["t/469",[171,5.336]],["t/471",[279,7.254]],["t/473",[280,5.149]],["t/475",[4,6.586]],["t/477",[281,7.254]],["t/481",[7,4.196,77,5.367]],["t/483",[282,5.912,283,5.912]],["t/485",[284,7.254]],["t/487",[285,4.989,286,4.989,287,4.989]],["t/491",[288,5.912,289,5.367]],["t/493",[6,2.779,290,4.989,291,4.989]],["t/495",[292,6.586]],["t/497",[289,5.367,293,5.912]],["t/499",[157,4.063,171,4.349]],["t/501",[157,4.063,252,5.367]],["t/503",[157,4.063,294,5.912]],["t/505",[114,4.741,295,5.912]],["t/507",[233,5.367,296,5.912]],["t/509",[248,3.304,297,4.315,298,4.315,299,4.315]],["t/511",[157,4.063,300,5.912]],["t/513",[157,4.063,204,5.367]],["t/515",[301,7.254]],["t/518",[302,5.912,303,5.912]],["t/520",[57,3.157,159,4.53,304,4.989]],["t/522",[71,5.009,256,5.367]],["t/524",[3,3.177,305,5.912]],["t/526",[57,2.73,58,2.801,200,3.656,306,3.656]],["t/528",[57,2.73,75,2.36,200,3.656,306,3.656]],["t/530",[57,3.157,166,3.541,167,4.53]],["t/534",[307,5.367,308,5.367]],["t/536",[251,5.367,309,4.527]],["t/537",[84,4.001,237,3.82,310,4.53]],["t/539",[35,4.227,151,4.53,310,4.53]],["t/541",[58,2.801,84,3.46,180,3.918,309,3.304]],["t/543",[62,3.46,132,3.918,311,3.918,312,4.315]],["t/545",[313,7.254]],["t/549",[42,2.636,173,3.82,314,4.001]],["t/550",[314,4.741,315,5.912]],["t/552",[3,2.681,246,4.001,292,4.53]],["t/554",[3,3.177,314,4.741]],["t/556",[152,4.741,214,4.063]],["t/558",[213,4.527,214,4.063]],["t/560",[199,5.009,314,4.741]],["t/562",[6,2.404,316,4.315,317,3.304,318,4.315]],["t/564",[6,2.404,235,3.918,317,3.304,319,4.315]],["t/566",[6,2.118,317,2.911,320,3.802,321,3.802,322,3.802]],["t/568",[6,2.118,317,2.911,323,3.802,324,3.802,325,3.802]],["t/570",[6,2.118,317,2.911,326,3.802,327,3.802,328,3.802]],["t/574",[33,3.771]],["t/576",[57,2.73,58,2.801,60,3.063,307,3.918]],["t/578",[42,2.009,58,2.468,155,3.452,213,2.911,214,2.613]],["t/580",[329,7.254]],["t/582",[330,7.254]],["t/584",[229,5.817]],["t/586",[331,7.254]],["t/588",[42,2.636,58,3.238,79,3.157]],["t/592",[157,4.063,158,5.009]],["t/594",[171,3.67,172,4.227,332,4.989]],["t/596",[166,4.196,333,5.912]],["t/598",[334,7.254]],["t/600",[171,4.349,335,5.367]],["t/602",[3,2.681,7,3.541,171,3.67]],["t/604",[57,3.157,148,3.82,166,3.541]],["t/608",[22,4.527,336,5.912]],["t/609",[88,2.729,158,4.227,337,4.989]],["t/611",[74,3.918,79,2.73,88,2.36,245,3.46]],["t/613",[33,3.073,88,3.234]],["t/615",[33,3.073,338,5.912]],["t/617",[88,3.234,339,5.367]],["t/619",[88,3.234,340,5.367]],["t/621",[88,2.729,341,4.989,342,4.989]],["t/623",[88,3.234,343,5.912]],["t/625",[88,3.234,344,5.367]],["t/627",[217,6.586]],["t/629",[220,6.586]],["t/631",[33,3.073,229,4.741]],["t/633",[60,3.541,88,2.729,90,4.53]],["t/634",[345,7.254]],["t/636",[346,7.254]],["t/638",[88,2.729,340,4.53,347,4.53]],["t/640",[33,2.243,88,2.36,348,4.315,349,4.315]],["t/642",[88,2.729,309,3.82,350,4.989]],["t/646",[351,7.254]],["t/648",[57,3.157,100,4.001,166,3.541]],["t/650",[100,4.741,335,5.367]],["t/654",[40,4.527,269,5.367]],["t/656",[57,3.74,166,4.196]],["t/660",[149,3.944,187,4.741]],["t/662",[149,3.944,352,5.367]],["t/664",[1,6.586]],["t/665",[6,2.118,7,2.699,15,3.452,353,2.468,354,3.802]],["t/667",[22,2.145,33,1.457,149,1.869,173,2.145,187,2.247,355,2.544,356,2.802,357,2.544]],["t/669",[22,2.602,33,1.766,149,2.267,173,2.602,352,3.085,355,3.085]],["t/671",[173,2.602,248,2.602,339,3.085,358,3.398,359,3.398,360,3.398]],["t/674",[144,4.196,361,5.912]],["t/676",[79,3.157,144,3.541,362,4.001]],["t/678",[363,5.912,364,5.912]],["t/681",[42,3.124,187,4.741]],["t/683",[42,3.124,58,3.837]],["t/685",[353,3.238,365,4.53,366,3.82]],["t/689",[33,2.594,79,3.157,199,4.227]],["t/691",[84,4.741,311,5.367]],["t/693",[33,2.243,62,3.46,79,2.73,362,3.46]],["t/696",[75,2.079,147,3.049,362,3.049,367,3.452,368,3.452]],["t/698",[58,2.468,147,3.049,362,3.049,367,3.452,368,3.452]],["t/704",[88,3.234,245,4.741]],["t/706",[88,3.234,344,5.367]],["t/707",[33,3.073,229,4.741]],["t/709",[144,4.196,369,5.912]],["t/711",[60,3.541,88,2.729,347,4.53]],["t/715",[75,2.729,79,3.157,370,4.227]],["t/717",[79,2.405,125,3.452,308,3.452,370,3.221,371,3.802]],["t/719",[11,3.221,75,2.079,107,3.049,372,3.802,373,3.802]],["t/721",[152,4.741,374,5.367]],["t/723",[79,3.157,353,3.238,375,4.989]],["t/725",[353,3.238,365,4.53,366,3.82]],["t/727",[353,3.837,366,4.527]],["t/731",[149,3.328,177,4.227,376,4.989]],["t/732",[26,4.53,47,4.227,149,3.328]],["t/734",[47,2.879,149,2.267,306,2.879,377,3.398,378,3.398,379,3.398]],["t/736",[248,3.304,353,2.801,380,3.918,381,4.315]],["t/738",[3,2.681,353,3.238,382,4.989]],["t/740",[120,5.367,383,5.912]],["t/742",[33,3.073,384,5.912]],["t/744",[60,2.699,237,2.911,385,3.802,386,3.802,387,3.802]],["t/746",[115,4.001,144,3.541,154,4.53]],["t/748",[177,4.227,388,4.989,389,4.989]],["t/750",[144,3.063,353,2.801,380,3.918,390,4.315]],["t/752",[353,3.238,391,4.989,392,4.989]],["t/753",[3,2.681,353,3.238,393,4.989]],["t/757",[41,3.74,394,5.912]],["t/759",[41,3.157,395,4.989,396,4.53]],["t/761",[41,3.157,68,3.67,397,4.989]],["t/763",[210,4.53,309,3.82,366,3.82]],["t/765",[398,7.254]],["t/767",[399,7.254]],["t/769",[400,7.254]],["t/771",[401,7.254]],["t/773",[402,7.254]],["t/775",[403,7.254]],["t/777",[404,7.254]],["t/779",[405,7.254]],["t/781",[406,7.254]],["t/783",[407,7.254]],["t/785",[213,3.304,214,2.966,309,3.304,366,3.304]],["t/787",[408,7.254]],["t/789",[409,7.254]],["t/791",[410,7.254]],["t/793",[411,7.254]],["t/795",[223,6.586]],["t/797",[224,6.586]],["t/800",[6,2.779,280,3.541,412,4.989]],["t/802",[6,2.779,280,3.541,413,4.989]],["t/804",[6,2.779,190,4.227,280,3.541]],["t/806",[6,2.118,102,3.452,248,2.911,280,2.699,414,3.802]],["t/808",[6,2.779,280,3.541,357,4.53]],["t/810",[6,2.779,280,3.541,415,4.989]],["t/816",[75,3.234,370,5.009]],["t/818",[374,5.367,396,5.367]],["t/820",[68,4.349,83,5.009]],["t/822",[75,3.234,79,3.74]],["t/824",[416,7.254]],["t/826",[68,3.67,79,3.157,83,4.227]]],"invertedIndex":[["1",{"_index":125,"t":{"188":{"position":[[0,1]]},"717":{"position":[[0,1]]}}}],["2",{"_index":11,"t":{"8":{"position":[[13,1]]},"190":{"position":[[0,1]]},"719":{"position":[[0,1]]}}}],["3",{"_index":14,"t":{"8":{"position":[[28,1]]},"192":{"position":[[0,1]]}}}],["4",{"_index":133,"t":{"194":{"position":[[0,1]]}}}],["5",{"_index":135,"t":{"196":{"position":[[0,1]]}}}],["6",{"_index":137,"t":{"198":{"position":[[0,1]]}}}],["addprovid",{"_index":409,"t":{"789":{"position":[[0,11]]}}}],["addwrapp",{"_index":410,"t":{"791":{"position":[[0,10]]}}}],["alia",{"_index":253,"t":{"417":{"position":[[0,5]]}}}],["antd",{"_index":357,"t":{"667":{"position":[[16,4]]},"808":{"position":[[12,4]]}}}],["api",{"_index":144,"t":{"207":{"position":[[7,3]]},"233":{"position":[[0,3]]},"674":{"position":[[4,3]]},"676":{"position":[[6,3]]},"709":{"position":[[0,3]]},"746":{"position":[[4,3]]},"750":{"position":[[16,3]]}}}],["app",{"_index":114,"t":{"164":{"position":[[13,3]]},"166":{"position":[[4,3]]},"367":{"position":[[0,3]]},"505":{"position":[[0,3]]}}}],["appconfig",{"_index":231,"t":{"355":{"position":[[0,9]]}}}],["appcontext",{"_index":408,"t":{"787":{"position":[[0,10]]}}}],["appear",{"_index":145,"t":{"209":{"position":[[0,6]]}}}],["approut",{"_index":110,"t":{"145":{"position":[[0,9]]}}}],["asset",{"_index":414,"t":{"806":{"position":[[16,6]]}}}],["auth",{"_index":413,"t":{"802":{"position":[[12,4]]}}}],["autoredirect",{"_index":104,"t":{"123":{"position":[[0,12]]}}}],["baseurl",{"_index":181,"t":{"249":{"position":[[10,7]]}}}],["boundari",{"_index":322,"t":{"566":{"position":[[15,8]]}}}],["build",{"_index":242,"t":{"387":{"position":[[0,5]]}}}],["cdn",{"_index":69,"t":{"77":{"position":[[0,3]]},"91":{"position":[[11,3]]}}}],["class",{"_index":203,"t":{"304":{"position":[[2,5]]}}}],["clientonli",{"_index":227,"t":{"347":{"position":[[1,10]]}}}],["codesplit",{"_index":275,"t":{"461":{"position":[[0,13]]}}}],["compact",{"_index":45,"t":{"31":{"position":[[0,7]]}}}],["compat",{"_index":141,"t":{"206":{"position":[[4,6]]}}}],["compiledepend",{"_index":265,"t":{"441":{"position":[[0,19]]}}}],["compon",{"_index":204,"t":{"304":{"position":[[8,9]]},"513":{"position":[[0,10]]}}}],["config",{"_index":290,"t":{"493":{"position":[[4,6]]}}}],["context",{"_index":398,"t":{"765":{"position":[[0,7]]}}}],["cooki",{"_index":99,"t":{"114":{"position":[[3,6]]}}}],["core",{"_index":317,"t":{"562":{"position":[[4,4]]},"564":{"position":[[4,4]]},"566":{"position":[[4,4]]},"568":{"position":[[4,4]]},"570":{"position":[[4,4]]}}}],["crossoriginload",{"_index":254,"t":{"419":{"position":[[0,18]]}}}],["css",{"_index":248,"t":{"399":{"position":[[2,3]]},"509":{"position":[[8,3]]},"671":{"position":[[5,3]]},"736":{"position":[[6,3]]},"806":{"position":[[12,3]]}}}],["cssmodul",{"_index":281,"t":{"477":{"position":[[0,10]]}}}],["dark",{"_index":44,"t":{"29":{"position":[[0,4]]}}}],["data",{"_index":325,"t":{"568":{"position":[[17,4]]}}}],["dataload",{"_index":256,"t":{"423":{"position":[[0,10]]},"522":{"position":[[3,10]]}}}],["defaultlocal",{"_index":103,"t":{"121":{"position":[[0,13]]}}}],["defin",{"_index":255,"t":{"421":{"position":[[0,6]]}}}],["defineappconfig",{"_index":215,"t":{"323":{"position":[[0,15]]}}}],["definepageconfig",{"_index":216,"t":{"325":{"position":[[0,16]]}}}],["deprec",{"_index":274,"t":{"459":{"position":[[13,10]]}}}],["dev",{"_index":327,"t":{"570":{"position":[[9,3]]}}}],["devpublicpath",{"_index":258,"t":{"427":{"position":[[0,13]]}}}],["devtool",{"_index":206,"t":{"306":{"position":[[6,8]]}}}],["disappear",{"_index":146,"t":{"209":{"position":[[9,9]]}}}],["document",{"_index":233,"t":{"359":{"position":[[0,8]]},"507":{"position":[[0,8]]}}}],["dom",{"_index":154,"t":{"217":{"position":[[0,3]]},"746":{"position":[[0,3]]}}}],["droploglevel",{"_index":264,"t":{"439":{"position":[[0,12]]}}}],["enableindev",{"_index":66,"t":{"71":{"position":[[0,11]]}}}],["env",{"_index":292,"t":{"495":{"position":[[1,3]]},"552":{"position":[[4,3]]}}}],["error",{"_index":321,"t":{"566":{"position":[[9,5]]}}}],["eslint",{"_index":278,"t":{"467":{"position":[[0,6]]}}}],["extern",{"_index":260,"t":{"431":{"position":[[0,9]]}}}],["fallback",{"_index":63,"t":{"58":{"position":[[4,8]]}}}],["faq",{"_index":80,"t":{"90":{"position":[[0,3]]}}}],["fragment",{"_index":136,"t":{"196":{"position":[[3,8]]}}}],["fusion",{"_index":415,"t":{"810":{"position":[[12,6]]}}}],["gener",{"_index":406,"t":{"781":{"position":[[0,9]]}}}],["getalltask",{"_index":405,"t":{"779":{"position":[[0,10]]}}}],["getdefaultlocal",{"_index":92,"t":{"104":{"position":[[0,16]]}}}],["getlocal",{"_index":91,"t":{"102":{"position":[[0,10]]}}}],["global",{"_index":297,"t":{"509":{"position":[[0,6]]}}}],["hash",{"_index":259,"t":{"429":{"position":[[0,4]]}}}],["help",{"_index":243,"t":{"389":{"position":[[0,4]]}}}],["histori",{"_index":217,"t":{"327":{"position":[[0,7]]},"627":{"position":[[0,7]]}}}],["html",{"_index":84,"t":{"93":{"position":[[4,4]]},"537":{"position":[[3,4]]},"541":{"position":[[8,4]]},"691":{"position":[[0,4]]}}}],["htmlgener",{"_index":279,"t":{"471":{"position":[[0,14]]}}}],["ic",{"_index":6,"t":{"6":{"position":[[20,3]]},"8":{"position":[[6,3],[21,3]]},"10":{"position":[[6,3]]},"164":{"position":[[0,3]]},"493":{"position":[[0,3]]},"562":{"position":[[0,3]]},"564":{"position":[[0,3]]},"566":{"position":[[0,3]]},"568":{"position":[[0,3]]},"570":{"position":[[0,3]]},"665":{"position":[[0,3]]},"800":{"position":[[1,3]]},"802":{"position":[[1,3]]},"804":{"position":[[1,3]]},"806":{"position":[[1,3]]},"808":{"position":[[1,3]]},"810":{"position":[[1,3]]}}}],["ice_core_dev_port",{"_index":326,"t":{"570":{"position":[[0,17]]}}}],["ice_core_error_boundari",{"_index":320,"t":{"566":{"position":[[0,23]]}}}],["ice_core_initial_data",{"_index":323,"t":{"568":{"position":[[0,21]]}}}],["ice_core_mod",{"_index":316,"t":{"562":{"position":[[0,13]]}}}],["ice_core_rout",{"_index":319,"t":{"564":{"position":[[0,15]]}}}],["id",{"_index":284,"t":{"485":{"position":[[0,3]]}}}],["img",{"_index":388,"t":{"748":{"position":[[1,3]]}}}],["importstyl",{"_index":43,"t":{"27":{"position":[[0,11]]},"154":{"position":[[0,11]]}}}],["initi",{"_index":324,"t":{"568":{"position":[[9,7]]}}}],["java",{"_index":78,"t":{"86":{"position":[[0,4]]}}}],["jest",{"_index":182,"t":{"253":{"position":[[0,4]]}}}],["js",{"_index":7,"t":{"6":{"position":[[24,2]]},"8":{"position":[[10,2],[25,2]]},"84":{"position":[[5,2]]},"164":{"position":[[4,2]]},"481":{"position":[[5,2]]},"602":{"position":[[8,2]]},"665":{"position":[[4,2]]}}}],["json",{"_index":289,"t":{"491":{"position":[[8,4]]},"497":{"position":[[9,4]]}}}],["jsx",{"_index":122,"t":{"182":{"position":[[6,3]]},"397":{"position":[[2,3]]}}}],["keepaliveoutlet",{"_index":228,"t":{"349":{"position":[[1,15]]}}}],["layout",{"_index":109,"t":{"143":{"position":[[0,6]]}}}],["less",{"_index":299,"t":{"509":{"position":[[17,4]]}}}],["link",{"_index":229,"t":{"351":{"position":[[1,4]]},"584":{"position":[[0,5]]},"631":{"position":[[0,4]]},"707":{"position":[[0,4]]}}}],["local",{"_index":102,"t":{"119":{"position":[[0,7]]},"806":{"position":[[23,5]]}}}],["locat",{"_index":345,"t":{"634":{"position":[[0,8]]}}}],["meta",{"_index":330,"t":{"582":{"position":[[0,5]]}}}],["miniapp",{"_index":412,"t":{"800":{"position":[[12,7]]}}}],["minifi",{"_index":263,"t":{"437":{"position":[[0,6]]}}}],["mock",{"_index":171,"t":{"245":{"position":[[0,4]]},"469":{"position":[[0,4]]},"499":{"position":[[0,4]]},"594":{"position":[[3,4]]},"600":{"position":[[3,4]]},"602":{"position":[[3,4]]}}}],["mode",{"_index":318,"t":{"562":{"position":[[9,4]]}}}],["model",{"_index":189,"t":{"277":{"position":[[3,5]]},"285":{"position":[[3,5]]},"294":{"position":[[0,5]]},"296":{"position":[[0,5]]}}}],["modifyuserconfig",{"_index":403,"t":{"775":{"position":[[0,16]]}}}],["mt",{"_index":291,"t":{"493":{"position":[[11,3]]}}}],["next",{"_index":356,"t":{"667":{"position":[[11,4]]}}}],["nginx",{"_index":70,"t":{"79":{"position":[[0,5]]}}}],["node",{"_index":77,"t":{"84":{"position":[[0,4]]},"481":{"position":[[0,4]]}}}],["npm",{"_index":397,"t":{"761":{"position":[[6,3]]}}}],["ongetconfig",{"_index":399,"t":{"767":{"position":[[0,11]]}}}],["onhook",{"_index":400,"t":{"769":{"position":[[0,6]]}}}],["outlet",{"_index":230,"t":{"353":{"position":[[1,6]]}}}],["outputdir",{"_index":261,"t":{"433":{"position":[[0,9]]}}}],["outputpath",{"_index":64,"t":{"67":{"position":[[0,10]]}}}],["packag",{"_index":288,"t":{"491":{"position":[[0,7]]}}}],["page",{"_index":300,"t":{"511":{"position":[[0,5]]}}}],["plugin",{"_index":280,"t":{"473":{"position":[[0,7]]},"800":{"position":[[5,6]]},"802":{"position":[[5,6]]},"804":{"position":[[5,6]]},"806":{"position":[[5,6]]},"808":{"position":[[5,6]]},"810":{"position":[[5,6]]}}}],["polyfil",{"_index":267,"t":{"445":{"position":[[0,8]]}}}],["port",{"_index":328,"t":{"570":{"position":[[13,4]]}}}],["portal",{"_index":392,"t":{"752":{"position":[[10,6]]}}}],["postcss",{"_index":266,"t":{"443":{"position":[[0,7]]}}}],["proxi",{"_index":262,"t":{"435":{"position":[[0,5]]}}}],["public",{"_index":252,"t":{"407":{"position":[[0,6]]},"501":{"position":[[0,6]]}}}],["publicpath",{"_index":257,"t":{"425":{"position":[[0,10]]}}}],["queri",{"_index":346,"t":{"636":{"position":[[0,5]]}}}],["rax",{"_index":113,"t":{"164":{"position":[[9,3]]},"166":{"position":[[0,3]]},"206":{"position":[[0,3]]},"207":{"position":[[0,3]]},"213":{"position":[[3,3]]}}}],["react",{"_index":391,"t":{"752":{"position":[[4,5]]}}}],["reactdom",{"_index":390,"t":{"750":{"position":[[4,8]]}}}],["redux",{"_index":205,"t":{"306":{"position":[[0,5]]}}}],["registercliopt",{"_index":402,"t":{"773":{"position":[[0,17]]}}}],["registertask",{"_index":404,"t":{"777":{"position":[[0,12]]}}}],["registeruserconfig",{"_index":401,"t":{"771":{"position":[[0,18]]}}}],["relativecsspath",{"_index":65,"t":{"69":{"position":[[0,15]]}}}],["rem",{"_index":382,"t":{"738":{"position":[[6,3]]}}}],["request",{"_index":156,"t":{"223":{"position":[[3,7]]},"234":{"position":[[0,7]]}}}],["rout",{"_index":271,"t":{"455":{"position":[[0,6]]}}}],["routeconfig",{"_index":232,"t":{"357":{"position":[[0,11]]}}}],["router",{"_index":235,"t":{"369":{"position":[[0,6]]},"564":{"position":[[9,6]]}}}],["rpx",{"_index":354,"t":{"665":{"position":[[10,3]]}}}],["script",{"_index":331,"t":{"586":{"position":[[0,7]]}}}],["scss",{"_index":298,"t":{"509":{"position":[[12,4]]}}}],["server",{"_index":270,"t":{"453":{"position":[[0,6]]}}}],["servic",{"_index":160,"t":{"227":{"position":[[3,7]]},"229":{"position":[[7,7]]},"231":{"position":[[7,7]]}}}],["setrend",{"_index":411,"t":{"793":{"position":[[0,9]]}}}],["sourcemap",{"_index":272,"t":{"457":{"position":[[0,9]]}}}],["span",{"_index":377,"t":{"734":{"position":[[1,4]]}}}],["splitchunk",{"_index":273,"t":{"459":{"position":[[0,11]]}}}],["src",{"_index":294,"t":{"503":{"position":[[0,3]]}}}],["ssg",{"_index":100,"t":{"116":{"position":[[0,3]]},"451":{"position":[[0,3]]},"648":{"position":[[0,3]]},"650":{"position":[[3,3]]}}}],["ssr",{"_index":269,"t":{"449":{"position":[[0,3]]},"654":{"position":[[3,3]]}}}],["start",{"_index":241,"t":{"385":{"position":[[0,5]]}}}],["store",{"_index":190,"t":{"279":{"position":[[4,5]]},"287":{"position":[[4,5]]},"804":{"position":[[12,5]]}}}],["svg",{"_index":393,"t":{"753":{"position":[[6,3]]}}}],["swiper",{"_index":150,"t":{"213":{"position":[[7,6]]}}}],["syntaxfeatur",{"_index":276,"t":{"463":{"position":[[0,14]]}}}],["theme",{"_index":46,"t":{"33":{"position":[[0,5]]},"158":{"position":[[0,5]]}}}],["themepackag",{"_index":111,"t":{"156":{"position":[[0,12]]}}}],["titl",{"_index":329,"t":{"580":{"position":[[0,5]]}}}],["transform",{"_index":268,"t":{"447":{"position":[[0,9]]}}}],["ts",{"_index":295,"t":{"505":{"position":[[4,2]]}}}],["tschecker",{"_index":277,"t":{"465":{"position":[[0,9]]}}}],["tsconfig",{"_index":293,"t":{"497":{"position":[[0,8]]}}}],["tsx",{"_index":296,"t":{"507":{"position":[[9,3]]}}}],["ui",{"_index":32,"t":{"16":{"position":[[9,2]]},"258":{"position":[[2,2]]},"260":{"position":[[0,2]]},"267":{"position":[[2,2]]},"269":{"position":[[0,2]]}}}],["uni",{"_index":361,"t":{"674":{"position":[[0,3]]}}}],["url",{"_index":250,"t":{"403":{"position":[[0,3]]}}}],["useappcontext",{"_index":226,"t":{"345":{"position":[[0,13]]}}}],["useappdata",{"_index":222,"t":{"337":{"position":[[0,10]]}}}],["useconfig",{"_index":224,"t":{"341":{"position":[[0,9]]},"797":{"position":[[0,9]]}}}],["usedata",{"_index":223,"t":{"339":{"position":[[0,7]]},"795":{"position":[[0,7]]}}}],["useloc",{"_index":221,"t":{"335":{"position":[[0,11]]}}}],["uselocal",{"_index":93,"t":{"106":{"position":[[0,9]]}}}],["usemount",{"_index":225,"t":{"343":{"position":[[0,10]]}}}],["usenavig",{"_index":220,"t":{"333":{"position":[[0,11]]},"629":{"position":[[0,11]]}}}],["usepageasset",{"_index":313,"t":{"545":{"position":[[0,13]]}}}],["useparam",{"_index":218,"t":{"329":{"position":[[0,9]]}}}],["userequest",{"_index":165,"t":{"236":{"position":[[0,10]]}}}],["usesearchparam",{"_index":219,"t":{"331":{"position":[[0,15]]}}}],["version",{"_index":244,"t":{"391":{"position":[[0,7]]}}}],["vitest",{"_index":184,"t":{"262":{"position":[[0,6]]}}}],["watch",{"_index":407,"t":{"783":{"position":[[0,5]]}}}],["web",{"_index":373,"t":{"719":{"position":[[9,3]]}}}],["webpack",{"_index":4,"t":{"6":{"position":[[6,7]]},"475":{"position":[[0,7]]}}}],["withlocal",{"_index":94,"t":{"108":{"position":[[0,10]]}}}],["一定",{"_index":20,"t":{"10":{"position":[[17,2]]}}}],["三方",{"_index":51,"t":{"40":{"position":[[2,2]]}}}],["不可",{"_index":197,"t":{"298":{"position":[[2,2]]}}}],["不同",{"_index":180,"t":{"249":{"position":[[6,2]]},"541":{"position":[[2,2]]}}}],["不能",{"_index":385,"t":{"744":{"position":[[0,2]]}}}],["中",{"_index":162,"t":{"229":{"position":[[3,1]]},"231":{"position":[[3,1]]},"281":{"position":[[3,1]]},"289":{"position":[[3,1]]},"304":{"position":[[18,1]]},"397":{"position":[[8,1]]},"399":{"position":[[8,1]]}}}],["为什么",{"_index":121,"t":{"182":{"position":[[0,3]]}}}],["之间",{"_index":195,"t":{"296":{"position":[[6,2]]}}}],["事件",{"_index":147,"t":{"209":{"position":[[19,2]]},"219":{"position":[[0,2]]},"696":{"position":[[8,2]]},"698":{"position":[[8,2]]}}}],["什么",{"_index":8,"t":{"6":{"position":[[28,2]]},"18":{"position":[[9,2]]}}}],["代码",{"_index":35,"t":{"18":{"position":[[4,2]]},"38":{"position":[[5,2]]},"539":{"position":[[4,2]]}}}],["优势",{"_index":9,"t":{"6":{"position":[[30,2]]}}}],["低",{"_index":34,"t":{"18":{"position":[[3,1]]}}}],["使用",{"_index":3,"t":{"6":{"position":[[3,2],[17,2]]},"8":{"position":[[3,2]]},"10":{"position":[[0,2]]},"12":{"position":[[10,2]]},"16":{"position":[[4,2]]},"170":{"position":[[0,2]]},"184":{"position":[[2,2]]},"204":{"position":[[5,2]]},"215":{"position":[[2,2]]},"281":{"position":[[4,2]]},"289":{"position":[[4,2]]},"298":{"position":[[0,2]]},"304":{"position":[[19,2]]},"524":{"position":[[0,2]]},"552":{"position":[[0,2]]},"554":{"position":[[0,2]]},"602":{"position":[[0,2]]},"738":{"position":[[3,2]]},"753":{"position":[[3,2]]}}}],["依赖",{"_index":52,"t":{"40":{"position":[[4,2]]},"254":{"position":[[0,2]]},"263":{"position":[[0,2]]},"312":{"position":[[0,2]]},"375":{"position":[[4,2]]}}}],["信息",{"_index":90,"t":{"101":{"position":[[4,2]]},"633":{"position":[[4,2]]}}}],["修改",{"_index":209,"t":{"312":{"position":[[2,2]]},"318":{"position":[[3,2]]}}}],["元素",{"_index":237,"t":{"377":{"position":[[1,2]]},"379":{"position":[[0,2]]},"381":{"position":[[1,2]]},"537":{"position":[[8,2]]},"744":{"position":[[6,2]]}}}],["全局",{"_index":187,"t":{"275":{"position":[[0,2]]},"660":{"position":[[0,2]]},"667":{"position":[[4,2]]},"681":{"position":[[0,2]]}}}],["关系",{"_index":37,"t":{"18":{"position":[[11,2]]}}}],["关闭",{"_index":335,"t":{"600":{"position":[[0,2]]},"650":{"position":[[0,2]]}}}],["其他",{"_index":120,"t":{"178":{"position":[[2,2]]},"740":{"position":[[0,2]]}}}],["其它",{"_index":301,"t":{"515":{"position":[[0,2]]}}}],["具备",{"_index":19,"t":{"10":{"position":[[15,2]]}}}],["兼容",{"_index":27,"t":{"14":{"position":[[6,2]]},"213":{"position":[[0,2]]},"215":{"position":[[0,2]]}}}],["兼容性",{"_index":142,"t":{"206":{"position":[[11,3]]},"414":{"position":[[0,3]]}}}],["内容",{"_index":251,"t":{"405":{"position":[[2,2]]},"536":{"position":[[0,2]]}}}],["内置",{"_index":199,"t":{"300":{"position":[[2,2]]},"560":{"position":[[0,2]]},"689":{"position":[[3,2]]}}}],["内联",{"_index":151,"t":{"215":{"position":[[4,2]]},"539":{"position":[[2,2]]}}}],["冰",{"_index":17,"t":{"10":{"position":[[3,1]]},"12":{"position":[[13,1]]},"14":{"position":[[1,1]]},"16":{"position":[[1,1]]},"18":{"position":[[1,1]]}}}],["分割",{"_index":49,"t":{"38":{"position":[[7,2]]}}}],["分包",{"_index":53,"t":{"40":{"position":[[7,2]]}}}],["切换",{"_index":95,"t":{"110":{"position":[[0,2]]},"302":{"position":[[2,2]]}}}],["列表",{"_index":129,"t":{"190":{"position":[[5,2]]}}}],["创建",{"_index":370,"t":{"715":{"position":[[0,2]]},"717":{"position":[[10,2]]},"816":{"position":[[0,2]]}}}],["初始",{"_index":307,"t":{"534":{"position":[[0,2]]},"576":{"position":[[4,2]]}}}],["初始化",{"_index":55,"t":{"46":{"position":[[0,3]]},"127":{"position":[[0,3]]},"279":{"position":[[0,3]]},"287":{"position":[[0,3]]}}}],["初始状态",{"_index":192,"t":{"292":{"position":[[2,4]]}}}],["判断",{"_index":127,"t":{"188":{"position":[[5,2]]}}}],["前端",{"_index":21,"t":{"10":{"position":[[20,2]]},"12":{"position":[[2,2]]}}}],["前言",{"_index":207,"t":{"309":{"position":[[0,2]]}}}],["加载",{"_index":200,"t":{"300":{"position":[[5,2]]},"526":{"position":[[5,2]]},"528":{"position":[[5,2]]}}}],["动态",{"_index":340,"t":{"619":{"position":[[0,2]]},"638":{"position":[[0,2]]}}}],["包",{"_index":282,"t":{"483":{"position":[[0,1]]}}}],["升级",{"_index":13,"t":{"8":{"position":[[17,2]]},"311":{"position":[[0,2]]},"314":{"position":[[6,2]]}}}],["单",{"_index":130,"t":{"192":{"position":[[3,1]]}}}],["原生",{"_index":362,"t":{"676":{"position":[[0,2]]},"693":{"position":[[3,2]]},"696":{"position":[[0,2]]},"698":{"position":[[0,2]]}}}],["参数",{"_index":347,"t":{"638":{"position":[[4,2]]},"711":{"position":[[2,2]]}}}],["参考",{"_index":363,"t":{"678":{"position":[[0,2]]}}}],["发布",{"_index":68,"t":{"75":{"position":[[2,2]]},"77":{"position":[[4,2]]},"88":{"position":[[3,2]]},"761":{"position":[[0,2]]},"820":{"position":[[2,2]]},"826":{"position":[[5,2]]}}}],["变",{"_index":198,"t":{"298":{"position":[[4,1]]}}}],["可以",{"_index":30,"t":{"16":{"position":[[2,2]]}}}],["可见",{"_index":239,"t":{"377":{"position":[[5,2]]},"379":{"position":[[4,2]]},"381":{"position":[[6,2]]}}}],["同学",{"_index":24,"t":{"12":{"position":[[4,2]]}}}],["同步",{"_index":386,"t":{"744":{"position":[[2,2]]}}}],["名",{"_index":139,"t":{"198":{"position":[[4,1]]}}}],["吗",{"_index":15,"t":{"8":{"position":[[30,1]]},"665":{"position":[[14,1]]}}}],["命令行",{"_index":315,"t":{"550":{"position":[[0,3]]}}}],["哪些",{"_index":31,"t":{"16":{"position":[[6,2]]}}}],["国际化",{"_index":87,"t":{"99":{"position":[[0,3]]}}}],["图片尺寸",{"_index":389,"t":{"748":{"position":[[6,4]]}}}],["地址",{"_index":350,"t":{"642":{"position":[[4,2]]}}}],["块",{"_index":379,"t":{"734":{"position":[[12,1]]}}}],["域",{"_index":176,"t":{"247":{"position":[[7,1]]}}}],["基础",{"_index":22,"t":{"10":{"position":[[22,2]]},"395":{"position":[[0,2]]},"608":{"position":[[0,2]]},"667":{"position":[[6,2]]},"669":{"position":[[6,2]]}}}],["处理",{"_index":148,"t":{"209":{"position":[[22,2]]},"211":{"position":[[3,2]]},"242":{"position":[[2,2]]},"401":{"position":[[2,2]]},"604":{"position":[[0,2]]}}}],["多个",{"_index":167,"t":{"240":{"position":[[0,2]]},"530":{"position":[[0,2]]}}}],["如何",{"_index":173,"t":{"247":{"position":[[0,2]]},"549":{"position":[[0,2]]},"667":{"position":[[0,2]]},"669":{"position":[[0,2]]},"671":{"position":[[0,2]]}}}],["安装",{"_index":54,"t":{"44":{"position":[[0,2]]},"134":{"position":[[0,2]]},"168":{"position":[[0,2]]},"184":{"position":[[0,2]]},"204":{"position":[[2,2]]},"223":{"position":[[0,2]]},"254":{"position":[[2,2]]},"263":{"position":[[2,2]]},"375":{"position":[[0,2]]}}}],["定义",{"_index":188,"t":{"277":{"position":[[0,2]]},"285":{"position":[[0,2]]},"294":{"position":[[6,2]]}}}],["定制",{"_index":309,"t":{"536":{"position":[[2,2]]},"541":{"position":[[0,2]]},"642":{"position":[[0,2]]},"763":{"position":[[4,2]]},"785":{"position":[[5,2]]}}}],["尺寸",{"_index":387,"t":{"744":{"position":[[8,2]]}}}],["局部",{"_index":352,"t":{"662":{"position":[[0,2]]},"669":{"position":[[4,2]]}}}],["属性",{"_index":155,"t":{"217":{"position":[[4,2]]},"578":{"position":[[7,2]]}}}],["嵌套",{"_index":339,"t":{"617":{"position":[[0,2]]},"671":{"position":[[9,2]]}}}],["工具",{"_index":287,"t":{"487":{"position":[[6,2]]}}}],["工程",{"_index":210,"t":{"314":{"position":[[0,2]]},"763":{"position":[[0,2]]}}}],["差异",{"_index":115,"t":{"164":{"position":[[18,2]]},"217":{"position":[[6,2]]},"219":{"position":[[2,2]]},"746":{"position":[[8,2]]}}}],["已有",{"_index":372,"t":{"719":{"position":[[5,2]]}}}],["布局",{"_index":338,"t":{"615":{"position":[[0,2]]}}}],["常见",{"_index":212,"t":{"316":{"position":[[0,2]]}}}],["常见问题",{"_index":1,"t":{"5":{"position":[[0,4]]},"664":{"position":[[0,4]]}}}],["平台",{"_index":375,"t":{"723":{"position":[[5,2]]}}}],["应用",{"_index":75,"t":{"83":{"position":[[2,2]]},"84":{"position":[[8,2]]},"86":{"position":[[5,2]]},"127":{"position":[[3,2]]},"128":{"position":[[2,2]]},"130":{"position":[[1,2]]},"132":{"position":[[0,2]]},"136":{"position":[[2,2]]},"138":{"position":[[1,2]]},"141":{"position":[[2,2]]},"147":{"position":[[1,2]]},"363":{"position":[[0,2]]},"528":{"position":[[0,2]]},"696":{"position":[[2,2]]},"715":{"position":[[5,2]]},"719":{"position":[[13,2]]},"816":{"position":[[2,2]]},"822":{"position":[[3,2]]}}}],["开发",{"_index":395,"t":{"759":{"position":[[0,2]]}}}],["开启",{"_index":40,"t":{"24":{"position":[[0,2]]},"64":{"position":[[0,2]]},"151":{"position":[[0,2]]},"273":{"position":[[0,2]]},"654":{"position":[[0,2]]}}}],["开始",{"_index":86,"t":{"97":{"position":[[2,2]]}}}],["异常",{"_index":168,"t":{"242":{"position":[[0,2]]}}}],["异步",{"_index":304,"t":{"520":{"position":[[0,2]]}}}],["式",{"_index":337,"t":{"609":{"position":[[2,1]]}}}],["引入",{"_index":247,"t":{"397":{"position":[[9,2]]},"399":{"position":[[9,2]]},"403":{"position":[[4,2]]},"405":{"position":[[4,2]]}}}],["形式",{"_index":369,"t":{"709":{"position":[[4,2]]}}}],["待",{"_index":365,"t":{"685":{"position":[[0,1]]},"725":{"position":[[0,1]]}}}],["循环",{"_index":128,"t":{"190":{"position":[[3,2]]}}}],["微",{"_index":106,"t":{"130":{"position":[[0,1]]},"138":{"position":[[0,1]]},"147":{"position":[[0,1]]}}}],["快速",{"_index":85,"t":{"97":{"position":[[0,2]]}}}],["忽略",{"_index":348,"t":{"640":{"position":[[0,2]]}}}],["怎样",{"_index":29,"t":{"14":{"position":[[11,2]]}}}],["我们",{"_index":39,"t":{"20":{"position":[[2,2]]}}}],["托管",{"_index":72,"t":{"81":{"position":[[4,2]]}}}],["拓展",{"_index":236,"t":{"371":{"position":[[3,2]]}}}],["指令",{"_index":123,"t":{"186":{"position":[[0,2]]},"194":{"position":[[5,2]]}}}],["指南",{"_index":208,"t":{"311":{"position":[[2,2]]}}}],["指定",{"_index":249,"t":{"401":{"position":[[0,2]]}}}],["接口",{"_index":172,"t":{"245":{"position":[[5,2]]},"247":{"position":[[4,2]]},"594":{"position":[[8,2]]}}}],["控制",{"_index":50,"t":{"40":{"position":[[0,2]]}}}],["推荐",{"_index":112,"t":{"160":{"position":[[0,2]]}}}],["提示",{"_index":360,"t":{"671":{"position":[[14,2]]}}}],["插件",{"_index":41,"t":{"24":{"position":[[2,2]]},"44":{"position":[[2,2]]},"64":{"position":[[2,2]]},"118":{"position":[[0,2]]},"134":{"position":[[2,2]]},"151":{"position":[[2,2]]},"204":{"position":[[0,2]]},"223":{"position":[[11,2]]},"757":{"position":[[0,2]]},"759":{"position":[[4,2]]},"761":{"position":[[2,2]]}}}],["插槽",{"_index":134,"t":{"194":{"position":[[3,2]]}}}],["操作",{"_index":59,"t":{"50":{"position":[[0,2]]}}}],["支持",{"_index":353,"t":{"665":{"position":[[7,2]]},"685":{"position":[[1,2]]},"723":{"position":[[0,2]]},"725":{"position":[[1,2]]},"727":{"position":[[1,2]]},"736":{"position":[[1,2]]},"738":{"position":[[1,2]]},"750":{"position":[[1,2]]},"752":{"position":[[1,2]]},"753":{"position":[[1,2]]}}}],["改造",{"_index":107,"t":{"132":{"position":[[2,2]]},"136":{"position":[[4,2]]},"138":{"position":[[3,2]]},"719":{"position":[[3,2]]}}}],["数据",{"_index":57,"t":{"46":{"position":[[5,2]]},"52":{"position":[[4,2]]},"54":{"position":[[4,2]]},"520":{"position":[[4,2]]},"526":{"position":[[3,2]]},"528":{"position":[[3,2]]},"530":{"position":[[2,2]]},"576":{"position":[[6,2]]},"604":{"position":[[4,2]]},"648":{"position":[[5,2]]},"656":{"position":[[0,2]]}}}],["文件",{"_index":246,"t":{"397":{"position":[[6,2]]},"399":{"position":[[6,2]]},"405":{"position":[[0,2]]},"552":{"position":[[8,2]]}}}],["文档",{"_index":364,"t":{"678":{"position":[[2,2]]}}}],["方案",{"_index":36,"t":{"18":{"position":[[6,2]]},"320":{"position":[[2,2]]}}}],["方法",{"_index":333,"t":{"596":{"position":[[2,2]]}}}],["时",{"_index":214,"t":{"318":{"position":[[2,1]]},"371":{"position":[[2,1]]},"377":{"position":[[9,1]]},"381":{"position":[[10,1]]},"556":{"position":[[2,1]]},"558":{"position":[[2,1]]},"578":{"position":[[6,1]]},"785":{"position":[[2,1]]}}}],["是否",{"_index":18,"t":{"10":{"position":[[11,2]]},"12":{"position":[[6,2]]}}}],["服务",{"_index":73,"t":{"81":{"position":[[6,2]]}}}],["本地",{"_index":396,"t":{"759":{"position":[[2,2]]},"818":{"position":[[0,2]]}}}],["权限",{"_index":56,"t":{"46":{"position":[[3,2]]},"48":{"position":[[2,2]]},"50":{"position":[[2,2]]},"52":{"position":[[2,2]]},"54":{"position":[[2,2]]},"56":{"position":[[3,2]]}}}],["条件",{"_index":126,"t":{"188":{"position":[[3,2]]}}}],["构建",{"_index":152,"t":{"215":{"position":[[8,2]]},"412":{"position":[[0,2]]},"556":{"position":[[0,2]]},"721":{"position":[[3,2]]}}}],["标签",{"_index":311,"t":{"543":{"position":[[3,2]]},"691":{"position":[[5,2]]}}}],["样式",{"_index":149,"t":{"211":{"position":[[0,2]]},"215":{"position":[[6,2]]},"660":{"position":[[2,2]]},"662":{"position":[[2,2]]},"667":{"position":[[21,2]]},"669":{"position":[[10,2]]},"731":{"position":[[0,2]]},"732":{"position":[[5,2]]},"734":{"position":[[14,2]]}}}],["核心",{"_index":143,"t":{"207":{"position":[[4,2]]}}}],["根据",{"_index":178,"t":{"249":{"position":[[0,2]]}}}],["根目录",{"_index":82,"t":{"91":{"position":[[6,3]]},"93":{"position":[[11,3]]}}}],["框架",{"_index":105,"t":{"128":{"position":[[0,2]]},"136":{"position":[[0,2]]},"141":{"position":[[0,2]]}}}],["概念",{"_index":336,"t":{"608":{"position":[[2,2]]}}}],["模块",{"_index":153,"t":{"215":{"position":[[11,2]]}}}],["模型",{"_index":161,"t":{"229":{"position":[[1,2]]}}}],["模板",{"_index":308,"t":{"534":{"position":[[2,2]]},"717":{"position":[[8,2]]}}}],["次",{"_index":131,"t":{"192":{"position":[[4,1]]}}}],["正在",{"_index":10,"t":{"8":{"position":[[1,2]]}}}],["注册",{"_index":368,"t":{"696":{"position":[[10,2]]},"698":{"position":[[10,2]]}}}],["注意",{"_index":118,"t":{"172":{"position":[[0,2]]}}}],["注意事项",{"_index":351,"t":{"646":{"position":[[0,4]]}}}],["测试",{"_index":183,"t":{"258":{"position":[[5,2]]},"260":{"position":[[3,2]]},"267":{"position":[[5,2]]},"269":{"position":[[3,2]]}}}],["浏览器",{"_index":26,"t":{"14":{"position":[[3,3]]},"732":{"position":[[0,3]]}}}],["消费",{"_index":159,"t":{"227":{"position":[[0,2]]},"520":{"position":[[2,2]]}}}],["添加",{"_index":310,"t":{"537":{"position":[[0,2]]},"539":{"position":[[0,2]]}}}],["渲染",{"_index":132,"t":{"192":{"position":[[5,2]]},"543":{"position":[[5,2]]}}}],["特性",{"_index":0,"t":{"3":{"position":[[0,2]]}}}],["状态",{"_index":185,"t":{"273":{"position":[[2,2]]},"275":{"position":[[2,2]]},"283":{"position":[[2,2]]},"298":{"position":[[5,2]]},"300":{"position":[[7,2],[12,2]]},"302":{"position":[[7,2]]},"377":{"position":[[7,2]]},"381":{"position":[[8,2]]}}}],["环境",{"_index":179,"t":{"249":{"position":[[2,2]]}}}],["环境变量",{"_index":314,"t":{"549":{"position":[[4,4]]},"550":{"position":[[3,4]]},"554":{"position":[[2,4]]},"560":{"position":[[3,4]]}}}],["理念",{"_index":303,"t":{"518":{"position":[[2,2]]}}}],["生命周期",{"_index":367,"t":{"696":{"position":[[4,4]]},"698":{"position":[[4,4]]}}}],["用法",{"_index":170,"t":{"244":{"position":[[2,2]]},"291":{"position":[[2,2]]}}}],["目录",{"_index":157,"t":{"225":{"position":[[0,2]]},"407":{"position":[[7,2]]},"499":{"position":[[5,2]]},"501":{"position":[[7,2]]},"503":{"position":[[4,2]]},"511":{"position":[[6,2]]},"513":{"position":[[11,2]]},"592":{"position":[[0,2]]}}}],["直接",{"_index":2,"t":{"6":{"position":[[1,2]]}}}],["相关",{"_index":376,"t":{"731":{"position":[[2,2]]}}}],["相比",{"_index":5,"t":{"6":{"position":[[14,2]]}}}],["示例",{"_index":305,"t":{"524":{"position":[[2,2]]}}}],["禁用",{"_index":98,"t":{"114":{"position":[[0,2]]}}}],["程序",{"_index":79,"t":{"88":{"position":[[1,2]]},"588":{"position":[[1,2]]},"611":{"position":[[1,2]]},"676":{"position":[[3,2]]},"689":{"position":[[1,2]]},"693":{"position":[[1,2]]},"715":{"position":[[3,2]]},"717":{"position":[[6,2]]},"723":{"position":[[3,2]]},"822":{"position":[[1,2]]},"826":{"position":[[1,2]]}}}],["程序开发",{"_index":285,"t":{"487":{"position":[[1,4]]}}}],["程序调试",{"_index":416,"t":{"824":{"position":[[1,4]]}}}],["端",{"_index":74,"t":{"83":{"position":[[1,1]]},"611":{"position":[[3,1]]}}}],["策略",{"_index":28,"t":{"14":{"position":[[8,2]]},"36":{"position":[[2,2]]}}}],["管理",{"_index":186,"t":{"273":{"position":[[4,2]]}}}],["管理工具",{"_index":283,"t":{"483":{"position":[[1,4]]}}}],["类",{"_index":138,"t":{"198":{"position":[[3,1]]}}}],["类型",{"_index":359,"t":{"671":{"position":[[12,2]]}}}],["约定",{"_index":158,"t":{"225":{"position":[[2,2]]},"592":{"position":[[2,2]]},"609":{"position":[[0,2]]}}}],["级",{"_index":306,"t":{"526":{"position":[[2,1]]},"528":{"position":[[2,1]]},"734":{"position":[[13,1]]}}}],["级别",{"_index":48,"t":{"38":{"position":[[2,2]]}}}],["组件",{"_index":33,"t":{"16":{"position":[[12,2]]},"38":{"position":[[0,2]]},"56":{"position":[[5,2]]},"176":{"position":[[4,2]]},"178":{"position":[[4,2]]},"196":{"position":[[12,2]]},"281":{"position":[[1,2]]},"289":{"position":[[1,2]]},"359":{"position":[[9,2]]},"375":{"position":[[2,2]]},"574":{"position":[[0,2]]},"613":{"position":[[2,2]]},"615":{"position":[[2,2]]},"631":{"position":[[5,2]]},"640":{"position":[[8,2]]},"667":{"position":[[8,2]]},"669":{"position":[[8,2]]},"689":{"position":[[5,2]]},"693":{"position":[[8,2]]},"707":{"position":[[5,2]]},"742":{"position":[[2,2]]}}}],["绑定",{"_index":140,"t":{"198":{"position":[[5,2]]}}}],["缓存",{"_index":119,"t":{"176":{"position":[[0,2]]},"178":{"position":[[0,2]]}}}],["编写",{"_index":332,"t":{"594":{"position":[[0,2]]}}}],["者",{"_index":286,"t":{"487":{"position":[[5,1]]}}}],["联系",{"_index":38,"t":{"20":{"position":[[0,2]]}}}],["能力",{"_index":366,"t":{"685":{"position":[[3,2]]},"725":{"position":[[3,2]]},"727":{"position":[[3,2]]},"763":{"position":[[2,2]]},"785":{"position":[[3,2]]}}}],["自动",{"_index":96,"t":{"112":{"position":[[2,2]]}}}],["自定义",{"_index":62,"t":{"56":{"position":[[0,3]]},"58":{"position":[[0,3]]},"543":{"position":[[0,3]]},"693":{"position":[[5,3]]}}}],["获取",{"_index":60,"t":{"52":{"position":[[0,2]]},"101":{"position":[[0,2]]},"300":{"position":[[0,2]]},"576":{"position":[[0,2]]},"633":{"position":[[0,2]]},"711":{"position":[[4,2]]},"744":{"position":[[4,2]]}}}],["获得",{"_index":358,"t":{"671":{"position":[[2,2]]}}}],["表单",{"_index":384,"t":{"742":{"position":[[0,2]]}}}],["表现",{"_index":378,"t":{"734":{"position":[[9,2]]}}}],["覆盖",{"_index":355,"t":{"667":{"position":[[2,2]]},"669":{"position":[[2,2]]}}}],["规则",{"_index":245,"t":{"395":{"position":[[2,2]]},"401":{"position":[[4,2]]},"611":{"position":[[6,2]]},"704":{"position":[[2,2]]}}}],["规范",{"_index":394,"t":{"757":{"position":[[2,2]]}}}],["视图",{"_index":164,"t":{"231":{"position":[[1,2]]}}}],["解决",{"_index":174,"t":{"247":{"position":[[2,2]]}}}],["解析",{"_index":349,"t":{"640":{"position":[[3,2]]}}}],["设置",{"_index":61,"t":{"54":{"position":[[0,2]]},"292":{"position":[[0,2]]}}}],["设计",{"_index":302,"t":{"518":{"position":[[0,2]]}}}],["详细",{"_index":193,"t":{"294":{"position":[[8,2]]}}}],["语法",{"_index":124,"t":{"186":{"position":[[2,2]]}}}],["语言",{"_index":89,"t":{"101":{"position":[[2,2]]},"110":{"position":[[2,2]]}}}],["说明",{"_index":194,"t":{"294":{"position":[[10,2]]}}}],["请求",{"_index":166,"t":{"238":{"position":[[0,2]]},"240":{"position":[[2,2]]},"530":{"position":[[4,2]]},"596":{"position":[[0,2]]},"604":{"position":[[2,2]]},"648":{"position":[[7,2]]},"656":{"position":[[2,2]]}}}],["调用",{"_index":163,"t":{"229":{"position":[[4,2]]},"231":{"position":[[4,2]]}}}],["调试",{"_index":374,"t":{"721":{"position":[[0,2]]},"818":{"position":[[2,2]]}}}],["资深",{"_index":23,"t":{"12":{"position":[[0,2]]}}}],["资源",{"_index":67,"t":{"75":{"position":[[0,2]]},"81":{"position":[[2,2]]},"91":{"position":[[2,2]]}}}],["跨",{"_index":175,"t":{"247":{"position":[[6,1]]}}}],["路由",{"_index":88,"t":{"99":{"position":[[3,2]]},"112":{"position":[[0,2]]},"176":{"position":[[2,2]]},"609":{"position":[[3,2]]},"611":{"position":[[4,2]]},"613":{"position":[[0,2]]},"617":{"position":[[2,2]]},"619":{"position":[[2,2]]},"621":{"position":[[2,2]]},"623":{"position":[[2,2]]},"625":{"position":[[0,2]]},"633":{"position":[[2,2]]},"638":{"position":[[2,2]]},"640":{"position":[[6,2]]},"642":{"position":[[2,2]]},"704":{"position":[[0,2]]},"706":{"position":[[0,2]]},"711":{"position":[[0,2]]}}}],["跳转",{"_index":344,"t":{"625":{"position":[[2,2]]},"706":{"position":[[2,2]]}}}],["转义",{"_index":343,"t":{"623":{"position":[[0,2]]}}}],["迁移",{"_index":117,"t":{"166":{"position":[[10,2]]},"316":{"position":[[4,2]]},"320":{"position":[[4,2]]}}}],["运行",{"_index":213,"t":{"318":{"position":[[0,2]]},"371":{"position":[[0,2]]},"558":{"position":[[0,2]]},"578":{"position":[[4,2]]},"785":{"position":[[0,2]]}}}],["返回值",{"_index":334,"t":{"598":{"position":[[0,3]]}}}],["进入",{"_index":238,"t":{"377":{"position":[[3,2]]},"381":{"position":[[3,2]]}}}],["进阶",{"_index":191,"t":{"291":{"position":[[0,2]]},"320":{"position":[[0,2]]}}}],["适合",{"_index":25,"t":{"12":{"position":[[8,2]]}}}],["选择器",{"_index":381,"t":{"736":{"position":[[10,3]]}}}],["选项",{"_index":101,"t":{"118":{"position":[[2,2]]}}}],["通",{"_index":341,"t":{"621":{"position":[[0,1]]}}}],["通信",{"_index":196,"t":{"296":{"position":[[8,2]]}}}],["通过",{"_index":371,"t":{"717":{"position":[[3,2]]}}}],["逻辑",{"_index":312,"t":{"543":{"position":[[7,2]]}}}],["部分",{"_index":380,"t":{"736":{"position":[[3,2]]},"750":{"position":[[13,2]]}}}],["部署",{"_index":83,"t":{"93":{"position":[[0,2]]},"820":{"position":[[0,2]]},"826":{"position":[[3,2]]}}}],["配",{"_index":342,"t":{"621":{"position":[[1,1]]}}}],["配置",{"_index":42,"t":{"26":{"position":[[0,2]]},"66":{"position":[[0,2]]},"141":{"position":[[4,2]]},"147":{"position":[[3,2]]},"153":{"position":[[0,2]]},"160":{"position":[[2,2]]},"238":{"position":[[2,2]]},"240":{"position":[[4,2]]},"249":{"position":[[4,2]]},"256":{"position":[[0,2]]},"265":{"position":[[0,2]]},"316":{"position":[[2,2]]},"365":{"position":[[0,2]]},"414":{"position":[[3,2]]},"416":{"position":[[0,2]]},"549":{"position":[[2,2]]},"578":{"position":[[0,2]]},"588":{"position":[[5,2]]},"681":{"position":[[2,2]]},"683":{"position":[[2,2]]}}}],["配置文件",{"_index":211,"t":{"314":{"position":[[2,4]]},"363":{"position":[[2,4]]},"411":{"position":[[0,4]]},"412":{"position":[[2,4]]}}}],["重定向",{"_index":97,"t":{"112":{"position":[[4,3]]}}}],["重置",{"_index":202,"t":{"302":{"position":[[5,2]]}}}],["错误",{"_index":201,"t":{"300":{"position":[[10,2]]}}}],["问题",{"_index":177,"t":{"247":{"position":[[8,2]]},"731":{"position":[[4,2]]},"748":{"position":[[10,2]]}}}],["附录",{"_index":108,"t":{"140":{"position":[[0,2]]}}}],["限制",{"_index":383,"t":{"740":{"position":[[2,2]]}}}],["集成",{"_index":76,"t":{"83":{"position":[[4,2]]}}}],["需要",{"_index":12,"t":{"8":{"position":[[15,2]]},"10":{"position":[[13,2]]},"182":{"position":[[3,2]]}}}],["静态",{"_index":71,"t":{"81":{"position":[[0,2]]},"91":{"position":[[0,2]]},"522":{"position":[[0,2]]}}}],["非",{"_index":81,"t":{"91":{"position":[[5,1]]},"93":{"position":[[10,1]]},"258":{"position":[[0,1]]},"267":{"position":[[0,1]]}}}],["页面",{"_index":58,"t":{"48":{"position":[[0,2]]},"283":{"position":[[0,2]]},"302":{"position":[[0,2]]},"526":{"position":[[0,2]]},"541":{"position":[[4,2]]},"576":{"position":[[2,2]]},"578":{"position":[[2,2]]},"588":{"position":[[3,2]]},"683":{"position":[[0,2]]},"698":{"position":[[2,2]]}}}],["项",{"_index":234,"t":{"365":{"position":[[2,1]]},"416":{"position":[[2,1]]}}}],["项目",{"_index":116,"t":{"166":{"position":[[8,2]]}}}],["飞",{"_index":16,"t":{"10":{"position":[[2,1]]},"12":{"position":[[12,1]]},"14":{"position":[[0,1]]},"16":{"position":[[0,1]]},"18":{"position":[[0,1]]}}}],["首次",{"_index":240,"t":{"379":{"position":[[2,2]]}}}],["高阶",{"_index":169,"t":{"244":{"position":[[0,2]]}}}],["默认",{"_index":47,"t":{"36":{"position":[[0,2]]},"732":{"position":[[3,2]]},"734":{"position":[[7,2]]}}}]],"pipeline":["stemmer"]}},{"documents":[{"i":2,"t":"飞冰 (ICE) 是一套基于 React 的前端解决方案,围绕应用研发框架 (ice.js 3) 提供了应用的构建、路由、调试等基础能力以及微前端、一体化等领域能力,同时结合可视化操作、物料复用等方案降低研发门槛。","s":"关于","u":"/docs/guide/about","h":"","p":1},{"i":4,"t":"🐒 开箱即用:TypeScript/Webpack5/CSS Modules/Mock/SSR,各种方案 All in One 🦊 贴合业务的最佳实践:目录规范、代码规范、路由方案、状态管理、数据请求等 🐯 多种应用模式:支持服务端渲染 SSR 以及静态构建 SSG 🐦 强大的插件能力:官方所有能力都通过插件实现,业务可以通过插件扩展各种能力 🐘 丰富的领域方案:微前端 ICESTARK、一体化方案等 在应用框架之上,我们还提供了 NPM 包开发工具 ICE PKG: 提供 React 组件开发、Node.js 模块开发、前端通用库等多场景需求 组件开发提供基础研发范式,提供组件文档、示例、预览等功能,查看文档 更多场景可以通过插件的方式完成定制,查看插件开发 你也可以搭配 VS Code 插件 AppWorks 享受到更多功能: 通过大量的官方模板(fusion/antd)可视化创建项目,查看更多 基于 VS Code 插件可视化的调试、管理依赖、拼装区块等,查看文档 业务可以根据规范定制自己的物料体系(含项目模板),查看物料开发文档 ……","s":"特性 🎉","u":"/docs/guide/about","h":"#特性-","p":1},{"i":7,"t":"Webpack 只提供了基础的构建能力,ice.js 在此基础上扩展了很多能力: 默认集成好的框架能力,无需再引入繁冗的构建插件和配置 不止是构建,更有面向业务领域的最佳实践,如路由、目录组织、状态管理等 让很多业务接入成本高的能力可以开箱即用,如 SSR/SSG、微前端、一体化,基于原始的 Webpack 建设这些能力需要付出很高成本 通过插件化让以上这些能力可以被扩展以及跨项目复用,尽可能保证不同项目的一致性","s":"与直接使用 Webpack 相比,使用 ice.js 有什么优势?","u":"/docs/guide/about","h":"#与直接使用-webpack-相比使用-icejs-有什么优势","p":1},{"i":9,"t":"ice.js 3 相比之前的版本,增加了更多对移动端能力的优化和适配,同时提升了页面性能体验。对于新项目推荐 ice.js 3 进行开发,对于历史项目原先的 ice.js 2.x 依然是可用的,并且我们仍会持续修复已知的问题。 如果你的页面会同时运行在移动端和桌面端,使用 ice.js 3 可能会是更好的选择,亦或者是你对 ice.js 3 提供的更新的构建工具链、更优更多的解决方案感兴趣,你都可以选择升级到 ice.js 3。","s":"我正在使用 ice.js 2,需要升级到 ice.js 3 吗?","u":"/docs/guide/about","h":"#我正在使用-icejs-2需要升级到-icejs-3-吗","p":1},{"i":11,"t":"毫无疑问是需要的,同时我们也在努力降低前端开发的门槛,但一些基础的前端知识还是需要具备的,比如 JavaScript 的基础语法、前后端如何通信等。为了便于快速入门前端知识,我们整理了一份 前端基础知识,希望能帮助到开发者。","s":"使用飞冰 (ICE) 是否需要具备一定的前端基础?","u":"/docs/guide/about","h":"#使用飞冰-ice-是否需要具备一定的前端基础","p":1},{"i":13,"t":"适合,面向前端场景飞冰团队有大量的最佳实践,无论是构建、规范、状态管理还是微前端都可以开箱即用。","s":"资深前端同学是否适合使用飞冰?","u":"/docs/guide/about","h":"#资深前端同学是否适合使用飞冰","p":1},{"i":15,"t":"应用框架 ice.js 默认使用的是 React 18,你可以查看 React 18 官方说明对 JavaScript 环境的要求。如果你支持旧的浏览器和设备,可能需要引入对应的 Polyfill。 此外,飞冰官方 React 物料默认使用 React 16+ 进行开发,所以通常情况下这些物料在 ice.js 中是可以正常运行的,如果你遇到任何问题,也可以通过 Issue 或其它方式反馈给我们。","s":"飞冰的浏览器兼容策略是怎样的?","u":"/docs/guide/about","h":"#飞冰的浏览器兼容策略是怎样的","p":1},{"i":17,"t":"飞冰的应用框架和工具都不耦合 UI 组件,因此开发者可以选择任意的 React UI 组件使用,比如 Fusion/Antd 等。","s":"飞冰可以使用哪些 UI 组件?","u":"/docs/guide/about","h":"#飞冰可以使用哪些-ui-组件","p":1},{"i":19,"t":"低代码方案一般指以可视化拖拽搭建为主,少量地方使用代码辅助,此类方案往往是面向具体领域而非通用场景的,飞冰是面向通用领域的,以源码研发为主,通过框架、物料、GUI 操作等能力降低研发门槛,因此飞冰并不是通俗意义的低代码方案。","s":"飞冰跟低代码方案有什么关系?","u":"/docs/guide/about","h":"#飞冰跟低代码方案有什么关系","p":1},{"i":21,"t":"反馈/建议:https://github.com/alibaba/ice/issues/new 答疑钉钉群:","s":"联系我们 🧼","u":"/docs/guide/about","h":"#联系我们-","p":1},{"i":23,"t":"ice.js 项目中可以直接使用 antd 组件,关于 antd 组件按需引入的问题说明: 脚本代码按需引入:不推荐使用 babel-plugin-import,社区主流工具 Webpack/Vite 等都已支持 tree-shaking,构建时默认都会做按需的引入 样式代码按需引入:结合社区讨论 issue,大多数场景下样式按需引入并无太大意义,反而会引入其他工程问题,因此推荐组件样式在项目级全量引入 综上所述,如果不存在主题定制以及样式大小极致的要求,项目中并不需要使用 antd 插件,通过在 src/global.css 中全量引入样式即可: src/global.css @import 'antd/dist/antd.css'; body {} 警告 以上全量样式引入针对 and 版本 4.x 及以下,antd 5.x 开始使用 css in js 的方式引入样式,因此不再需要全量引入 css 文件。","s":"使用 Ant Design 组件","u":"/docs/guide/advanced/antd","h":"","p":22},{"i":25,"t":"安装插件: $ npm i -D @ice/plugin-antd 在 ice.config.mts 中添加插件: ice.config.mts import { defineConfig } from '@ice/app'; import antd from '@ice/plugin-antd'; export default defineConfig(() => ({ plugins: [ antd({ importStyle: true, }), ], }));","s":"开启插件","u":"/docs/guide/advanced/antd","h":"#开启插件","p":22},{"i":28,"t":"类型: boolean 默认值: false 为 antd 组件按需加载样式。","s":"importStyle","u":"/docs/guide/advanced/antd","h":"#importstyle","p":22},{"i":30,"t":"类型: boolean 默认值: false 开启暗色主题。","s":"dark","u":"/docs/guide/advanced/antd","h":"#dark","p":22},{"i":32,"t":"类型: boolean 默认值: false 开启紧凑主题。","s":"compact","u":"/docs/guide/advanced/antd","h":"#compact","p":22},{"i":34,"t":"类型: Record 默认值: {} 配置 antd 的 theme 主题,配置形式如下: ice.config.mts import { defineConfig } from '@ice/app'; import antd from '@ice/plugin-antd'; export default defineConfig(() => ({ plugins: [ antd({ theme: { // primary-color 为 antd 的 theme token 'primary-color': '#1DA57A', }, }), ], }));","s":"theme","u":"/docs/guide/advanced/antd","h":"#theme","p":22},{"i":37,"t":"为了给页面提供最优的性能,ice.js 默认以路由维度分割代码,每个路由会生成一个独立的 js 和 css(如果有 css 源码),另外默认会根据第三方模块体积自动拆分 chunk,有可能会出现多个产物包。","s":"默认策略","u":"/docs/guide/advanced/code-splitting","h":"#默认策略","p":35},{"i":39,"t":"如果构建产物过大,可以考虑把体积较大的组件进行拆包: import { lazy, Suspense } from 'react'; // Avatar 组件会被单独拆包 const Avatar = lazy(() => import('@/components/Avatar')); export default function Home() { return (
); }","s":"组件级别的代码分割","u":"/docs/guide/advanced/code-splitting","h":"#组件级别的代码分割","p":35},{"i":41,"t":"三方依赖默认根据体积大小进行拆分。如果三方依赖过多,在某些场景下可能出现较多的网络请求,导致页面加载速度过慢,可关闭 codeSplitting 配置: ice.config.mts import { defineConfig } from '@ice/app'; export default defineConfig(() => ({ codeSplitting: 'page', }))","s":"控制三方依赖的分包","u":"/docs/guide/advanced/code-splitting","h":"#控制三方依赖的分包","p":35},{"i":43,"t":"对于移动端场景,鉴权通常由 SSO 或统一登录平台完成,业务开发者无需关注。本文档主要介绍中后台场景中的权限管理。 示例 with-auth 中后台 Web 应用中,权限管理是经常会涉及的需求之一,通常包含以下几种常见的权限管理类型: 页面权限:当用户访问某个没有权限的页面时跳转到无权限页面 操作权限:页面中的某些按钮或组件针对无权限的用户直接隐藏 接口权限:当用户通过操作调用没有权限的接口时跳转到无权限页面 ice.js 提供 @ice/plugin-auth 插件,帮助用户更简单管理前两种类型的权限。接口权限管理请见数据请求文档。","s":"权限管理","u":"/docs/guide/advanced/auth","h":"","p":42},{"i":45,"t":"安装插件: $ npm i @ice/plugin-auth -D 在 ice.config.mts 中添加插件: ice.config.mts import { defineConfig } from '@ice/app'; import auth from '@ice/plugin-auth'; export default defineConfig(() => ({ plugins: [ auth(), ], }));","s":"安装插件","u":"/docs/guide/advanced/auth","h":"#安装插件","p":42},{"i":47,"t":"大多数情况下权限管理通常需要从服务端获取权限数据,然后在前端通过权限对比以此控制页面、操作等等权限行为。约定在 src/app.ts 中导出 auth 对象,该对象包含从服务端异步获取初始化的权限数据,并且约定最终返回格式为 { initialAuth: { [key: string]: boolean } }。 src/app.ts import { defineAuthConfig } from '@ice/plugin-auth/types'; export const authConfig = defineAuthConfig(async () => { // 模拟请求权限数据 // const data = (await fetch('/api/auth')).json(); return { initialAuth: { admin: true, guest: false, }, }; });","s":"初始化权限数据","u":"/docs/guide/advanced/auth","h":"#初始化权限数据","p":42},{"i":49,"t":"如需对某些页面进行权限控制,只需在页面组件的 pageConfig 中配置准入权限即可。 src/pages/index.tsx src/pages/about.tsx import { definePageConfig } from 'ice'; export default function Home() { return
Home
} export const pageConfig = definePageConfig(() => ({ // 当前用户是 admin 时,有权限访问该页面 auth: ['admin'], })); import { definePageConfig } from 'ice'; export default function About() { return
About
} export const pageConfig = definePageConfig(() => ({ // 当前用户是 guest 时,无权限访问该页面 auth: ['guest'], }));","s":"页面权限","u":"/docs/guide/advanced/auth","h":"#页面权限","p":42},{"i":51,"t":"在某些场景下,如某个组件中要根据角色判断是否有操作权限,我们可以通过 useAuth Hooks 在组件中获取权限数据,同时也可以更新初始的权限数据。","s":"操作权限","u":"/docs/guide/advanced/auth","h":"#操作权限","p":42},{"i":53,"t":"import React from 'react'; import { useAuth } from 'ice'; function Foo() { const [auth] = useAuth(); return ( <> 当前用户权限数据: {JSON.stringify(auth)} ); }","s":"获取权限数据","u":"/docs/guide/advanced/auth","h":"#获取权限数据","p":42},{"i":55,"t":"import React from 'react'; import { useAuth } from 'ice'; function Home() { const [auth, setAuth] = useAuth(); // 更新权限,与默认的 auth 数据进行合并 function updateAuth() { setAuth({ admin: false, guest: true }); } return ( <> 当前用户角色: {JSON.stringify(auth)} ); }","s":"设置权限数据","u":"/docs/guide/advanced/auth","h":"#设置权限数据","p":42},{"i":57,"t":"对于操作类权限,通常我们可以自定义封装权限组件,以便更细粒度的控制权限和复用。 import React from 'react'; import { useAuth } from 'ice'; import NoAuth from '@/components/NoAuth'; function Auth({ children, authKey, fallback }) { const [auth] = useAuth(); // 判断是否有权限 const hasAuth = auth[authKey]; // 有权限时直接渲染内容 if (hasAuth) { return children; } else { // 无权限时显示指定 UI return fallback || NoAuth; } } export default Auth; 使用如下: function Foo() { return ( ); }","s":"自定义权限组件","u":"/docs/guide/advanced/auth","h":"#自定义权限组件","p":42},{"i":59,"t":"支持自定义无权限时的展示组件,默认为 <>No Auth src/app.tsx import { defineAuthConfig } from '@ice/plugin-auth/types'; export const authConfig = defineAuthConfig(async () => { return { initialAuth: { admin: true, }, + NoAuthFallback: (routeConfig) => { + console.log(routeConfig); // 当前页面的配置 + return ( +
没有权限
+ ); + }, + }; });","s":"自定义 Fallback","u":"/docs/guide/advanced/auth","h":"#自定义-fallback","p":42},{"i":61,"t":"@TODO","s":"一体化","u":"/docs/guide/advanced/faas","h":"","p":60},{"i":63,"t":"组件代码里有可能会依赖一些远程 CDN 的字体文件等,某些情况下网站运行时可能访问不了。该插件提供在构建部署时将 CSS 中的网络资源本地化能力,例如字体文件等。","s":"CSS 资源本地化","u":"/docs/guide/advanced/css-assets-local","h":"","p":62},{"i":65,"t":"安装插件: $ npm i -D @ice/plugin-css-assets-local 在 ice.config.mts 中添加插件: ice.config.mts import { defineConfig } from '@ice/app'; import cssAssetsLocal from '@ice/plugin-css-assets-local'; export default defineConfig(() => ({ plugins: [ cssAssetsLocal(), ], }));","s":"开启插件","u":"/docs/guide/advanced/css-assets-local","h":"#开启插件","p":62},{"i":68,"t":"提取后的静态文件目录前缀 类型: string 默认值: assets","s":"outputPath","u":"/docs/guide/advanced/css-assets-local","h":"#outputpath","p":62},{"i":70,"t":"提取的文件后相对于 CSS 的路径 类型: string 默认值: ../","s":"relativeCssPath","u":"/docs/guide/advanced/css-assets-local","h":"#relativecsspath","p":62},{"i":72,"t":"本地调试时是否启用插件 类型: boolean 默认值: false","s":"enableInDev","u":"/docs/guide/advanced/css-assets-local","h":"#enableindev","p":62},{"i":74,"t":"前端代码开发完成后,我们会执行 npm build 命令进行项目构建。构建完成后,我们需要把 js/css/html 等静态资源部署到服务器或者发布到 CDN 上。","s":"部署","u":"/docs/guide/advanced/deploy","h":"","p":73},{"i":76,"t":"如果是博客、官网等静态应用,推荐使用以下的方式进行部署:","s":"资源发布","u":"/docs/guide/advanced/deploy","h":"#资源发布","p":73},{"i":78,"t":"推荐通过 阿里云 OSS 服务进行非覆盖式发布,每个版本建一个 x.y.z 的文件夹,然后将整个 build 目录复制进去,接着就可以通过 url 访问这些 CDN 资源了。","s":"CDN 发布","u":"/docs/guide/advanced/deploy","h":"#cdn-发布","p":73},{"i":80,"t":"把构建好的 build 资源复制到服务器对应目录下,添加以下的 Nginx 配置,然后就可以启动 Nginx 静态文件服务器。 location / { root /www/build; # 访问 localhost:3000/a 依次查找 /www/build/a、/www/build/a/index.html、/www/build/404.html try_files $uri $uri/ 404.html; }","s":"Nginx","u":"/docs/guide/advanced/deploy","h":"#nginx","p":73},{"i":82,"t":"我们以 surge 为例。 全局安装 surge​ npm install --global surge 运行 surge​ 以 ice-demo 项目名,ice.js 项目默认构建目录 build 为例: $ cd ice-demo/build # 启动 surge 服务 $ surge 依次确认账户, projectPath, domain 等信息,等待上传生效即可,详见 surge 官方说明 其他同类产品有: github pages netlify","s":"静态资源托管服务","u":"/docs/guide/advanced/deploy","h":"#静态资源托管服务","p":73},{"i":85,"t":"初始化 Koa 应用​ 新建项目名 ice-node-koa: $ mkdir ice-node-koa && cd ice-node-koa $ npm init $ npm i ejs koa koa-logger koa-views --save 定义视图​ 新建 views/index.ejs: ICE Design Lite /favicon.png\" /> /css/index.css\" rel=\"stylesheet\" />
渲染视图​ 新建 app.js: const views = require('koa-views'); const path = require('path'); const Koa = require('koa'); const app = (module.exports = new Koa()); app.use(views(path.join(__dirname, '/views'), { extension: 'ejs' })); app.use(async function (ctx) { await ctx.render('index', { publicPath: 'http://localhost:3000/' }); }); const port = 3000; app.listen(port).then(() => console.log(`Listening on http:localhost:${port}`)); 示例兼容单页应用的 HashRouter 和 BrowserRouter,如多页应用可参考 https://github.com/koajs/examples 中 blog 示例配置路由 运行示例​ $ node app.js Listening on http:localhost:3000 浏览器中打开 http://localhost:3000","s":"Node.js 应用","u":"/docs/guide/advanced/deploy","h":"#nodejs-应用","p":73},{"i":87,"t":"resources​ 新建 /velocity/layout/index.vm: ICE Design Lite
Controller​ @GetMapping(\"/\") @VelocityLayout(\"/velocity/layout/index.vm\") public String index(Model model) { model.addAttribute(publicPath, jsConfig.get(publicPath)); return \"index\"; } 示例展示的是 HashRouter 路由,如果为 BrowserRouter,建议改为 @GetMapping(value = { \"/**\" }) 实现前端 fallback","s":"Java 应用","u":"/docs/guide/advanced/deploy","h":"#java-应用","p":73},{"i":89,"t":"执行 npm run build 命令完成构建后,按照命令行提示使用对应的小程序开发者工具打开产物目录。在小程序开发者工具项目页面找到『上传』按钮即可上传小程序。然后进入对应的小程序管理后台进行小程序的提交审核及发布即可。 参考文档: 微信小程序代码协同工作和发布 阿里小程序提审、发布与运营","s":"小程序发布","u":"/docs/guide/advanced/deploy","h":"#小程序发布","p":73},{"i":92,"t":"如果你的 js、css、图片、字体等资源不在,这时需要配置 publicPath 的值为你的静态资源所在的路径。","s":"静态资源在非根目录或 CDN","u":"/docs/guide/advanced/deploy","h":"#静态资源在非根目录或-cdn","p":73},{"i":94,"t":"假设你本地开发的时候有一个路由是 /home,生产环境下你把应用部署到 /abc/ 下,然后访问 /abc/home,就会出现路由不匹配,显示空白页面的情况。 这时你需要配置 basename 解决。 ./src/app.ts import { defineAppConfig } from 'ice'; export default defineAppConfig(() => ({ router: { basename: '/abc', }, }));","s":"部署的 HTML 在非根目录","u":"/docs/guide/advanced/deploy","h":"#部署的-html-在非根目录","p":73},{"i":96,"t":"ice.js 官方提供 i18n 国际化插件,支持在应用快速开启国际化能力。核心特性包括: 支持自动处理和生成国际化路由 完美支持 SSR 和 SSG,以获得更好的 SEO 优化 支持自动重定向到偏好语言对应的页面 不耦合任何一个 i18n 库(流行的 React i18n 库有 react-intl、react-i18next 等),你可以选择任一国际化的库来为你的应用设置国际化 使用国际化插件的示例 with-i18n 提示 如果应用不需要使用国际化路由,你可以参考以下例子来让你的项目支持国际化: with-antd5 with-fusion","s":"国际化","u":"/docs/guide/advanced/i18n","h":"","p":95},{"i":98,"t":"首先,我们需要在终端执行以下命令安装插件: $ npm i @ice/plugin-i18n -D 然后在 ice.config.mts 中添加插件和选项: import { defineConfig } from '@ice/app'; import i18n from '@ice/plugin-i18n'; export default defineConfig({ plugins: [ i18n({ locales: ['zh-CN', 'en-US', 'de'], defaultLocale: 'zh-CN', }), ], }); 上面的 en-US 和 zh-CN 是国际化语言的缩写,它们均遵循标准的 UTS 语言标识符。比如: zh-CN:中文(中国) zh-HK:中文(香港) en-US:英文(美国) de: 德文","s":"快速开始","u":"/docs/guide/advanced/i18n","h":"#快速开始","p":95},{"i":100,"t":"国际化路由是指在页面路由地址中包含了当前页面的语言,一个国际化路由对应一个语言。 假设现在插件的选项配置是: import { defineConfig } from '@ice/app'; import i18n from '@ice/plugin-i18n'; export default defineConfig({ plugins: [ i18n({ locales: ['zh-CN', 'en-US', 'nl-NL'], defaultLocale: 'zh-CN', }), ], }); 假设我们有一个页面 src/pages/home.tsx,那么将会一一对应自动生成以下的路由: /home:显示 zh-CN 语言,默认语言对应的路由不包含语言前缀 /en-US/home:显示 en-US 语言 /nl-NL/home:显示 nl-NL 语言 访问不同的路由,将会显示该语言对应页面内容。","s":"国际化路由","u":"/docs/guide/advanced/i18n","h":"#国际化路由","p":95},{"i":103,"t":"getAllLocales() 用于获取当前应用支持的所有语言。 import { getAllLocales } from 'ice'; console.log(getAllLocales()); // ['zh-CN', 'en-US']","s":"getLocales()","u":"/docs/guide/advanced/i18n","h":"#getlocales","p":95},{"i":105,"t":"getDefaultLocale() 用于获取应用配置的默认语言。 import { getDefaultLocale } from 'ice'; console.log(getDefaultLocale()); // 'zh-CN'","s":"getDefaultLocale()","u":"/docs/guide/advanced/i18n","h":"#getdefaultlocale","p":95},{"i":107,"t":"在 Function 组件中使用 useLocale() Hook API,它的返回值是一个数组,包含两个值: 当前页面的语言 一个 set 函数用于更新当前页面的语言。注意,默认情况下调用此 set 函数时候,同时会更新 Cookie 中 ice_locale 的值为当前页面的语言。这样,再次访问该页面时,从服务端请求能得知当前用户的之前设置的偏好语言,以便返回对应语言的页面内容。 import { useLocale } from 'ice'; export default function Home() { const [locale, setLocale] = useLocale(); console.log('locale: ', locale); // 'en-US' return ( <> {/* 切换语言为 zh-CN */}
setLocale('zh-CN')}>Set zh-CN
) }","s":"useLocale()","u":"/docs/guide/advanced/i18n","h":"#uselocale","p":95},{"i":109,"t":"使用 withLocale() 方法包裹的 Class 组件,组件的 Props 会包含 locale 和 setLocale() 函数,可以查看和修改当前页面的语言。注意,默认情况下调用 setLocale(),会更新 Cookie 中 ice_locale 的值为当前页面的语言。这样,再次访问该页面时,从服务端请求能得知当前用户的之前设置的偏好语言,以便返回对应语言的页面内容。 import { withLocale } from 'ice'; function Home({ locale, setLocale }) { console.log('locale: ', locale); // 'en-US' return ( <> {/* 切换语言为 zh-CN */}
setLocale('zh-CN')}>Set zh-CN
) } export default withLocale(Home);","s":"withLocale()","u":"/docs/guide/advanced/i18n","h":"#withlocale","p":95},{"i":111,"t":"推荐使用 setLocale() 方法配合 组件或者 useNavigate() 方法进行语言切换: 使用 使用 useNavigate() import { useLocale, getAllLocales, Link, useLocation } from 'ice'; export default function Layout() { const location = useLocation(); const [activeLocale, setLocale] = useLocale(); return (

Current locale: {activeLocale}

Choose language:
    { getAllLocales().map((locale: string) => { return (
  • setLocale(locale)} > {locale}
  • ); }) }
); } import { useLocale, useNavigate, useLocation } from 'ice'; export default function Layout() { const [, setLocale] = useLocale(); const location = useLocation(); const navigate = useNavigate(); const switchToZHCN = () => { setLocale('zh-CN'); navigate(location.pathname); } return (
点我切换到中文
); }","s":"切换语言","u":"/docs/guide/advanced/i18n","h":"#切换语言","p":95},{"i":113,"t":"路由自动重定向是指,如果当前访问的页面是根路由(/),将会根据当前语言环境自动跳转到对应的国际化路由。 默认情况下,路由自动重定向的功能是关闭的。如果需要开启,则需要加入以下内容: import { defineConfig } from '@ice/app'; import i18n from '@ice/plugin-i18n'; export default defineConfig({ plugins: [ i18n({ locales: ['zh-CN', 'en-US', 'de'], defaultLocale: 'zh-CN', + autoRedirect: true, }), ], }); 其中,语言环境的识别顺序如下: CSR:cookie 中 ice_locale 的值 > window.navigator.language > defaultLocale SSR:cookie 中 ice_locale 的值 > Request Header 中的 Accept-Language > defaultLocale 在部署阶段,路由自动重定向的功能需要配合 Node 中间件使用才能生效。比如: import express from 'express'; import { renderToHTML } from './build/server/index.mjs'; const app = express(); app.use(express.static('build', {})); app.use(async (req, res) => { const { statusCode, statusText, headers, value: body } = await renderToHTML({ req, res }); res.statusCode = statusCode; res.statusMessage = statusText; Object.entries((headers || {}) as Record).forEach(([name, value]) => { res.setHeader(name, value); }); if (body && req.method !== 'HEAD') { res.end(body); } else { res.end(); } });","s":"路由自动重定向","u":"/docs/guide/advanced/i18n","h":"#路由自动重定向","p":95},{"i":115,"t":"在上面的章节中提到,用户设置的偏好语言是存放在 Cookie 中的 ice_locale,调用 setLocale() 时会更新到 Cookie 中,并且路由重定向和路由跳转的时候依赖 ice_locale 的值。 假设有这么一个场景,用户拒绝接受 Cookie,为了保护隐私,这样就不能把偏好语言写到 Cookie 中了。因此需要做以下的配置来禁用 Cookie: src/app.ts import { defineI18nConfig } from '@ice/plugin-i18n/types'; export const i18nConfig = defineI18nConfig(() => ({ // 可以是一个 function disabledCookie: () => { if (import.meta.renderer === 'client') { return window.localStorage.getItem('acceptCookie') === 'yes'; } return false; }, // 也可以是 boolean 值 // disabledCookie: true, })); 这样,就禁用掉了 Cookie 的写入了。在切换语言的时候需要在 state 对象中显式传入即将要切换的新语言的值: import { Link, useLocale } from 'ice'; export default function Home() { const [, setLocale] = useLocale(); return ( <> setLocale('zh-CN')} state={{ locale: 'zh-CN' }} > 切换到 zh-CN ) }","s":"禁用 Cookie","u":"/docs/guide/advanced/i18n","h":"#禁用-cookie","p":95},{"i":117,"t":"在开启 SSG 功能后,将根据配置的 locales 的值,在 build 阶段会生成不同语言对应的 HTML。 比如我们有以下的目录结构,包含 about 和 index 两个页面: ├── src/pages | ├── about.tsx | └── index.tsx 假如插件的配置是: import { defineConfig } from '@ice/app'; import i18n from '@ice/plugin-i18n'; export default defineConfig({ plugins: [ i18n({ locales: ['zh-CN', 'en-US'], defaultLocale: 'zh-CN', }), ], }); 那么将会生成 4 个 HTML 文件: ├── build | ├── about | | └── index.html | ├── en-US | | ├── about | | | └── index.html | | └── index.html | ├── index.html","s":"SSG","u":"/docs/guide/advanced/i18n","h":"#ssg","p":95},{"i":120,"t":"类型:string[] 用于声明该应用支持的语言。","s":"locales","u":"/docs/guide/advanced/i18n","h":"#locales","p":95},{"i":122,"t":"类型:string 声明该应用默认的语言。需要注意的是, locales 数组必须包含 defaultLocale 的值。","s":"defaultLocale","u":"/docs/guide/advanced/i18n","h":"#defaultlocale","p":95},{"i":124,"t":"类型:boolean 默认值:false 默认不会自动重定向到用户偏好语言对应的页面。如果设置为 true,在生产环境下,一般需要配合 Node 中间件一起使用才能生效。详见","s":"autoRedirect","u":"/docs/guide/advanced/i18n","h":"#autoredirect","p":95},{"i":126,"t":"icestark 是飞冰团队针对大型系统提供的微前端解决方案,我们提供了独立插件 @ice/plugin-icestark 帮助 ice.js 应用快速接入微前端解决方案。","s":"微前端","u":"/docs/guide/advanced/icestark","h":"","p":125},{"i":129,"t":"通过模板快速创建一个微前端的框架应用(主应用): $ npm init ice icestark-framework @icedesign/stark-layout $ cd icestark-framework $ npm install $ npm start","s":"框架应用","u":"/docs/guide/advanced/icestark","h":"#框架应用","p":125},{"i":131,"t":"通过模板快速创建一个微应用(子应用): $ npm init ice icestark-child @icedesign/stark-child $ cd icestark-child $ npm install $ npm start","s":"微应用","u":"/docs/guide/advanced/icestark","h":"#微应用","p":125},{"i":133,"t":"如果不是通过模板创建,则需要按照下面的步骤进行改造:","s":"应用改造","u":"/docs/guide/advanced/icestark","h":"#应用改造","p":125},{"i":135,"t":"$ npm i --save-dev @ice/plugin-icestark","s":"安装插件","u":"/docs/guide/advanced/icestark","h":"#安装插件","p":125},{"i":137,"t":"在应用配置文件中添加插件: ice.config.mts import { defineConfig } from '@ice/app'; import icestark from '@ice/plugin-icestark'; export default defineConfig(() => ({ plugins: [ // 设置应用类型为框架应用 framework icestark({ type: 'framework' }), ], })); 应用入口配置微应用相关信息: src/app.ts import { defineFrameworkConfig } from '@ice/plugin-icestark/types'; import FrameworkLayout from '@/components/FrameworkLayout'; export const icestark = defineFrameworkConfig(() => ({ // 用于微应用全局的 Layout layout: FrameworkLayout, // 配置微应用信息,可为异步方法 getApps: () => ([ { path: '/seller', title: '商家平台', loadScriptMode: 'import', entry: 'https://iceworks.oss-cn-hangzhou.aliyuncs.com/icestark/child-seller-ice-vite/index.html', }, ]), // icestark 提供的 AppRouter 组件的配置参数 appRouter: {}, }));","s":"框架应用改造","u":"/docs/guide/advanced/icestark","h":"#框架应用改造","p":125},{"i":139,"t":"在应用配置文件中添加插件: ice.config.mts import { defineConfig } from '@ice/app'; import icestark from '@ice/plugin-icestark'; export default defineConfig(() => ({ plugins: [ // 设置应用类型为微应用 child icestark({ type: 'child' }), ], })); 应用入口可以配置相关生命周期执行行为(可选): ice.config.mts import { defineChildConfig } from '@ice/plugin-icestark/types'; export const icestark = defineChildConfig(() => ({ mount: () => { // 在微应用挂载前执行 }, unmount: () => { // 在微应用卸载后执行 }, }));","s":"微应用改造","u":"/docs/guide/advanced/icestark","h":"#微应用改造","p":125},{"i":142,"t":"getApp​ 类型:Function 默认值:() => [] 用于获取微应用列表,单个微应用的完整配置字段请参考 AppConfig。","s":"框架应用配置","u":"/docs/guide/advanced/icestark","h":"#框架应用配置","p":125},{"i":144,"t":"类型:Component 框架应用对应的布局组件,必须渲染 children 用于渲染微前端相关应用结构: export default function FrameworkLayout({ children }) { return ( <>
{/* 必须渲染 layout 用来渲染微前端的结构 */} {children}
); } 完成 layout 的开发后,配置在入口 src/app.ts 中: src/app.ts import { defineFrameworkConfig } from '@ice/plugin-icestark/types'; import FrameworkLayout from '@/components/FrameworkLayout'; export const icestark = defineFrameworkConfig(() => ({ layout: FrameworkLayout, }));","s":"layout","u":"/docs/guide/advanced/icestark","h":"#layout","p":125},{"i":146,"t":"可传入 icestark 运行时的钩子函数和可选配置。主要有: NotFoundComponent,匹配不到任何微应用路由时的状态。 LoadingComponent,加载过程中的 Loading 状态。 ErrorComponent,加载出现错误时的状态。 更多配置详见文档。","s":"appRouter","u":"/docs/guide/advanced/icestark","h":"#approuter","p":125},{"i":148,"t":"mount​ 类型:Function 在微应用挂载前,将执行该函数。 unmout​ 类型:Function 在微应用卸载后,将执行该函数。","s":"微应用配置","u":"/docs/guide/advanced/icestark","h":"#微应用配置","p":125},{"i":150,"t":"ice.js 项目中可以直接使用 fusion 组件,关于 fusion 组件按需引入的问题说明: 脚本代码按需引入:不推荐使用 babel-plugin-import,社区主流工具 Webpack/Vite 等都已支持 tree-shaking,构建时默认都会做按需的引入 样式代码按需引入:结合社区讨论 issue,大多数场景下样式按需引入并无太大意义,反而会引入其他工程问题,因此推荐组件样式在项目级全量引入 综上所述,如果不存在主题定制以及样式大小极致的要求,项目中并不需要使用 fusion 插件,通过在 src/global.css 中全量引入样式即可: src/global.css @import '@alifd/next/dist/next.var.css'; body {}","s":"使用 Fusion 组件","u":"/docs/guide/advanced/fusion","h":"","p":149},{"i":152,"t":"安装插件: $ npm i -D @ice/plugin-fusion 在 ice.config.mts 中添加插件: ice.config.mts import { defineConfig } from '@ice/app'; import fusion from '@ice/plugin-fusion'; export default defineConfig(() => ({ plugins: [ fusion({ importStyle: true, }), ], }));","s":"开启插件","u":"/docs/guide/advanced/fusion","h":"#开启插件","p":149},{"i":155,"t":"类型: boolean|'sass' 默认值: false 为 fusion 组件按需加载样式,目前 fusion 组件提供两种类型样式,默认加载 css 样式,如果希望加载 sass 样式可以将 importStyle 配置为 sass。","s":"importStyle","u":"/docs/guide/advanced/fusion","h":"#importstyle","p":149},{"i":157,"t":"类型: string 默认值: '' 为 fusion 组件配置主题包,比如: ice.config.mts import { defineConfig } from '@ice/app'; import fusion from '@ice/plugin-fusion'; export default defineConfig(() => ({ plugins: [ fusion({ themePackage: '@alifd/theme-design-pro', }), ], }));","s":"themePackage","u":"/docs/guide/advanced/fusion","h":"#themepackage","p":149},{"i":159,"t":"类型: Record 默认值: {} 配置 antd 的 theme 主题,配置形式如下: ice.config.mts import { defineConfig } from '@ice/app'; import fusion from '@ice/plugin-fusion'; export default defineConfig(() => ({ plugins: [ fusion({ theme: { 'css-prefix': 'next-icestark-', }, }), ], }));","s":"theme","u":"/docs/guide/advanced/fusion","h":"#theme","p":149},{"i":161,"t":"对于样式方案为 sass 的开发场景,推荐通过以下方式进行配置: ice.config.mts import { defineConfig } from '@ice/app'; import fusion from '@ice/plugin-fusion'; export default defineConfig(() => ({ plugins: [ fusion({ importStyle: 'sass', themePackage: '@alifd/theme-design-pro', }), ], })); 如果样式方案选择为 css,并且存在主题定制诉求的,推荐配合在 src/global.css 中 css variables: src/global.css @import '@alifd/theme-design-pro/variables.css'; body {} ice.config.mts import { defineConfig } from '@ice/app'; import fusion from '@ice/plugin-fusion'; export default defineConfig(() => ({ plugins: [ fusion({ importStyle: true, }), ], })); 对于样式大小没有极致尺寸要求的,直接引入全量 css 样式即可,无需额外配置插件","s":"推荐配置","u":"/docs/guide/advanced/fusion","h":"#推荐配置","p":149},{"i":163,"t":"本文档面向的是使用 Rax App 的开发者,提供迁移到 ice.js 的方式。React 的社区生态显著优于 Rax,切换到 React 之后可以享受到更多的 React 生态,复用复杂场景(富文本、脑图等)社区生态可以大幅度降低成本。 警告 对于 Rax 小程序的用户,如果你没有使用到以下与原生小程序结合较为紧密的能力,则可以正常参考本文档进行迁移。 引入原生 app.js、原生页面、原生自定义组件、小程序插件 引入 Rax 编译时组件 注册页面生命周期及事件 分包加载 如果使用到以上能力,则需要参考 ice.js 文档进行相应能力的迁移。","s":"从 Rax App 迁移","u":"/docs/guide/advanced/integrate-from-rax","h":"","p":162},{"i":165,"t":"ice.js 和 Rax App 都是应用研发框架,它们默认使用的 UI Framework 不同,前者使用 React,而后者使用 rax.js。但是在 ice.js 3.x 中,你可以使用 Rax 兼容模式来运行 Rax 组件。 核心差异包括: 路由差异 构建配置差异 运行时配置差异","s":"ice.js 与 Rax App 的差异","u":"/docs/guide/advanced/integrate-from-rax","h":"#icejs-与-rax-app-的差异","p":162},{"i":167,"t":"对于之前使用 Rax App 的用户,我们提供了项目自动化迁移工具 rax-migrate,它可以辅助平滑迁移大部分工程配置,一些无法自动迁移的功能需要用户手动确认。","s":"Rax App 项目迁移","u":"/docs/guide/advanced/integrate-from-rax","h":"#rax-app-项目迁移","p":162},{"i":169,"t":"$ npm i rax-migrate -g","s":"安装","u":"/docs/guide/advanced/integrate-from-rax","h":"#安装","p":162},{"i":171,"t":"命令行进入 rax-app 工程(如工程名为 rax-project)所在的目录,通过运行 rax-migrate 可生成对应配置的同目录下的 ice.js 工程。 $ rax-migrate transform ./rax-project","s":"使用","u":"/docs/guide/advanced/integrate-from-rax","h":"#使用","p":162},{"i":173,"t":"该工具不是全自动迁移工具,部分功能点无法自动迁移,需要用户手动确认以及迁移,包括但不限于: webpack 插件 无法完全匹配的工程配置 rax-migrate 的 warning 以及 error 输出 ...","s":"注意⚠️","u":"/docs/guide/advanced/integrate-from-rax","h":"#注意️","p":162},{"i":175,"t":"示例 with-keep-alive ice.js 提供 Keep Alive 能力,支持在组件间进行切换时缓存被移除的组件实例。 使用 Keep Alive 能力需要安装 react 和 react-dom 的 experimental 版本: $ npm i react@experimental react-dom@experimental -S","s":"组件缓存","u":"/docs/guide/advanced/keep-alive","h":"","p":174},{"i":177,"t":"ice.js 提供 组件,用于在路由切换时缓存被移除的组件状态。 警告 目前是实验性的组件,可能会存在不稳定性。 在 src/pages/layout.tsx 文件中引入 组件后,即可缓存所有的路由组件: src/pages/layout.tsx import { KeepAliveOutlet } from 'ice'; export default function Layout() { return ( <>

I'm Keep Alive

); }","s":"缓存路由组件","u":"/docs/guide/advanced/keep-alive","h":"#缓存路由组件","p":174},{"i":179,"t":"除了缓存路由组件,还可以直接使用 React 18 提供的实验特性 组件,进一步缓存更细粒度的组件。 import React from 'react'; // @ts-ignore const Offscreen = React.unstable_Offscreen; export default function Home() { const [auth, setAuth] = React.useState('admin'); return ( <>
<> Admin Name: User Name: ) }","s":"缓存其他组件","u":"/docs/guide/advanced/keep-alive","h":"#缓存其他组件","p":174},{"i":181,"t":"该插件支持了一种 JSX 扩展语法 JSX+,它能帮助业务开发者更爽更快地书写 JSX。JSX+ 不是一种新的概念,它是 JSX 基础上的扩展指令概念。","s":"JSX+","u":"/docs/guide/advanced/jsx-plus","h":"","p":180},{"i":183,"t":"JSX 虽然语法灵活,但是大量的花括号 + JS 语法导致了上下文切换和代码可读性的下降,JSX+ 的指令很好的解决了这个问题 JSX 本质是 JS 表达式,在运行时阶段才可以计算出真实的 DOM 结构,JSX+ 引入了一部分静态模板特性可以满足编译优化 不新创造实体,指令在社区中是已经被广泛接受的概念,对开发者更友好,语法糖的表达更简单 统一一套 JSX+ 类似概念的语法规范,减少已存在和潜在的重复建设","s":"为什么需要 JSX+","u":"/docs/guide/advanced/jsx-plus","h":"#为什么需要-jsx","p":180},{"i":185,"t":"$ npm i @ice/plugin-jsx-plus -D 配置插件使用: ice.config.mts import { defineConfig } from '@ice/app'; import jsxPlus from '@ice/plugin-jsx-plus'; export default defineConfig(() => ({ plugins: [ jsxPlus(), ], })); 接下来就可以使用更强大的 JSX+ 语法了: function ExampleComponent(props) { const { isAdmin, dataSource } = props; return (
admin
guest
{item.name}
); }","s":"安装使用","u":"/docs/guide/advanced/jsx-plus","h":"#安装使用","p":180},{"i":187,"t":"以下是 JSX+ 规范已有的指令列表:","s":"指令语法","u":"/docs/guide/advanced/jsx-plus","h":"#指令语法","p":180},{"i":189,"t":"语法: Hello World NothingElse 警告 x-elseif 可以多次出现,但是顺序必须是 x-if -> x-elseif -> x-else,且这些节点是兄弟节点关系,如顺序错误则指令被忽略。","s":"1. 条件判断","u":"/docs/guide/advanced/jsx-plus","h":"#1-条件判断","p":180},{"i":191,"t":"语法: {/* Array or Plain Object*/} {item} {key}: {item} 说明: 若循环对象为数组,key 表示循环索引,其类型为 Number。 当 x-for 与 x-if 同时作用在同一节点上时,循环优先级大于条件,即循环的 item 和 index 可以在子条件判断中使用。","s":"2. 循环列表","u":"/docs/guide/advanced/jsx-plus","h":"#2-循环列表","p":180},{"i":193,"t":"仅在首次渲染时会触发 createElement 并将其引用缓存,重新渲染时直接复用缓存,用于提高不带绑定节点渲染效率和 Diff 性能。 语法:

this paragragh {mesasge} content will not change.

","s":"3. 单次渲染","u":"/docs/guide/advanced/jsx-plus","h":"#3-单次渲染","p":180},{"i":195,"t":"类似 WebComponents 的 slot 概念,并提供插槽作用域。 语法: 示例: // Example header {props.index}: {props.item} footer // 槽位 对比传统 JSX: (header)} renderFooter={() => (footer)} renderItem={(item, index) => ({index}: {item}} /> 对比小程序: header {props.index}: {props.item} footer ","s":"4. 插槽指令","u":"/docs/guide/advanced/jsx-plus","h":"#4-插槽指令","p":180},{"i":197,"t":"提供空组件,不产生 UI,提供绑定 x-if x-for x-slot 指令。 使用: ","s":"5. Fragment 组件","u":"/docs/guide/advanced/jsx-plus","h":"#5-fragment-组件","p":180},{"i":199,"t":"语法:
参考实现:
classnames 方法能力参考同名 npm 包。 更多请参考 jsx-plus","s":"6. 类名绑定","u":"/docs/guide/advanced/jsx-plus","h":"#6-类名绑定","p":180},{"i":201,"t":"@TODO","s":"微前端","u":"/docs/guide/advanced/micro-frontends","h":"","p":200},{"i":203,"t":"框架提供了 rax-compat 以支持 rax.js 到 react 的兼容。 rax-compat 通过对 react API 的封装,在内部抹平了 rax.js 与 react 使用上的大部分差异,同时导出了与 rax.js 一致的 API 能力,通过将源码中的 rax 引入替换为 rax-compat,可以桥接上绝大部分 react 运行时能力。","s":"兼容 Rax","u":"/docs/guide/advanced/rax-compat","h":"","p":202},{"i":205,"t":"用户可以直接通过引入插件 @ice/plugin-rax-compat 来完成在 ice.js 中运行 Rax 组件。 $ npm i @ice/plugin-rax-compat --save-dev ice.config.mts + import compatRax from '@ice/plugin-rax-compat'; export default defineConfig(() => ({ plugins: [ + compatRax({ inlineStyle: true }), // 是否开启内联样式,这里是开启 + // 也可以使用函数形式,根据文件名来判断是否开启内联样式 + compatRax({ inlineStyle: (id) => id.includes('some-module') }), ], }));","s":"插件安装与使用","u":"/docs/guide/advanced/rax-compat","h":"#插件安装与使用","p":202},{"i":208,"t":"rax-compat 实现了所有的 Rax 核心 API,具体列表可以参考Rax 官网。","s":"Rax 核心 API","u":"/docs/guide/advanced/rax-compat","h":"#rax-核心-api","p":202},{"i":210,"t":"通过 onAppear 以及 onDisapper 事件可以监听元素的可见性变化,Rax DSL 通过 appear-polyfill 来实现这部分能力,但是 React Runtime 并没有这部分能力,因此 rax-compat 会在 React Runtime 中做兼容处理。 你依旧可以像之前一样使用 onAppear 以及 onDisapper 回调,如: import { createElement } from 'rax'; function App { return (
{ alert('appear') }} onDisappear={() => { alert('disappear') }} > RaxApp
) } 使用 Rax 兼容模式无需做任何改造,也无需手动引入 appear-polyfill,rax-compat 已经帮你处理掉了。 对于纯 React 组件,推荐使用 ,详见元素可见。","s":"Appear 和 Disappear 事件的处理","u":"/docs/guide/advanced/rax-compat","h":"#appear-和-disappear-事件的处理","p":202},{"i":212,"t":"inlineStyle: 当打开 @ice/plugin-rax-compat 插件的 inlineStyle 参数时,除了以 .module.css 结尾的文件会使用 CSS Modules 模式外,其它的 .css 文件都会被转换成 JavaScript 对象。 eg: src/pages/home.css .foo { color: red; } src/pages/home.tsx import { createElement } from 'rax'; import styles from './home.css'; console.log(styles); // { foo: { color: 'red' } } 此外,当 width 等属性没有单位时,如 width: 300,在 inlineStyle 模式下会自动补齐 rpx 单位并最终转化成 vw,同理,写了 rpx 单位的值也一样会被转化成 vw。","s":"样式的处理","u":"/docs/guide/advanced/rax-compat","h":"#样式的处理","p":202},{"i":214,"t":"由于 rax-swiper 仅支持在非内联模式下使用,如果你启用了 inlineStyle,则需要在项目的全局 CSS 中新增对其样式的导入: global.css + @import url('swiper/swiper-bundle.min.css'); 或者你也可以使用函数形式的 lineStyle,将引用了 rax-swiper 的模块排除出内联样式的处理流程: ice.config.mts import compatRax from '@ice/plugin-rax-compat'; export default defineConfig(() => ({ plugins: [ + compatRax({ inlineStyle: (id) => !id.includes('feeds-module') }), ], }));","s":"兼容 rax-swiper","u":"/docs/guide/advanced/rax-compat","h":"#兼容-rax-swiper","p":202},{"i":216,"t":"Rax 的 inlineStyle 模式是具有传染性的,因此,如果你的项目中存在使用内联样式构建的模块,在 rax-compat 模式下需要确保这些模块也使用内联样式处理,否则会出现样式丢失的问题。此时你可以使用函数形式的 inlineStyle: ice.config.mts import compatRax from '@ice/plugin-rax-compat'; export default defineConfig(() => ({ plugins: [ + compatRax({ inlineStyle: (id) => id.includes('inline-style-module') }), ], }));","s":"兼容使用内联样式构建的模块","u":"/docs/guide/advanced/rax-compat","h":"#兼容使用内联样式构建的模块","p":202},{"i":218,"t":"在 React 中,原生标签的 props 是存在白名单的,而 rax.js 中没有。这导致使用非 dataset 的自定义属性在 React 中会被忽略(Dev 阶段有警告),从而无法从真实节点的 DOM 对象中通过 getAttribute() 方法获取。如果用了这些非标自定义属性,推荐使用 dataset(data-*) 来标识自定义属性。","s":"DOM 属性差异","u":"/docs/guide/advanced/rax-compat","h":"#dom-属性差异","p":202},{"i":220,"t":"React 通过合成事件机制对浏览器环境中的事件进行代理,而 rax.js 则是通过节点(EventTarget)原生的 addEventListener() 方法将事件与处理函数绑定在一起。在你清楚地了解 Rax 与 React 的事件实现差异之前,尽量不要使用 ref 访问真实 DOM 节点来处理原生事件,否则可能会出现未预料的行为。","s":"事件差异","u":"/docs/guide/advanced/rax-compat","h":"#事件差异","p":202},{"i":222,"t":"大部分前端应用都会选择通过 HTTP(s) 协议与后端服务通讯。 ice.js 提供了一套从 UI 交互到请求服务端数据的完整方案,通过切面编程的方式统一了数据请求管理,简化了设置参数、错误处理等逻辑的实现。","s":"HTTP 请求","u":"/docs/guide/advanced/request","h":"","p":221},{"i":224,"t":"网络请求是可选能力,在使用前需要单独安装 @ice/plugin-request 插件。 npm i @ice/plugin-request -D 在配置文件中添加插件: ice.config.mts import { defineConfig } from '@ice/app'; import request from '@ice/plugin-request'; export default defineConfig(() => ({ plugins: [ request(), ], }));","s":"安装 request 插件","u":"/docs/guide/advanced/request","h":"#安装-request-插件","p":221},{"i":226,"t":"框架约定 service 目录用于收敛请求逻辑,目录组织如下: src ├── models +├── services // 定义全局数据请求,非必须 +│ └── user.ts └── pages | ├── home | │ ├── models +| │ ├── services // 定义页面级数据请求 +| │ | └── repo.ts | │ └── components | ├── about | │ ├── services | │ ├── components | │ └── index.tsx └── app.ts 通过调用 request 定义数据请求如下: pages/home/service/repo.ts import { request } from 'ice'; export default { // 简单场景 async getUser() { return await request('/api/user'); }, // 参数场景 async getRepo(id) { return await request(`/api/repo/${id}`); }, // 格式化返回值 async getDetail(params) { const data = await request({ url: `/api/detail`, params }); return data.map(item => { return { ...item, price: item.oldPrice, text: item.status === '1' ? '确定' : '取消' }; }); } }","s":"目录约定","u":"/docs/guide/advanced/request","h":"#目录约定","p":221},{"i":228,"t":"消费 service 主要有两种方式: 在模型中调用 service:service -> model -> view 在视图中调用 service:service -> view","s":"消费 service","u":"/docs/guide/advanced/request","h":"#消费-service","p":221},{"i":230,"t":"结合 状态管理 使用 service:约定数据请求统一管理在 services 目录下; model:约定数据请求统一在 models 里进行调用; view:最终在视图里通过调用 models 的 effects 的方法触发数据请求。 在模型中调用定义好的 service: import userService from '@/services/user'; // src/models/user.ts export default { state: { name: 'taoxiaobao', age: 20, }, reducers: { update(prevState, payload) { return { ...prevState, ...payload }; }, }, effects: (dispatch) => ({ async fetchUserInfo() { const data = await userService.getUser(); dispatch.user.update(data); }, }), }; 在视图中调用模型方法: import React, { useEffect } from 'react'; import store from '@/store'; const HomePage = () => { // 调用定义的 user 模型 const [userState, userDispatchers] = store.useModel('user'); useEffect(() => { // 调用 user 模型中的 fetchUserInfo 方法 userDispatchers.fetchUserInfo(); }, []); return <>Home; };","s":"在模型中调用 service","u":"/docs/guide/advanced/request","h":"#在模型中调用-service","p":221},{"i":232,"t":"service:约定数据请求统一管理在 services 目录下; view:最终在视图里通过 useRequest 直接调用 service 触发数据请求。 import React, { useEffect } from 'react'; import { useRequest } from 'ice'; import userService from '@/services/user'; export default function HomePage() { // 调用 service const { data, error, loading, request } = useRequest(userService.getUser); useEffect(() => { // 触发数据请求 request(); }, []); return <>Home; }","s":"在视图中调用 service","u":"/docs/guide/advanced/request","h":"#在视图中调用-service","p":221},{"i":235,"t":"request 基于 axios 进行封装,在使用上整体与 axios 保持一致,差异点: 默认只返回服务端响应的数据 Response.data,而不是整个 Response,如需返回整个 Response 请通过 withFullResponse 参数开启 在 axios 基础上默认支持了多请求实例的能力 使用方式如下: import { request } from 'ice'; async function getList() { const resData = await request({ url: '/api/user', }); console.log(resData.list); const { status, statusText, data } = await request({ url: '/api/user', withFullResponse: true }); console.log(data.list); } 常用使用方式: request(RequestConfig); request.get('/user', RequestConfig); request.post('/user', data, RequestConfig); RequestConfig: { // `url` is the server URL that will be used for the request url: '/user', // `method` is the request method to be used when making the request method: 'get', // default // `headers` are custom headers to be sent headers: {'X-Requested-With': 'XMLHttpRequest'}, // `params` are the URL parameters to be sent with the request // Must be a plain object or a URLSearchParams object params: { ID: 12345 }, // `data` is the data to be sent as the request body // Only applicable for request methods 'PUT', 'POST', and 'PATCH' data: { firstName: 'Fred' }, // `timeout` specifies the number of milliseconds before the request times out. // If the request takes longer than `timeout`, the request will be aborted. timeout: 1000, // default is `0` (no timeout) // `withCredentials` indicates whether or not cross-site Access-Control requests // should be made using credentials withCredentials: false, // default // `responseType` indicates the type of data that the server will respond with // options are: 'arraybuffer', 'document', 'json', 'text', 'stream' responseType: 'json', // default // should be made return full response withFullResponse: false, // request instance name instanceName: 'request2' } 更完整的配置请 参考。 返回完整 Response Scheme 如下: { // `data` is the response that was provided by the server data: {}, // `status` is the HTTP status code from the server response status: 200, // `statusText` is the HTTP status message from the server response statusText: 'OK', // `headers` the HTTP headers that the server responded with // All header names are lower cased and can be accessed using the bracket notation. // Example: `response.headers['content-type']` headers: {}, // `config` is the config that was provided to `axios` for the request config: {}, // `request` is the request that generated this response // It is the last ClientRequest instance in node.js (in redirects) // and an XMLHttpRequest instance in the browser request: {} }","s":"request","u":"/docs/guide/advanced/request","h":"#request","p":221},{"i":237,"t":"使用 useRequest 可以极大的简化对请求状态的管理,useRequest 基于 ahooks/useRequest 封装,差异点: 将 requestMethod 参数默认设置为上述的 request(即 axios),保证框架使用的一致性 manual 参数默认值从 false 改为 true,因为实际业务更多都是要手动触发的 返回值 run 改为 request,因为更符合语义 API​ const { // 请求返回的数据,默认为 undefined data, // 请求抛出的异常,默认为 undefined error, // 请求状态 loading, // 手动触发请求,参数会传递给 service request, // 当次执行请求的参数数组 params, // 取消当前请求,如果有轮询,停止 cancel, // 使用上一次的 params,重新执行请求 refresh, // 直接修改 data mutate, // 默认情况下,新请求会覆盖旧请求。如果设置了 fetchKey,则可以实现多个请求并行,fetches 存储了多个请求的状态 fetches } = useRequest(service, { // 默认为 true 即需要手动执行请求 manual, // 初始化的 data initialData, // 请求成功时触发,参数为 data 和 params onSuccess, // 请求报错时触发,参数为 error 和 params onError, // 格式化请求结果 formatResult, // 请求唯一标识 cacheKey, // 设置显示 loading 的延迟时间,避免闪烁 loadingDelay, // 默认参数 defaultParams, // 轮询间隔,单位为毫秒 pollingInterval, // 在页面隐藏时,是否继续轮询,默认为 true,即不会停止轮询 pollingWhenHidden, // 根据 params,获取当前请求的 key fetchKey, // 在屏幕重新获取焦点或重新显示时,是否重新发起请求。默认为 false,即不会重新发起请求 refreshOnWindowFocus, // 屏幕重新聚焦,如果每次都重新发起请求,不是很好,我们需要有一个时间间隔,在当前时间间隔内,不会重新发起请求,需要配置 refreshOnWindowFocus 使用 focusTimespan, // 防抖间隔, 单位为毫秒,设置后,请求进入防抖模式 debounceInterval, // 节流间隔, 单位为毫秒,设置后,请求进入节流模式。 throttleInterval, // 只有当 ready 为 true 时,才会发起请求 ready, // 在 manual = false 时,refreshDeps 变化,会触发请求重新执行 refreshDeps, }); 常用使用方式​ import { useRequest } from 'ice'; // 用法 1:传入请求地址 const { data, error, loading, request } = useRequest('/api/repo'); request(); // 用法 2:传入 Axios 配置对象 const { data, error, loading, request } = useRequest({ url: '/api/repo', method: 'get', }); request(); // 用法 3:传入 service 函数 const { data, error, loading, request } = useRequest((id) => Promise.resolve({ url: '/api/repo', method: 'get', data: { id }, })); request(); 更多使用方式详见 ahooks/useRequest","s":"useRequest","u":"/docs/guide/advanced/request","h":"#userequest","p":221},{"i":239,"t":"在实际项目中通常需要对请求进行全局统一的封装,例如配置请求的 baseURL、统一 header、拦截请求和响应等等,这时只需要在应用的的 appConfig 中进行配置即可。 src/app.tsx import { defineRequestConfig } from '@ice/plugin-request/types'; export const requestConfig = defineRequestConfig({ // 可选的,全局设置 request 是否返回 response 对象,默认为 false withFullResponse: false, baseURL: '/api', headers: {}, // ...RequestConfig 其他参数 // 拦截器 interceptors: { request: { onConfig: (config) => { // 发送请求前:可以对 RequestConfig 做一些统一处理 config.headers = { a: 1 }; return config; }, onError: (error) => { return Promise.reject(error); }, }, response: { onConfig: (response) => { // 请求成功:可以做全局的 toast 展示,或者对 response 做一些格式化 if (!response.data.status !== 1) { alert('请求失败'); } return response; }, onError: (error) => { // 请求出错:服务端返回错误状态码 console.log(error.response.data); console.log(error.response.status); console.log(error.response.headers); return Promise.reject(error); }, }, }, });","s":"请求配置","u":"/docs/guide/advanced/request","h":"#请求配置","p":221},{"i":241,"t":"在某些复杂场景的应用中,我们也可以配置多个请求,每个配置请求都是单一的实例对象。 src/app.tsx import { defineRequestConfig } from '@ice/plugin-request/types'; export const requestConfig = defineRequestConfig([ { baseURL: '/api', // ...RequestConfig 其他参数 }, { // 配置 request 实例名称,如果不配默认使用内置的 request 实例 instanceName: 'request2', baseURL: '/api2', // ...RequestConfig 其他参数 } ]); 使用示例: import { request } from 'ice'; export default { // 使用默认的请求方法,即调用 /api/user 接口 async getUser() { return await request({ url: '/user', }); }, // 使用自定义的 request 请求方法,即调用接口 /api2/user async getRepo(id) { return await request({ instanceName: 'request2', url: `/repo/${id}`, }); }, };","s":"多个请求配置","u":"/docs/guide/advanced/request","h":"#多个请求配置","p":221},{"i":243,"t":"无论是拦截器里的错误参数,还是 request / useRequest 返回的错误对象,都符合以下类型: const error = { // 服务端返回错误状态码时则存在该字段 response: { data: {}, status: {}, headers: {} }, // 服务端未返回结构时则存在该字段 request: XMLHttpRequest, // 一定存在,即 RequestConfig config: { }, // 一定存在 message: '' }","s":"异常处理","u":"/docs/guide/advanced/request","h":"#异常处理","p":221},{"i":246,"t":"项目开发初期,后端接口可能还没开发好或不够稳定,此时前端可以通过 Mock 的方式来模拟接口,参考文档 本地 Mock 能力。","s":"Mock 接口","u":"/docs/guide/advanced/request","h":"#mock-接口","p":221},{"i":248,"t":"当访问页面地址和请求接口地址的域名或端口不一致时,就会因为浏览器的同源策略导致跨域问题,此时推荐后端接口通过 CORS 支持信任域名的跨域访问,具体请参考: HTTP 访问控制(CORS) 跨域资源共享 CORS 详解 Using CORS","s":"如何解决接口跨域问题","u":"/docs/guide/advanced/request","h":"#如何解决接口跨域问题","p":221},{"i":250,"t":"大部分情况下,前端代码里用到的后端接口写的都是相对路径如 /api/getFoo.json,然后访问不同环境时浏览器会根据当前域名发起对应的请求。如果域名跟实际请求的接口地址不一致,则需要通过 request.baseURL 来配置: src/app.tsx import { defineRequestConfig } from '@ice/plugin-request/types'; export const requestConfig = defineRequestConfig({ baseURL: '//service.example.com/api', }); 结合构建配置即可实现不同环境使用不同的 baseURL: .env.local # The should not be committed. BASEURL=http://localhost:9999/api .env.prod BASEURL=https://example.com/api 在 src/app.tsx 中配置 request.baseURL: src/app.tsx import { defineRequestConfig } from '@ice/plugin-request/types'; export const requestConfig = defineRequestConfig({ baseURL: process.env.BASEURL, });","s":"根据环境配置不同的 baseURL","u":"/docs/guide/advanced/request","h":"#根据环境配置不同的-baseurl","p":221},{"i":252,"t":"示例 with-jest with-vitest ice.js 不耦合任何一个测试框架,开发者可自由选择。目前提供开箱即用的 jest 和 vitest 配置,以便快速开始单元测试。","s":"单元测试","u":"/docs/guide/advanced/unit-test","h":"","p":251},{"i":255,"t":"$ npm i jest -D 如果使用 TypeScript 编写单元测试,推荐接入使用 @swc/jest 或 ts-jest","s":"依赖安装","u":"/docs/guide/advanced/unit-test","h":"#依赖安装","p":251},{"i":257,"t":"首先需要在项目的根目录下新建 jest.config.mjs 文件,并加入以下内容: jest.config.mjs import { defineJestConfig } from '@ice/app'; export default defineJestConfig({}); defineJestConfig 方法返回的是 ice.js 默认配置好的 Jest 配置,支持传入自定义的 Jest 配置。 defineJestConfig 入参支持两种写法: jest.Config () => Promise 以添加 @swc/jest 为例: jest.config.mjs import { defineJestConfig } from '@ice/app'; export default defineJestConfig({ + transform: { + '^.+\\\\.(t|j)sx?$': [ + '@swc/jest', + { + // swc 配置 + jsc: { + transform: { + react: { + runtime: 'automatic', + }, + }, + }, + }, + ], + }, }); 然后在 package.json 中加入 test 脚本: package.json { \"scripts\": { + \"test\": \"jest\" } } 配置完成后,就可以开始编写单元测试了。","s":"配置","u":"/docs/guide/advanced/unit-test","h":"#配置","p":251},{"i":259,"t":"假设现在要测试 add 函数如下: src/utils/add.ts export default function add(a, b) { return a + b; } 新建一个测试用例: tests/add.spec.ts import add from '../src/add'; test('add function', () => { expect(add(1, 2)).toBe(3); }); 这时,运行 npm run test 查看测试结果了。","s":"非 UI 测试","u":"/docs/guide/advanced/unit-test","h":"#非-ui-测试","p":251},{"i":261,"t":"组件 UI 测试推荐使用 @testing-library/react 和 @testing-library/jest-dom。 首先安装依赖: $ npm i @testing-library/react jest-environment-jsdom @testing-library/jest-dom -D 然后在项目根目录下新建 jest-setup.ts 并写入以下内容,以扩展匹配器(matchers): jest-setup.ts import '@testing-library/jest-dom'; 最后在 jest.config.mjs 中加入以下内容: jest.config.mjs import { defineJestConfig } from '@ice/app'; export default defineJestConfig({ + setupFilesAfterEnv: ['/jest-setup.ts'], + testEnvironment: 'jest-environment-jsdom', }); 假设现在要测试一个 Header 组件: src/components/Header.tsx export default function Header() { return (

Jest Test

); } 编写组件的测试用例: tests/Header.spec.tsx import { render, screen } from '@testing-library/react'; import Header from '@/components/Header'; test('test Header component', () => { render(
); expect(screen.getByTestId('title')).toHaveTextContent('Jest Test'); }); 最后,运行 npm run test 就可以查看测试结果了。","s":"UI 测试","u":"/docs/guide/advanced/unit-test","h":"#ui-测试","p":251},{"i":264,"t":"$ npm i vitest -D","s":"依赖安装","u":"/docs/guide/advanced/unit-test","h":"#依赖安装-1","p":251},{"i":266,"t":"首先需要在项目的根目录下新建 vitest.config.mjs 文件,并加入以下内容: vitest.config.mjs import { defineVitestConfig } from '@ice/app'; export default defineVitestConfig({}); defineVitestConfig 方法返回的是 ice.js 默认配置好的 vitest 配置,支持传入自定义的 vitest 配置。 defineVitestConfig 入参支持三种写法: vitest.UserConfig Promise (env) => Promise 以修改 include 参数为例: vitest.config.mjs import { defineVitestConfig } from '@ice/app'; export default defineVitestConfig({ + test: { + include: ['**/*.{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}'] + } }); 然后在 package.json 中加入 test 脚本: package.json { \"scripts\": { + \"test\": \"vitest\" } }","s":"配置","u":"/docs/guide/advanced/unit-test","h":"#配置-1","p":251},{"i":268,"t":"同样测试 Jest 非 UI 测试章节 中的 Header 组件,编写以下的测试用例: tests/add.spec.ts import { test, expect } from 'vitest'; import add from '../src/add'; test('add', () => { expect(add(1, 2)).toBe(3); }); 现在可以运行 npm run test 查看测试结果。","s":"非 UI 测试","u":"/docs/guide/advanced/unit-test","h":"#非-ui-测试-1","p":251},{"i":270,"t":"首先安装依赖: $ npm i @testing-library/react jsdom @testing-library/jest-dom @vitejs/plugin-react@1.3.2 -D 然后在项目根目录下新建 vitest-setup.js 并写入以下内容,以扩展匹配器(matchers): vitest-setup.js import matchers from '@testing-library/jest-dom/matchers'; import { expect } from 'vitest'; expect.extend(matchers); 最后在 vitest.config.mjs 中加入以下内容: vitest.config.mjs import { defineVitestConfig } from '@ice/app'; + import react from '@vitejs/plugin-react'; export default defineVitestConfig({ + test: { + environment: 'jsdom', + setupFiles: ['./vitest-setup.js'], + plugins: [react()], // 支持解析 JSX 语法 + }, }); 假设现在测试一个 Header 组件: src/components/Header.tsx export default function Header() { return (

Vitest Test

); } 编写组件的测试用例: tests/Header.spec.tsx import { test, expect } from 'vitest'; import { render, screen } from '@testing-library/react'; import Header from '@/components/Header'; test('test Header component', () => { render(
); expect(screen.getByTestId('title')).toHaveTextContent('Vitest Test'); }); 最后,运行 npm run test 就可以查看测试结果了。","s":"UI 测试","u":"/docs/guide/advanced/unit-test","h":"#ui-测试-1","p":251},{"i":272,"t":"示例 with-store ice.js 基于 icestore ,提供主流的状态管理解决方案,以更好管理复杂的状态管理逻辑。","s":"状态管理","u":"/docs/guide/advanced/store","h":"","p":271},{"i":274,"t":"安装插件: $ npm i @ice/plugin-store -D 在 ice.config.mts 中添加插件: ice.config.mts import { defineConfig } from '@ice/app'; import store from '@ice/plugin-store'; export default defineConfig(() => ({ plugins: [ store(), ], }));","s":"开启状态管理","u":"/docs/guide/advanced/store","h":"#开启状态管理","p":271},{"i":276,"t":"推荐在不同页面组件中共享的状态存放在全局状态中,比如主题、国际化语言、用户信息等。","s":"全局状态","u":"/docs/guide/advanced/store","h":"#全局状态","p":271},{"i":278,"t":"约定在 src/models 目录定义全局状态。以定义全局用户状态为例: src/models/user.ts import { createModel } from 'ice'; interface User { name: string; id: string; } export default createModel({ // 定义 model 的初始 state state: { name: '', id: '', } as User, // 定义改变该 model 状态的纯函数 reducers: { update(state, payload) { return { ...state, ...payload, }; }, }, // 定义处理该 model 副作用的函数 effects: (dispatch) => ({ async getUserInfo() { await delay(1000); this.update({ name: 'taobao', id: '123', }); }, }), })","s":"定义 Model","u":"/docs/guide/advanced/store","h":"#定义-model","p":271},{"i":280,"t":"约定在 src/store.ts 中初始化 Store: src/store.ts import { createStore } from 'ice'; import user from './models/user'; export default createStore({ user });","s":"初始化 Store","u":"/docs/guide/advanced/store","h":"#初始化-store","p":271},{"i":282,"t":"import { useEffect } from 'react'; + import store from '@/store'; export default function Home() { + const [userState, userDispatchers] = store.useModel('user'); + useEffect(() => { + // 触发 dispatcher 获取数据并修改 state + userDispatchers.getUserInfo() + }, []) return ( <> + {userState.id} + {userState.name} ); }","s":"在组件中使用","u":"/docs/guide/advanced/store","h":"#在组件中使用","p":271},{"i":284,"t":"警告 页面状态只能在该页面下的组件中使用,无法跨页面使用。","s":"页面状态","u":"/docs/guide/advanced/store","h":"#页面状态","p":271},{"i":286,"t":"约定在当前路由目录下新建 models 目录并定义 Model: src └── pages | ├── home // /home 页面 +| │ ├── models // 定义 model +| │ | └── info.ts | │ └── index.tsx 定义 Model 如下: src/pages/home/models/info.ts import { createModel } from 'ice'; export default createModel({ state: { title: '', }, reducers: { update(state, payload) { return { ...state, ...payload, }; }, }, });","s":"定义 Model","u":"/docs/guide/advanced/store","h":"#定义-model-1","p":271},{"i":288,"t":"约定在当前路由目录下新建 store 文件: src └── pages | ├── home // /home 页面 | │ ├── models // 定义 model | │ | └── info.ts +| │ ├── store.ts // 创建 store | │ └── index.tsx src/pages/home/store.ts import { createStore } from 'ice'; import info from './models/info'; const store = createStore({ info }); export default store;","s":"初始化 Store","u":"/docs/guide/advanced/store","h":"#初始化-store-1","p":271},{"i":290,"t":"src/pages/home/index.tsx import { useEffect } from 'react'; + import homeStore from './store'; export default function Home() { + const [infoState, infoDispatchers] = homeStore.useModel('info'); + useEffect(() => { + infoDispatchers.update({ title: 'ICE' }) + }, []) return ( +

{infoState.title}

); };","s":"在组件中使用","u":"/docs/guide/advanced/store","h":"#在组件中使用-1","p":271},{"i":293,"t":"警告 页面级状态目前不支持设置 initialStates。 假设我们有 user 和 counter 两个 Model: src/store.ts src/models/user.ts src/models/counter.ts import { createStore } from 'ice'; import user from './models/user'; import counter from './models/counter'; export default createStore({ user, counter }); import { createModel } from 'ice'; export default createModel({ state: { name: '', } }); import { createModel } from 'ice'; export default createModel({ state: { count: 0, } }); 我们可以在 src/app.ts 中设置两个 Model 初始状态: src/app.ts import { defineStoreConfig } from '@ice/plugin-store/types'; export const storeConfig = defineStoreConfig(async () => { // 模拟请求后端数据 // const data = (await fetch('your-url')).json(); return { initialStates: { // initialStates 键值与 createStore 的第一个入参键值保持一致 user: { name: 'ice.js', }, counter: { count: 1 } }, }; });","s":"设置初始状态","u":"/docs/guide/advanced/store","h":"#设置初始状态","p":271},{"i":295,"t":"插件约定在 src/models、src/pages/**/models 目录下的文件为项目定义的 model 文件,每个文件需要默认导出一个对象。 state​ 定义 Model 的初始 state: import { createModel } from 'ice'; export default createModel({ state: { count: 0 }, }) reducers​ type Reducers = { [k: string]: (state, payload) => any; }; 一个改变该模型状态的函数集合。这些方法以模型的上一次 state 和一个 payload(调用 reducer 时传入的参数)作为入参,在方法中使用可变的方式来更新状态。 这些方法应该是仅依赖于 state 和 payload 参数来计算下一个 state 的纯函数。对于有副作用的函数,请使用 effects 。 import { createModel } from 'ice'; export default ({ state: { count: 0, list: [] }, reducers: { increment (state, payload) { const newList = state.list.slice(); newList.push(payload); const newCount = state.count + 1; return { ...state, count: newCount, list: newList } }, decrement (state) { return { ...state, count: state.count - 1 } } } } effects​ type Effects = (dispatch) => ({ [string]: (payload, rootState) => void }) 一个可以处理该模型副作用的函数集合。这些方法以 payload 和 rootState(当前模型的 state) 作为入参,适用于进行异步调用、模型联动等场景。 import { createModel } from 'ice'; export default createModel({ reducers: { increment() { // ... } }, effects: (dispatch) => ({ async asyncDecrement() { const list = (await fetch('your-url')).json(); // 进行一些异步操作 this.increment(list); // 调用模型 reducers 内的方法来更新状态 }, }), })","s":"Model 定义详细说明","u":"/docs/guide/advanced/store","h":"#model-定义详细说明","p":271},{"i":297,"t":"警告 如果两个 Model 不属于同一个 Store 实例,是无法通信的 src/models/user.ts src/models/tasks.ts // src/models/user.ts import { createModel } from 'ice'; export default createModel({ state: { name: '', tasks: 0, }, effects: () => ({ async refresh() { const data = (await fetch('/user')).json(); // 通过 this.foo 调用自身的 reducer this.setState(data); }, }), }); // src/models/tasks.ts export default { state: [], effects: (dispatch) => ({ async refresh() { const data = await fetch('/tasks'); this.setState(data); }, async add(task) { await fetch('/tasks/add', task); // 调用另一个 model user 的 effects await dispatch.user.refresh(); // 通过 this.foo 调用自身的 effects await this.refresh(); }, }), };","s":"Model 之间通信","u":"/docs/guide/advanced/store","h":"#model-之间通信","p":271},{"i":299,"t":"Redux 默认的函数式写法在处理一些复杂对象的 state 时会非常繁琐。推荐使用 immer 的方式来操作 state: import { createModel } from 'ice'; export default createModel({ state: { tasks: ['A Task', 'B Task'], detail: { name: 'Bob', age: 3, }, }, reducers: { addTasks(state, payload) { - return { - ...state, - tasks: [ ...state.tasks, payload ], - }, + state.tasks.push(payload); }, updateAge(state, payload) { - return { - ...state, - detail: { - ...state.detail, - age: payload, - }, - }, + state.detail.age = payload; } } }) 注意:因为 immer 无法支持字符串或数字这样的简单类型,因此如果 state 符合这种情况(极少数)则不支持通过 immer 操作,必须使用 Redux 默认的函数式写法(返回一个新值): import { createModel } from 'ice'; export default createModel({ state: 0, reducers: { add(state) { - state += 1; + return state += 1; }, }, })","s":"使用不可变状态","u":"/docs/guide/advanced/store","h":"#使用不可变状态","p":271},{"i":301,"t":"通过 useModelEffectsState API 即可获取到 effects 的 加载状态( isLoading )和 错误状态(error)。 import store from '@/store'; function FunctionComponent() { const [state, dispatchers] = store.useModel('counter'); + const effectsState = store.useModelEffectsState('counter'); useEffect(() => { dispatchers.asyncDecrement(); }, []); + console.log(effectsState.asyncDecrement.isLoading); // true + console.log(effectsState.asyncDecrement.error); // null }","s":"获取内置的加载状态和错误状态","u":"/docs/guide/advanced/store","h":"#获取内置的加载状态和错误状态","p":271},{"i":303,"t":"在单页应用下进行页面切换时,页面状态是会保留的。如果想切换页面后再次进入原页面时重新初始化页面状态,需要添加以下配置: ice.config.mts import { defineConfig } from '@ice/app'; import store from '@ice/plugin-store'; export default defineConfig(() => ({ plugins: [ - store(), + store({ resetPageState: true }), ], }));","s":"页面切换后重置状态","u":"/docs/guide/advanced/store","h":"#页面切换后重置状态","p":271},{"i":305,"t":"通过 withModel 可以实现在 Class Component 中使用状态管理。 import store from '@/store'; @store.withModel('todos') export default class TodoList extends React.Component { render() { const { todos } = this.props; const [state, dispatchers] = todos; console.log('state: ', state); // ... } } 提示 TS 应用需要在 tsconfig.json 里添加 compilerOptions: { \"experimentalDecorators\": true } 才可启用装饰器语法。","s":"在 Class Component 中使用","u":"/docs/guide/advanced/store","h":"#在-class-component-中使用","p":271},{"i":307,"t":"插件中默认集成了 Redux Devtools,不需要额外的配置就可以在 Redux Devtools 调试: 如果需要定义 Devtools 的参数,可以在 createStore 的 options 入参中配置: createStore({ user }, { redux: { devtoolOptions: { // 更多配置参考:https://github.com/zalmoxisus/redux-devtools-extension/blob/master/docs/API/Arguments.md } } })","s":"Redux Devtools","u":"/docs/guide/advanced/store","h":"#redux-devtools","p":271},{"i":310,"t":"升级 ice.js 3.x 可以带来构建速度和页面性能的提升,并且带来更多移动端功能,比如开箱即用的 PHA、Weex 和小程序方案等。","s":"前言","u":"/docs/guide/advanced/update-from-icejs2","h":"#前言","p":308},{"i":313,"t":"{ \"devDependencies\": { - \"ice.js\": \"^2.0.0\", + \"@ice/app\": \"^3.0.0\", + \"@ice/runtime\": \"^1.0.0\", } } 对应插件能力: @ali/build-plugin-ice-def -> @ali/ice-plugin-def build-plugin-moment-locales -> @ice/plugin-moment-locales build-plugin-fusion -> @ice/plugin-fusion (多主题能力暂不支持) build-plugin-antd -> @ice/plugin-antd build-plugin-css-assets-local -> @ice/plugin-css-assets-local build-plugin-jsx-plus -> @ice/plugin-jsx-plus 文档 build-plugin-keep-alive 不再支持,有 ice.js 3.0 的 keep alive 方案替代 插件使用方式变更为函数调用: ice.config.mts import { defineConfig } from '@ice/app'; import jsxPlus from '@ice/plugin-jsx-plus'; export default defineConfig(() => ({ plugins: [ jsxPlus(), ], })); 完成依赖升级后推荐重新安装依赖,即执行 npm update","s":"依赖修改","u":"/docs/guide/advanced/update-from-icejs2","h":"#依赖修改","p":308},{"i":315,"t":"为了获取更好的类型提示,ice 新版本中推荐使用 ts 文件进行配置,即在项目目录下新增 ice.config.mts 文件,原 json 中的能力支持情况如下: ice 2.x ice 3.0 备注 --port ✅ - --host ✅ - --config ✅ - --disable-open ✅ - plugins ✅ - alias ✅ - publicPath ✅ - devPublicPath ✅ - sourceMap ✅ - externals ✅ - hash ✅ - outputDir ✅ - proxy ✅ - define ✅ - ssr ✅ - --disable-mock ✅ - --https ✅ - --analyzer ✅ - dropLogLevel ✅ - minify ✅ 简化配置(true/false) compileDependencies ✅ 配合现有的 compileIncludes 能力 eslint ✅ - tsChecker ✅ - postcssOptions / postcssrc ✅ - polyfill ✅ 需要主动开启 remoteRuntime ❌ - --disable-assets ❌ 不常用通过环境变量控制日志输出详细程度 --disable-reload ❌ 配置禁止 fastRefresh terser ❌ 内置方案 outputAssetsPath ❌ 后续输出最佳目录实践 devServer ❌ 不支持全量配置 devServer,按需开启 server 相关能力 browserslist ❌ 统一走 browserlist 文件 vendor ❌ 内置的分包实践,可以通过 splitChunks 关闭 libraryTarget / library / libraryExport ❌ - cssLoaderOptions / lessLoaderOptions / sassLoaderOptions ❌ 不支持 webpack loader 相关,内置配置 ignoreHtmlTemplate ❌ - entry ❌ 自定义场景走 client.entry.tsx vite / vitePlugins ❌ - swc ❌ - store / auth / request / pwa / router ❌ 通过定制的插件支持 disableRuntime ❌ - babelPlugins / babelPresets / webpackPlugins / webpackLoaders ❌ 不推荐直接配置 ice.js 3 新版本中不再支持 vite 模式,并且 webpack 相关的快捷配置也不再支持。我们将会将内置的逻辑做到最优。如果存在 webpack 定制需求,可以参考如下自定义方式定制: ice.config.mts import { defineConfig } from '@ice/app'; import { modifyLoader } from '@ice/webpack-modify'; export default defineConfig(() => ({ // Set your configs here. // ... webpack: (webpackConfig) => { if (typeof webpackConfig.devServer?.client === 'object') { // 修改 webpack 配置 webpackConfig.devServer.client.overlay = false; } // 修改内置的 webpack 规则,借助官方工具可以更便捷的修改 // 修改 css 样式规则下的 postcss-loader 配置项 return modifyLoader(webpackConfig, { rule: '.css', loader: 'postcss-loader', options: (originOptions) => ({}), }); } })); 其他新版配置参考:链接 新版插件规范:链接 新版的 webpack 配置不再依赖 webpack-chain,如果有定制 webpack 的诉求可以直接通过 webpack-merge 的方式合并配置","s":"工程配置文件升级","u":"/docs/guide/advanced/update-from-icejs2","h":"#工程配置文件升级","p":308},{"i":317,"t":"新版框架对于大量配置进行了收敛,如果迁移时涉及到负责的定制场景,可以参考以下配置进行迁移 cssLoaderOptions​ ice.config.mts import { defineConfig } from '@ice/app'; import { modifyLoader } from '@ice/webpack-modify'; export default defineConfig(() => ({ // Set your configs here. // ... webpack: (webpackConfig) => { return ['css', 'less', 'sass'].reduce((acc, cur) => { return modifyLoader(acc, { rule: `.${cur}`, loader: 'css-loader', options: (originOptions) => ({}), }); }, webpackConfig); }, })); lessLoaderOptions​ ice.config.mts import { defineConfig } from '@ice/app'; import { modifyLoader } from '@ice/webpack-modify'; export default defineConfig(() => ({ // Set your configs here. // ... webpack: (webpackConfig) => { return modifyLoader(webpackConfig, { rule: '.less', loader: 'less-loader', options: (originOptions) => ({}), }); }, })); sassLoaderOptions​ ice.config.mts import { defineConfig } from '@ice/app'; import { modifyLoader } from '@ice/webpack-modify'; export default defineConfig(() => ({ // Set your configs here. ... webpack: (webpackConfig) => { return modifyLoader(webpackConfig, { rule: '.sass', loader: 'sass-loader', options: (originOptions) => ({}), }); } })); postcssOptions / postcssrc​ ice.config.mts import { defineConfig } from '@ice/app'; import { modifyLoader } from '@ice/webpack-modify'; export default defineConfig(() => ({ // Set your configs here. // ... webpack: (webpackConfig) => { return ['css', 'less', 'sass'].reduce((acc, cur) => { return modifyLoader(acc, { rule: `.${cur}`, loader: 'postcss-loader', options: (originOptions) => ({}), }); }, webpackConfig); }, })); 如果希望使用 postcssrc 能力,将 options 配置成如上空对象即可 webpackPlugins​ ice.config.mts import { defineConfig } from '@ice/app'; import { removePlugin } from '@ice/webpack-modify'; export default defineConfig(() => ({ // Set your configs here. // ... webpack: (webpackConfig) => { let modifiedConfig = webpackConfig; // 添加插件 webpackConfig.plugins.push(new WebpackPlugin()); // webpack 插件修改,先删除插件在重新添加 modifiedConfig = removePlugin(webpackConfig, { pluginName: 'AssetsManifestPlugin', }); webpackConfig.plugins.push(new AssetsManifestPlugin()); } })); webpackLoaders​ ice.config.mts import { defineConfig } from '@ice/app'; import { addLoader, modifyLoader, removeLoader } from '@ice/webpack-modify'; export default defineConfig(() => ({ // Set your configs here. //... webpack: (webpackConfig) => { let modifiedConfig = webpackConfig; // 为 css 规则添加 loader modifiedConfig = addLoader(modifiedConfig, { rule: '.css', before: 'css-loader', useItem: { loader: 'style-loader', }, }); // 移除 loader modifiedConfig = removeLoader(modifiedConfig, { rule: '.css', loader: 'css-loader', }); // 修改 loader modifiedConfig = modifyLoader(getWebpackConfig(), { rule: '.css', loader: 'css-loader', options: () => ({ module: true }), }); return modifiedConfig; }, })); babelPlugins / babelPresets​ 框架内置不再支持 babel 转换,一些常见语法转化逻辑已内置,如果存在定制 babel 插件的情况下,推荐以下方式转化 ice.config.mts import { defineConfig } from '@ice/app'; import { transformSync } from '@babel/core'; export default defineConfig(() => ({ // Set your configs here. // ... transform: async (source, id) => { // 过滤条件 if (id.match(/\\.(j|t)s(x)?$/) && !id.includes('node_modules')) { // 借助 babel 编译 const { code, map } = transformSync(source, { plugins: ['transform-decorators-legacy'], }); return { code, map }; } }, }));","s":"常见配置迁移","u":"/docs/guide/advanced/update-from-icejs2","h":"#常见配置迁移","p":308},{"i":319,"t":"应用入口修改​ - import { runApp } from 'ice'; const appConfing = {}; - runApp(appConfig); + export default appConfig; 为了获得良好类型提示,推荐写法为: import { defineAppConfig } from 'ice'; export default defineAppConfig(() => ({ app: { strict: false, }, })); 原 appConfig 上大部分能力均通过不同的插件进行承载,目前应用入口能力,请参考文档 路由修改​ 为了提供更好的框架能力,新版 ice 默认提供的路由规则为约定式路由 原配置式路由推荐通过上述的规则重新组织目录结构,如果路由过于复杂,推荐如下方式进行迁移: ice.config.mts import { defineConfig } from '@ice/app'; export default defineConfig(() => ({ routes: { // 忽略所有约定式规则 ignoreFiles: ['**'], defineRoutes: (route) => { // 指定根路由页面为 home/index.ts route('/', 'home/index.tsx'); // 为 /product 路由添加 layout.tsx 作为 layout,并渲染 products.tsx 内容 route('/', 'layout.tsx', () => { route('/product', 'products.tsx'); }); }, }, }));","s":"运行时修改","u":"/docs/guide/advanced/update-from-icejs2","h":"#运行时修改","p":308},{"i":321,"t":"状态管理​ 使用状态管理方案需主动安装 @ice/plugin-store: $ npm i @ice/plugin-store -D 在 ice.config.mts 中添加插件: ice.config.mts import { defineConfig } from '@ice/app'; import store from '@ice/plugin-store'; export default defineConfig(() => ({ plugins: [ store({ resetPageState: true }), ], })); 更多用法参考状态管理 数据请求​ 使用数据请求方案需主动安装 @ice/plugin-request: $ npm i @ice/plugin-request -D 在 ice.config.mts 中添加插件: ice.config.mts import { defineConfig } from '@ice/app'; import request from '@ice/plugin-request'; export default defineConfig(() => ({ plugins: [ request(), ], })); 在 src/app.ts 中导出统一的请求配置: src/app.ts export const requestConfig = { ... }; 更多配置和用法参考网络请求 权限方案​ 使用权限方案需主动安装 @ice/plugin-auth: $ npm i @ice/plugin-auth -D 在 ice.config.mts 中添加插件: ice.config.mts import { defineConfig } from '@ice/app'; import auth from '@ice/plugin-auth'; export default defineConfig(() => ({ plugins: [ auth(), ], })); 在 src/app.ts 中导出的权限配置: src/app.ts export const authConfig = { ... }; 更多配置和用法参考权限管理","s":"进阶方案迁移","u":"/docs/guide/advanced/update-from-icejs2","h":"#进阶方案迁移","p":308},{"i":324,"t":"该方法用于获取框架配置的类型提示。 src/app.ts import { defineAppConfig } from 'ice'; export default defineAppConfig(() => ({ app: { rootId: 'ice-container', } }));","s":"defineAppConfig","u":"/docs/guide/basic/api","h":"#defineappconfig","p":322},{"i":326,"t":"该方法用于获取路由组件支持的配置类型,支持的配置可以被插件动态扩展。 src/pages/home.tsx import { definePageConfig } from 'ice'; export const pageConfig = definePageConfig(() => ({ title: 'About', meta: [ { name: 'theme-color', content: '#eee', }, ], }));","s":"definePageConfig","u":"/docs/guide/basic/api","h":"#definepageconfig","p":322},{"i":328,"t":"应用的 history,用于获取路由信息、执行跳转等。 import { history } from 'ice'; export function historyPush (link: string) { history.push(link); } 警告 在应用入口 src/app.ts 导入使用时,由于 history 还未完成初始化创建,不能以立即执行的方式使用。推荐以上述方式封装后在必要的时候进行调用。","s":"history","u":"/docs/guide/basic/api","h":"#history","p":322},{"i":330,"t":"警告 小程序端不支持该 API。 useParams 函数返回动态路由的匹配参数信息。 import { useParams } from 'ice'; // 路由规则为 home/:uid/repo/:repoid // 当前路径 home/clark/repo/1234 export default function Home() { const params = useParams(); // params 输出内容为 { uid: 'clark', repoid: '1234'} return ( <>

Home Page

); }","s":"useParams","u":"/docs/guide/basic/api","h":"#useparams","p":322},{"i":332,"t":"警告 小程序端会返回当前页面 Page.onLoad 生命周期返回的 query 参数。 同时小程序端不支持修改 query string,即调用该 API 返回的 setSearchParams 不会生效。 useSearchParams 用于读取和修改当前 URL 的 query string。 import { useSearchParams } from 'ice'; // 假设当前访问的 url 是 localhost:3000/home?uid=1234 export default function Home() { const [searchParams, setSearchParams] = useSearchParams(); // 通过 searchParams.get() 获取当前 query 值 console.log(searchParams.get('uid')); // 1234 const changeSearch = () => { // 通过 setSearchParams 可以修改对应 query string setSearchParams({ uid: '4321' }); } return ( <>

Home Page

); }","s":"useSearchParams","u":"/docs/guide/basic/api","h":"#usesearchparams","p":322},{"i":334,"t":"警告 小程序端不支持该 API。可通过 Link 组件或 history 或小程序原生 API 进行跳转。 useNavigate 函数返回一个可以控制跳转的函数,用于组件内部控制路径跳转 import { useNavigate } from 'ice'; export default function Home() { const navigate = useNavigate(); useEffect(() => { navigate('/logout', { replace: true }); }, []); return ( <>

Home Page

); }","s":"useNavigate","u":"/docs/guide/basic/api","h":"#usenavigate","p":322},{"i":336,"t":"警告 小程序端不支持该 API。 useLocation 返回当前 location 信息。 import { useLocation } from 'ice'; function Home() { const location = useLocation(); useEffect(() => { // send pv info }, [location]); return ( <>

Home Page

); }","s":"useLocation","u":"/docs/guide/basic/api","h":"#uselocation","p":322},{"i":338,"t":"useAppData 返回应用全局数据,需要搭配 src/app.ts 中导出的 dataLoader 使用: src/app.ts import { defineDataLoader } from 'ice'; export const dataLoader = defineDataLoader(() => { return await fetch('/api/user'); }) 在任意组件内进行消费: import { useAppData } from 'ice'; function Home() { const data = useAppData(); // data 内容为 /api/user 接口返回数据 return ( <>

Home Page

); }","s":"useAppData","u":"/docs/guide/basic/api","h":"#useappdata","p":322},{"i":340,"t":"useData 返回路由组件数据,需要搭配在路由组件中定义数据获取方法进行使用。参考页面数据请求文档","s":"useData","u":"/docs/guide/basic/api","h":"#usedata","p":322},{"i":342,"t":"useConfig 返回路由组件配置,搭配 definePageConfig。 src/pages/home.tsx import { definePageConfig, useConfig } from 'ice'; export default function Home() { const config = useConfig(); return ( <>

Home Page

); } export const pageConfig = definePageConfig(() => ({ title: 'About', meta: [ { name: 'theme-color', content: '#eee', }, ], }));","s":"useConfig","u":"/docs/guide/basic/api","h":"#useconfig","p":322},{"i":344,"t":"警告 小程序端不支持该 API。 该方法会在 React Hydrate 完成后返回 true,一般在开启 SSR/SSG 的应用中,用于控制在不同端中渲染不同的组件。 警告 使用此 useMounted 而不是 typeof windows !== 'undefined' 来判断当前是否在 Client 端中渲染。 因为第一次 Client 端渲染必须与 Server 端渲染的接口一致,如果不使用此 Hook 判断的话,在 Hydrate 时可能出现节点不匹配的情况。 使用示例: import { useMounted } from 'ice'; const Home = () => { const mounted = useMounted(); return
{mounted ? 'Client' : 'Server'}
; };","s":"useMounted","u":"/docs/guide/basic/api","h":"#usemounted","p":322},{"i":346,"t":"获取应用级 Context, 包含字段为: appConfig object, 通过 defineAppConfig 定义的 appConfig renderMode string, 渲染模式,'CSR'|'SSR'|'SSG' documentOnly boolean, 是否指定为 CSR downgrade boolean, 是否为 SSR 降级 src/document.ts import { useAppContext } from 'ice'; function Document() { const { renderMode } = useAppContext(); console.log(renderMode); return (
); }","s":"useAppContext","u":"/docs/guide/basic/api","h":"#useappcontext","p":322},{"i":348,"t":"警告 小程序端不支持该组件。 组件只允许在 React Hydrate 完成后在 Client 端中渲染组件。 提示 用 组件包裹不能在 Node.js 中运行的组件,比如如果组件要访问 window 或 document 对象。 Props children: 一个函数,且返回仅在浏览器中渲染的组件。该函数不会在 Server 端中执行 fallback(可选): 在 React Hydrate 完成之前渲染的组件 使用示例: import { ClientOnly } from 'ice'; export function Home () { return ( loading...
}> {() => page url is {window.location.href}} ); }; 引入一个组件: import { ClientOnly } from 'ice'; import MyComponent from './MyComponent'; export function Home () { return ( loading...
}> {() => }
); };","s":"","u":"/docs/guide/basic/api","h":"#clientonly-","p":322},{"i":350,"t":"警告 小程序端不支持该组件。 缓存所有路由组件的状态。详细使用方式参考 Keep Alive 文档。","s":"","u":"/docs/guide/basic/api","h":"#keepaliveoutlet-","p":322},{"i":352,"t":"信息 在小程序端 Link 组件底层为原生 navigator 组件。 是 React 组件,用于渲染带路由跳转功能的 元素。 import { Link } from 'ice'; function Home() { const data = useAppData(); // data 内容为 /api/user 接口返回数据 return ( <>

Home Page

user ); }","s":"","u":"/docs/guide/basic/api","h":"#link-","p":322},{"i":354,"t":"警告 小程序端不支持该组件。 用于渲染父路由中渲染子路由,通常出现在 layout.tsx Layout 组件中。 src/layout.tsx import { Outlet } from 'ice'; export default function Layout() { return (

title

); }","s":"","u":"/docs/guide/basic/api","h":"#outlet-","p":322},{"i":356,"t":"AppConfig 是 TS 类型定义,用于获取框架配置类型。 import type { AppConfig } from 'ice'; 警告 推荐通过 defineAppConfig 的方式在入口定义应用类型,如果涉及到类型拓展和泛型的应用可以通过上述方式导入该类型。","s":"AppConfig","u":"/docs/guide/basic/api","h":"#appconfig","p":322},{"i":358,"t":"RouteConfig 是 TS 类型定义,用于获取路由配置类型。 import type { RouteConfig } from 'ice'; 警告 推荐通过 definePageConfig 的方式在路由组件中定义类型,如果涉及到类型拓展和泛型的应用可以通过上述方式导入该类型。","s":"RouteConfig","u":"/docs/guide/basic/api","h":"#routeconfig","p":322},{"i":360,"t":"警告 小程序端不支持该组件。 Meta、Title、Links、Scripts 和 Main 组件仅支持在 src/document.tsx 中使用,使用场景参考 Document 文档","s":"Document 组件","u":"/docs/guide/basic/api","h":"#document-组件","p":322},{"i":362,"t":"ice.js 通过应用配置的方式渲染整个应用,开发者可以根据提供的配置定制应用。","s":"应用入口","u":"/docs/guide/basic/app","h":"","p":361},{"i":364,"t":"框架以 src/app.ts 作为应用配置文件: import { defineAppConfig } from 'ice'; export default defineAppConfig(() => ({ app: { strict: true, }, })); 推荐通过 defineAppConfig() 的方式导出应用配置,以获得良好的类型提示。","s":"应用配置文件","u":"/docs/guide/basic/app","h":"#应用配置文件","p":361},{"i":366,"t":"应用入口的配置项,支持应用常用的相关配置。","s":"配置项","u":"/docs/guide/basic/app","h":"#配置项","p":361},{"i":368,"t":"rootId​ 根节点 id 类型:string 默认值:ice-container 提示 小程序端不支持修改 rootId。 strict​ 是否开启 React 的严格模式 (React.StrictMode) 类型:boolean 默认值:false errorBoundary​ 是否启用内置的错误边界捕获能力 类型:boolean 默认值:false","s":"app","u":"/docs/guide/basic/app","h":"#app","p":361},{"i":370,"t":"提示 小程序端不支持 router 配置。关于小程序的 router 配置参考小程序开发-路由 type​ 路由类型 类型:'hash' | 'browser' | 'memory' 默认值:browser 提示 当设置路由类型为 memory 时,需要对应设置 initialEntries。 initialEntries​ 路由类型设置为 MemoryRouter 时,需要渲染的路由。 类型:InitialEntry[] 默认值:['/'] import { defineAppConfig } from 'ice'; export default defineAppConfig(() => ({ router: { type: 'memory', // 渲染 home 页面 initialEntries: ['/home'], }, })); basename​ 路由 basename 类型:string 默认值:/","s":"router","u":"/docs/guide/basic/app","h":"#router","p":361},{"i":372,"t":"应用入口除了支持定义应用配置之外,同时也承担运行时扩展的能力,比如权限配置: import { defineAppConfig } from 'ice'; import { defineAuthConfig } from '@ice/plugin-auth/types'; // 导出 auth 相关的能力,该能力由 @ice/plugin-auth 插件提供 export const authConfig = defineAuthConfig(() => { return { initialAuth: { admin: true, }, }; }); export default defineAppConfig(() => ({ app: { strict: true, }, }));","s":"运行时拓展","u":"/docs/guide/basic/app","h":"#运行时拓展","p":361},{"i":374,"t":"当需要监测一个元素是否出现在可见区域时(比如列表滚动时是否曝光),可以通过 组件来监测指定元素是否当前可见或者消失。 提示 小程序端不支持该能力。","s":"元素可见","u":"/docs/guide/basic/appear","h":"","p":373},{"i":376,"t":" 组件并不是内置组件,需要通过安装 @ice/appear 来引入。 $ npm i @ice/appear --save","s":"安装组件依赖","u":"/docs/guide/basic/appear","h":"#安装组件依赖","p":373},{"i":378,"t":"import VisibilityChange from '@ice/appear'; export default function Home() { return ( { console.log('onAppear') }} > show something ) }","s":"当元素进入可见状态时","u":"/docs/guide/basic/appear","h":"#当元素进入可见状态时","p":373},{"i":380,"t":"有时候我们只需要元素首次可见的时机,例如发送曝光埋点,我们可以通过实现一个 useOnce 的自定义 hook 来实现: src/pages/home.tsx import { useState } from 'react'; import VisibilityChange from '@ice/appear'; // 示例代码 function useOnce(fn) { const [called, setCalled] = useState(false); return (...args) => { if (!called) { setCalled(true); return fn(...args); } }; } export default function Index() { const handleAppearOnce = useOnce(() => { console.log('The first time view appeared.'); }); return (

Hello ice.js 3

); }","s":"元素首次可见","u":"/docs/guide/basic/appear","h":"#元素首次可见","p":373},{"i":382,"t":"src/pages/home.tsx import VisibilityChange from '@ice/appear'; export default function Home() { return ( { console.log('onDisappear') }} > show something ) } 警告 请注意,当元素使用 transform 等非触发 DOM 布局变更的行为使元素移动时,本组件的行为可能会失效。","s":"当元素进入不可见状态时","u":"/docs/guide/basic/appear","h":"#当元素进入不可见状态时","p":373},{"i":384,"t":"提示 指定命令行参数有两种方式: 在 package.json 文件中指定参数: { \"scripts\": { - \"start\": \"ice start\" + \"start\": \"ice start --https\" } } 在命令行中指定参数: # npm v7 及以上需要多增加 `--` 字符 $ npm start -- --https # npm v6 $ npm start --https","s":"命令行 CLI","u":"/docs/guide/basic/cli","h":"","p":383},{"i":386,"t":"启动本地开发服务器,用于在本地开发调试项目。 ice start [options] 选项 类型 说明 --target string 指定编译的 target --mode string 指定环境模式 mode --config string 指定使用的配置文件路径 --rootDir string 指定应用的根目录 -h, --host string 指定开发服务器主机名 -p, --port number 指定开发服务器端口 --https [https] boolean 开启 https --no-open boolean 禁止默认打开浏览器预览行为 --no-mock boolean 禁用 mock 服务 --analyzer boolean 开启 bundle 体积构建分析 --force boolean 强制删除构建缓存 -h, --help - 显示可用的选项","s":"start","u":"/docs/guide/basic/cli","h":"#start","p":383},{"i":388,"t":"构建项目,输出生产环境下的资源。 $ ice build [options] 选项 类型 说明 --target string 指定编译的 target --mode string 指定环境模式 mode --config string 指定使用的配置文件路径 --rootDir string 指定应用的根目录 --analyzer boolean 开启 bundle 体积构建分析 -h, --help - 显示可用的选项","s":"build","u":"/docs/guide/basic/cli","h":"#build","p":383},{"i":390,"t":"查看帮助。 $ ice help","s":"help","u":"/docs/guide/basic/cli","h":"#help","p":383},{"i":392,"t":"查看 ice.js 的版本。 $ ice --version 3.0.0","s":"version","u":"/docs/guide/basic/cli","h":"#version","p":383},{"i":394,"t":"框架默认内置了处理静态资源的通用规则,一般情况下开发者无需设置资源的处理方式。另外,对于一些特殊的处理规则,框架给出了便捷方式方便开发者引入资源。","s":"静态资源","u":"/docs/guide/basic/assets","h":"","p":393},{"i":396,"t":"框架内置了针对以下资源的处理: 图片资源:.png、.jpg、.webp、.jpeg、.gif 字体文件:.woff、.woff2、.ttf、.eot svg 文件:.svg 上述资源文件名默认会经过 hash 处理,并通过资源地址的方式加载(比如 ./assets/background.png 经过构建处理后变成 /assets/background.ef5b6544.png)。 推荐将这些资源放在 src/assets/ 目录下: src ├── assets/ │ ├── logo.png │ └── background.png 然后就可以在源码中引入资源了。","s":"基础规则","u":"/docs/guide/basic/assets","h":"#基础规则","p":393},{"i":398,"t":"import background from '@/assets/background.png'; export default function () { return ( ); }","s":"在 JSX 文件中引入","u":"/docs/guide/basic/assets","h":"#在-jsx-文件中引入","p":393},{"i":400,"t":".container { background-image: url('@/assets/background.png'); } 提示 如果资源尺寸小于 8kb,则进行 base64 转码并内联到脚本或样式文件中。","s":"在 CSS 文件中引入","u":"/docs/guide/basic/assets","h":"#在-css-文件中引入","p":393},{"i":402,"t":"对于内置规则不满足特定场景的情况下,框架提供了便捷的方式对资源进行处理","s":"指定处理规则","u":"/docs/guide/basic/assets","h":"#指定处理规则","p":393},{"i":404,"t":"除基础规则中指定资源外,如果还希望通过资源地址的方式进行资源处理的,可以通过如下方式进行指定: import workletURL from 'extra-scalloped-border/worklet.js?url' CSS.paintWorklet.addModule(workletURL); ?url 等同于为指定资源指定 url-loader","s":"URL 引入","u":"/docs/guide/basic/assets","h":"#url-引入","p":393},{"i":406,"t":"通过 ?raw 后缀声明将资源作为字符串引入: import txtContent from './text.txt?raw'; ?raw 等同于为指定资源指定 raw-loader","s":"文件内容引入","u":"/docs/guide/basic/assets","h":"#文件内容引入","p":393},{"i":408,"t":"public 目录作为框架默认的静态资源目录,不被构建工具进行编译的资源都可以放在该目录下。 比如 favicon.ico 文件,我们并不希望该文件名编译(默认静态资源文件名在编译后会生成独立 hash,而 favicon.ico 希望保持原有文件名),我们可以把该文件放在 public 目录下,使用时在 Document 组件中引用即可: export default function Document() { return ( + ... ); } 另外像不被源码引入的资源也存放在 public 目录下,比如 robots.txt。 警告 public 目录中的资源会在构建阶段完整复制到 outputDir 根目录,并且文件名不变,在部署时必须把资源文件放在服务器资源根目录下。(比如 public/icon.svg 文件应该在通过 http:example.com/icon.svg 进行访问)","s":"public 目录","u":"/docs/guide/basic/assets","h":"#public-目录","p":393},{"i":410,"t":"ice.js 支持常用的构建配置项,所有的配置项在 ice.config.mts 中设置。","s":"构建配置","u":"/docs/guide/basic/config","h":"","p":409},{"i":413,"t":"为了获取良好的类型提示,ice.js 推荐以 ice.config.mts 作为配置文件: import { defineConfig } from '@ice/app'; export default defineConfig(() => ({ publicPath: '/', }));","s":"构建配置文件","u":"/docs/guide/basic/config","h":"#构建配置文件","p":409},{"i":415,"t":"构建的兼容性配置推荐配置在 .browserslistrc 文件中: chrome 55 更多配置请参考 browserslist 文档","s":"兼容性配置","u":"/docs/guide/basic/config","h":"#兼容性配置","p":409},{"i":418,"t":"类型:Record 默认值:{ \"@\": \"./src/\" } 在 ice.js 默认内置常用的 alias 规则,因此项目大多数时候不需要配置即可更加简单的导入模块了: -import CustomTips from '../../../components/CustomTips'; +import CustomTips from '@/components/CustomTips'; 如果需要配置别名对 import 路径进行映射: import { defineConfig } from '@ice/app'; export default defineConfig(() => ({ alias: { pages: './src/pages', }, }));","s":"alias","u":"/docs/guide/basic/config","h":"#alias","p":409},{"i":420,"t":"警告 小程序端不支持该配置。 类型:false | 'anonymous' | 'use-credentials' 默认值:false 配置 import { defineConfig } from '@ice/app'; export default defineConfig(() => ({ crossOriginLoading: 'anonymous' })); 指定 webpack 启用 cross-origin 去加载 chunk。","s":"crossOriginLoading","u":"/docs/guide/basic/config","h":"#crossoriginloading","p":409},{"i":422,"t":"类型:Record 默认值:{ 'process.env.NODE_ENV': 'development' | 'production'; 'import.meta.renderer': 'client' | 'server'; 'import.meta.target': string; } 在编译时将代码中的全局变量替换成其他值或者表达式。一般用于区分不同环境以执行不同代码逻辑。 import { defineConfig } from '@ice/app'; export default defineConfig(() => ({ define: { ASSETS_VERSION: JSON.stringify('0.1.0'), AGE: '11', }, })); 在代码中直接使用对应定义的变量: console.log(ASSETS_VERSION); // 最终会被编译成: // console.log('0.1.0'); console.log(AGE); // 最终会被编译成: // console.log(11); 注意,在编译时,将会对你设置的 define 替换值进行类似字符串拼接的方式生成新的代码。因此: 对于引用数据类型(function 和 object),需要使用 JSON.stringify() 方法处理 对于要替换的全局变量是字符串时,需要使用 JSON.stringify() 方法处理或者多添加一对引号(如 \"'hello world'\"),否则就是一个标识符,有可能跟预期结果不一致的情况 对于运行时变量,ice.js 更加推荐通过环境变量的方式注入。","s":"define","u":"/docs/guide/basic/config","h":"#define","p":409},{"i":424,"t":"类型: boolean | { fetcher: { packageName: string; method: string } } 默认值 true 是否启用内置的数据预加载能力以及自定义发送者(fetcher)。","s":"dataLoader","u":"/docs/guide/basic/config","h":"#dataloader","p":409},{"i":426,"t":"警告 小程序端不支持该配置。 类型:string 默认值:/ 配置 Webpack 的 output.publicPath 属性,仅在运行 build 命令时生效。","s":"publicPath","u":"/docs/guide/basic/config","h":"#publicpath","p":409},{"i":428,"t":"类型:string 默认值:/ 同 publicPath 仅在执行 start 时生效。","s":"devPublicPath","u":"/docs/guide/basic/config","h":"#devpublicpath","p":409},{"i":430,"t":"警告 小程序端不支持该配置。 类型:boolean | string 默认值:false 如果希望构建后的资源带 hash 版本,可以将 hash 设置为 true,也可以设置为 contenthash 按文件内容生成 hash 值: import { defineConfig } from '@ice/app'; export default defineConfig(() => ({ hash: 'contenthash', }));","s":"hash","u":"/docs/guide/basic/config","h":"#hash","p":409},{"i":432,"t":"警告 小程序端不支持该配置。 类型:Record 默认值:{} 设置哪些模块不打包,转而通过 + ); } export default Document;","s":"externals","u":"/docs/guide/basic/config","h":"#externals","p":409},{"i":434,"t":"类型:string 默认值:build 构建产物输出目录,默认为 build 目录","s":"outputDir","u":"/docs/guide/basic/config","h":"#outputdir","p":409},{"i":436,"t":"警告 小程序端不支持该配置。 类型:object 默认值:{} 配置 dev 开发阶段的代理功能。配置项与 Webpack devServer.proxy 保持一致。 import { defineConfig } from '@ice/app'; export default defineConfig(() => ({ proxy: { '/api': { target: 'http://jsonplaceholder.typicode.com/', changeOrigin: true, pathRewrite: { '^/api' : '' }, }, }, }));","s":"proxy","u":"/docs/guide/basic/config","h":"#proxy","p":409},{"i":438,"t":"类型:boolean 默认值:true 压缩产物,目前默认仅在 build 阶段生效","s":"minify","u":"/docs/guide/basic/config","h":"#minify","p":409},{"i":440,"t":"类型:boolean | DropType[] | DropType 默认值:false,不移除任何 console 代码 压缩代码时移除 console. 相关代码,配置为true时,移除所有console.相关代码。当想移除部分console代码,例如想要移除console.log和console.error时,可以配置为 import { defineConfig } from '@ice/app'; export default defineConfig(() => ({ dropLog: ['error', 'log'], })); 也可以根据console等级来进行移除 // console 等级为 trace < debug < log < info < warn < error // 例如想要移除trace、debug、log时可以像下面这样配置 import { defineConfig } from '@ice/app'; export default defineConfig(() => ({ dropLog: 'log', }));","s":"dropLogLevel","u":"/docs/guide/basic/config","h":"#droploglevel","p":409},{"i":442,"t":"类型:array | boolean 默认值:[] 默认情况下为了保证 dev 开发阶段的体验,node_modules 下文件不会进行编译,而考虑到 build 阶段对代码体积的极致优化以及兼容性保证,将会对 node_modules 下内容也进行编译。 如果 dev 阶段需要额外编译一些依赖,build 阶段下仍然全量编译,可以参考下面的方式在 dev 阶段通过正则追加一些配置: import { defineConfig } from '@ice/app'; export default defineConfig(() => ({ compileDependencies: process.env.NODE_ENV === 'development' ? [/@alifd\\/next/, /need-compile/] : true, })); 警告 如果 build 阶段仍然需要全量编译,请务必增加环境判断 如果希望 dev 和 build 阶段均编译 node_modules,可以设置为 true import { defineConfig } from '@ice/app'; export default defineConfig(() => ({ compileDependencies: true, })); 如果明确知道哪些依赖需要进行编译也可以通过正则方式进行设置:(对 dev 和 build 同时生效) import { defineConfig } from '@ice/app'; export default defineConfig(() => ({ compileDependencies: [/@alifd\\/next/, /need-compile/], }));","s":"compileDependencies","u":"/docs/guide/basic/config","h":"#compiledependencies","p":409},{"i":444,"t":"类型:ProcessOptions & { plugins?: (string | [string, Record?])[] }; 默认值:{} 用于添加 postcss 自定义配置。示例如下: import { defineConfig } from '@ice/app'; export default defineConfig(() => ({ postcss: { plugins: [ 'postcss-px-to-viewport-8-plugin', { // ... }, ], syntax: 'sugarss', } })); ice.js 内置的 postcss 配置是: { \"plugins\": [ [\"postcss-nested\"], [\"postcss-preset-env\", { \"stage\": 3, \"autoprefixer\": { \"flexbox\": \"no-2009\", }, \"features\": { \"custom-properties\": false, }, }], [\"postcss-plugin-rpx2vw\"], ], } 如果需要完全重写 postcss 配置或修改内置的 postcss 配置,需要在项目根目录下新增 postcss.config.js 文件并加入配置,工程上会清空内置的 postcss 配置。 postcss.config.js module.exports = { plugins: [ [ 'postcss-preset-env', // 修改 postcss-preset-env 的选项 { stage: 2, } ] ], }","s":"postcss","u":"/docs/guide/basic/config","h":"#postcss","p":409},{"i":446,"t":"类型:'usage' | 'entry' | false 默认值:false 框架提供了多种 polyfill 的方式,开发者可以按实际情况选择对应的设置: usage 按开发者使用的语法自动引入对应的 polyfill,适用于 node_modules 也进行编译的场景(一定程度上影响编译效率以及三方依赖二次编译造成的代码冗余) entry 自动引入 browser(浏览器)需要兼容的 polyfill,适用于 node_modules 依赖不进行编译的场景(可能存在大量未被使用的 polyfill 被引入) 如果面向现代浏览器进行开发,大量 ES 语法均不需要引入 Polyfill,我们推荐不开启 polyfill 配置。如果你的代码或者三方依赖要求兼容到 IE 11 等浏览器,可以选择主动引入指定语法的 polyfill 或者开启 polyfill 配置。","s":"polyfill","u":"/docs/guide/basic/config","h":"#polyfill","p":409},{"i":448,"t":"类型:(code:string, id: string) => string | {code: string; map?: SourceMap | null;} 默认值:undefined 通过 transform 配置实现代码的转化: import { defineConfig } from '@ice/app'; import { transformSync } from '@babel/core'; export default defineConfig(() => ({ transform: (originalCode, id) => { if (!id.includes('node_modules')) { // 借助 babel 编译 const { code, map } = transformSync(originalCode, { plugins: ['transform-decorators-legacy'], }); return { code, map }; } }, })); ice.js 内置通过 swc 提升编译体验,如果在 transform 配置上过多依赖 babel 等工具将可以能造成编译性能瓶颈","s":"transform","u":"/docs/guide/basic/config","h":"#transform","p":409},{"i":450,"t":"警告 小程序端不支持该配置。 类型:boolean 默认值:false 是否开启 SSR 能力,更多 SSR 相关内容参考 SSR 文档。","s":"ssr","u":"/docs/guide/basic/config","h":"#ssr","p":409},{"i":452,"t":"警告 小程序端不支持该配置。 类型:boolean 默认值:true 是否开启 SSG 能力,更多 SSG 相关内容参考 SSG 文档。","s":"ssg","u":"/docs/guide/basic/config","h":"#ssg","p":409},{"i":454,"t":"警告 小程序端不支持该配置。 类型:{ format: 'esm' | 'cjs'; bundle: boolean; ignores: IgnorePattern[]; externals: string[]; onDemand: boolean; } 默认值:{ format: 'esm', bundle: false, ignores: [], externals: [], onDemand: false } SSR / SSG 产物标准,推荐以 ESM 标准进行执行,如果希望打包成一个 cjs 模块,可以进行如下设置: import { defineConfig } from '@ice/app'; export default defineConfig(() => ({ server: { format: 'cjs', bundle: true, }, })); 可以通过 ignores 参数,为 SSR / SSG 产物过滤指定文件: import { defineConfig } from '@ice/app'; export default defineConfig(() => ({ server: { ignores: [{ resourceRegExp: /^\\.\\/locale$/, contextRegExp: /moment$/, }] }, })); 其中: resourceRegExp 对应文件的匹配路径 contextRegExp (可选)对应文件内容的匹配规则 通过 externals 参数,可以在构建 Server 端产物时 external 指定内容: import { defineConfig } from '@ice/app'; export default defineConfig(() => ({ server: { externals: ['react', 'react-dom'] }, })); 通过 onDemand 参数,可以在执行 Server 端产物时,按需构建所需的问题,并且提供体验良好的模块热更新服务: import { defineConfig } from '@ice/app'; export default defineConfig(() => ({ server: { onDemand: true, format: 'esm', }, }));","s":"server","u":"/docs/guide/basic/config","h":"#server","p":409},{"i":456,"t":"警告 小程序端不支持该配置。 类型:{ ignoreFiles: string[]; defineRoutes: (route: DefineRouteFunction) => void } 默认值:{} ignoreFiles​ 用于忽略 src/pages 下的文件被处理成路由模块,使用 glob 表达式(minimatch)对文件路径匹配。 import { defineConfig } from '@ice/app'; export default defineConfig(() => ({ routes: { // 忽略 src/pages 下所有 components 目录 ignoreFiles: ['**/components/**'], }, })); defineRoutes​ 对于约定式路由不满足的场景,可以通过以下方式自定义路由地址。 import { defineConfig } from '@ice/app'; export default defineConfig(() => ({ routes: { defineRoutes: (route) => { // 将 /about-me 路由访问内容指定为 about.tsx // 第一个参数是路由地址 // 第二个参数是页面组件的相对地址(前面不能带 `/`),相对于 `src/pages` 目录 route('/about-me', 'about.tsx'); // 嵌套路由的场景需要使用第三个 callback 参数来定义嵌套路由 route('/', 'layout.tsx', () => { route('/product', 'products.tsx'); }); }, }, })); 警告 同一个路由组件只能分配一条路由规则,即同时执行以下语句时,仅生效后执行的逻辑。 route('/about-me', 'about.tsx'); route('/about-you', 'about.tsx'); config​ 对于简单的自定义场景,通过 defineRoutes 可以快速在约定式路由的基础上进行自定义。但对于大量自定义或者原配置式路由的升级项目,支持以 config 的字段指定路由信息: import { defineConfig } from '@ice/app'; export default defineConfig({ routes: { config: [ { path: 'rewrite', // 从 src/page 开始计算路径,并且需要写后缀。 component: 'sales/layout.tsx', children: [ { path: '/favorites', component: 'sales/favorites.tsx', }, { path: 'overview', component: 'sales/overview.tsx', }, { path: 'recommends', component: 'sales/recommends.tsx', }, ], }, { path: '/', component: 'index.tsx', }, ], }, });","s":"routes","u":"/docs/guide/basic/config","h":"#routes","p":409},{"i":458,"t":"类型:boolean | string 默认值:development 模式:默认为 'cheap-module-source-map',支持通过 false 关闭,不支持设置为其他枚举值。production 模式:默认 false。","s":"sourceMap","u":"/docs/guide/basic/config","h":"#sourcemap","p":409},{"i":460,"t":"警告 不再建议使用,能力由 codeSplitting 替代。 小程序端不支持该配置。 默认会根据模块体积自动拆分 chunks,有可能会出现多个 bundle。如果不希望打包产物出现过多 bundle ,可设置成 false。","s":"splitChunks @deprecated","u":"/docs/guide/basic/config","h":"#splitchunks-deprecated","p":409},{"i":462,"t":"类型:boolean | 'vendors' | 'page' | 'chunks' | 'page-vendors' 默认值:true 框架内置了三种分包策略分别为 chunks(默认策略,无需额外设置),page 和 vendors。 vendors 策略:将异步 chunks 里的三方依赖统一打入到 vendor.js 中,避免重复,在依赖不变的情况下有效利用缓存。缺陷是如果项目过大会导致单文件尺寸过大。 page 策略:所有路由级别组件按需加载,如果需保留原 splitChunks: false 的效果,配置该策略 。 page-vendors 策略:在 page 策略的基础上,将异步 chunks 里的三方依赖统一打入到 vendor.js 中,以达到有效利用缓存的结果。 chunks 策略:在路由级别组件按需加载的基础上,根据模块体积大小自动拆分 chunks,为框架默认推荐策略。 如果存在特殊场景期望关闭分包能力,可以设置成 false。","s":"codeSplitting","u":"/docs/guide/basic/config","h":"#codesplitting","p":409},{"i":464,"t":"类型:{ exportDefaultFrom: boolean; functionBind: boolean; } 默认值:undefined ice.js 内置了大量 ES 语法支持,便于开发者进行编码。对于 proposal-export-default-from 和 proposal-bind-operator 由于其提案进度较慢,我们并不推荐使用。如果希望支持该语法,可以主动配置 syntaxFeatures 进行启用。","s":"syntaxFeatures","u":"/docs/guide/basic/config","h":"#syntaxfeatures","p":409},{"i":466,"t":"类型:boolean 默认值:false 默认关闭 TypeScript 类型检测,如需开启配置为 true 即可。","s":"tsChecker","u":"/docs/guide/basic/config","h":"#tschecker","p":409},{"i":468,"t":"类型:boolean | object 默认值:undefined 配置说明: false:不检测 eslint 错误 true:将 eslint 错误展示在预览页面上 object: 仅 Webpack 模式支持,表现等同于 true,支持配置 eslint-webpack-plugin 的更多参数","s":"eslint","u":"/docs/guide/basic/config","h":"#eslint","p":409},{"i":470,"t":"警告 小程序端不支持该配置。 类型:{ exclude: string[] } 默认值:{} 配置忽略 mock 的文件。 import { defineConfig } from '@ice/app'; export default defineConfig(() => ({ mock: { // 忽略 mock 目录中 custom 目录下的文件以及 api.ts 文件 exclude: [\"custom/**\", \"api.ts\"] }, }));","s":"mock","u":"/docs/guide/basic/config","h":"#mock","p":409},{"i":472,"t":"类型:boolean 默认值:true 如果产物不想生成 html,可以设置为 false,在 SSG 开启的情况下,强制关闭 html 生成,将导致 SSG 失效。","s":"htmlGenerating","u":"/docs/guide/basic/config","h":"#htmlgenerating","p":409},{"i":474,"t":"类型:PluginList 默认值:[] 添加插件 import { defineConfig } from '@ice/app'; import customPlugin from './custom-plugin'; import myPlugin from '@ice/my-plugin'; export default defineConfig(() => ({ plugins: [ customPlugin(), myPlugin(), ], }));","s":"plugins","u":"/docs/guide/basic/config","h":"#plugins","p":409},{"i":476,"t":"提示 ice.js 对 webpack 构建配置进行了定制,并借助 esbuild 等工具提升用户开发体验,直接修改 webpack 配置的方式并不推荐。 类型:(config: WebpackConfig, taskConfig: TaskConfig) => WebpackConfig 默认值:true ice.js 默认基于 webpack 5 进行构建,在上述提供的构建配置无法满足的情况下,用户可以定制 webpack 配置: import { defineConfig } from '@ice/app'; import SpeedMeasurePlugin from 'speed-measure-webpack-plugin'; export default defineConfig(() => ({ webpack: (webpackConfig) => { if (process.env.NODE_ENV !== 'test') { // 添加 webpack 插件 webpackConfig.plugins?.push(new SpeedMeasurePlugin()); } return webpackConfig; }, }));","s":"webpack","u":"/docs/guide/basic/config","h":"#webpack","p":409},{"i":478,"t":"类型:{ localIdentName: string } 默认值:{} 构建 cssModules 时,定制 class 名称的生成规则,配置参考 https://webpack.js.org/loaders/css-loader/#localidentname 例如,配置 '[hash:8]' 可以只保留 hash 值,以精简 HTML 大小及 CSS 文件大小。默认情况 className=\"custom-head-tab-wrap\" 会被构建为 class=\"custom-head-tab-wrap--rAEgGaqM\",自定义构建规则后后样式名会被精简为 class=\"rAEgGaqM\"。 import { defineConfig } from '@ice/app'; export default defineConfig(() => ({ cssModules: { localIdentName: '[hash:8]' }, })); 如有定制需求欢迎👏 PR 或反馈:https://github.com/alibaba/ice/issues","s":"cssModules","u":"/docs/guide/basic/config","h":"#cssmodules","p":409},{"i":480,"t":"本文讲述在开发应用前如何安装最小开发环境。","s":"开发环境","u":"/docs/guide/basic/development","h":"","p":479},{"i":482,"t":"开发前端应用前需要安装 Node.js,并确保 node 版本是 14.x 或以上。推荐使用 nvm(Windows 下使用 nvm-windows) 或者 fnm 来管理 node 版本。下面以在 mac 下安装 nvm 为例: $ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash # 安装 node 14 版本 $ nvm install 14 # 使用 node 14 $ nvm use 14 # 验证 node 是否安装成功 $ node -v v14.19.3","s":"Node.js","u":"/docs/guide/basic/development","h":"#nodejs","p":479},{"i":484,"t":"安装 Node.js 后,默认会包含 npm。除此以外,还有其他的包管理工具: pnpm(推荐) cnpm(推荐) yarn 安装 pnpm 示例如下: $ npm i pnpm -g --register=https://registry.npmmirror.com/ # 验证 pnpm 是否安装成功 $ pnpm -v 7.1.7 如果经常需要切换 npm 镜像源,推荐使用 nrm 进行管理: $ npm install -g nrm # 验证 nrm 是否安装成功 $ nrm --version # 查看所有镜像源 $ nrm ls # 推荐使用淘宝镜像源 nrm use taobao","s":"包管理工具","u":"/docs/guide/basic/development","h":"#包管理工具","p":479},{"i":486,"t":"推荐使用 IDE 进行前端应用开发和调试,会有更好的调试体验。目前比较流行的 IDE 有: Visual Studio Code(推荐) WebStorm(推荐) Sublime Text Atom","s":"IDE","u":"/docs/guide/basic/development","h":"#ide","p":479},{"i":488,"t":"目前小程序开发调试均需使用对应的开发者工具,在此附上小程序开发者工具下载链接: 微信开发者工具 阿里小程序开发者工具","s":"小程序开发者工具","u":"/docs/guide/basic/development","h":"#小程序开发者工具","p":479},{"i":490,"t":"ice.js 的默认应用目录提供了良好的代码分层结构,约定的目录结构如下: ├── build // 构建产物目录 ├── mock // 本地模拟数据 │ ├── index.ts ├── public // 静态资源目录 │ └── favicon.ico // Favicon 图标 ├── src // 源码目录 │ ├── components // 自定义业务组件 │ ├── pages // 路由页面组件 | | ├── about.tsx | | ├── home.tsx | | └── layout.tsx // 全局布局组件 │ ├── global.css // 全局样式 │ ├── document.tsx // HTML 模板 │ └── app.ts // 应用入口 ├── .env // 环境变量配置文件 ├── ice.config.mts // 构建配置 ├── package.json └── tsconfig.json // TypeScript 配置文件","s":"目录结构","u":"/docs/guide/basic/directory","h":"","p":489},{"i":492,"t":"声明应用所需要的各种依赖或者插件,以及配置信息(比如名称、版本、许可证等元数据)。","s":"package.json","u":"/docs/guide/basic/directory","h":"#packagejson","p":489},{"i":494,"t":"应用的构建配置文件。详见 构建配置。","s":"ice.config.mts","u":"/docs/guide/basic/directory","h":"#iceconfigmts","p":489},{"i":496,"t":"配置环境变量。详见 环境变量。","s":".env","u":"/docs/guide/basic/directory","h":"#env","p":489},{"i":498,"t":"TypeScript 编译所需的配置文件。","s":"tsconfig.json","u":"/docs/guide/basic/directory","h":"#tsconfigjson","p":489},{"i":500,"t":"存放 mock 文件,用于本地模拟请求数据服务。详见 Mock。","s":"mock 目录","u":"/docs/guide/basic/directory","h":"#mock-目录","p":489},{"i":502,"t":"用于存放静态资源(如 favicon.ico)的目录,此目录下所有的文件会被复制到构建产物目录中。","s":"public 目录","u":"/docs/guide/basic/directory","h":"#public-目录","p":489},{"i":504,"t":"用于存放源码的目录","s":"src 目录","u":"/docs/guide/basic/directory","h":"#src-目录","p":489},{"i":506,"t":"项目的入口文件,用于对应用进行全局运行时配置,包括路由、添加 Provider 等。详见应用入口。","s":"app.ts","u":"/docs/guide/basic/directory","h":"#appts","p":489},{"i":508,"t":"HTML 模板,使用 JSX 语法来描述,与 index.html 类似用于生成 HTML 产物。详见 Document。","s":"document.tsx","u":"/docs/guide/basic/directory","h":"#documenttsx","p":489},{"i":510,"t":"全局的样式配置,框架默认会引入该文件。详见样式方案","s":"global.[css|scss|less]","u":"/docs/guide/basic/directory","h":"#globalcssscssless","p":489},{"i":512,"t":"存放路由组件的目录。ice.js 使用约定式路由,会自动根据文件生成路由规则,详见路由。","s":"pages 目录","u":"/docs/guide/basic/directory","h":"#pages-目录","p":489},{"i":514,"t":"项目通用的组件目录,推荐的目录形式如下: src ├── components | └── Guide | ├── index.module.css | └── index.tsx 组件通常会在路由组件中被引入。","s":"components 目录","u":"/docs/guide/basic/directory","h":"#components-目录","p":489},{"i":516,"t":"build 目录 运行 npm build 后的构建产物目录,可修改构建配置修改输出路径。 .ice 目录 运行 ice.js 项目时默认生成的临时目录,该目录不需要进行 git 提交。","s":"其它","u":"/docs/guide/basic/directory","h":"#其它","p":489},{"i":519,"t":"框架对页面数据加载的编码规范做出了约定,来最大限度的提前页面的数据加载时机。 在传统的编码模式下,数据请求一般在组件内部发起,依赖于业务 Bundle 的加载解析执行,整个过程是串行、阻塞的。 而在 ice.js 中,页面的数据请求会由框架(或容器)统一发起,和业务 Bundle 的加载解析是并行、不阻塞的。 基于这种模式开发的页面,天然获得了更好的性能体验。 常规的 React 应用,一般都会在组件首次 useEffect 时发起数据请求。这种组织方式,数据请求会在页面完成首次渲染后才发起,请求的时机是非常滞后的。 src/pages/index.tsx import { useState, useEffect } from 'react'; export default function Home() { const [data, setData] = useState(); useEffect(async () => { const data = await fetch('https://example.com/api/xxx'); setData(data); }, []) return ( <>
Hello ICE
{JSON.stringify(data)}
); }; 在 ice.js 中,我们推荐将页面的的数据请求和 UI 实现解耦,通过 dataLoader 来定义页面的数据请求。示例: src/pages/index.tsx import { useData, defineDataLoader } from 'ice'; // 页面组件的 UI 实现 export default function Home() { const data = useData(); return ( <>
Hello ICE
{JSON.stringify(data)}
); }; // 页面的数据请求 export const dataLoader = defineDataLoader(async () => { const data = await fetch('https://example.com/api/xxx'); return data; }); 通过 dataLoader 导出的数据请求,会由框架在进入页面时发起,和业务 Bundle 的加载解析是并行的。在支持预请求的容器下(例如 PHA),数据请求还可以被进一步的提升为预请求。 同一个项目,两种不同写法,数据请求发起时机的差异对比如下(测试环境 chrome slow 3G): 信息 在 dataLoader 应避免处理 UI 相关逻辑,或引入较大的依赖,以确保 dataLoader 的构建产物足够小 受小程序环境限制,通过 dataLoader 定义的应用级数据加载将在 App 的 onLaunch 生命周期中进行,页面级数据加载则会在 Page 的 onLoad 生命周期中,二者均会阻塞页面的 UI 渲染。如果这不是你想要的效果,请按照常规方式进行数据请求。(比如在组件首次 useEffect 时发起数据请求)","s":"设计理念","u":"/docs/guide/basic/data-loader","h":"#设计理念","p":517},{"i":521,"t":"默认情况下,页面会等待数据请求完成后,再开始渲染,在数据接口比较快的情况下,这可以避免页面的二次渲染。 如果数据接口较慢,也可以选择先渲染不依赖于动态数据的部分,待数据回来后,再重新渲染依赖数据的页面内容。 具体做法如下: 在定义 dataLoader 时标记 defer: true 在消费数据时,使用 Await 组件包裹依赖于数据的页面内容 src/pages/index.tsx import { useData, defineDataLoader, Await } from 'ice'; // 页面组件的 UI 实现 export default function Home() { const data = useData(); return ( <>
Hello ICE
loading...} errorElement={
Error!
} /> { (data) =>
{JSON.stringify(data)}
}
); }; // 在定义 dataLoader 时标记 defer: true export const dataLoader = defineDataLoader(async () => { const data = await fetch('https://example.com/api/xxx'); return data; }, { defer: true }); 注意: 当 dataLoader 被声明为异步时,useData 返回的内容不可直接消费,需由 Await 组件处理 Await 组件接收三个参数 resolve 数据请求对象 fallback 数据加载过程中展示的 UI errorElement 请求失败时展示的 UI","s":"异步消费数据","u":"/docs/guide/basic/data-loader","h":"#异步消费数据","p":517},{"i":523,"t":"当开发者希望通过统一的发送函数处理静态配置以完成 dataLoader 时,可以通过自定义 fetcher 以完成发送逻辑的统一封装,在 dataLoader 中只需要传递一份配置即可。 export const dataLoader = defineDataLoader({ api: 'xxx', options: {} }); 通过 defineConfig 配置 dataLoader 配置以自定义 fetcher。 ice.config.mts export default defineConfig(() => ({ dataLoader: { fetcher: { packageName: '@ice/custom-fetcher-lib', // 统一处理静态 dataLoader 的 NPM 包 method: 'request', // NPM 包导出的方法 }, }, })); 最终构建后会呈现以下形式: import { request as fetcher } '@ice/custom-fetcher-lib'; fetcher({ api: 'xxx', options: {} });","s":"静态 dataLoader","u":"/docs/guide/basic/data-loader","h":"#静态-dataloader","p":517},{"i":525,"t":"示例工程","s":"使用示例","u":"/docs/guide/basic/data-loader","h":"#使用示例","p":517},{"i":527,"t":"页面路由组件或 layout 组件,都支持通过导出 dataLoader 来声明各自的数据请求。 下面是一个最基础的页面级数据请求示例: 通过 defineDataLoader 定义了页面数据请求的具体实现,并导出为 dataLoader。 通过 useData 方法,在组件侧获取和消费数据。 src/pages/index.tsx import { useData, defineDataLoader } from 'ice'; export default function Home() { const data = useData(); return ( <>
Hello ICE
{JSON.stringify(data)}
); }; export const dataLoader = defineDataLoader(async (ctx) => { console.log(ctx.pathname); console.log(ctx.query); const data = await fetch('https://example.com/api/xxx'); return data; }); defineDataLoader 支持传入 Function,来定义页面数据请求的具体实现,其入参 ctx 包含: pathname: string, 当前页面的路径名。 query: object, 当前页面的 query 信息,会被提前解析。 返回值为希望传给页面组件的具体数据,类型支持 Data | Promise。","s":"页面级数据加载","u":"/docs/guide/basic/data-loader","h":"#页面级数据加载","p":517},{"i":529,"t":"如果是应用级的数据加载,可以在应用入口 src/app.ts 中定义并导出 dataLoader 方法,来注册数据加载逻辑。示例: src/app.ts import { defineDataLoader } from 'ice'; // ... export const dataLoader = defineDataLoader(async () => { const data = await fetch('https://example.com/api/xxx'); return data; }); 在页面或其他组件中,可以通过 useAppData 方法获取应用级数据。示例: import { useAppData } from 'ice'; export default function Home(props) { const appData = useAppData(); // ... }","s":"应用级数据加载","u":"/docs/guide/basic/data-loader","h":"#应用级数据加载","p":517},{"i":531,"t":"如果页面需要同时发起多个数据请求,首先推荐使用嵌套路由来组织页面内容,将不同区块的数据请求,放到不同路由组件下来注册。 如果多个数据请求属于同一个路由组件,则可以在 defineDataLoader 时,以数组的方式传入数据请求实现。示例: import { useData, defineDataLoader } from 'ice'; export default function Home() { const [userInfo, itemInfo] = useData(); return ( <>
Hello {userInfo?.name}
{JSON.stringify(itemInfo)}
); }; export const dataLoader = defineDataLoader([ async () => { const userInfo = await fetch('https://example.com/api/userInfo'); return userInfo; }, async (ctx) => { const itemInfo = await fetch(`https://example.com/api/itemInfo${ctx?.query?.itemId}`); return itemInfo; }, ]); 多个数据请求的情况下,useData 获取的数据也对应的为数组,数组元素和 dataLoader 中定义的数据请求的返回值一一对应。 如果 dataLoader 被声明为异步,消费时可以分别 Await 不同的数据,这样可以做到先返回的数据,先渲染。 import { useData, defineDataLoader } from 'ice'; export default function Home() { const [userInfo, itemInfo] = useData(); return ( <> { (data) =>
Hello {data?.name}
}
{ (data) =>
{JSON.stringify(data)}
}
); }; export const dataLoader = defineDataLoader([ async () => { const useInfo = await fetch('https://example.com/api/userInfo'); return useInfo; }, async (ctx) => { const itemInfo = await fetch(`https://example.com/api/itemInfo${ctx?.query?.itemId}`); return itemInfo; }, ], { defer: true });","s":"多个数据请求","u":"/docs/guide/basic/data-loader","h":"#多个数据请求","p":517},{"i":533,"t":"提示 小程序端不支持该能力。 ice.js 使用 JSX 维护页面的 HTML 模板结构,其入口位于 src/document.tsx。","s":"定制 HTML","u":"/docs/guide/basic/document","h":"","p":532},{"i":535,"t":"Document 的初始模板如下: import { Meta, Title, Links, Main, Scripts } from 'ice'; function Document() { return ( <Links /> </head> <body> <Main /> <Scripts /> </body> </html> ); } export default Document; 默认引入了以下组件: <Meta />:页面的元信息 <Title /> 页面的标题信息 <Links /> 页面面依赖的 CSS 资源及其他 link 标签 <Scripts /> 页面依赖的 JS 资源 <Main /> 页面渲染的容器节点 这些组件,配合各路由组件的 pageConfig 配置,可以实现不同页面 HTML 模板的差异化渲染。","s":"初始模板","u":"/docs/guide/basic/document","h":"#初始模板","p":532},{"i":538,"t":"就像开发其他 React 组件一样,可以在 Document 组件内插入自定义的其它 JSX 内容。例如: <body> <div>hello</div> <Main /> <Scripts /> <script src=\"xxx.js\" /> </body> 警告 注意: 在 <Scripts /> 前插入外部资源,会阻塞主 Bundle 的解析执行,影响页面性能。","s":"添加 HTML 元素","u":"/docs/guide/basic/document","h":"#添加-html-元素","p":532},{"i":540,"t":"另外,由于 Document 使用的是 JSX 语法,而非普通的 HTML。在 <style /> 或 <script /> 元素中添加内联代码需要结合 dangerouslySetInnerHTML 的方式,示例如下: <style dangerouslySetInnerHTML={{__html: ` p { color: red; font-size: 20px; } `}}> </style> <script type=\"text/javascript\" dangerouslySetInnerHTML={{__html: ` console.log(\"Hello World!\") `}}> </script>","s":"添加内联代码","u":"/docs/guide/basic/document","h":"#添加内联代码","p":532},{"i":542,"t":"可以通过 props.pagePath 参数(当前页面的路由地址)区分页面并差异化渲染 HTML: function Document({ pagePath }) { return ( <html> <body> ... <script crossOrigin=\"anonymous\" src={pagePath === '/' ? 'a.js' : 'b.js' } /> </body> </html> ); } 提示 在 script 标签中添加 crossOrigin=\"anonymous\" 有助于错误分析器获取到跨域的全局异常。","s":"定制不同页面的 HTML","u":"/docs/guide/basic/document","h":"#定制不同页面的-html","p":532},{"i":544,"t":"如果想自定义如 Scripts 等组件的渲染行为,比如希望 <script> 标签的行为是内联代码而不是通过 src 来异步拉取的,则可以通过 Scripts、 Link 等组件暴露的方法来自定义组件的行为。 自定义 Scripts:​ import { Main, Scripts } from 'ice'; function Document() { return ( <html> <head></head> <body> <Main /> <Scripts ScriptElement={(props) => { return <script {...props} > console.log('custom script'); </script>; }} /> </body> </html> ); } 自定义 Links​ import { Links, Main } from 'ice'; function Document() { return ( <html> <head> <Links LinkElement={(props) => { return <link {...props} ></link>; }} /> </head> <body> <Main /> </body> </html> ); } 自定义 Title​ import { Title, Main } from 'ice'; function Document() { return ( <html> <head> <Title TitleElement={(props) => { return <title {...props} >; }} />
); } 自定义 Meta​ import { Meta, Main } from 'ice'; function Document() { return ( { return ; }} />
); }","s":"自定义标签渲染逻辑","u":"/docs/guide/basic/document","h":"#自定义标签渲染逻辑","p":532},{"i":546,"t":"获取当前页面的所有 Assets 资源,包含 CSS 和 JS。 src/document.ts import { usePageAssets } from 'ice'; function Document() { const pageAssets = usePageAssets(); const pageScripts = pageAssets.filter(src => src.indexOf('.js') > -1); console.log(pageScripts); return (
); }","s":"usePageAssets","u":"/docs/guide/basic/document","h":"#usepageassets","p":532},{"i":548,"t":"ice.js 内置通过环境变量实现给构建或运行时传递参数的功能。 使用 .env 文件来配置环境变量 配置 ICE_ 开头的环境变量则会同时暴露到运行时环境中","s":"环境变量","u":"/docs/guide/basic/env","h":"","p":547},{"i":551,"t":"例如需要修改 ice.js 本地开发服务的端口号,可以在命令行中使用环境变量: $ cross-env PORT=9999 npm start 示例中使用了 cross-env 来兼容不容操作系统的环境变量配置方式。","s":"命令行环境变量","u":"/docs/guide/basic/env","h":"#命令行环境变量","p":547},{"i":553,"t":"ice.js 内置了加载 .env 文件的支持,在该文件中设置的环境变量会被自动加载到 process.env 上。 .env 文件的示例: DEV_PORT=3000 FOO=bar 如果有部分环境变量的配置在本地有差异,你可以配置在 .env.local 文件中去覆盖 .env 中的配置。如在之前的 .env 的基础上, 你想本地开发覆盖之前 3000 端口, 而使用 9999 端口,示例如下: # The .env.local should not be committed. DEV_PORT=9999 此外你也可以在 .env.${mode} 和 .env.${mode}.local 文件中指定不同模式下的环境变量。${mode} 的取值是 development 或 production。 需要注意的是: 这几个文件的优先级由低至高分别是 .env .env.local .env.${mode} .env.${mode}.local 一般不建议将 .local 结尾的文件加入版本管理 (如 Git) 中。","s":"使用 .env 文件","u":"/docs/guide/basic/env","h":"#使用-env-文件","p":547},{"i":555,"t":"在 ice.js 中,环境变量的使用场景分构建时与运行时两种类型。 特别注意:环境变量在使用时的类型都是 string,特别是设置为 true 或 false 时需要注意判断为字符串类型: // ICE_DISABLE_FOO=false if (process.env.ICE_DISABLE_FOO === 'false') { // ... }","s":"使用环境变量","u":"/docs/guide/basic/env","h":"#使用环境变量","p":547},{"i":557,"t":"默认情况下,所有设置的环境变量都会被注入到构建环境,你可以在 ice.config.mts 文件或其它构建插件中通过 process.env 变量访问。 const port = process.env.PORT; // ...","s":"构建时","u":"/docs/guide/basic/env","h":"#构建时","p":547},{"i":559,"t":"默认情况下环境变量是不能在运行时访问的,如若需要在浏览器环境中访问,可以在设置环境变量时增加前缀:ICE_,如: # File .env ICE_APP_ID=123456 在运行时代码中访问: import React from 'react'; export default function AppID() { return

AppId is {process.env.ICE_APP_ID}.

}","s":"运行时","u":"/docs/guide/basic/env","h":"#运行时","p":547},{"i":561,"t":"ice.js 会内置一些环境变量方便使用,通常由 ICE_CORE_ 开头,如下:","s":"内置的环境变量","u":"/docs/guide/basic/env","h":"#内置的环境变量","p":547},{"i":563,"t":"用于 ice.js 的运行模式,可能是 development 或 production。","s":"ICE_CORE_MODE","u":"/docs/guide/basic/env","h":"#ice_core_mode","p":547},{"i":565,"t":"用于标识框架是否启用路由,可能是 true 或 false。","s":"ICE_CORE_ROUTER","u":"/docs/guide/basic/env","h":"#ice_core_router","p":547},{"i":567,"t":"用于标识框架是否启用错误边界,可能是 true 或 false。","s":"ICE_CORE_ERROR_BOUNDARY","u":"/docs/guide/basic/env","h":"#ice_core_error_boundary","p":547},{"i":569,"t":"用于标识框架是否启用初始数据,可能是 true 或 false。","s":"ICE_CORE_INITIAL_DATA","u":"/docs/guide/basic/env","h":"#ice_core_initial_data","p":547},{"i":571,"t":"用于标识 ice.js 的开发服务器端口号。","s":"ICE_CORE_DEV_PORT","u":"/docs/guide/basic/env","h":"#ice_core_dev_port","p":547},{"i":573,"t":"每一张页面,都可以由 路由组件 和 零或多个布局组件 组装而成。路由组件和布局组件的开发规范基本一致,可以包含以下内容: 默认导出是组件的具体实现,必选。 导出 dataLoader,约定页面的数据请求,可选。 导出 pageConfig,约定页面的 Title、Meta 等信息,可选。","s":"页面","u":"/docs/guide/basic/page","h":"","p":572},{"i":575,"t":"对应路由组件或布局组件在页面中需要渲染的内容。 src/pages/index.tsx import { useData } from 'ice'; export default function Home() { const data = useData(); return ( <>
Hello ICE
{JSON.stringify(data)}
); }","s":"组件","u":"/docs/guide/basic/page","h":"#组件","p":572},{"i":577,"t":"详见数据加载。","s":"获取页面初始数据","u":"/docs/guide/basic/page","h":"#获取页面初始数据","p":572},{"i":579,"t":"页面主体内容之外的、其他需要通用 HTML 模板上差异化显示的内容,可以通过导出 pageConfig 来声明。 支持的页面级配置包含:","s":"配置页面运行时属性","u":"/docs/guide/basic/page","h":"#配置页面运行时属性","p":572},{"i":581,"t":"标题会显示在文档上,可以通过 title 属性来设置。 示例: import { definePageConfig } from 'ice'; export const pageConfig = definePageConfig(() => ({ title: 'Home', }));","s":"title","u":"/docs/guide/basic/page","h":"#title","p":572},{"i":583,"t":"Meta 信息会显示在文档上,可以通过 metas 属性来设置。 示例: import { definePageConfig } from 'ice'; export const pageConfig = definePageConfig(() => ({ metas: [ { charset: 'utf-8' }, { title: 'Something cool', description: 'This becomes the nice preview on search results.', }, ], }));","s":"metas","u":"/docs/guide/basic/page","h":"#metas","p":572},{"i":585,"t":"页面级需要额外插入的 标签,会被插入 标签内,先于页面自身的 Bundle 加载,是阻塞型的。 框架提供了这个能力,但不推荐使用,除非确有需要前置加载。 import { definePageConfig } from 'ice'; export const pageConfig = definePageConfig(() => ({ links: [ { rel: 'icon', href: '/favicon.png', type: 'image/png', }, { rel: 'stylesheet', href: 'https://example.com/some/styles.css', }, ] })); 推荐,在页面组件内延迟加载,以达到更好的性能体验。 // src/pages/index.tsx export default function Home() { return ( <>
Hello ICE
); }","s":"links","u":"/docs/guide/basic/page","h":"#links","p":572},{"i":587,"t":"页面级需要前置加载的脚本资源,会被插入在主 Bundle 前,但是会阻塞渲染。通常用于加载全局 JS SDK 或 Polyfill。 import { definePageConfig } from 'ice'; export const pageConfig = definePageConfig(() => ({ scripts: [ { src: 'https://example.com/some/index.js', }, ], })); 推荐在页面组件内按需异步加载,以达到更好的性能体验。","s":"scripts","u":"/docs/guide/basic/page","h":"#scripts","p":572},{"i":589,"t":"小程序端不支持上述 title/metas/links/scripts 等配置。但是,通过导出 pageConfig 能够声明该页面的小程序页面配置。以阿里小程序为例,阿里小程序-页面配置的内容均可通过该方式声明: src/pages/index.tsx import { definePageConfig } from 'ice'; export const pageConfig = definePageConfig(() => ({ \"defaultTitle\": \"\", \"allowsBounceVertical\": \"NO\", \"transparentTitle\": \"auto\", \"titleBarColor\": \"#262833\", \"optionMenu\": { \"icon\": \"https://img.alicdn.com/tps/i3/T1OjaVFl4dXXa.JOZB-114-114.png\" }, \"titlePenetrate\": \"YES\", \"barButtonTheme\": \"light\" }));","s":"小程序页面配置","u":"/docs/guide/basic/page","h":"#小程序页面配置","p":572},{"i":591,"t":"提示 小程序端不支持该能力。 在前后端分离的开发中,Mock 数据是前端开发中很重要的一个环节,前端可以不必强依赖后端接口,只需要约定好对应的数据接口,前端可以通过 Mock 模拟数据先行开发,在后端接口开发完成后,只需要切换对应的接口地址即可,可以保证项目的同步开发。 ice.js 提供了开箱即用的 Mock 方案,支持 CRUD 等操作,在启动本地调试时会自动启用 Mock 服务。","s":"数据模拟 Mock","u":"/docs/guide/basic/mock","h":"","p":590},{"i":593,"t":"只需要在项目目录下新建 /mock 目录,并增加 js 或 ts 文件作为 mock 服务文件。比如有以下的目录结构: ├── mock | ├── index.ts | └── user.ts ├── src └── package.json mock 目录下的 index.ts 和 user.ts 会被识别为 Mock 服务文件。 如果某些文件不需要被 mock 服务解析,可以通过工程配置进行自定义: ice.config.mts import { defineConfig } from '@ice/app'; export default defineConfig(() => ({ mock: { // 忽略 mock 目录中 custom 目录下的文件以及 api.ts 文件 exclude: [\"custom/**\", \"api.ts\"] }, }));","s":"目录约定","u":"/docs/guide/basic/mock","h":"#目录约定","p":590},{"i":595,"t":"在 mock 服务文件中写入以下代码: ./mock/user.ts export default { 'GET /api/users': [ { name: 'foo', id: 0 }, { name: 'bar', id: 1 }, ], } 启动调试服务后,假设启动的端口是 3000,直接在浏览器里访问 http://127.0.0.1:3000/api/users 即可看到接口返回数据。","s":"编写 Mock 接口","u":"/docs/guide/basic/mock","h":"#编写-mock-接口","p":590},{"i":597,"t":"默认支持 GET, POST, PUT, DELETE, PATCH, HEAD, OPTIONS 请求方法。示例代码如下: export default { // 当 HTTP 请求方法是 GET,可以省略请求方法 '/api/users': [{ name: 'foo', id: 1 }, { name: 'bar', id: 2 }], // 等同于上面的写法 'GET /api/users': [{ name: 'foo', id: 1 }, { name: 'bar', id: 2 }], 'POST /api/user': { users: [1, 2] }, 'DELETE /api/users/1': { name: 'foo' }, }","s":"请求方法","u":"/docs/guide/basic/mock","h":"#请求方法","p":590},{"i":599,"t":"返回值支持 String、Array、Object 类型。比如: export default { // 返回值是 String 类型 'GET /api/name': 'foo', // 返回值 Array 类型 'POST /api/users': [ { name: 'foo', id: 0 }, { name: 'bar', id: 1 }, ], // 返回值是 Object 类型 'DELETE /api/users/1': { name: 'bar', id: 1 }, } 除此以外,还可以使用函数的形式来计算返回值,这在需要动态返回接口数据时很有用,如: import type { Request, Response } from '@ice/app'; export default { 'POST /api/users/:id': (request: Request, response: Response) => { const { id } = request.params; response.send({ id: id }); }, }","s":"返回值","u":"/docs/guide/basic/mock","h":"#返回值","p":590},{"i":601,"t":"当后端接口开发完成以后。此时可以通过以下命令关闭 Mock 服务: # 关闭 Mock 服务 $ npm run start -- --no-mock 这样我们可以请求到后端返回的数据了。","s":"关闭 Mock","u":"/docs/guide/basic/mock","h":"#关闭-mock","p":590},{"i":603,"t":"Mock.js 是一个随机生成 mock 数据的工具库,可以帮助我们快速生成随机的模拟数据。 import Mock from 'mockjs'; export default { 'GET /api/list': (req, res) => { const list = Mock.mock({ 'list|1-10': [ { 'id|+1': 1, }, ], }); res.send({ status: 'SUCCESS', data: { list, } }); }, }; 完整的语法请参考 Mock.js 文档。","s":"使用 Mock.js","u":"/docs/guide/basic/mock","h":"#使用-mockjs","p":590},{"i":605,"t":"如果用户希望使用一些中间件来处理请求的数据(req 对象),可以参考以下的示例代码: import bodyParser from 'body-parser'; import type { Request, Response } from 'express'; export default { 'POST /api/login': (req: Request, res: Response) => { bodyParser.json({ limit: '5mb', strict: false })(req, res, () => { console.log(req.body); res.send({}); }) }, }","s":"处理请求数据","u":"/docs/guide/basic/mock","h":"#处理请求数据","p":590},{"i":607,"t":"ice.js 采用 约定式路由,并针对 嵌套路由 做了一系列加载和渲染上的优化,以构建出性能更好的 Web 应用。","s":"路由","u":"/docs/guide/basic/router","h":"","p":606},{"i":610,"t":"框架会根据项目的目录结构自动生成应用的路由信息。src/pages 目录下的每一个 .(js|jsx|tsx) 文件会被映射为一个路由地址,示例如下:","s":"约定式路由","u":"/docs/guide/basic/router","h":"#约定式路由","p":606},{"i":612,"t":"对于小程序来说,使用约定式路由会带来无法确定首页的问题(在原生小程序中,app.json 中 pages 数组的第一项即被指定为首页)。因此 ice.js 开发小程序时,用户需要在 src/app.tsx 中通过导出 miniappManifest 进行路由的指定,示例如下: export const miniappManifest = { routes: [ 'index', 'about', 'repo/index', 'repo/preview', ], }; 注意,routes 中的每一项应该与文件在 pages 目录下的实际路径保持一致,且其第一项将作为小程序的首页被加载。","s":"小程序端路由规则","u":"/docs/guide/basic/router","h":"#小程序端路由规则","p":606},{"i":614,"t":"路由组件,是每一个页面的入口文件,通过 export default 导出其具体实现,例如: src/pages/index.tsx export default function Home() { return (
Hello ICE
); }; 路由组件支持配置页面级信息和数据加载逻辑,详见页面。","s":"路由组件","u":"/docs/guide/basic/router","h":"#路由组件","p":606},{"i":616,"t":"警告 小程序端不支持。 在 pages 目录下,还可以创建一类特殊的组件,来维护全局或一组页面共用的布局, 其文件名约定为 layout.(js|jsx|tsx)。 布局组件和路由组件一样,也通过 export default 导出其具体实现。 import { Outlet } from 'ice'; export default function Layout() { return (

Root Layout

Hello ICE

) } 其中, 组件对应需要被布局组件嵌套的子组件。 布局组件: 如果位于 pages 目录的最顶层,则它将作为全局布局,嵌套在所有路由组件外。 如果位于某个子文件夹,则它将作为页面级布局,嵌套在这个目录下的其他路由组件外。 如果同时存在 全局布局组件 和 页面级布局组件,则全局布局组件会嵌套于页面级布局组件之外。","s":"布局组件","u":"/docs/guide/basic/router","h":"#布局组件","p":606},{"i":618,"t":"通过创建文件夹和布局组件,可以轻松构建嵌套路由。例如,下面的示例中,/repo/preview 页面,由这三个组件嵌套而成: layout.tsx repo/layout.tsx repo/preview.tsx ice.js 针对嵌套路由的场景,应用了以下优化,来让页面达成更好的性能体验: 各路由组件的资源和数据请求会被并行加载,以达到最快的资源加载速度。 路由间跳转,比如从 /repo/preview 跳转到 /repo/edit,框架只会加载差异化的路由组件 edit.tsx 进行渲染,而不会重新渲染整个页面。 利用框架对嵌套路由所做的优化,我们可以将页面中逻辑相对分离的部分,用嵌套路由的方式来组织,以获得更好的加载体验。 例如,下面这个常见的移动端营销页,可以将顶部通用的 Slider 抽象为布局组件,将不同 tab 下对应的瀑布流,抽象为路由组件。这样,Slider 和瀑布流就可以做到并行加载,并且当切换 tab 时,新的 tab 内容将由框架触发按需加载和渲染。示例工程 提示 假如同时存在 src/pages/home.tsx 和 src/pages/home/index.tsx,则访问 /home 路由地址时,只有 src/pages/home/index.tsx 组件渲染。 如果你想有嵌套路由,但是又不想创建有嵌套目录结构,你可以使用 . 来创建一个扁平的文件名。 └── src ├── root.jsx └── pages - ├── about - │ ├── repo - │ │ └── $id.tsx │ └── index.tsx + └── about.repo.$id.tsx 这样,我们就可以通过 /about/repo/$id 的路由地址访问到 about.repo.$id.tsx 的路由组件了。","s":"嵌套路由","u":"/docs/guide/basic/router","h":"#嵌套路由","p":606},{"i":620,"t":"警告 小程序端不支持。 在某些场景下可能需要动态指定路由,例如 /user/:id,可以以 $ 开头创建文件名或目录名,比如 src/pages/user/$id.tsx:","s":"动态路由","u":"/docs/guide/basic/router","h":"#动态路由","p":606},{"i":622,"t":"src/pages 目录下的 $.tsx 文件将会被解析成通配路由。如果当前访问的路由没有任何组件能匹配,将会渲染通配路由组件。 通常可以增加 src/pages/$.tsx 作为自定义 404 页面。","s":"通配路由","u":"/docs/guide/basic/router","h":"#通配路由","p":606},{"i":624,"t":"默认情况下,对于 src/pages/**/index.tsx 这样的路由文件,路由的生成规则是这样的: 路由文件 路由 src/pages/index.tsx / src/pages/about/index.tsx /about 可以看到,index 字符串不会出现在路由上,被转成 /。如果希望路由上保留 /index,可以使用转义字符 []。 路由文件 路由 src/pages/[index].tsx /index src/pages/about/[index].tsx /about/index","s":"转义路由","u":"/docs/guide/basic/router","h":"#转义路由","p":606},{"i":626,"t":"ice.js 提供三种方式进行路由间跳转,这样就可以只加载下一个页面相比于当前页面差异化的 Bundle 进行渲染,以达到更好的性能体验。","s":"路由跳转","u":"/docs/guide/basic/router","h":"#路由跳转","p":606},{"i":628,"t":"可使用 history API 进行路由跳转。 import { history } from 'ice'; export default () => { history.push('/dashboard'); }","s":"history","u":"/docs/guide/basic/router","h":"#history","p":606},{"i":630,"t":"组件内可以使用 useNavigate Hook 进行路由跳转。 import { useNavigate } from 'ice'; export default () => { const navigate = useNavigate(); navigate('/logout'); }","s":"useNavigate","u":"/docs/guide/basic/router","h":"#usenavigate","p":606},{"i":632,"t":"组件内可以使用 组件进行路由跳转。 src/pages/index.tsx import { Link } from 'ice'; export default function Home() { return ( <>
Hello ICE
about ice ); } 信息 在小程序中,Link 组件底层实现即为原生 navigator 组件。","s":"Link 组件","u":"/docs/guide/basic/router","h":"#link-组件","p":606},{"i":635,"t":"使用 useLocation 获取 location 信息。 import { useLocation } from 'ice'; export default function () { const location = useLocation(); }","s":"location","u":"/docs/guide/basic/router","h":"#location","p":606},{"i":637,"t":"使用 useSearchParams 获取和修改 query 信息。 import { useSearchParams } from 'ice'; export default function Repo() { const [searchParams, setSearchParams] = useSearchParams(); console.log(searchParams); setSearchParams({ tab: 'a' }) }","s":"query","u":"/docs/guide/basic/router","h":"#query","p":606},{"i":639,"t":"在动态路由组件使用 useParams 获取当前路由的参数。 import { useParams } from 'ice'; // 路由规则为 /repo/:id // 当前路径 /repo/123 export default function Repo() { const params = useParams(); console.log(params); // { id: 123 } }","s":"动态路由参数","u":"/docs/guide/basic/router","h":"#动态路由参数","p":606},{"i":641,"t":"默认情况下,ice.js 会把 src/pages 目录下的每一个 .(js|jsx|tsx) 文件映射为一个路由地址。如果你有一些组件不想被解析成路由组件,可通过 ignoreFiles 进行配置。 ice.config.mts import { defineConfig } from '@ice/app'; export default defineConfig({ routes: { ignoreFiles: [ 'custom.tsx', '**/components/**', // 如果每个页面下有 components 目录存放当前页面的组件,可以通过添加此配置忽略被解析成路由组件 ], }, });","s":"忽略被解析为路由组件","u":"/docs/guide/basic/router","h":"#忽略被解析为路由组件","p":606},{"i":643,"t":"对于约定式路由不满足的场景,可以通过 defineRoutes 方式进行自定义。 ice.config.mts import { defineConfig } from '@ice/app'; export default defineConfig({ routes: { defineRoutes: (route) => { // 将 /hello 路由访问内容指定为 about.tsx route('/hello', 'about.tsx'); }, }, });","s":"定制路由地址","u":"/docs/guide/basic/router","h":"#定制路由地址","p":606},{"i":645,"t":"提示 小程序端不支持该能力。 构建时渲染,简称 SSG (Static Site Generation),是指在构建时提前生成内容 HTML 的渲染模式。 ice.js 默认开启 SSG 能力。SSG 不仅适用于静态站点,也适用于为普通 CSR 应用提前生成静态内容。 若有如下页面,内容为: src/pages/home.tsx import { useData } from 'ice'; export default function Home() { const data = useData(); return ( <>
Hello ICE
stars: {data?.stars}
); } 其中,第一个 div 中的内容是不依赖于数据。在传统的 CSR 应用中, 组件内容,无论是否依赖数据,都需要等待 JS 加载、解析后渲染。 利用 SSG,则可以在构建时,就将不依赖于动态数据的部分提前生成到 HTML 中。示例: ...
Hello ICE
stars:
","s":"构建时渲染 SSG","u":"/docs/guide/basic/ssg","h":"","p":644},{"i":647,"t":"在消费 data 时,需要做好空值判断,避免 data 为 undefined 或 null 时,产生渲染异常,无法正常构建。 代码需要兼容 Node.js 端。SSG 会在构建时进行,因此代码会运行在 Node.js 侧,因此在消费一些浏览器特有的环境变量时,要做好环境判断。","s":"注意事项","u":"/docs/guide/basic/ssg","h":"#注意事项","p":644},{"i":649,"t":"通常在 SSG 时,我们不能使用后端接口获取当前的数据,因为这通常与用户访问时不一致。这时我们可以为 SSG 定义特定的数据请求方法,通过为路由组件定义 staticDataLoader 来实现。这样在 SSG 时,组件通过 useData() 获取的数据为 staticDataLoader 的返回值。 src/pages/index.tsx import { useData, defineDataLoader, defineStaticDataLoader } from 'ice'; export default function Home() { const data = useData(); return ( <>
Hello ICE
stars: {data?.stars}
); } // 浏览器侧的常规数据请求 export const dataLoader = defineDataLoader(() => { return fetch('https://example.com/stars'); }); // 返回用于 SSG 的兜底数据 export const staticDataLoader = defineStaticDataLoader(() => { return { stars: 0, }; }); 提示 当 defineDataLoader 接受入参为数组时(定义了多个数据请求),defineStaticDataLoader 也需要与其一一对应。 构建 Client 端的产物时,会移除 staticDataLoader 及其相关依赖。","s":"SSG 的数据请求","u":"/docs/guide/basic/ssg","h":"#ssg-的数据请求","p":644},{"i":651,"t":"在 ice.config.mts 下,按如下配置修改 ice.config.mts import { defineConfig } from '@ice/app'; export default defineConfig(() => ({ // ... ssg: false, }));","s":"关闭 SSG","u":"/docs/guide/basic/ssg","h":"#关闭-ssg","p":644},{"i":653,"t":"提示 小程序端不支持该能力。 服务器渲染,简称 SSR (Server Side Rendering),是一种在服务端运行 Node.js 程序动态生成 HTML 的渲染方式。 SSR 相比传统在浏览器端渲染的模式(CSR),受设备性能和网络情况的影响更小,可以达到更好的性能体验和 SEO 能力。","s":"服务端渲染 SSR","u":"/docs/guide/basic/ssr","h":"","p":652},{"i":655,"t":"与 SSG 不同的是,ice.js 中 SSR 不是默认启用的,需要手动开启。 在 ice.config.mts 中,增加如下配置: ice.config.mts import { defineConfig } from '@ice/app'; export default defineConfig(() => ({ // ... ssr: true, }));","s":"开启 SSR","u":"/docs/guide/basic/ssr","h":"#开启-ssr","p":652},{"i":657,"t":"开启 SSR 后,路由组件中导出的 dataLoader 方法将优先在 Server 端执行,如果 SSR 渲染成功,在 Client 端将不会再次调用 dataLoader,而会复用 SSR 的结果。当页面在浏览器侧通过路由跳转,或页面降级时,才会在 Client 端调用 dataLoader。 因此,一般情况下 dataLoader 内的数据请求需要保持同构,在 Server 端和 Client 端都能执行。 示例: src/pages/foo.tsx import { useData, defineDataLoader, defineServerDataLoader } from 'ice'; // 同构的数据请求 export const dataLoader = defineDataLoader(async () => { if (isClient) { return await fetch('https://example.com/api/xxx'); } else if (isServer) { return await fetchDataAtServer(); } }); 如果确实需要为 Server 端指定不一样的数据请求方式,可以通过定义 serverDataLoader 来实现。当路由组件声明了 serverDataLoader,会在 SSR 优先使用这个方法。 示例: src/pages/foo.tsx import { useData, defineDataLoader, defineServerDataLoader } from 'ice'; // Client 端的数据请求 export const dataLoader = defineDataLoader(async () => { return await fetch('https://example.com/api/xxx'); }); // Server 端的数据请求 export const serverDataLoader = defineServerDataLoader(async () => { return await fetchDataAtServer(); }); 在构建 Client 端的产物时,会移除导出的 serverDataLoader 及其相关依赖。","s":"数据请求","u":"/docs/guide/basic/ssr","h":"#数据请求","p":652},{"i":659,"t":"ice.js 推荐使用原生 CSS + PostCSS 的方案编写样式,不建议使用 less/sass 之类的预编译方案,CSS 写法目前扩展支持了 @import 以及嵌套写法。 index.css index.tsx @import './theme.css'; .home { color: red; h2 { display: block; } } import './index.css'; function Home() { return (

CSS Modules

); } ice.js 同时支持 less/scss 预编译器,只要保证文件后缀匹配即可。","s":"样式","u":"/docs/guide/basic/style","h":"","p":658},{"i":661,"t":"对于整个项目的全局样式,统一定义在 src/global.css 文件中,框架会默认引入该文件: body { -webkit-font-smoothing: antialiased; }","s":"全局样式","u":"/docs/guide/basic/style","h":"#全局样式","p":658},{"i":663,"t":"对于页面级和组件级的样式,我们推荐使用 CSS Modules 的方案,这能很好的解决样式开发中的两个痛点问题: 全局污染:CSS 使用全局选择器机制来设置样式,优点是方便重写样式。缺点是所有的样式都是全局生效,样式可能被错误覆盖,因此产生了非常丑陋的 !important,甚至 inline !important 等问题。 命名混乱:由于全局污染的问题,多人协同开发时为了避免样式冲突,选择器越来越复杂,容易形成不同的命名风格,很难统一,样式变多后,命名将更加混乱。 具体规范规则如下: 文件名:约定文件名格式如 xxx.module.css 模块化:一个页面或者一个组件对应一个样式文件 如有以下的目录结构和代码: ├── src | ├── pages | | ├── index.module.css | | └── index.tsx index.module.css index.tsx .container { background: #fff; } import styles from './index.module.css'; function Home() { return (

CSS Modules

); }

CSS Modules

同时 CSS Modules 支持 less/scss 预编译器: import lessStyles from './index.module.less'; import scssStyles from './index.module.scss'; export default function () { return
Hello World

I am blue

; } 更多 CSS Modules 文档请参考: css-modules 官方文档 CSS Modules 详解及 React 中实践","s":"局部样式","u":"/docs/guide/basic/style","h":"#局部样式","p":658},{"i":666,"t":"ice.js 原生支持 rpx 单位。在无线端中,阿里巴巴集团标准统一使用 rpx 作为响应式长度单位。你可以直接在样式文件中使用 rpx,不需要担心转换的问题。 rpx(responsive pixel),可以根据屏幕宽度进行自适应。规定屏幕宽为 750rpx。以 iPhone6 为例,屏幕宽度为 375px,共有 750 个物理像素,则 750rpx = 375px = 750 物理像素,1rpx = 0.5px = 1物理像素。 在浏览器中,ice.js 会将 rpx 会转换为 vw 进行渲染,其转换关系为:750rpx = 100vw,即 1rpx = 1/7.5vw,保留 5 位小数。小程序由于天然支持 rpx 单位,因此可以直接使用并且 ice.js 不会将其转换为 vw。","s":"ice.js 支持 rpx 吗","u":"/docs/guide/basic/style","h":"#icejs-支持-rpx-吗","p":658},{"i":668,"t":"推荐通过 src/global.css 覆盖全局样式: src/global.css body { -webkit-font-smoothing: antialiased; /* 覆盖 next 组件的样式 */ .next-btn { font-size: 18px; } } 该方式会覆盖应用中所有 Button 组件的 font-size 属性。","s":"如何覆盖全局基础组件(next/antd)样式","u":"/docs/guide/basic/style","h":"#如何覆盖全局基础组件nextantd样式","p":658},{"i":670,"t":"如果只是想覆盖某个页面/模块里的组件样式,则推荐采用局部覆盖的方式: ./pages/Home/index.module.css .home { padding: 10px; } .home :global { /* 仅修改 .home 下的 button 样式 */ .next-btn { font-size: 24px; } } 如果组件本身支持 style 属性,也可通过 style 属性修改: ./pages/Home/index.tsx export default function () { return ( <> ); }","s":"如何覆盖局部基础组件样式","u":"/docs/guide/basic/style","h":"#如何覆盖局部基础组件样式","p":658},{"i":672,"t":"可以在 VSCode 编辑器中需要安装 PostCSS Language Support 插件 以支持嵌套写法。","s":"如何获得 CSS 嵌套的类型提示","u":"/docs/guide/basic/style","h":"#如何获得-css-嵌套的类型提示","p":658},{"i":675,"t":"为扩展 ice.js 体系能力边界,我们为开发者提供了一系列的 Universal API,开发者可以通过调用这些 API 快速开发多端应用。 Uni API 提供丰富完善的 API,支持 Web、微信小程序、阿里小程序、字节小程序等多种环境,开箱即用,快速接入,更支持按环境拆包,提供更极致的代码体积,体验升级。使用方式详见 Uni API 文档。","s":"Uni API","u":"/docs/guide/miniapp/api","h":"#uni-api","p":673},{"i":677,"t":"对于 Uni API 没有覆盖到的场景,你也可以直接在 ice.js 小程序中使用小程序原生 API(即微信小程序的 wx API 等)。此时如果仍有跨端诉求,你可以结合 @uni/env 进行处理,示例如下: import { isMiniApp, isWeChatMiniProgram } from '@uni/env'; function scan() { if (isWeChatMiniProgram) { wx.scanCode(); } else if (isMiniApp) { my.scan(); } }","s":"原生小程序 API","u":"/docs/guide/miniapp/api","h":"#原生小程序-api","p":673},{"i":679,"t":"阿里小程序前端 API 微信小程序端 API","s":"参考文档","u":"/docs/guide/miniapp/api","h":"#参考文档","p":673},{"i":682,"t":"开发者可在 src/app.ts 中通过导出 miniappManifest 对小程序的 window、tabBar 等字段进行配置: src/app.ts export const miniappManifest = { window: { defaultTitle: 'miniapp test' }, routes: [ 'index', 'about', 'second/profile', 'third/index', 'third/test', ], }; 注意,路由请使用 routes 字段进行配置,参考小程序-路由。","s":"全局配置","u":"/docs/guide/miniapp/app-config","h":"#全局配置","p":680},{"i":684,"t":"小程序端不支持配置页面运行时属性 中的 title/metas/links/scripts 等配置。但是,通过导出 pageConfig 能够声明该页面的小程序页面配置。以阿里小程序为例,阿里小程序-页面配置的内容均可通过该方式声明: src/pages/index.tsx import { definePageConfig } from 'ice'; export const pageConfig = definePageConfig(() => ({ \"defaultTitle\": \"\", \"allowsBounceVertical\": \"NO\", \"transparentTitle\": \"auto\", \"titleBarColor\": \"#262833\", \"optionMenu\": { \"icon\": \"https://img.alicdn.com/tps/i3/T1OjaVFl4dXXa.JOZB-114-114.png\" }, \"titlePenetrate\": \"YES\", \"barButtonTheme\": \"light\" }));","s":"页面配置","u":"/docs/guide/miniapp/app-config","h":"#页面配置","p":680},{"i":686,"t":"配置小程序原生应用生命周期及事件 配置小程序原生页面生命周期及事件 配置原生小程序 project.config.json 与原生页面、组件、插件混用 分包加载","s":"待支持能力","u":"/docs/guide/miniapp/app-config","h":"#待支持能力","p":680},{"i":688,"t":"ice.js 小程序支持以下集中类型的组件的使用:","s":"组件使用","u":"/docs/guide/miniapp/component-use","h":"","p":687},{"i":690,"t":"所有小程序内置组件可在 ice.js 中直接使用,但是需要注意按照 JSX 语法编写代码。例如,在小程序原生项目中按照以下方式使用的组件: 对应在 ice.js JSX 中应该这样使用: 特别注意,在微信等小程序端通过 bind 前缀绑定事件,在 JSX 中需要处理为 on 前缀,并遵循驼峰式命名规则,如上面示例中 bindgetphonenumber 需要处理为 onGetPhoneNumber。","s":"小程序内置组件","u":"/docs/guide/miniapp/component-use","h":"#小程序内置组件","p":687},{"i":692,"t":"详见使用 HTML 标签。","s":"HTML 标签","u":"/docs/guide/miniapp/component-use","h":"#html-标签","p":687},{"i":694,"t":"即将支持,敬请期待。","s":"小程序原生自定义组件","u":"/docs/guide/miniapp/component-use","h":"#小程序原生自定义组件","p":687},{"i":697,"t":"你可以在 src/app.tsx 中使用 defineMiniappConfig 导出 miniappLifecycles 来进行原生应用的生命周期事件注册: src/app.tsx import { defineMiniappConfig } from '@ice/plugin-miniapp/runtime'; export const miniappLifecycles = defineMiniappConfig(() => { return { onLaunch(options) { console.log('on launch', options); }, onShow(options) { console.log('on show', options); } }; });","s":"原生应用生命周期事件注册","u":"/docs/guide/miniapp/native-lifecycle-events","h":"#原生应用生命周期事件注册","p":695},{"i":699,"t":"1.在 pageConfig 中通过 nativeEvents 声明需要注册的生命周期事件。目前仅 onPageScroll/onShareAppMessage/onShareTimeline 三个会带来副作用的事件需要注册,其他事件可直接跳过该步骤。 src/pages/index.tsx export function pageConfig() { return { title: 'Home', nativeEvents: [ 'onShareAppMessage', ], }; } 2.在组件中通过 usePageLifecycle hooks 监听事件: 警告 Web 应用中该方法不会生效。 src/pages/index.tsx import { usePageLifecycle } from 'ice'; export default function Home() { usePageLifecycle('onShareAppMessage', (options) => { console.log('[Second] onShareAppMessage', options); return { title: '123', path: 'pages/index', }; }); return ( 1 ); }","s":"原生页面生命周期事件注册","u":"/docs/guide/miniapp/native-lifecycle-events","h":"#原生页面生命周期事件注册","p":695},{"i":701,"t":"各个小程序端均存在自己的项目工程配置,存放于一个单独的 json 文件中,对应名称如下: 微信小程序:project.config.json 阿里小程序:mini.project.json 在 ice.js 中,你可以在小程序开发的插件中使用 nativeConfig 字段来进行相应的配置。编译完成后,该字段的内容将被写入项目配置文件中: ice.config.mts import miniapp from '@ice/plugin-miniapp'; export default defineConfig({ plugins: [miniapp({ nativeConfig: { appid: '' } })], }); 参考文档: 微信小程序项目配置文件 阿里小程序编译配置","s":"原生项目工程配置","u":"/docs/guide/miniapp/project-config","h":"","p":700},{"i":703,"t":"小程序端路由相关概念基本与指南-路由章节保持一致(不支持布局组件、动态路由),以下仅列出小程序端路由的注意点。","s":"路由","u":"/docs/guide/miniapp/router","h":"","p":702},{"i":705,"t":"指南-路由章节提到,ice.js 采用约定式路由。但是对于小程序来说,使用约定式路由会带来无法确定首页的问题(在原生小程序中,app.json 中 pages 数组的第一项即被指定为首页)。因此 ice.js 开发小程序时,用户需要在 src/app.tsx 中通过导出 miniappManifest 进行路由的指定,示例如下: export const miniappManifest = { routes: [ 'index', 'about', 'repo/index', 'repo/preview', ], }; 注意,routes 中的每一项应该与文件在 pages 目录下的实际路径保持一致,且其第一项将作为小程序的首页被加载。","s":"路由规则","u":"/docs/guide/miniapp/router","h":"#路由规则","p":702},{"i":708,"t":"ice.js 小程序通过 Link 组件(底层即小程序原生 navigator 组件),来提供路由间的跳转能力。其接受的 to 参数与 Web 端约定式路由产生的 url 保持一致。 src/pages/index.tsx import { Link } from 'ice'; export default function Home() { return ( <>
Hello ICE
about ice ); }","s":"Link 组件","u":"/docs/guide/miniapp/router","h":"#link-组件","p":702},{"i":710,"t":"通过 ice.js 提供的 history 能力,你可以实现小程序端的路由跳转: import { history } from 'ice'; export function historyPush (link: string) { history.push(link); } 警告 在应用入口 src/app.ts 导入使用时,由于 history 还未完成初始化创建,不能以立即执行的方式使用。推荐以上述方式封装后在必要的时候进行调用。 小程序原生的路由相关 API 也可以正常使用。以阿里小程序为例: my.navigateTo({ url: '/pages/repo/index' }); 注意,url 参数必须与页面实际路径保持一致。","s":"API 形式","u":"/docs/guide/miniapp/router","h":"#api-形式","p":702},{"i":712,"t":"对应小程序原生页面 onLoad 方法的参数,可以使用 useSearchParams 获取: import { useParams } from 'ice'; // 路由规则 /home?uid=1234 export default function Home() { const [searchParams] = useSearchParams(); // searchParams 输出内容为 { uid: '1234'} return ( <>

Home Page

); }","s":"路由参数获取","u":"/docs/guide/miniapp/router","h":"#路由参数获取","p":702},{"i":714,"t":"ice.js 支持小程序开发。由于小程序端大部分能力及配置均与 Web 应用对齐,本章节仅介绍小程序快速开始、与 Web 应用的差异点以及小程序独有能力的使用。 提示 当你准备开发小程序时,请务必阅读本模块文档。","s":"快速开始","u":"/docs/guide/miniapp/start","h":"","p":713},{"i":716,"t":"共有两种方式创建 ice.js 小程序应用:","s":"创建小程序应用","u":"/docs/guide/miniapp/start","h":"#创建小程序应用","p":713},{"i":718,"t":"$ npm create ice ice-app --template @ice/miniapp-scaffold $ cd ice-app $ npm install 创建完毕后可以直接跳到调试与构建章节。","s":"1. 通过小程序模板创建","u":"/docs/guide/miniapp/start","h":"#1-通过小程序模板创建","p":713},{"i":720,"t":"将已有的 ice.js Web 应用改造为支持小程序开发,只需进行以下几步: 配置命令​ 在 package.json 中配置以下 scripts 命令: \"scripts\": { \"start\": \"ice start\", \"start:wechat\": \"ice start --target wechat-miniprogram\", \"start:ali\": \"ice start --target ali-miniapp\", \"build\": \"ice build\", \"build:wechat\": \"ice build --target wechat-miniprogram\", \"build:ali\": \"ice start --target ali-miniapp\" } 配置小程序开发插件及运行时依赖​ 安装小程序开发插件 @ice/plugin-miniapp 和小程序运行时依赖 @ice/miniapp-runtime: $ npm install @ice/plugin-miniapp -D $ npm install @ice/miniapp-runtime -S 在 ice.config.mts 中配置插件: ice.config.mts import miniapp from '@ice/plugin-miniapp'; export default defineConfig({ plugins: [miniapp()], }); 添加 miniappManifest​ 在 src/app.tsx 中导出 miniappManifest,在其中配置 routes 数组用以指定小程序中的页面(详见小程序-路由): export const miniappManifest = { routes: [ // 初始化项目中仅有 index 一个页面 'index' ] }; 适配 HTML 标签样式​ 从 Web 应用迁移而来意味着你的项目中使用了 HTML 标签,为了适配样式,你还需要在 src/global.css 引入样式的 polyfill: @import '@ice/miniapp-html-styles/html'; 关于在小程序中使用 HTML 标签的注意事项,详见文档使用 HTML 标签。","s":"2. 改造已有的 Web 应用","u":"/docs/guide/miniapp/start","h":"#2-改造已有的-web-应用","p":713},{"i":722,"t":"当需要开发小程序时,执行对应的命令即可。例如,需要开发调试微信小程序时,执行 $ npm run start:wechat 需要构建微信小程序生产环境的产物时,执行 $ npm run build:wechat 编译完成后,命令行会给出相应提示,提醒开发者使用对应的小程序开发者工具打开编译产物目录进行调试预览: Use wechat-miniprogram developer tools to open the following folder: ~/Code/ice-next/examples/miniapp-project/build","s":"调试与构建","u":"/docs/guide/miniapp/start","h":"#调试与构建","p":713},{"i":724,"t":"可以看到,相比开发 Web 应用,开发小程序的命令需要传递 platform 参数,目前 ice.js 支持开发的小程序平台及其 platform 名称如下: 小程序平台 platform 阿里系(支付宝、淘宝、钉钉等) ali-miniapp 微信 wechat-miniprogram 暂未支持但计划支持的小程序平台及其 platform 名称如下: 小程序平台 platform 字节 bytedance-microapp 百度 baidu-smartprogram 快手 kuaishou-miniprogram","s":"支持小程序平台","u":"/docs/guide/miniapp/start","h":"#支持小程序平台","p":713},{"i":726,"t":"配置小程序原生应用生命周期及事件 配置小程序原生页面生命周期及事件 配置原生小程序 project.config.json 与原生页面、组件、插件混用 分包加载","s":"待支持能力","u":"/docs/guide/miniapp/start","h":"#待支持能力","p":713},{"i":728,"t":"受小程序环境限制,以下 ice.js 提供的能力在小程序端不适用,相关章节中也会进行标注: 数据模拟 Mock 信息 小程序中的数据请求需要统一使用其提供的 request 相关 API,因此 ice.js 提供的数据模拟 Mock 能力对小程序不适用。小程序端的数据模拟能力可通过开发者工具进行配置使用,这里列出阿里及微信小程序的相关使用文档: 阿里小程序 Anymock 场景数据平台扩展 微信小程序 API Mock 构建时渲染 SSG 服务端渲染 SSR 定制 HTML 权限管理 CSS 资源本地化 Keep Alive 使用 antd/fusion 等已有 Web 组件库 信息 没有经过适配的 Web 组件库暂时无法直接在 ice.js 小程序端使用。","s":"不支持能力","u":"/docs/guide/miniapp/start","h":"#不支持能力","p":713},{"i":730,"t":"ice.js 支持在开发小程序时直接使用 HTML 标签: export default function Home() { return (
Hello World!
) }","s":"使用 HTML 标签","u":"/docs/guide/miniapp/use-html","h":"","p":729},{"i":733,"t":"ice.js 提供了两种内置的浏览器默认样式,可以根据项目需要进行引入。 根据经验,在 Web 端的项目中常常会写一些样式去重置部分浏览器的默认样式,因此一般情况下开发者并不需要所有的这些默认样式。我们建议手动挑选项目需要的默认样式添加到全局样式中。 首先需要安装 @ice/miniapp-html-styles 包: $ npm install @ice/miniapp-html-styles --save HTML4 W3C HTML4 的内置样式。只有 HTML4 标签样式,体积较小,兼容性强,能适应大多数情况。 用法: src/global.css @import '@ice/miniapp-html-styles/html'; HTML5 Chrome(Blink) HTML5 的内置样式。内置样式丰富,包括了大多数 HTML5 标签,体积较大,不一定支持所有小程序容器。 用法: src/global.css @import '@ice/miniapp-html-styles/html5';","s":"浏览器默认样式","u":"/docs/guide/miniapp/use-html","h":"#浏览器默认样式","p":729},{"i":735,"t":" 是行内元素,本来需要映射为同样是行内元素的 组件。 但小程序的 组件有一个限制,它只能嵌套 自身,嵌套 等组件都会不显示。也就是说,如果 映射为 只能嵌套同样映射为 等行内元素。 但是我们发现 里很可能会嵌套
等标签,用法十分多样。因此我们决定把 映射为 ,以兼容 H5 标签写法的多样性。 这样做的缺点是,开发者需要自行使用样式令 默认表现为行内样式: src/global.css /* 方法一:只使用部分需要的浏览器默认样式 */ .h5-span { display: inline; } /* 方法二:直接引入全套浏览器默认样式 */ @import '@ice/miniapp-html-styles/html'; 至于 等行内标签还是默认映射为 。","s":" 默认表现为块级样式","u":"/docs/guide/miniapp/use-html","h":"#span-默认表现为块级样式","p":729},{"i":737,"t":"在小程序中部分 CSS 选择器不会生效,如: 通配符 * 媒体查询 属性选择器,当属性不是对应小程序组件的内置属性时","s":"不支持部分 CSS 选择器","u":"/docs/guide/miniapp/use-html","h":"#不支持部分-css-选择器","p":729},{"i":739,"t":"暂不支持 rem。","s":"不支持使用 rem","u":"/docs/guide/miniapp/use-html","h":"#不支持使用-rem","p":729},{"i":741,"t":"HTML 标准和小程序标准存在着很大的差异,有一些能够抹平,但仍有部分差异无法处理。","s":"其他限制","u":"/docs/guide/miniapp/use-html","h":"#其他限制","p":729},{"i":743,"t":"HTML 标签和小程序组件两种规范之间,存在较大差异的部分主要是表单组件。 在使用 时,需要手动补充 组件。 HTML 使用 时,会提示用户直接使用 组件。","s":"表单组件","u":"/docs/guide/miniapp/use-html","h":"#表单组件","p":729},{"i":745,"t":"在 H5 中我们可以调用 DOM API 同步获取元素的尺寸: h5 const el = document.getElementById('#inner'); const res = el.getBoundingClientRect(); console.log(res); 但是在小程序中,获取元素尺寸的 API 是异步的: 小程序 const query = Taro.createSelectorQuery(); query.select('#inner') .boundingClientRect() .exec(res => { console.log(res) }); 因此 ice.js 提供了这些 API 的异步版本,如 getBoundingClientRect。 ice.js const el = document.getElementById('#inner'); const res = await el.getBoundingClientRect(); console.log(res);","s":"不能同步获取元素尺寸","u":"/docs/guide/miniapp/use-html","h":"#不能同步获取元素尺寸","p":729},{"i":747,"t":"canvas、video、audio 等元素在 H5 端可以直接调用 HTMLElement 上的方法。 h5 const el = document.getElementById('myVideo'); el.play(); 但是在 ice.js 小程序中,要调用组件上的原生方法,必须先创建对应的 Context: 小程序 // 配合 Uni API 提供的能力 import { createVideoContext } from '@uni/video'; const videoContext = createVideoContext('myVideo'); videoContext.play();","s":"DOM API 差异","u":"/docs/guide/miniapp/use-html","h":"#dom-api-差异","p":729},{"i":749,"t":"在 H5 中,不设置 的宽高时,浏览器会使用原图的宽高作为标签的宽高。 而在小程序中,不设置 的宽高时,会使用默认样式中规定的宽高。 解决办法:用户在使用 时必须显式设置它的宽高。","s":" 图片尺寸问题","u":"/docs/guide/miniapp/use-html","h":"#img-图片尺寸问题","p":729},{"i":751,"t":"ice.js 使用 React Reconciler 实现了自定义的渲染器,相对于 ReactDOM 来说功能十分精简。 因此部分基于 ReactDOM 实现的 H5 组件会无法使用,如:unstable_renderSubtreeIntoContainer。","s":"不支持 ReactDOM 部分 API","u":"/docs/guide/miniapp/use-html","h":"#不支持-reactdom-部分-api","p":729},{"i":754,"t":"暂不支持使用 SVG。","s":"不支持使用 SVG","u":"/docs/guide/miniapp/use-html","h":"#不支持使用-svg","p":729},{"i":756,"t":"ice.js 底层基于 build-scripts 插件系统,在提供丰富的框架能力的基础上也可以让开发者可以在框架能力不满足诉求的情况下进行定制: 定制修改框架构建配置 支持在整个构建生命周期定制行为,比如项目启动前拉取某些资源 支持扩展运行时能力,比如统一为路由组件增加鉴权逻辑(添加高阶组件)","s":"开发插件","u":"/docs/guide/plugins/plugin-dev","h":"","p":755},{"i":758,"t":"ice.js 插件本质是一个 JS 模块,官方推荐以 TS 进行开发以获得良好的类型提示: import type { Plugin } from '@ice/app/types'; interface PluginOptions { id: string; } const plugin: Plugin = (options) => ({ // name 可选,插件名称 name: 'plugin-name', // setup 必选,用于定制工程构建配置 setup: (pluginAPI) => { console.log(options.id) }, // runtime 可选,用于定制运行时配置 runtime: '/path/to/runtime', }); export default plugin;","s":"插件规范","u":"/docs/guide/plugins/plugin-dev","h":"#插件规范","p":755},{"i":760,"t":"推荐在项目根目录下新建一个插件目录,目录名比如叫 my-plugin。然后在该目录下新建以下文件: index.ts:必选,插件入口,用于定制工程构建能力 runtime.tsx:可选,用于定制运行时能力 my-plugin/index.ts my-plugin/runtime.tsx import * as path from 'path'; import type { Plugin } from '@ice/app/types'; const plugin: Plugin = () => ({ name: 'my-plugin', setup: (pluginAPI) => { console.log(pluginAPI); }, // runtime 为可选,用于定制运行时配置。runtime 的值必须是一个绝对路径 runtime: path.join(__dirname, 'runtime.tsx'), }); export default plugin; import type { RuntimePlugin } from '@ice/runtime/types'; const runtime: RuntimePlugin = async ({ appContext }) => { console.log(appContext); } export default runtime; 开发完成后,我们需要把插件添加到应用的构建配置中: ice.config.mts import { defineConfig } from '@ice/app'; + import myPlugin from './my-plugin/index.js'; export default defineConfig(() => ({ plugins: [ + myPlugin(), ], }))","s":"开发本地插件","u":"/docs/guide/plugins/plugin-dev","h":"#开发本地插件","p":755},{"i":762,"t":"提示 插件模板可参考:https://github.com/ice-lab/icejs-plugin-template 假设现在需要开发一个插件(包括修改工程配置和运行时配置),并发布到 npm 上。插件的文件目录如下: /xxx/@ice/my-plugin ├── package.json ├── src | ├── index.ts // 插件入口 | └── runtime.tsx // 定制运行时能力 推荐以 ES Module 的方式编写插件,并使用 exports 字段导出插件入口和运行时配置: package.json { \"name\": \"@ice/my-plugin\", \"type\": \"module\", \"exports\": { \".\": { \"types\": \"./esm/index.d.ts\", \"import\": \"./esm/index.js\", \"default\": \"./esm/index.js\" }, \"./runtime\": { \"types\": \"./esm/runtime/index.d.ts\", \"import\": \"./esm/runtime/index.js\", \"default\": \"./esm/runtime/index.js\" } }, \"main\": \"./esm/index.js\", \"types\": \"./esm/index.d.ts\", \"files\": [ \"esm\", \"!esm/**/*.map\" ], } src/index.ts src/runtime.tsx import type { Plugin } from '@ice/app/types'; const plugin: Plugin = () => ({ name: '@ice/my-plugin', setup: (pluginAPI) => {}, // runtime 的值需要配置为「模块引入路径」,对应上面 package.json 中 exports 里的 \"./runtime\" 导出 runtime: '@ice/my-plugin/runtime', }); export default plugin; import type { RuntimePlugin } from '@ice/runtime/types'; const runtime: RuntimePlugin = async ({ appContext }) => { console.log(appContext); } export default runtime; 把插件发布到 npm 后,需要把插件添加到构建配置中: ice.config.mts import { defineConfig } from '@ice/app'; + import myPlugin from '@ice/my-plugin'; export default defineConfig(() => ({ plugins: [ + myPlugin(), ], }));","s":"发布插件到 npm","u":"/docs/guide/plugins/plugin-dev","h":"#发布插件到-npm","p":755},{"i":764,"t":"框架为定制工程能力提供了插件 API,方便开发者扩展和自定义能力。","s":"工程能力定制","u":"/docs/guide/plugins/plugin-dev","h":"#工程能力定制","p":755},{"i":766,"t":"context 包含构建时的上下文信息: command 当前运行命令,start/build/test commandArgs script 命令执行时接受到的参数 rootDir 项目根目录 userConfig 用户在构建配置文件 ice.config.mts 中配置的内容 pkg 项目 package.json 中的内容 webpack webpack 实例,工程不建议安装多个 webpack 版本,可以从 context.webpack 上获取内置的 webpack 实例 const plugin = () => ({ setup: ({ context }) => { console.log('context: ', context); }, }) export default plugin;","s":"context","u":"/docs/guide/plugins/plugin-dev","h":"#context","p":755},{"i":768,"t":"通过 onGetConfig 获取框架的工程配置,并可通过该 API 对配置进行自定义修改: const plugin = () => ({ name: 'plugin-test', setup: ({ onGetConfig }) => { onGetConfig((config) => { config.alias = { '@': './src/', }; }); }, }); export default plugin; 为了简化开发者的配置,通过 onGetConfig 修改配置项是基于底层工程工具的抽象,包括以下配置项: mode 配置 'none' | 'development' | 'production' 以确定构建环境 entry 配置应用入口文件 define 注入到运行时的变量 experimental 实验性能力,同 webpack.experiments outputDir 构建输出目录 externals 同 webpack.externals outputAssetsPath 静态资源输出目录,可以分别配置 js 和 css sourceMap 源码调试映射,同 webpack.devtool publicPath 同 webpack.output.publicPath alias 同 webpack.resolve.alias hash 配置资源输出文件名是否带 hash transformPlugins unplugin 标准 插件,该插件对于服务端和浏览器端产物同时生效 transforms 配置源码转化,支持对源码进行定制转化 middlewares development 开发阶段配置中间件 proxy 配置代理服务 compileIncludes 配置需要进行编译的三方依赖 minify 是否进行压缩 minimizerOptions 压缩配置项,基于 minify-options analyzer 开启产物分析 https 配置 https 服务 port 配置调试端口 cacheDir 配置构建缓存目录 tsCheckerOptions ts 类型检查 配置项 eslintOptions eslint 检查 配置项 splitChunks 是否分包 assetsManifest 是否生成资源 manifest devServer 配置 webpack dev server 配置 fastRefresh 是否开启 fast-refresh 能力 configureWebpack 如果上述快捷配置项不满足定制需求,可以通过 configureWebpack 进行自定义 export default () => ({ name: 'plugin-test', setup: ({ onGetConfig }) => { onGetConfig((config) => { config.configureWebpack.push((webpackConfig) => { webpackConfig.mode = 'development'; return webpackConfig; }) }); }, })","s":"onGetConfig","u":"/docs/guide/plugins/plugin-dev","h":"#ongetconfig","p":755},{"i":770,"t":"通过 onHook 监听命令构建时事件,onHook 注册的函数执行完成后才会执行后续操作,可以用于在命令运行中途插入插件想做的操作: export default () => ({ name: 'plugin-test', setup: ({ onHook }) => { onHook('before.build.load', () => { // do something before build }); onHook('after.build.compile', (stats) => { // do something after build }); }, }) 目前支持的生命周期如下: before.start.run 构建命令 start 执行前,该阶段可以获取各项构建任务最终配置 before.build.run 构建命令 build 执行前,同 start after.start.compile 构建命令 start 执行结束,该阶段可以获取构建的执行结果 after.build.compile 构建命令 build 执行结束,同 start after.start.devServer dev 阶段的 server 服务启动后,该阶段可以获取相关 dev server 启动的 url 等信息 每个周期可以获取的具体的参数类型可以参考 TS 类型。","s":"onHook","u":"/docs/guide/plugins/plugin-dev","h":"#onhook","p":755},{"i":772,"t":"为用户配置文件 ice.config.mts 中添加自定义字段: export default () => ({ name: 'plugin-test', setup: ({ registerUserConfig }) => { registerUserConfig({ name: 'custom-key', validation: 'boolean', // 可选,支持类型有 string, number, array, object, boolean setConfig: () => { // 该字段对于配置的影响,通过 onGetConfig 设置 }, }); }, });","s":"registerUserConfig","u":"/docs/guide/plugins/plugin-dev","h":"#registeruserconfig","p":755},{"i":774,"t":"为命令行启动添加自定义参数: export default () => ({ name: 'plugin-test', setup: ({ registerCliOption }) => { registerCliOption({ name: 'custom-option', commands: ['start'], // 支持的扩展的命令 setConfig: () => { // 该字段对于配置的影响,通过 onGetConfig 设置 }, }); }, });","s":"registerCliOption","u":"/docs/guide/plugins/plugin-dev","h":"#registerclioption","p":755},{"i":776,"t":"修改用户配置: export default () => ({ name: 'plugin-test', setup: ({ modifyUserConfig }) => { modifyUserConfig('key', 'value'); // key, value 分别为用户配置文件键值对 // 例如:把 ssr 配置项修改为 true,以开启 SSR modifyUserConfig('ssr', true); }, });","s":"modifyUserConfig","u":"/docs/guide/plugins/plugin-dev","h":"#modifyuserconfig","p":755},{"i":778,"t":"添加自定义任务: export default () => ({ name: 'plugin-test', setup: ({ registerTask }) => { const config = { sourceMap: true, }; registerTask('task name', config); // name: Task名, config: 对于任务配置同 onGetConfig 配置项 }, });","s":"registerTask","u":"/docs/guide/plugins/plugin-dev","h":"#registertask","p":755},{"i":780,"t":"获取所有任务名称,内置主要任务名为 web: export default () => ({ name: 'plugin-test', setup: ({ getAllTask }) => { const tasks = getAllTask(); console.log(tasks); }, });","s":"getAllTask","u":"/docs/guide/plugins/plugin-dev","h":"#getalltask","p":755},{"i":782,"t":"支持生成或者修改模版,支持的 API 如下: addRenderTemplate​ 添加模块生成目录: export default () => ({ name: 'plugin-test', setup: ({ generator }) => { generator.addRenderTemplate({ template: '/path/to/template/dir', targetDir: 'router', }, {}); }, }); addRenderFile​ 添加模块生成文件: export default () => ({ name: 'plugin-test', setup: ({ generator }) => { generator.addRenderFile('/path/to/file.ts.ejs', 'folder/file.ts', {}); }, }); addExport​ 向 ice.js 里注册模块,实现 import { request } from 'ice'; 的能力: export default () => ({ name: 'plugin-test', setup: ({ generator }) => { generator.addExport({ source: './request/request', exportName: 'request', }); }, }); addExportTypes​ 向 ice.js 里注册类型,实现 import type { Request } from 'ice'; 的能力: export default () => ({ name: 'plugin-test', setup: ({ generator }) => { generator.addExportTypes({ source: './request/types', specifier: '{ Request }', exportName: 'Request', }); }, }); addDataLoaderImport​ 向 ice.js 里注册 data-loader 的自定义发送方法,实现 import { customFetch as fetcher } from 'custom-fetch'; 的能力: export default () => ({ name: 'plugin-test', setup: ({ generator }) => { generator.addDataLoaderImport({ source: 'custom-fetch', alias: { customFetch: 'fetcher', }, specifier: ['customFetch'], }); }, });","s":"generator","u":"/docs/guide/plugins/plugin-dev","h":"#generator","p":755},{"i":784,"t":"支持统一的 watch 服务 addEvent​ 添加 watch 事件: export default () => ({ name: 'plugin-test', setup: ({ watch }) => { watch.addEvent([ /src\\/global.(scss|less|css)/, (event: string, filePath: string) => {}, 'cssWatch', ]); }, }); removeEvent​ 移除 watch 事件: export default () => ({ name: 'plugin-test', setup: ({ watch }) => { watch.removeEvent('cssWatch'); }, });","s":"watch","u":"/docs/guide/plugins/plugin-dev","h":"#watch","p":755},{"i":786,"t":"插件运行时可以定制框架的运行时能力: import type { Plugin } from '@ice/app/types'; const plugin: Plugin = () => ({ name: 'plugin-name', runtime: '/absolute/path/to/runtime', }); export default plugin; 框架运行时指向的文件地址为一个 JS 模块,源码阶段推荐用 TS 进行开发: import type { RuntimePlugin } from '@ice/runtime/types'; const runtime: RuntimePlugin = () => {}; export default runtime;","s":"运行时能力定制","u":"/docs/guide/plugins/plugin-dev","h":"#运行时能力定制","p":755},{"i":788,"t":"appContext 上包含框架相关上下文配置信息,主要包括: appConfig:应用配置,详细内容可以参考 应用入口 assetsManifest:应用资讯配置信息 routesData:路由信息 const runtime = ({ appContext }) => { console.log(appContext); } export default runtime;","s":"appContext","u":"/docs/guide/plugins/plugin-dev","h":"#appcontext","p":755},{"i":790,"t":"在应用最外层添加全局 Provider: export default ({ addProvider }) => { function Provider({ children }) { return (
{children}
) } const StoreProvider = ({ children }) => { return {children}; }; addProvider(StoreProvider); };","s":"addProvider","u":"/docs/guide/plugins/plugin-dev","h":"#addprovider","p":755},{"i":792,"t":"为所有路由组件添加一层包裹: import { useEffect } from 'react'; export default ({ addWrapper }) => { const PageWrapper = ({ children }) => { useEffect(() => { document.title = 'Hello ICE'; }, []) return <>{children} } addWrapper(PageWrapper); // 如果希望同样为 layout 组件添加可以添加第二个参数 addWrapper(PageWrapper, true); }; setAppRouter​ 定制 Router 渲染方式 export default ({ setAppRouter }) => { // setAppRouter 入参为路由数组 const renderRouter = (routes) => () => { return
route
; }; setAppRouter(renderRouter); };","s":"addWrapper","u":"/docs/guide/plugins/plugin-dev","h":"#addwrapper","p":755},{"i":794,"t":"自定义渲染,默认使用 react-dom 进行渲染 import ReactDOM from 'react-dom'; export default ({ setRender }) => { // App: React 组件 // appMountNode: App 挂载点 const DOMRender = (appMountNode, App) => { ReactDOM.render(, appMountNode); }; setRender(DOMRender); };","s":"setRender","u":"/docs/guide/plugins/plugin-dev","h":"#setrender","p":755},{"i":796,"t":"获取页面组件的数据,一般配合 addWrapper 进行使用: import { useEffect } from 'react'; export default ({ addWrapper, useData }) => { const PageWrapper = (PageComponent) => { const pageData = useData(); console.log(pageData); return PageComponent; }; addWrapper(PageWrapper); };","s":"useData","u":"/docs/guide/plugins/plugin-dev","h":"#usedata","p":755},{"i":798,"t":"获取页面组件的配置,一般配合 addWrapper 进行使用: import { useEffect } from 'react'; export default ({ addWrapper, useConfig }) => { const PageWrapper = (PageComponent) => { const pageConfig = useConfig(); console.log(pageConfig); return PageComponent; }; addWrapper(PageWrapper); };","s":"useConfig","u":"/docs/guide/plugins/plugin-dev","h":"#useconfig","p":755},{"i":801,"t":"提供小程序的开发能力。","s":"@ice/plugin-miniapp","u":"/docs/guide/plugins/plugin-list","h":"#iceplugin-miniapp","p":799},{"i":803,"t":"提供权限管理方案。","s":"@ice/plugin-auth","u":"/docs/guide/plugins/plugin-list","h":"#iceplugin-auth","p":799},{"i":805,"t":"提供基于单向数据流的数据管理方案。","s":"@ice/plugin-store","u":"/docs/guide/plugins/plugin-list","h":"#iceplugin-store","p":799},{"i":807,"t":"提供将 CSS 中的网络资源本地化的能力。","s":"@ice/plugin-css-assets-local","u":"/docs/guide/plugins/plugin-list","h":"#iceplugin-css-assets-local","p":799},{"i":809,"t":"提供 antd 组件样式按需加载及主题配置能力。","s":"@ice/plugin-antd","u":"/docs/guide/plugins/plugin-list","h":"#iceplugin-antd","p":799},{"i":811,"t":"提供 fusion 组件样式按需加载及主题配置能力。","s":"@ice/plugin-fusion","u":"/docs/guide/plugins/plugin-list","h":"#iceplugin-fusion","p":799},{"i":813,"t":"@TODO.","s":"实战教程","u":"/docs/guide/practice","h":"","p":812},{"i":815,"t":"需要保证已安装 Node.js,并确保 Node 版本是 14 或以上。详见 开发环境。","s":"快速开始","u":"/docs/guide/start","h":"","p":814},{"i":817,"t":"在终端执行以下命令: $ npm create ice ice-app 然后按照提示操作即可! 或者你通过附加的命令行选项指定使用的模板: $ npm create ice ice-app --template @ice/lite-scaffold 看到如下信息说明项目创建成功: ✔ download npm tarball successfully. info clean package.json... Initialize project successfully. Starts the development server. cd ice-app npm install npm start","s":"创建应用","u":"/docs/guide/start","h":"#创建应用","p":814},{"i":819,"t":"首先需要安装项目依赖: # 进入项目目录 $ cd ice-app # 安装依赖 $ npm install 安装依赖完成以后,执行以下命令以启动调试: # 启动调试 $ npm start 此时会自动打开浏览器窗口并访问 http://localhost:3000,这时会看到默认页面。","s":"本地调试","u":"/docs/guide/start","h":"#本地调试","p":814},{"i":821,"t":"执行以下命令以构建生产环境产物: # 构建 $ npm build 产物默认生成到 build 目录下: ./build ├── css | └── index.css ├── index.html └── js ├── framework.js ├── index.js └── main.js 这时你可以把 build 目录部署到服务器上。","s":"部署发布","u":"/docs/guide/start","h":"#部署发布","p":814},{"i":823,"t":"通过小程序专用的模板创建项目并安装依赖: $ npm create ice ice-app --template @ice/miniapp-scaffold $ cd ice-app $ npm install 可以看到项目的 package.json 中已经配置好命令: package.json \"scripts\": { \"start\": \"ice start\", \"start:wechat\": \"ice start --target wechat-miniprogram\", \"start:ali\": \"ice start --target ali-miniapp\", \"build\": \"ice build\", \"build:wechat\": \"ice build --target wechat-miniprogram\", \"build:ali\": \"ice start --target ali-miniapp\" }","s":"小程序应用","u":"/docs/guide/start","h":"#小程序应用","p":814},{"i":825,"t":"当需要开发调试小程序时,执行对应的命令即可。例如,需要开发调试微信小程序时,执行 $ npm run start:wechat 编译完成后,命令行会给出相应提示,提醒开发者使用对应的小程序开发者工具打开编译产物目录进行调试预览: Use wechat-miniprogram developer tools to open the following folder: ~/miniapp-project/build 编译完成后,命令行会给出相应提示,提醒开发者使用对应的小程序开发者工具打开编译产物目录进行调试预览: Use wechat-miniprogram developer tools to open the following folder: ~/miniapp-project/build","s":"小程序调试","u":"/docs/guide/start","h":"#小程序调试","p":814},{"i":827,"t":"仍以微信小程序为例,执行以下命令以构建微信小程序生产环境产物: $ npm run build:wechat 产物同样默认生成到 build 目录下。这时你可以使用对应的小程序开发者工具打开 build 目录并将其上传发布。","s":"小程序部署发布","u":"/docs/guide/start","h":"#小程序部署发布","p":814}],"index":{"version":"2.3.9","fields":["t"],"fieldVectors":[["t/2",[0,4.584,1,4.584,2,0.824,3,5.275,4,3.855,5,2.518,6,4.537,7,4.994,8,6.219,9,2.579,10,6.629,11,2.573,12,1.376,13,3.616,14,2.344,15,2.194,16,1.975,17,3.69,18,3.712,19,3.855,20,3.081,21,3.616,22,3.061,23,5.275,24,4.994,25,3.418,26,4.285,27,5.275,28,3.948,29,4.994,30,4.584,31,3.616,32,5.275,33,5.275]],["t/4",[2,0.308,4,1.913,5,1.249,6,2.711,9,1.541,10,2.478,11,1.277,12,0.683,14,2.652,15,1.088,16,0.98,17,1.831,18,3.081,19,1.913,20,2.299,21,1.794,22,1.519,23,2.617,24,2.478,27,4.183,29,3.961,31,4.09,34,2.196,35,2.367,36,3.086,37,1.263,38,1.727,39,1.87,40,2.926,41,4.48,42,3.086,43,3.086,44,4.383,45,2.478,46,2.367,47,1.198,48,4.122,49,1.497,50,1.639,51,2.76,52,1.249,53,1.368,54,2.617,55,1.667,56,0.818,57,1.959,58,1.368,59,1.831,60,1.794,61,2.803,62,3.094,63,3.509,64,1.613,65,1.564,66,1.797,67,1.457,68,1.394,69,1.87,70,2.478,71,2.009,72,3.086,73,1.384,74,1.186,75,2.065,76,3.086,77,2.803,78,1.528,79,3.254,80,1.727,81,1.759,82,2.275,83,2.478,84,3.22,85,2.36,86,2.367,87,3.086,88,3.566,89,1.336,90,2.367,91,2.009,92,5.009,93,3.031,94,1.109,95,1.564,96,2.711,97,2.478,98,4.932,99,3.398,100,3.086,101,2.803,102,3.086,103,2.196,104,2.989,105,1.913,106,2.009,107,1.794,108,1.915,109,1.541,110,3.086,111,2.803,112,1.727,113,2.803,114,2.803,115,3.086]],["t/7",[2,0.484,4,3.005,6,2.664,11,2.005,12,1.073,14,1.827,15,2.866,16,1.54,18,1.942,19,3.005,20,3.649,21,2.818,22,2.386,23,4.111,24,3.893,30,3.573,34,3.449,40,2.876,44,4.945,45,3.893,46,3.718,47,1.882,50,2.575,51,2.713,60,2.818,62,2.497,66,1.238,68,1.377,69,4.213,93,2.386,108,2.699,116,4.123,117,4.848,118,6.95,119,1.593,120,4.404,121,3.573,122,2.289,123,4.848,124,1.043,125,4.848,126,3.718,127,3.573,128,3.893,129,6.313,130,5.894,131,4.848,132,4.404,133,4.308,134,1.294,135,4.848,136,4.848,137,3.573,138,3.718,139,4.848,140,3.573,141,2.764,142,4.404]],["t/9",[2,0.955,7,3.656,12,2.118,13,5.328,14,1.716,15,1.606,20,1.699,25,3.65,65,2.307,68,0.902,73,2.042,79,1.926,84,3.471,93,3.268,108,2.579,143,3.656,144,3.137,145,2.759,146,3.137,147,3.417,148,5.094,149,2.716,150,3.356,151,3.861,152,3.492,153,2.075,154,2.759,155,2.759,156,3.268,157,3.046,158,1.716,159,1.354,160,4.552,161,4.552,162,2.964,163,2.502,164,4.552,165,3.861,166,2.89,167,2.278,168,4.552,169,4.552,170,4.552,171,2.822,172,1.434,173,1.926,174,4.552,175,0.96,176,2.418,177,2.759,178,4.725,179,2.646,180,3.137,181,2.502,182,4.552,183,4.552,184,4.552,185,3.492]],["t/11",[6,5.136,18,2.533,19,5.175,25,3.476,32,5.364,33,5.364,73,3.745,134,2.229,149,2.191,186,6.324,187,6.324,188,5.745,189,3.677,190,8.347,191,5.079,192,6.324,193,3.205,194,4.662,195,3.476,196,5.745,197,5.745,198,5.745,199,4.118,200,5.745,201,4.118,202,6.324,203,6.324,204,5.745,205,6.324,206,3.606,207,4.232,208,4.662,209,3.205]],["t/13",[0,5.5,1,5.5,6,5.101,15,2.632,22,3.672,34,5.308,45,5.992,46,5.723,48,4.992,50,3.964,51,4.175,65,3.781,68,1.478,85,3.571,103,5.308,126,5.723,191,5.992,210,7.461,211,6.778,212,6.778]],["t/15",[0,3.902,1,3.902,2,0.738,5,3.737,9,1.654,11,2.19,12,1.637,29,5.94,56,1.403,63,5.263,66,1.352,68,1.689,73,2.375,79,2.239,92,3.447,94,1.902,119,2.43,122,2.5,133,3.282,134,1.414,147,2.724,159,1.575,171,3.282,172,2.33,173,2.239,175,1.559,176,2.812,194,3.902,213,6.274,214,3.542,215,2.683,216,4.061,217,4.809,218,2.812,219,4.809,220,2.265,221,3.902,222,4.49,223,5.294,224,5.294,225,3.361,226,2.375,227,1.1,228,4.251,229,5.294,230,3.767,231,4.061,232,4.251,233,4.49]],["t/17",[0,5.446,1,5.446,5,2.99,9,2.308,11,3.056,18,2.959,65,3.744,68,1.463,78,2.288,105,4.58,106,4.81,175,1.557,178,5.256,181,4.06,193,3.744,209,3.744,234,6.265,235,6.171,236,3.801,237,6.711]],["t/19",[0,5.797,1,5.797,10,6.315,11,2.393,18,2.317,20,2.159,24,6.315,27,4.907,28,3.673,29,4.646,31,5.194,32,4.907,33,4.907,49,4.335,66,1.478,82,5.797,85,2.769,126,6.033,175,1.22,236,2.977,238,7.144,239,3.673,240,4.646,241,5.786,242,5.786,243,7.864,244,5.786,245,5.786,246,5.256,247,5.786,248,5.786,249,3.871,250,3.987,251,3.871,252,5.786,253,3.587,254,5.786,255,4.907]],["t/21",[2,0.809,231,6.22,233,6.877,256,5.769,257,3.551,258,5.977,259,4.109,260,7.366,261,6.512,262,8.109,263,8.871,264,8.109]],["t/23",[2,0.336,12,1.169,15,1.186,18,1.347,21,1.956,26,2.318,37,3.283,49,2.562,56,0.892,62,1.209,65,2.676,66,0.859,68,0.666,78,1.617,85,1.61,94,1.209,96,1.849,106,5.544,108,2.531,116,1.996,119,1.105,122,4.67,134,0.898,137,2.48,145,2.039,158,1.99,163,2.902,167,1.534,171,3.273,172,1.06,175,1.556,181,1.849,214,2.251,216,2.58,227,1.355,231,2.58,236,2.717,255,2.853,265,1.655,266,2.701,267,4.664,268,4.334,269,2.48,270,2.701,271,1.105,272,0.784,273,4.24,274,2.853,275,2.701,276,3.056,277,3.056,278,0.977,279,2.251,280,4.382,281,3.056,282,2.58,283,3.056,284,2.701,285,3.056,286,1.956,287,1.918,288,1.996,289,5.664,290,5.664,291,3.056,292,1.882,293,2.085,294,2.48,295,2.58,296,2.853,297,1.359,298,3.2,299,1.758,300,3.056,301,1.817,302,1.391,303,2.48,304,3.056,305,1.423,306,2.853,307,2.48,308,2.58,309,1.243]],["t/25",[2,1.051,62,3.121,74,2.584,106,6.624,227,1.397,271,3.162,272,1.289,310,3.407,311,3.908,312,2.982,313,3.517,314,2.844,315,3.092,316,1.743,317,1.033,318,1.177,319,5.399,320,2.559]],["t/28",[78,2.079,106,5.458,267,4.873,268,4.528,280,4.125,321,2.534,322,3.958,323,3.255,324,3.586,325,3.958]],["t/30",[293,5.377,321,2.622,322,4.095,323,3.368,324,3.711,326,4.463,327,8.673]],["t/32",[293,5.377,321,2.622,322,4.095,323,3.368,324,3.711,326,4.463,328,8.673]],["t/34",[2,0.936,106,6.745,124,1.807,271,2.758,272,1.246,293,3.954,312,2.19,313,2.582,315,2.988,316,1.653,317,0.98,318,1.117,321,1.929,323,2.477,329,4.538,330,3.362,331,6.676,332,4.395,333,2.698,334,8.394,335,6.188,336,6.378,337,6.378]],["t/37",[2,0.631,12,1.847,14,2.384,16,2.651,37,3.416,49,3.069,75,4.232,81,3.606,112,3.539,119,2.743,153,1.976,154,3.833,167,2.715,172,1.992,176,3.36,199,4.118,251,4.232,338,5.745,339,6.324,340,6.324,341,4.662,342,3.254,343,2.616,344,5.364,345,5.079,346,6.324,347,4.118,348,3.606,349,5.079,350,5.079,351,3.921,352,4.358,353,3.36]],["t/39",[5,2.604,15,2.269,68,1.274,75,5.648,78,2.094,159,1.914,167,1.869,172,2.026,272,1.253,284,5.166,317,0.988,318,1.126,347,4.189,353,3.418,354,4.742,355,5.844,356,5.166,357,7.669,358,8.442,359,6.433,360,10.003,361,5.456,362,1.631,363,3.899,364,1.945,365,2.311,366,1.757,367,3.612]],["t/41",[2,0.819,53,2.734,84,4.291,85,2.952,109,4.099,112,3.452,119,2.027,124,1.327,153,1.927,159,1.835,172,1.943,176,3.277,272,0.915,294,4.547,312,2.117,313,2.497,315,2.922,316,1.599,317,0.948,318,1.08,325,2.912,347,4.016,349,4.953,351,3.824,354,6.052,368,6.593,369,4.127,370,5.603,371,4.953,372,4.547,373,5.231,374,6.168,375,4.25,376,7.458,377,2.196]],["t/43",[2,0.599,9,1.241,12,0.879,14,1.497,28,3.81,44,2.826,51,4.843,52,1.608,53,1.76,62,1.427,66,1.014,78,0.985,85,2.872,86,3.047,88,3.041,89,1.719,93,1.954,95,2.013,121,2.928,148,3.047,149,1.376,153,2.704,156,1.954,167,1.154,208,2.928,209,2.013,225,3.81,227,1.799,265,1.954,271,1.305,278,1.744,303,2.928,305,1.68,321,1.814,369,2.657,378,3.608,379,3.608,380,3.972,381,2.223,382,3.972,383,3.189,384,3.972,385,3.189,386,2.928,387,3.608,388,5.452,389,6.554,390,3.72,391,2.521,392,3.608,393,3.189,394,3.972,395,2.309,396,3.972,397,3.368,398,4.025,399,1.954,400,3.189,401,3.908,402,3.561,403,3.368,404,3.608,405,4.292,406,2.183,407,2.928,408,2.521,409,2.586,410,2.309,411,3.972]],["t/45",[2,1.057,62,3.158,74,2.632,227,1.423,271,3.19,272,1.304,310,3.469,311,3.98,312,3.017,313,3.558,314,2.896,315,3.129,316,1.775,317,1.052,318,1.199,390,6.35]],["t/47",[2,0.475,6,2.614,28,3.019,51,2.661,52,3.254,53,2.107,57,4.352,66,1.214,134,1.27,153,1.485,166,3.019,225,3.019,226,2.133,227,0.988,271,1.562,272,0.706,282,3.647,297,1.764,316,1.777,317,0.73,320,1.81,322,2.245,324,2.034,330,1.905,362,1.738,366,1.299,389,6.021,390,4.982,395,2.764,412,2.967,413,2.821,414,4.033,415,4.755,416,3.505,417,4.32,418,3.383,419,3.473,420,2.635,421,2.374,422,3.985,423,3.182,424,3.276,425,3.383,426,2.307,427,4.32,428,5.813,429,3.505,430,5.813,431,2.16,432,3.819,433,2.485,434,3.276,435,2.307,436,2.569,437,2.821,438,1.846,439,2.133,440,3.383,441,3.819]],["t/49",[2,0.714,78,1.251,124,1.086,147,2.595,153,2.822,159,1.501,227,1.048,268,3.862,272,1.061,278,2.077,297,1.84,299,2.636,317,1.388,318,1.252,362,1.813,364,2.162,365,2.569,366,1.953,367,3.866,369,3.375,377,2.545,389,5.601,390,4.432,398,3.57,399,3.518,416,3.718,440,5.087,441,5.741,442,4.927,443,5.044,444,1.939,445,2.432,446,5.884,447,3.376]],["t/51",[25,3.833,28,4.427,52,3.6,66,1.781,68,1.762,73,3.129,78,2.206,85,3.337,112,3.903,180,4.805,227,1.849,369,4.666,389,6.071,400,5.6,412,3.018,448,4.666,449,6.335,450,4.805,451,3.705,452,5.6,453,5.141,454,5.349]],["t/53",[2,0.745,5,3.757,52,3.02,99,6.395,272,1.377,362,1.892,364,2.256,366,2.038,389,4.625,390,5.753,398,3.725,439,3.347,447,3.523,452,7.453,455,4.737,456,5.141]],["t/55",[2,0.611,5,3.305,52,2.476,99,5.626,119,2.01,159,1.82,180,5.626,272,1.212,320,2.328,324,2.617,362,1.551,364,2.469,365,2.198,366,1.671,389,5.062,390,5.697,398,3.054,431,2.779,439,2.744,440,4.352,441,4.913,447,2.888,449,5.557,452,6.557,456,4.215,457,7.417,458,5.557,459,8.165,460,6.775,461,4.352]],["t/57",[2,0.484,5,2.813,28,3.078,30,3.573,58,2.148,68,0.96,73,2.175,78,1.202,93,2.386,156,2.386,175,1.022,225,3.078,235,3.244,265,2.386,272,1.206,278,2.019,317,0.745,318,0.849,333,2.05,362,1.762,363,2.938,364,2.101,366,2.219,389,6.061,390,6.061,416,3.573,431,2.202,450,3.34,451,2.575,452,5.581,455,3.078,460,5.989,462,4.848,463,2.289,464,3.34,465,3.893,466,4.404,467,8.124,468,5.123,469,8.124,470,5.581,471,6.95,472,2.289,473,3.157,474,2.534,475,4.848,476,4.111]],["t/59",[2,0.631,56,1.676,78,1.569,119,2.078,124,1.361,153,1.976,271,2.078,272,0.938,278,1.838,297,1.627,316,1.639,317,0.972,320,2.407,362,1.604,366,2.28,367,3.571,389,5.175,390,5.175,401,4.118,428,5.364,430,7.079,431,2.873,432,5.079,433,3.306,440,4.5,445,2.152,447,2.986,463,2.986,477,4.851,478,6.324,479,7.583,480,2.706,481,2.706]],["t/61",[482,7.487]],["t/63",[14,2.467,15,2.309,18,3.42,20,2.443,37,2.679,49,3.176,62,2.352,78,1.624,109,3.268,167,1.902,173,2.769,176,4.536,189,3.806,226,2.937,227,1.361,278,2.481,309,3.156,369,4.38,399,3.221,483,3.968,484,6.546,485,5.257,486,7.241,487,6.546,488,6.546,489,4.657,490,2.65,491,5.947,492,5.552,493,3.806]],["t/65",[2,1.045,37,3.514,62,3.085,74,2.539,227,1.373,271,3.135,272,1.274,310,3.347,311,3.839,312,2.948,313,3.476,314,2.793,315,3.057,316,1.712,317,1.015,318,1.156,494,5.746,495,5.095,496,8.587]],["t/68",[59,5.087,321,2.592,323,3.329,330,3.434,494,5.737,497,7.789,498,7.789,499,6.885]],["t/70",[37,3.508,309,3.169,321,2.592,323,3.329,330,3.434,497,7.789,500,6.885,501,4.985]],["t/72",[17,4.973,62,3.011,278,2.435,321,2.534,322,3.958,323,3.255,324,3.586,451,4.453,502,5.608,503,5.196]],["t/74",[6,3.833,12,1.543,15,3.137,18,2.793,37,2.854,49,3.384,59,4.138,73,3.99,74,2.681,79,2.95,95,4.507,108,2.708,134,1.862,159,2.075,167,2.026,179,4.054,485,5.6,489,4.962,504,3.432,505,3.482,506,3.903,507,3.168,508,3.534,509,5.349,510,5.349]],["t/76",[9,2.533,18,3.248,59,4.811,94,2.913,158,3.056,159,2.413,172,2.554,175,1.709,305,3.43,489,5.769,511,8.109,512,7.366,513,7.366]],["t/78",[47,2.542,66,2.181,68,1.297,133,4.058,145,3.968,158,2.467,159,1.948,163,3.598,250,4.511,341,4.825,343,2.708,399,3.221,413,3.884,485,5.257,490,2.65,505,3.268,508,3.317,510,5.021,514,4.058,515,6.546,516,5.947,517,3.968,518,4.657,519,3.884,520,6.546,521,6.546,522,6.546,523,5.552,524,4.657,525,6.546,526,6.546,527,6.546,528,3.806,529,3.806]],["t/80",[15,2.123,47,2.337,59,3.571,68,1.192,124,1.295,220,2.575,305,2.546,309,2.225,314,2.546,399,2.962,413,3.571,444,2.314,505,5.073,507,4.141,508,3.05,509,6.196,528,3.499,530,5.105,531,8.077,532,4.027,533,4.617,534,5.105,535,9.742,536,4.617,537,4.437,538,5.468,539,6.019,540,7.337,541,6.019,542,6.019,543,4.833,544,8.077]],["t/82",[2,0.885,12,1.261,15,2.01,18,2.282,47,2.212,63,4.054,73,2.556,74,2.19,108,3.022,119,1.872,173,2.41,214,3.812,258,4.2,286,3.312,298,3.453,299,2.978,310,2.887,377,2.028,505,3.886,517,3.453,532,3.812,538,5.176,545,10.536,546,5.068,547,3.078,548,3.617,549,7.07,550,4.576,551,3.926,552,4.832,553,5.698,554,5.698,555,5.698,556,2.887,557,4.832,558,4.832,559,3.453,560,3.132,561,5.698,562,5.698]],["t/85",[2,0.723,9,1.778,12,1.455,16,0.872,37,1.836,38,1.537,58,1.217,74,1.725,80,3.678,89,2.463,108,1.066,124,0.591,163,1.509,173,1.161,194,2.024,218,1.459,227,0.933,257,3.405,258,2.024,259,1.391,261,2.205,297,0.706,301,2.424,316,2.016,317,0.422,362,1.837,364,0.83,367,1.92,424,1.892,431,1.247,433,1.435,436,1.483,444,2.526,480,1.175,481,1.175,507,2.585,536,5.041,537,4.844,550,2.205,551,1.892,563,9.33,564,3.613,565,2.746,566,2.329,567,5.17,568,2.746,569,5.203,570,2.106,571,1.391,572,3.604,573,2.494,574,2.782,575,3.449,576,2.205,577,2.205,578,2.024,579,2.494,580,2.494,581,1.837,582,3.193,583,2.329,584,2.494,585,2.106,586,1.391,587,1.217,588,2.205,589,3.604,590,2.329,591,2.346,592,2.205,593,2.329,594,2.511,595,3.604,596,2.494,597,2.024,598,3.442,599,4.528,600,2.024,601,1.892,602,2.329,603,1.332,604,1.954,605,2.424,606,1.892,607,5.691,608,3.921,609,3.003,610,2.494,611,2.494,612,2.494,613,2.494,614,3.806,615,1.892,616,4.049,617,5.691,618,1.892,619,2.329,620,2.329,621,2.494,622,2.494,623,2.746,624,1.232,625,2.746,626,1.596,627,2.746,628,1.892]],["t/87",[2,0.611,6,2.243,12,1.355,16,1.296,37,2.506,67,1.926,89,1.766,163,2.243,172,1.285,194,3.008,256,2.903,257,1.787,297,1.05,301,3.308,330,1.634,366,1.114,367,2.62,431,1.853,444,3.535,470,3.276,477,3.13,507,3.339,564,2.59,573,3.706,574,3.796,575,4.456,576,3.276,577,3.276,578,3.008,579,3.706,580,3.706,581,2.73,582,4.357,583,3.46,584,3.706,585,3.13,586,2.068,587,1.808,588,3.276,589,4.918,590,3.46,591,3.201,592,3.276,593,3.46,594,3.427,595,4.918,596,3.706,597,3.008,598,4.698,599,6.033,600,3.008,601,2.811,602,3.46,603,1.98,604,2.903,605,3.308,606,2.811,621,3.706,622,3.706,629,4.08,630,6.124,631,3.633,632,6.124,633,3.706,634,6.124,635,4.08,636,3.46,637,4.667,638,4.08,639,4.08,640,3.706,641,3.46]],["t/89",[15,2.01,22,2.804,47,2.212,74,2.19,88,2.887,95,2.887,108,2.212,153,1.78,159,1.695,175,1.201,181,4.277,220,3.329,299,4.068,353,3.027,388,5.176,403,4.832,413,3.38,504,2.804,505,2.845,506,3.188,510,6.799,514,3.532,558,6.6,624,2.556,628,3.926,642,3.617,643,4.371,644,4.2,645,2.655,646,5.207,647,5.97,648,5.698,649,2.68,650,4.2,651,5.698,652,5.176,653,5.698,654,3.532,655,5.698,656,5.698,657,5.698,658,5.698]],["t/92",[12,1.738,18,3.146,37,3.213,59,4.659,124,1.69,134,2.097,172,2.474,486,6.66,501,4.565,508,4.854,599,5.411,659,7.134,660,5.411,661,4.477,662,7.134]],["t/94",[2,0.616,9,1.927,16,2.608,79,2.609,124,1.327,134,1.647,153,1.927,167,1.792,215,3.126,226,2.767,272,0.915,297,1.587,316,1.599,317,0.948,318,1.08,343,2.551,351,3.824,365,2.95,399,3.035,413,3.659,420,2.371,473,4.016,489,4.388,502,4.127,528,3.586,660,4.25,663,4.016,664,4.547,665,4.547,666,9.228,667,3.916,668,6.168,669,7.458,670,5.231,671,5.657,672,4.731]],["t/96",[2,0.469,5,3.23,9,2.493,12,1.039,14,1.77,16,2.157,18,1.881,20,1.752,40,2.786,56,2.459,60,2.73,62,2.44,63,3.341,68,1.345,83,6.408,89,2.032,105,2.911,108,1.823,134,1.254,150,3.461,153,1.467,172,1.479,175,1.432,177,2.846,178,3.341,201,3.057,220,2.009,230,3.341,234,3.982,305,1.986,326,2.416,342,2.416,343,1.942,348,3.872,624,2.106,645,2.188,673,6.446,674,7.834,675,3.982,676,3.982,677,3.235,678,2.416,679,4.695,680,3.461,681,4.265,682,3.771,683,3.602,684,2.73,685,4.265,686,4.695,687,4.695,688,4.695,689,2.056,690,4.695,691,4.695]],["t/98",[2,0.894,62,2.532,73,2.218,74,1.9,134,1.32,193,2.505,227,1.028,271,2.699,272,1.046,305,2.091,310,2.505,311,2.874,312,1.697,313,2.001,314,2.091,315,2.509,316,1.281,317,0.759,318,0.866,413,2.933,495,2.933,504,2.433,506,2.767,673,6.6,674,3.792,684,4.098,692,3.406,693,4.491,694,3.644,695,6.164,696,5.685,697,5.66,698,6.403,699,3.792,700,3.792,701,4.944,702,4.491,703,3.219,704,4.491,705,3.792,706,4.944,707,4.491,708,6.403,709,4.944,710,4.944,711,4.944,712,4.944,713,4.944,714,4.944]],["t/100",[2,0.635,16,2.975,62,1.542,73,1.925,119,1.41,124,0.923,141,2.446,153,2.617,167,1.847,220,3.241,227,0.892,240,3.446,271,2.089,272,0.944,297,1.104,305,1.815,315,2.263,316,1.112,317,0.659,318,0.751,342,2.208,343,3.134,348,2.446,365,3.01,377,1.527,395,3.697,399,2.112,445,1.46,447,2.026,472,2.026,473,5.455,490,2.574,495,2.546,499,3.446,663,4.141,673,5.584,674,4.878,684,5.789,694,3.163,695,4.933,696,4.809,697,5.22,699,3.291,715,2.601,716,3.163,717,9.368,718,3.898,719,3.639]],["t/103",[2,0.776,9,2.428,56,2.06,64,4.062,272,1.153,412,3.364,447,3.67,480,3.325,481,3.325,684,4.518,695,5.061,696,4.934,697,5.355,720,9.345,721,3.215]],["t/105",[2,0.792,9,2.479,119,2.608,124,1.708,272,1.178,412,3.435,480,3.395,481,3.395,684,4.614,695,5.168,696,5.039,721,3.283,722,10.382]],["t/107",[2,0.637,25,2.372,53,1.913,57,2.74,78,1.071,119,1.418,144,2.974,153,2.801,167,1.254,175,0.91,180,4.4,207,2.888,220,1.846,226,1.936,227,1.327,272,0.64,278,1.254,317,0.663,318,0.756,343,2.642,362,1.094,364,1.931,365,1.551,366,1.179,367,2.732,395,2.509,398,2.155,399,2.124,406,2.372,426,2.094,438,1.676,447,3.967,453,3.181,461,3.071,465,3.466,472,2.038,480,1.846,481,1.846,495,4.984,661,3.641,664,3.181,683,3.31,684,5.458,689,1.89,695,4.95,696,4.826,697,2.974,721,1.785,723,6.447,724,3.071,725,2.81,726,3.31,727,5.831,728,3.51,729,2.461,730,3.466,731,3.466,732,2.616,733,3.466,734,3.92,735,5.128,736,2.675]],["t/109",[2,0.66,53,2.005,57,2.873,68,0.896,78,1.64,92,2.946,119,1.487,144,3.118,153,2.685,167,1.921,175,0.954,180,3.118,207,3.028,220,1.936,226,2.03,227,0.941,272,0.671,278,1.315,317,0.695,318,0.792,364,1.368,365,2.375,366,1.236,367,2.829,395,2.63,398,2.259,399,2.227,406,2.487,426,2.195,447,3.689,461,3.219,465,3.634,472,2.136,480,1.936,481,1.936,495,5.424,661,2.58,683,3.471,684,5.315,689,1.981,695,5.088,696,4.96,697,3.118,727,3.471,728,2.487,729,2.58,730,3.634,731,3.634,732,2.742,733,3.634,734,4.11,735,6.901,736,2.805,737,7.813,738,2.136,739,3.634,740,3.471,741,3.028,742,2.365]],["t/111",[2,0.614,78,1.018,158,1.546,159,1.221,175,1.555,179,2.385,272,0.912,317,0.945,318,1.077,330,1.643,362,2.336,364,1.859,366,2.015,367,2.631,429,3.024,461,4.375,495,5.207,533,6.285,594,4.911,631,3.648,684,2.385,695,2.671,696,2.604,708,3.727,720,5.586,723,6.949,735,7.048,736,3.812,738,2.904,743,2.745,744,6.949,745,6.949,746,6.149,747,5.335,748,4.533,749,6.285,750,4.102,751,4.102,752,3.479,753,6.149,754,3.024,755,6.149,756,5.586,757,4.375,758,6.149,759,2.827]],["t/113",[2,0.704,16,2.448,40,1.839,80,1.734,91,3.222,112,1.734,119,1.018,134,1.65,153,0.968,167,0.9,172,1.559,175,0.653,193,1.57,215,2.507,220,1.326,226,1.39,227,1.284,240,2.488,271,1.626,272,1.047,301,3.337,315,1.761,316,1.828,317,0.476,318,0.543,320,1.179,326,1.594,329,2.205,330,1.982,333,1.311,348,4.021,362,1.255,375,2.135,399,1.525,402,1.839,433,1.62,436,1.674,444,1.191,447,2.336,489,2.205,490,1.254,495,3.665,505,2.471,559,1.878,574,1.921,587,2.193,609,3.311,641,5.239,661,2.821,673,4.553,674,2.377,682,4.96,684,2.877,695,3.222,696,3.141,697,2.135,698,2.815,699,4.738,730,3.974,731,3.974,743,2.073,752,4.197,757,2.205,760,2.628,761,2.205,762,2.284,763,3.099,764,2.377,765,2.815,766,2.815,767,2.488,768,2.284,769,1.734,770,4.256,771,3.099,772,2.073,773,2.488,774,2.815,775,6.407,776,4.948,777,1.921,778,2.377,779,2.815,780,5.239,781,6.926,782,6.177,783,4.495,784,3.099,785,1.967,786,2.377,787,3.099,788,3.099,789,2.377,790,4.948]],["t/115",[2,0.748,16,1.713,68,1.069,85,1.655,109,1.726,124,0.744,134,1.441,157,2.313,166,2.195,180,2.382,199,2.251,227,1.69,236,1.779,271,1.136,272,0.984,279,2.313,297,0.89,305,1.462,316,0.896,317,0.829,318,0.605,320,1.316,322,1.632,324,1.479,343,2.232,362,1.368,364,1.631,365,1.242,366,1.812,398,2.693,402,2.051,406,1.9,420,1.329,422,2.01,431,1.57,448,2.313,461,2.46,495,3.936,519,2.051,528,3.136,575,2.095,594,3.712,615,2.382,661,3.782,663,2.251,664,3.977,673,2.548,682,2.776,683,4.138,684,4.357,689,1.514,695,4.32,696,4.212,700,2.652,723,4.575,730,6.916,731,4.332,732,3.27,735,5.327,736,4.112,768,2.548,791,2.46,792,3.141,793,2.313,794,2.776,795,3.457,796,3.457,797,3.457,798,3.457,799,2.46,800,2.652,801,4.901,802,5.395,803,3.457,804,5.395,805,2.46,806,3.457,807,3.457,808,3.457,809,2.932,810,3.141,811,2.652,812,3.425,813,3.141,814,2.382,815,3.141]],["t/117",[2,0.707,47,1.933,60,2.893,62,1.788,73,2.233,91,3.241,112,2.785,124,1.524,141,2.837,153,1.555,167,2.058,193,2.522,220,2.129,271,2.327,272,1.051,297,1.28,304,4.521,305,2.105,309,1.84,315,2.521,316,1.29,317,0.765,318,0.871,326,2.561,342,3.644,377,1.772,395,2.893,444,3.791,445,2.409,490,2.867,495,4.202,505,3.536,507,4.48,661,2.837,673,6.077,684,2.893,695,4.611,696,4.496,697,4.88,699,3.818,718,4.521,726,3.818,772,3.33,816,3.16,817,4.521]],["t/120",[9,2.709,56,2.299,321,2.622,330,3.474,684,5.042,721,3.588,818,5.377]],["t/122",[9,2.506,119,2.636,134,2.142,321,2.425,330,3.213,395,4.664,495,4.759,661,4.574,684,4.664,699,6.153,725,5.224,729,4.574,818,4.973,819,5.093]],["t/124",[80,3.903,119,2.291,134,1.862,153,2.178,172,2.197,175,1.47,215,3.534,220,2.984,239,4.427,320,2.654,321,2.108,322,3.293,323,2.708,324,2.984,348,3.976,398,3.482,559,4.227,560,3.833,665,5.141,682,5.6,683,5.349,684,4.054,689,3.054,743,4.666,773,5.6,774,6.335,820,4.427,821,6.335]],["t/126",[0,5.189,1,5.189,2,0.893,6,4.918,7,7.185,9,2.199,12,1.558,14,3.372,22,4.403,62,2.529,71,5.826,73,3.158,128,5.653,201,4.584,208,5.189,211,6.395,271,2.313,303,5.189,344,5.97,822,7.039,823,6.395]],["t/129",[2,0.709,6,3.906,9,2.812,11,2.94,22,3.497,66,1.815,71,5.861,74,3.798,104,4.307,107,4.131,201,4.627,343,2.94,548,4.512,551,4.897,566,6.027,631,4.216,824,6.027,825,7.228,826,6.456,827,6.456,828,4.052]],["t/131",[2,0.723,9,2.846,22,3.565,66,1.85,71,5.933,74,3.831,104,4.391,107,4.211,201,4.717,343,2.997,548,4.599,551,4.992,566,6.144,826,6.581,827,6.581,828,4.13,829,5.817,830,8.453]],["t/133",[66,2.117,104,5.024,107,4.819,134,2.213,159,2.466,172,2.611,253,5.138,643,6.358,831,6.11,832,7.53,833,7.03]],["t/135",[2,0.876,71,5.714,74,3.373,271,2.883,570,6.731,834,6.047]],["t/137",[2,0.889,9,3.018,11,1.755,14,1.599,22,3.703,62,1.524,71,6.29,78,1.052,124,1.619,227,0.882,257,1.858,259,2.15,271,2.472,272,1.321,275,3.407,297,1.091,312,1.456,313,1.717,314,1.794,315,2.244,316,1.634,317,0.969,318,0.743,321,1.283,362,1.076,363,2.571,383,3.407,420,1.631,423,2.838,431,2.864,444,1.631,507,1.927,516,3.854,547,2.292,556,3.195,591,2.217,608,2.923,631,3.741,689,1.858,696,2.693,721,1.755,738,2.003,786,3.254,825,5.063,830,3.598,835,2.517,836,2.332,837,2.374,838,5.728,839,6.836,840,3.854,841,6.305,842,4.242,843,4.242,844,4.242,845,4.242,846,4.242,847,6.305,848,1.977]],["t/139",[2,0.967,9,3.136,22,4.18,62,1.889,68,1.041,71,6.308,124,1.131,227,1.093,271,2.791,272,1.26,312,2.527,313,2.98,314,2.223,315,2.62,316,1.363,317,1.131,318,0.92,321,1.589,362,1.333,408,3.337,418,3.74,431,3.343,504,4.18,689,2.302,830,6.243,835,3.119,836,2.889,837,2.942,849,3.423,850,3.423,851,7.361,852,4.458,853,4.458,854,5.257,855,4.775]],["t/142",[9,2.935,22,4.624,124,1.639,321,2.302,323,2.956,364,2.302,410,4.426,412,3.295,624,3.416,721,3.149,840,6.916,856,6.114,857,7.613,858,5.84,859,5.094,860,5.094,861,5.612]],["t/144",[2,0.528,6,4.066,9,2.311,11,2.19,22,3.64,58,4.091,71,4.817,78,1.313,79,2.239,95,2.683,124,1.139,220,2.265,227,1.1,271,1.739,272,1.098,297,1.903,316,1.917,317,1.136,318,0.927,321,1.601,362,1.342,363,4.484,364,1.601,366,1.446,367,3.165,420,2.844,431,2.405,468,6.285,631,5.059,721,2.19,816,4.696,819,4.696,836,2.91,837,2.963,838,6.72,839,8.385,862,3.648,863,5.294]],["t/146",[9,2.045,16,2.079,22,3.221,50,5.048,71,4.263,84,3.422,88,3.317,93,3.221,124,1.838,173,2.769,227,1.361,230,4.657,278,2.761,325,4.031,351,4.058,386,4.825,560,3.598,667,4.156,728,3.598,814,4.511,850,4.263,864,6.546,865,6.546,866,6.546,867,6.546,868,5.552,869,4.825,870,6.546,871,4.263]],["t/148",[9,2.935,22,4.624,321,2.841,364,2.841,408,4.833,490,3.804,504,4.624,728,5.165,852,6.457,853,6.457,855,6.916,872,7.613]],["t/150",[2,0.382,12,0.847,15,1.351,18,1.534,21,2.226,26,2.638,37,2.894,49,2.832,56,1.015,62,1.376,65,2.958,66,0.978,68,0.758,78,1.755,85,1.833,96,2.105,105,4.385,108,2.747,116,2.272,119,1.258,122,4.543,158,2.2,167,1.696,171,3.618,172,1.206,175,1.491,181,2.105,214,2.562,216,2.937,227,1.47,231,2.937,236,1.97,255,3.248,265,1.884,266,3.075,267,4.951,268,4.601,269,2.823,270,3.075,271,1.258,272,0.866,273,4.688,274,3.248,275,3.075,276,3.478,277,3.478,278,1.113,279,2.562,280,4.191,281,3.478,282,2.937,283,3.478,284,3.075,285,3.478,286,2.226,287,2.183,288,2.272,289,4.478,290,4.478,291,3.478,292,2.143,293,2.374,294,2.823,295,2.937,296,3.248,297,1.502,298,3.538,299,2.001,300,3.478,301,2.069,873,3.075,874,4.303,875,3.829]],["t/152",[2,1.051,62,3.121,74,2.584,105,6.306,227,1.397,271,3.162,272,1.289,310,3.407,311,3.908,312,2.982,313,3.517,314,2.844,315,3.092,316,1.743,317,1.033,318,1.177,319,5.399,320,2.559]],["t/155",[14,2.534,37,2.751,68,1.332,78,2.155,105,5.385,119,2.209,124,1.447,172,2.118,206,3.833,267,3.908,268,3.632,280,5.006,319,5.399,321,2.626,322,3.174,323,2.611,324,2.876,325,4.544,409,4.378,490,2.721,876,7.729,877,4.168]],["t/157",[2,0.965,75,4.539,78,1.683,105,6.328,124,1.46,193,3.438,271,2.871,272,1.297,293,4.205,312,2.329,313,2.746,315,3.11,316,1.758,317,1.042,318,1.188,321,2.051,323,2.634,330,2.717,331,4.827,592,5.448,873,5.448,878,6.163,879,6.163]],["t/159",[2,0.952,37,2.702,71,4.3,105,5.915,106,4.3,124,1.848,271,2.821,272,1.274,293,4.094,312,2.267,313,2.673,315,3.057,316,1.712,317,1.015,318,1.156,321,1.997,323,2.564,329,4.699,330,3.44,331,6.11,332,4.55,333,2.793,874,4.868,880,6.604]],["t/161",[2,0.922,31,3.59,37,3.778,62,1.482,66,1.054,79,1.745,85,1.974,94,1.482,96,2.267,105,5.724,121,3.041,122,1.948,124,1.329,156,3.039,158,2.327,159,1.227,166,2.619,172,1.299,178,2.935,216,3.164,227,0.857,265,2.03,271,2.699,272,1.305,280,4.043,289,3.164,290,3.164,292,2.308,293,2.557,294,3.041,295,3.164,297,1.589,298,3.743,299,2.156,301,2.228,305,1.745,312,2.12,313,2.5,315,2.925,316,1.601,317,0.949,318,1.081,319,4.959,320,1.57,331,4.393,401,2.686,592,4.959,743,2.76,873,4.959,876,4.959,878,3.747,879,5.609,881,3.313,882,6.175,883,3.498,884,3.164]],["t/163",[2,0.629,5,3.046,12,1.665,14,1.599,18,1.699,20,2.808,26,2.923,30,3.127,62,1.524,68,1.49,78,1.564,84,2.217,85,2.03,88,3.813,93,2.088,94,1.524,101,3.854,122,2.977,126,3.254,129,3.854,134,1.133,137,3.127,153,1.97,156,2.088,159,1.876,172,1.986,175,1.586,209,2.15,228,3.407,273,5.063,278,1.233,302,1.755,305,1.794,316,1.634,325,2.003,385,5.063,398,2.118,401,2.762,463,2.003,624,2.829,649,2.275,736,2.63,849,2.762,885,4.843,886,5.547,887,7.525,888,4.242,889,4.242,890,4.242,891,3.127,892,4.242,893,4.242,894,4.242,895,4.242,896,4.242,897,4.5,898,4.242,899,4.242,900,2.419,901,3.018,902,2.762,903,3.127,904,3.407]],["t/165",[2,0.798,5,2.398,9,1.85,10,4.757,11,2.45,12,2.001,13,3.444,15,2.089,16,1.881,55,3.2,65,3.002,68,1.173,78,1.469,119,1.946,124,1.72,141,3.377,163,3.256,173,3.38,175,2.04,227,1.231,235,3.963,278,1.721,316,1.535,618,4.082,675,5.024,677,4.082,702,5.381,825,4.757,885,5.627,905,5.923,906,5.923,907,3.59,908,6.303]],["t/167",[14,2.58,68,1.356,73,3.071,91,4.458,108,2.658,124,1.473,134,1.828,144,4.717,156,3.369,175,1.443,181,3.763,189,3.98,246,6.219,287,3.903,316,1.775,348,3.903,398,4.388,552,5.806,885,5.11,886,7.156,909,6.846,910,5.498,911,6.846,912,5.046,913,4.149,914,4.871]],["t/169",[74,3.455,885,5.224,910,7.217,915,8.163]],["t/171",[2,0.703,12,1.558,47,3.474,66,1.798,124,1.515,173,2.978,220,3.012,287,5.608,316,1.825,342,3.622,644,5.189,650,5.189,662,6.395,885,6.211,910,7.185,916,6.395,917,6.366,918,5.189]],["t/173",[21,5.05,62,2.415,91,4.378,116,3.989,124,1.447,134,1.795,181,4.775,253,4.168,287,3.833,348,3.833,398,3.357,552,5.702,667,4.268,677,4.632,759,4.632,885,3.908,886,7.094,910,5.399,913,5.265,914,4.783,919,6.723,920,4.168,921,6.723,922,6.107,923,6.107,924,4.632,925,4.632]],["t/175",[2,0.642,5,4.049,12,1.424,14,2.425,20,3.151,56,1.705,74,2.473,78,2.094,89,2.784,134,1.718,145,3.899,159,1.914,175,1.356,278,1.869,310,3.26,736,3.988,926,7.228,927,7.228,928,5.166,929,4.433,930,4.577,931,4.935,932,5.359,933,8.559,934,5.166]],["t/177",[2,0.769,12,1.242,14,2.115,16,2.446,50,2.981,64,2.933,78,2.46,122,2.65,167,1.631,176,2.981,227,1.167,272,0.833,278,1.631,292,3.141,297,1.982,299,2.933,302,2.322,309,2.074,317,0.862,318,0.983,364,1.697,366,1.533,377,2.742,445,2.62,631,5.217,721,2.322,736,3.479,877,3.479,926,4.305,927,4.305,929,5.307,930,3.993,935,9.918,936,5.098,937,5.612,938,5.908,939,5.612]],["t/179",[5,3.784,14,1.803,16,1.52,68,0.948,78,2.001,93,2.355,175,1.009,213,4.059,265,2.355,272,0.71,317,0.735,318,0.838,362,1.746,364,1.447,365,1.719,366,1.307,367,2.946,390,5,420,1.84,440,6.651,457,7.327,460,6.503,461,4.899,466,4.347,587,3.052,676,4.059,727,5.282,929,4.745,940,4.059,941,4.785,942,10.031,943,4.347,944,4.347,945,4.785,946,4.347,947,4.059,948,4.766,949,5.282,950,6.886,951,6.886,952,6.255]],["t/181",[19,4.364,44,5.008,56,1.866,62,2.529,69,5.423,93,3.464,157,4.71,195,3.869,207,4.71,208,5.189,209,3.567,253,4.364,953,8.128,954,5.872,955,7.039,956,5.97,957,6.395,958,7.039,959,7.185,960,5.4]],["t/183",[3,4.085,12,1.531,48,3.223,49,2.337,59,2.858,68,1.37,93,3.404,103,3.427,104,2.919,122,2.274,132,4.375,147,2.478,150,3.55,157,3.223,171,2.986,173,2.037,195,4.863,209,2.441,227,1.001,273,3.868,278,1.399,292,2.695,372,3.55,381,2.695,407,3.55,670,4.085,676,4.085,736,2.986,772,3.223,816,3.058,900,2.746,907,2.919,932,3.058,954,5.151,959,5.555,960,5.307,961,4.816,962,4.816,963,4.816,964,4.816,965,4.085,966,4.816,967,4.816,968,3.695,969,4.375,970,4.085,971,3.55,972,3.868,973,4.085,974,4.085,975,4.816,976,3.427,977,4.816,978,4.816,979,4.085,980,4.816,981,3.868,982,4.816,983,4.816,984,4.816,985,3.868,986,4.816,987,4.816,988,4.375]],["t/185",[2,0.918,61,4.775,62,1.889,68,1.041,74,2.021,93,2.587,124,1.131,163,4.669,175,1.551,195,2.889,271,2.791,272,1.092,311,3.056,312,1.804,313,2.128,315,2.62,316,1.363,317,0.808,318,0.92,362,1.333,364,1.589,366,1.436,367,4.5,440,3.74,441,4.221,528,3.056,587,2.33,741,4.925,954,4.669,989,6.243,990,6.687,991,5.257,992,5.257,993,7.361,994,7.361,995,5.646,996,5.911]],["t/187",[48,5.872,305,3.712,856,7.047,954,4.823,960,6.731,997,7.442]],["t/189",[68,1.263,133,3.954,163,5.959,195,3.506,302,2.639,351,3.954,569,7.116,766,7.626,819,4.049,871,4.153,907,3.866,960,4.893,998,6.378,999,3.334,1000,9.383,1001,6.378,1002,4.893,1003,6.378,1004,6.378,1005,5.784,1006,6.378,1007,5.794,1008,4.538]],["t/191",[25,3.23,68,1.164,163,5.303,175,1.239,195,3.23,214,3.932,227,1.222,278,1.708,321,1.777,422,3.417,429,6.638,444,2.259,450,4.049,455,5.046,725,3.827,785,3.731,829,4.719,995,7.731,1005,4.049,1009,4.719,1010,5.339,1011,8.764,1012,9.648,1013,5.877,1014,5.877,1015,4.719,1016,5.877,1017,5.877,1018,5.339,1019,5.877,1020,7.22]],["t/193",[30,4.911,58,4.247,154,4.038,163,3.662,195,3.662,265,3.279,278,1.936,490,2.697,582,4.741,721,2.756,748,6.367,794,5.351,929,5.951,1005,4.591,1021,3.873,1022,5.651,1023,4.741,1024,5.651,1025,5.351,1026,4.741,1027,6.663,1028,5.351,1029,5.351,1030,6.053,1031,6.663,1032,6.663,1033,6.663,1034,6.663,1035,6.663]],["t/195",[14,1.685,89,1.935,163,4.696,195,2.457,414,5.558,444,3.285,569,7.486,587,1.981,626,2.599,649,1.352,741,6.361,770,6.551,954,2.457,959,3.59,985,3.59,995,7.293,1011,4.061,1036,4.471,1037,9.492,1038,4.471,1039,4.471,1040,4.471,1041,4.471,1042,9.097,1043,9.097,1044,4.471,1045,4.061,1046,3.59,1047,4.471,1048,4.471,1049,4.471,1050,4.471]],["t/197",[14,3.656,78,1.99,163,5.733,175,1.691,235,5.367,960,6.153,1029,6.442,1037,7.287,1051,8.022,1052,6.442,1053,8.022]],["t/199",[20,2.555,67,3.232,74,2.632,75,4.581,84,3.578,93,3.369,163,3.763,195,3.763,320,3.345,367,3.76,410,3.98,624,4.355,738,3.232,740,5.251,954,3.763,989,5.806,995,6.742,1054,8.789,1055,8.789,1056,7.447,1057,6.846]],["t/201",[482,7.487]],["t/203",[5,3.893,11,2.412,12,1.985,14,2.198,20,2.951,25,3.205,56,1.546,66,2.019,68,1.155,122,2.753,147,3,173,2.466,175,1.229,227,1.212,251,3.902,278,1.694,421,2.911,438,3.07,464,4.018,490,2.36,581,6.002,618,4.018,885,6.162,908,3.797,912,4.298,1058,4.945,1059,5.297,1060,5.297,1061,4.298,1062,5.297,1063,5.831,1064,5.831,1065,5.831]],["t/205",[2,0.967,12,1.163,38,2.942,62,1.889,66,1.343,68,1.458,74,2.021,78,1.304,95,2.664,112,2.942,122,2.482,173,2.223,175,1.108,227,1.093,265,2.587,271,3.024,272,0.78,280,3.622,312,1.804,313,2.128,315,1.871,317,0.808,318,0.92,320,2.001,326,4.371,332,3.622,398,2.625,450,3.622,451,3.91,570,4.032,581,5.683,603,3.572,728,2.889,834,3.622,885,5.35,1066,7.204,1067,5.911,1068,5.426,1069,4.775,1070,3.622,1071,3.875]],["t/208",[64,4.193,67,3.788,68,1.589,249,5.367,438,3.115,512,7.287,513,7.287,581,5.367,624,3.599,675,6.803,856,6.442,885,6.064]],["t/210",[5,3.13,20,2.435,21,3.793,55,2.401,66,1.667,67,2.098,68,1.292,78,1.102,121,4.81,122,2.098,144,3.062,156,2.187,158,1.675,167,1.291,175,1.63,221,4.81,227,0.924,230,3.162,236,2.287,272,0.659,279,4.366,316,1.152,364,1.344,366,1.214,367,2.792,401,2.894,560,2.443,581,4.366,618,4.496,678,3.358,810,4.037,833,3.769,885,5.276,902,2.894,907,2.694,914,3.162,979,3.769,1024,3.769,1072,6.558,1073,6.525,1074,3.769,1075,4.249,1076,5.534,1077,4.444,1078,4.037,1079,4.444,1080,5.931,1081,6.525,1082,4.249,1083,4.444,1084,3.569,1085,3.409,1086,4.444,1087,5.928,1088,4.037,1089,4.444,1090,4.444,1091,4.444,1092,3.769,1093,3.276]],["t/212",[2,0.463,18,1.857,37,3.778,38,3.767,55,3.636,62,1.666,65,2.35,167,2.526,175,0.977,194,3.418,222,3.933,232,3.724,271,1.524,272,0.999,278,1.956,297,1.732,309,2.488,335,4.962,348,2.644,365,2.847,377,2.396,401,3.019,422,2.696,425,3.299,445,1.578,455,4.273,480,1.984,481,1.984,581,3.103,589,5.405,628,3.195,661,2.644,800,3.557,848,2.161,885,3.913,940,3.933,1024,3.933,1067,6.363,1085,3.557,1094,4.212,1095,3.933,1096,4.637,1097,4.637,1098,5.708,1099,4.273,1100,3.103,1101,6.72,1102,4.637,1103,4.637,1104,6.114,1105,6.731,1106,6.114,1107,4.637]],["t/214",[2,0.72,37,3.424,38,2.861,55,2.762,56,1.355,68,1.013,81,2.915,108,1.985,134,1.365,147,2.631,172,1.61,175,1.521,179,2.972,227,1.063,250,3.523,271,2.372,272,1.071,280,3.552,298,3.099,312,1.755,313,2.07,315,1.82,317,0.785,318,0.895,332,3.523,490,2.07,503,3.17,529,2.972,547,2.762,581,3.421,603,3.503,678,2.631,728,2.81,885,4.864,973,4.336,1021,2.972,1025,4.106,1066,6.122,1067,5.797,1068,5.321,1071,3.769,1108,3.523,1109,9.09,1110,4.336,1111,3.769,1112,3.329,1113,4.645,1114,5.113,1115,5.113,1116,5.113,1117,5.113]],["t/216",[2,0.749,15,1.908,38,3.027,55,4.056,68,1.071,81,4.281,108,2.1,133,3.353,134,1.444,167,1.572,171,3.353,172,1.704,175,1.818,227,1.124,236,2.783,271,2.467,272,0.803,280,4.244,292,3.027,312,1.857,313,2.19,315,1.925,317,0.831,318,0.947,332,3.727,351,3.353,581,5.024,603,3.643,678,2.783,728,2.973,885,5.014,1066,6.368,1067,6.926,1068,5.535,1071,3.987,1099,3.434,1118,5.409,1119,5.409,1120,4.344,1121,4.587,1122,5.409,1123,3.987,1124,4.587]],["t/218",[5,3.235,12,1.311,66,1.513,133,3.672,158,2.232,167,1.721,172,1.866,175,1.684,227,2.012,250,4.082,292,3.315,302,2.45,372,4.366,401,3.857,412,2.564,422,3.444,435,2.874,463,4.269,738,2.797,741,3.963,772,3.963,834,4.082,885,3.444,897,3.2,913,3.59,932,3.761,974,5.024,1005,4.082,1008,4.214,1100,6.05,1125,3.672,1126,5.923,1127,7.99,1128,5.923,1129,5.923,1130,5.923,1131,4.366]],["t/220",[5,3.15,12,1.261,66,1.988,67,2.69,144,3.926,147,2.932,159,1.695,167,1.655,175,1.201,176,3.027,215,2.887,218,3.027,227,1.184,351,3.532,399,2.804,418,4.054,490,2.306,678,2.932,738,2.69,821,5.176,885,4.524,897,4.204,902,6.493,908,3.71,932,3.617,957,5.176,974,4.832,1005,5.362,1029,4.576,1121,4.832,1132,5.698,1133,5.176,1134,5.176,1135,5.698,1136,5.698,1137,5.698,1138,5.698,1139,5.698,1140,5.698,1141,5.698,1142,5.698,1143,4.2,1144,5.698]],["t/222",[2,0.631,3,5.364,6,3.476,9,1.976,12,1.4,14,2.384,18,2.533,31,3.677,51,3.539,52,3.379,53,3.7,57,4.015,65,3.205,66,2.132,67,2.986,94,2.272,149,2.191,167,1.838,178,4.5,235,4.232,257,2.77,381,3.539,517,3.833,689,2.77,848,2.947,858,4.851,912,4.662,934,5.079,1145,6.324,1146,6.324,1147,6.324,1148,6.324,1149,6.324,1150,5.079,1151,6.324,1152,3.833]],["t/224",[2,1.031,20,2.36,53,2.803,62,2.999,74,2.431,134,1.689,175,1.333,227,1.315,271,3.265,272,1.239,310,3.205,311,3.677,312,2.171,313,2.56,314,2.675,315,2.971,316,1.639,317,0.972,318,1.107,361,5.364,371,5.079,408,4.015,769,5.78,835,3.752,850,4.118]],["t/226",[2,0.407,11,1.688,47,2.378,52,2.479,53,3.621,66,1.042,85,2.931,127,3.008,153,1.275,250,2.811,272,0.605,288,2.421,297,1.05,316,1.058,317,0.627,318,0.714,333,2.59,362,1.034,363,3.712,365,2.2,366,2.232,377,2.18,406,2.243,407,3.008,419,2.068,420,3.141,433,3.843,435,2.972,436,3.971,438,2.855,444,1.568,445,1.388,529,2.372,547,2.204,571,3.103,586,2.068,603,2.972,606,2.811,637,3.888,721,1.688,724,2.903,754,3.008,769,4.9,819,2.59,848,1.901,948,3.308,995,6.268,1152,2.473,1153,6.455,1154,3.706,1155,4.787,1156,3.706,1157,3.276,1158,3.706,1159,3.46,1160,4.08,1161,4.514,1162,3.706,1163,4.08,1164,4.08,1165,3.13,1166,3.276,1167,3.706]],["t/228",[94,2.763,227,1.966,386,5.67,406,5.198,409,5.008,569,6.327,572,6.177,637,4.883,1153,8.084,1168,5.67,1169,6.523]],["t/230",[5,2.439,26,2.751,47,1.55,50,2.121,51,3.372,52,2.938,53,3.216,66,1.02,159,1.188,175,0.842,227,1.508,272,1.077,297,1.027,317,0.613,318,0.699,362,1.84,365,1.435,366,1.646,381,3.372,406,5.013,419,3.053,420,1.535,425,2.841,433,2.087,435,2.924,436,2.157,483,3.652,569,2.672,571,3.053,572,4.839,587,1.77,637,5.131,738,3.426,812,2.535,948,4.927,1023,2.841,1153,5.958,1157,3.206,1169,6.855,1170,4.622,1171,5.474,1172,3.993,1173,3.386,1174,3.993,1175,2.841,1176,4.622,1177,6.025,1178,4.622,1179,4.287,1180,7.257,1181,3.825,1182,4.305,1183,3.627,1184,3.627,1185,5.474,1186,3.206]],["t/232",[2,0.569,5,3.15,47,2.212,51,3.188,52,3.588,53,3.928,66,1.455,265,2.804,272,1.315,317,0.875,318,0.997,362,1.445,364,1.723,365,2.047,366,1.556,381,3.188,406,4.277,419,2.887,425,4.054,435,2.765,483,3.453,569,3.812,572,4.576,769,4.355,869,4.2,924,3.926,948,3.078,1023,5.537,1153,7.35,1157,4.576,1171,7.07,1181,4.941,1183,5.176,1187,7.517]],["t/235",[2,0.217,4,1.346,12,0.481,19,1.346,20,0.81,52,0.879,53,0.962,56,0.576,57,1.379,66,0.555,80,1.215,84,1.135,93,1.069,94,1.326,99,1.496,119,1.212,124,0.467,159,0.646,163,1.193,175,1.014,253,1.346,257,2.107,268,1.173,272,0.322,301,1.173,312,1.652,318,0.993,320,0.826,324,1.579,326,1.117,333,1.561,362,0.936,364,0.656,366,0.593,410,2.145,426,2.335,431,1.676,433,1.135,435,4.064,436,1.993,438,1.433,439,1.655,464,1.496,480,1.579,481,1.579,524,2.625,529,4.019,582,1.545,587,1.635,603,1.054,606,1.496,609,3.796,624,0.974,626,1.262,633,1.972,759,1.496,769,5.712,770,5.347,777,4.285,783,4.371,785,2.343,789,4.352,848,1.012,858,2.83,908,1.414,931,1.666,948,3.434,1010,1.972,1015,1.744,1161,2.72,1165,4.877,1188,5.154,1189,2.171,1190,1.496,1191,1.842,1192,6.174,1193,4.371,1194,2.171,1195,3.69,1196,3.129,1197,1.601,1198,4.182,1199,2.963,1200,2.171,1201,1.346,1202,4.811,1203,3.352,1204,2.171,1205,2.171,1206,2.171,1207,2.171,1208,1.972,1209,1.972,1210,2.171,1211,2.171,1212,5.674,1213,1.972,1214,2.171,1215,1.842,1216,1.972,1217,2.171,1218,2.171,1219,2.171,1220,2.171,1221,1.972,1222,1.316,1223,3.69,1224,3.69,1225,2.171,1226,1.842,1227,1.972,1228,3.69,1229,3.69,1230,1.972,1231,3.69,1232,3.69,1233,1.288,1234,2.171,1235,1.193,1236,2.171,1237,2.171,1238,4.811,1239,1.972,1240,1.972,1241,2.171,1242,3.129,1243,2.171,1244,1.972,1245,1.972,1246,2.171,1247,2.171,1248,2.171,1249,2.171,1250,1.842,1251,2.171,1252,2.171,1253,2.171,1254,1.842]],["t/237",[2,0.176,4,1.095,11,0.731,13,1.027,44,1.256,50,2.185,51,0.988,52,0.715,53,4.457,55,1.668,65,1.565,67,0.834,68,0.612,73,0.792,84,1.614,93,2.025,94,1.109,112,0.988,119,2.18,124,0.665,134,1.099,140,1.302,142,1.604,147,0.909,153,0.552,157,1.182,162,1.15,167,1.434,172,1.296,175,1.299,217,1.604,226,0.792,253,1.095,265,0.869,272,0.262,278,1.79,320,1.878,323,0.686,324,1.76,343,0.731,352,2.128,362,1.251,404,1.604,412,1.336,422,1.027,424,1.217,426,0.857,429,1.302,435,3.415,437,1.832,438,1.916,447,1.943,448,1.182,451,1.64,464,1.217,473,2.011,490,0.715,504,2.428,518,1.256,529,1.795,560,0.971,586,0.895,603,1.498,640,2.805,642,1.121,650,2.276,689,2.161,715,1.07,724,1.256,725,1.15,728,0.971,742,0.923,759,1.217,769,4.135,789,2.368,814,2.835,820,2.612,848,3.091,869,4.131,908,1.15,914,2.927,924,3.862,971,1.302,1023,3.987,1026,5.257,1078,1.604,1101,3.489,1131,1.302,1150,1.418,1153,3.033,1155,2.679,1159,1.498,1161,4.131,1167,1.604,1187,6.266,1188,2.805,1197,1.302,1255,1.766,1256,3.088,1257,1.766,1258,1.766,1259,1.15,1260,4.114,1261,2.368,1262,1.256,1263,1.498,1264,1.766,1265,2.276,1266,1.766,1267,1.498,1268,1.418,1269,1.766,1270,4.934,1271,3.088,1272,1.766,1273,1.604,1274,1.498,1275,1.766,1276,3.088,1277,1.498,1278,1.766,1279,1.766,1280,1.302,1281,1.766,1282,1.766,1283,1.604,1284,1.182,1285,1.766,1286,1.766,1287,1.766,1288,1.766,1289,1.302,1290,1.766,1291,1.766,1292,1.766,1293,5.604,1294,4.114,1295,1.766,1296,1.766,1297,1.766,1298,2.805,1299,1.766,1300,4.5,1301,3.088,1302,1.766,1303,1.766,1304,3.088,1305,1.182,1306,1.766,1307,3.088,1308,3.088,1309,1.766,1310,3.088,1311,1.766,1312,1.498,1313,3.088,1314,3.088,1315,3.304,1316,1.355,1317,1.418]],["t/239",[2,0.342,9,1.07,50,1.82,53,3.973,57,2.175,68,1.061,108,1.33,119,1.125,124,1.153,134,1.43,147,3.393,159,1.594,179,1.991,189,3.114,225,2.175,227,1.113,271,1.125,272,0.508,279,4.413,286,1.991,297,0.881,299,1.79,312,2.264,316,0.888,317,0.526,324,2.291,362,0.868,366,2.037,381,3.691,408,2.175,417,3.112,422,1.991,426,2.599,431,1.556,435,2.599,438,1.33,445,1.165,451,1.82,464,2.36,477,2.628,480,2.821,481,2.821,493,1.991,547,3.563,586,2.714,660,2.36,678,1.763,689,1.5,769,3.691,770,5.139,848,1.596,850,2.231,861,2.525,871,2.231,924,6.177,1087,3.112,1159,2.905,1165,4.108,1191,2.905,1192,7.029,1193,3.112,1198,4.861,1262,2.437,1280,2.525,1283,4.865,1316,4.108,1318,4.542,1319,3.425,1320,4.542,1321,3.112,1322,3.425,1323,5.356,1324,2.751,1325,5.356,1326,3.425,1327,3.112,1328,3.425,1329,3.112]],["t/241",[2,0.635,9,1.34,53,3.713,65,2.174,68,0.85,73,1.925,85,2.054,89,1.857,119,2.089,124,1.63,172,1.352,175,1.766,227,0.892,271,1.41,272,0.944,286,3.697,297,1.104,316,1.112,317,0.977,318,0.751,341,3.163,352,2.957,362,1.088,366,1.737,369,2.871,405,3.773,406,3.495,422,2.495,431,1.949,433,3.324,436,3.435,438,2.469,445,1.46,463,2.026,529,3.697,603,3.085,738,3.002,769,5.426,848,2.963,891,3.163,931,5.811,948,4.092,1155,2.794,1157,3.446,1158,3.898,1198,5.584,1239,5.776,1240,5.776,1318,5.393,1320,5.393,1330,4.291,1331,3.053,1332,4.291,1333,2.208,1334,6.359]],["t/243",[50,3.147,57,5.073,65,3.002,191,4.757,212,5.381,278,2.322,292,5.416,305,2.505,312,2.033,321,1.791,362,1.502,422,3.444,426,4.387,435,2.874,483,3.59,769,4.471,770,4.082,816,3.761,848,2.76,859,5.346,860,5.346,871,5.888,924,4.082,1143,4.366,1165,4.544,1187,5.024,1192,4.366,1198,4.366,1203,5.381,1244,5.381,1263,5.024,1321,5.381,1329,5.381,1335,6.777]],["t/246",[6,4.021,20,2.73,39,5.556,66,1.868,68,1.449,79,3.877,88,3.707,94,2.628,108,2.841,149,2.534,176,3.886,405,5.439,434,5.04,502,4.895,624,3.282,1123,5.392,1336,7.315,1337,7.315,1338,7.315,1339,7.315]],["t/248",[53,2.668,56,1.595,66,1.537,138,6.992,149,2.085,153,1.88,158,2.268,167,1.749,171,3.731,218,3.197,249,4.027,257,2.636,278,1.749,372,4.437,399,3.975,405,4.792,410,3.499,528,3.499,609,4.027,624,2.7,715,4.895,1061,4.437,1123,4.437,1261,4.617,1340,7.337,1341,4.833,1342,6.019,1343,5.468,1344,8.281,1345,9.742,1346,6.019,1347,6.019,1348,6.019,1349,5.468]],["t/250",[2,0.606,6,2.218,15,1.423,26,2.781,49,1.958,53,2.692,65,2.045,66,1.031,67,1.906,112,2.259,124,1.572,134,1.078,141,4.164,149,1.398,167,1.173,172,1.271,175,0.851,215,3.078,218,2.144,220,1.727,226,1.811,227,0.839,257,2.66,259,3.078,271,1.996,272,0.901,278,1.173,297,1.879,299,2.11,316,1.893,317,0.933,362,1.54,399,1.986,405,3.604,413,2.395,431,2.759,438,3.156,439,1.811,445,2.485,447,1.906,483,2.446,495,2.395,536,3.096,626,3.531,715,2.446,769,4.548,800,3.096,912,2.975,1061,2.975,1153,2.975,1198,4.478,1262,2.872,1300,3.241,1318,8.293,1320,6.892,1340,5.518,1350,4.036,1351,4.036,1352,4.036,1353,4.334,1354,3.666,1355,3.423,1356,4.036,1357,2.781]],["t/252",[2,0.737,11,3.056,12,1.635,14,2.784,34,5.256,89,3.197,124,1.59,201,4.81,209,3.744,230,5.256,234,6.265,307,5.446,343,3.056,465,5.932,877,4.58,1358,6.799,1359,7.075,1360,5.667,1361,7.387,1362,6.265]],["t/255",[35,6.088,74,3.051,128,6.374,158,2.991,172,2.5,175,2.032,311,4.614,420,3.051,1358,7.653,1362,6.731,1363,5.469,1364,6.374]],["t/257",[2,0.764,5,1.767,12,0.966,56,1.707,68,0.865,95,2.213,108,1.695,119,1.435,124,1.939,134,1.166,227,0.908,269,3.218,272,0.956,307,3.218,309,1.614,312,3.093,314,1.847,316,1.669,317,0.989,318,1.128,409,2.843,413,2.59,426,2.118,439,2.89,463,2.062,528,2.538,546,2.843,564,2.772,605,2.359,692,3.008,738,2.062,761,4.583,762,3.218,778,5.871,814,3.008,918,4.748,1082,2.843,1316,3.349,1358,7.66,1362,3.703,1363,3.008,1364,6.146,1365,2.843,1366,8.564,1367,3.008,1368,3.008,1369,2.921,1370,3.966,1371,3.966,1372,4.366,1373,4.366,1374,4.366,1375,4.194,1376,3.54]],["t/259",[13,3.471,74,2.295,92,3.888,162,3.888,173,2.526,272,0.886,297,2.067,317,0.917,318,1.045,333,2.526,343,2.47,364,2.429,366,1.631,420,3.088,448,3.995,564,3.791,586,3.026,642,3.791,660,4.114,663,3.888,716,4.401,728,3.282,749,6.162,1284,3.995,1360,6.162,1376,4.99,1377,8.707,1378,5.971,1379,4.795,1380,4.58,1381,4.795,1382,5.424]],["t/261",[2,0.345,5,2.685,68,0.685,69,2.095,74,2.074,78,1.646,92,2.251,108,1.342,109,1.726,158,1.303,173,1.462,175,0.729,227,0.719,235,2.313,272,1.112,297,0.89,310,1.752,311,2.01,312,1.852,316,0.896,317,0.829,318,0.944,343,1.43,363,4.021,364,1.045,366,0.944,413,2.051,420,2.55,435,1.677,445,1.835,448,2.313,528,2.01,564,2.195,591,2.82,615,3.717,642,2.195,663,2.251,667,2.195,692,2.382,716,2.548,761,2.46,762,3.977,770,6.413,778,4.138,811,2.652,932,4.212,1284,2.313,1358,7.461,1360,5.089,1363,2.382,1365,2.251,1366,4.901,1376,5.563,1379,2.776,1380,2.652,1381,2.776,1383,7.304,1384,4.901,1385,4.901,1386,3.857,1387,2.932,1388,3.141,1389,4.901,1390,3.457,1391,2.776,1392,3.457,1393,3.27,1394,3.141,1395,4.901,1396,3.141,1397,3.141]],["t/264",[74,3.497,311,5.288,1359,6.977]],["t/266",[2,0.774,12,1.451,56,1.737,108,1.736,119,1.469,124,1.67,134,1.194,227,0.929,269,3.295,272,0.972,309,1.652,312,2.663,313,1.81,316,1.699,317,1.007,318,1.147,413,2.652,420,1.719,426,2.169,439,2.94,445,1.521,463,2.111,546,2.911,564,2.838,605,2.415,692,3.08,738,2.111,742,2.337,761,4.663,762,3.295,778,6.554,814,3.08,848,2.083,954,2.457,1071,4.831,1316,5.027,1353,2.652,1359,7.885,1365,2.911,1367,3.08,1368,3.08,1369,2.991,1375,4.268,1376,4.696,1380,3.429,1398,8.637,1399,3.791,1400,7.048,1401,4.061,1402,4.471]],["t/268",[13,3.586,68,1.222,74,2.371,78,1.53,92,4.016,162,4.016,173,2.609,227,1.282,235,4.127,250,4.25,272,1.218,297,1.587,305,2.609,420,2.371,586,3.126,642,3.916,716,4.547,770,4.25,791,4.388,1284,4.127,1358,4.547,1359,4.731,1360,7.079,1363,4.25,1376,5.408,1377,8.227,1379,4.953,1380,4.731,1381,6.593,1382,5.603,1403,4.953]],["t/270",[2,0.327,5,3.408,12,1.418,13,1.904,56,0.868,68,0.649,69,1.985,74,1.988,78,1.283,92,2.133,108,1.272,109,1.635,162,2.133,173,1.385,195,1.8,227,0.681,271,2.105,272,1.308,297,0.843,310,1.66,311,1.904,312,1.775,316,0.849,317,0.794,318,0.905,343,1.355,363,3.883,364,0.99,366,0.895,413,1.943,435,1.589,445,1.759,528,1.904,564,2.079,586,1.66,591,2.703,615,3.563,642,2.079,663,2.133,667,2.079,692,2.257,716,2.414,761,2.33,762,3.811,770,6.295,778,3.966,811,2.512,932,3.283,954,1.8,1284,2.192,1358,3.811,1359,7.213,1360,3.966,1363,2.257,1365,2.133,1376,5.489,1379,2.63,1380,2.512,1381,5.843,1383,6.171,1384,2.975,1385,4.697,1386,3.724,1387,2.778,1388,6.61,1389,4.697,1393,3.134,1394,2.975,1395,4.697,1396,2.975,1397,2.975,1398,4.697,1404,5.171,1405,2.975,1406,3.275,1407,2.257]],["t/272",[2,0.776,4,4.818,7,6.241,12,1.72,14,2.929,50,5.056,51,5.756,89,3.364,177,4.71,274,6.591,891,5.729,1152,4.71,1182,4.611,1408,7.771]],["t/274",[2,1.057,62,3.158,74,2.632,227,1.423,271,3.19,272,1.304,310,3.469,311,3.98,312,3.017,313,3.558,314,2.896,315,3.129,316,1.775,317,1.052,318,1.199,1182,6.077]],["t/276",[18,3.081,50,5.024,78,1.908,141,4.385,153,2.403,158,2.899,193,3.898,227,1.966,293,4.768,398,3.84,547,4.155,556,3.898,674,5.9,684,4.472,793,5.146,1409,7.691]],["t/278",[2,0.514,47,1.999,50,4.462,272,0.764,297,1.866,317,0.791,318,0.901,330,2.905,366,1.406,398,2.57,419,2.609,420,1.979,433,2.691,436,2.781,454,3.949,546,3.352,547,3.918,571,4.871,587,3.722,603,4.075,637,6.102,678,2.649,728,3.987,812,5.789,948,4.537,1092,4.366,1170,3.949,1175,3.663,1176,5.564,1178,5.564,1179,3.663,1221,4.677,1410,5.347,1411,4.677,1412,4.677,1413,4.366,1414,4.677,1415,5.148,1416,4.677,1417,4.366]],["t/280",[2,0.745,227,1.551,272,1.377,297,2.388,317,1.146,318,1.306,419,3.781,420,3.568,424,5.141,637,4.737,948,5.457,1182,5.993,1418,7.453]],["t/282",[5,2.697,272,1.282,317,1.024,318,1.166,362,1.689,364,2.014,365,2.394,366,1.82,587,2.953,603,3.233,742,3.483,812,4.23,948,3.599,996,8.142,1023,4.741,1179,4.741,1181,5.483,1182,5.686,1184,8.706,1185,7.846,1186,5.351,1414,6.053,1419,6.663]],["t/284",[50,4.355,78,2.034,138,6.288,153,3.289,175,2.072,227,1.704,302,3.391,913,4.969,1420,6.953]],["t/286",[2,0.601,16,1.912,47,3.136,153,1.88,272,0.893,297,2.078,317,0.925,318,1.054,333,2.546,365,3.275,366,1.644,377,2.875,419,3.05,420,3.105,444,2.314,445,2.048,447,2.842,564,3.821,571,4.619,591,3.146,637,6.641,812,5.787,1175,4.282,1176,4.617,1178,6.196,1410,5.954,1421,5.954]],["t/288",[2,0.616,16,1.959,47,2.395,107,3.586,153,1.927,272,1.218,297,2.112,309,2.28,317,0.948,318,1.08,362,1.564,365,3.315,377,2.922,419,3.126,420,3.547,444,2.371,445,2.098,447,2.912,564,3.916,571,3.126,637,5.859,1182,6.25,1418,6.593,1421,7.252]],["t/290",[2,0.677,5,2.746,272,1.297,297,1.745,317,1.042,318,1.188,362,1.72,364,2.051,365,3.139,366,1.853,377,2.415,444,2.608,445,2.308,591,4.567,938,6.703,1176,5.204,1181,5.547,1182,4.025,1186,5.448,1421,5.001,1422,8.738,1423,8.738,1424,8.738]],["t/293",[2,0.864,12,0.879,50,2.11,52,1.608,53,1.76,56,1.053,68,0.787,73,2.692,149,1.376,153,1.241,227,0.826,271,1.305,272,1.351,288,2.356,297,2.227,302,1.643,316,1.556,317,1.238,318,1.266,362,1.522,366,1.085,420,3.327,431,1.804,433,2.076,434,2.737,435,1.927,436,2.145,437,2.356,439,1.782,529,2.309,586,2.013,587,2.66,637,5.779,663,2.586,689,2.628,726,4.603,812,3.81,877,2.462,948,4.917,1182,3.561,1190,2.737,1222,2.407,1367,2.737,1368,2.737,1410,5.942,1418,5.809,1425,7.233,1426,8.268,1427,5.452,1428,3.972,1429,6.001,1430,3.972,1431,5.452,1432,3.368]],["t/295",[2,0.569,18,1.104,28,1.75,47,1.07,50,3.031,62,0.99,68,0.546,85,1.319,94,0.99,108,1.07,119,0.905,133,3.537,134,0.736,156,1.356,159,1.339,175,0.949,180,3.101,189,1.602,227,0.573,272,0.847,278,0.801,297,1.158,309,2.109,317,0.876,318,0.999,330,1.803,341,2.031,343,3.003,362,1.447,366,1.229,377,0.981,406,3.136,410,1.602,419,1.397,421,1.376,422,1.602,423,3.012,431,2.045,433,1.441,436,1.489,437,1.635,439,1.236,447,1.301,454,2.114,529,1.602,571,2.281,586,2.281,637,4.182,678,1.418,728,3.62,738,3.428,812,6.408,814,1.899,848,2.097,972,2.213,1021,1.602,1092,2.337,1169,6.606,1170,5.052,1175,5.542,1178,6.304,1179,3.202,1196,6.157,1222,2.728,1273,2.504,1305,1.844,1367,3.101,1368,3.101,1410,5.351,1412,2.504,1413,3.817,1427,7.076,1433,2.756,1434,4.501,1435,2.728,1436,2.756,1437,2.114,1438,2.213,1439,5.705,1440,5.705,1441,2.756,1442,1.899,1443,4.501,1444,2.756,1445,4.501,1446,2.504,1447,2.213,1448,2.756,1449,2.504]],["t/297",[2,0.441,66,1.659,172,1.391,198,4.013,272,0.656,297,2.186,302,1.827,317,0.998,318,1.137,343,1.827,362,1.647,406,4.235,420,3.266,433,4.028,435,4.122,436,4.891,437,4.572,439,1.982,455,4.125,587,1.958,637,6.01,726,3.389,812,4.125,913,2.678,931,3.389,948,4.891,1170,6.517,1175,3.143,1179,4.622,1182,2.621,1222,2.678,1274,7.206,1377,5.217,1410,4.789,1450,4.013,1451,3.548,1452,7.859,1453,5.51,1454,6.497]],["t/299",[2,0.594,13,2.285,28,3.78,56,1.578,66,1.004,94,1.412,119,1.956,157,2.629,158,1.481,172,1.238,175,1.255,189,2.285,226,1.763,236,2.022,272,0.883,317,0.915,318,1.042,321,1.188,343,1.626,366,1.963,407,2.897,422,2.285,426,1.907,519,3.532,586,3.017,587,1.742,661,2.241,678,2.022,728,3.272,729,2.241,732,2.382,749,3.015,794,3.156,812,6.879,819,2.495,891,2.897,913,2.382,1162,7.283,1173,6.095,1175,4.236,1178,6.954,1222,2.382,1261,3.015,1263,3.333,1369,3.983,1377,3.156,1410,5.91,1442,2.708,1452,7.28,1455,5.408,1456,3.333,1457,3.93,1458,7.187,1459,3.93,1460,3.93,1461,3.93,1462,3.015,1463,3.93,1464,3.57,1465,3.93]],["t/301",[50,4.338,66,1.562,272,0.908,299,3.198,320,2.328,325,2.888,362,2.07,364,1.85,412,2.648,438,2.375,480,3.493,481,3.493,812,3.884,871,3.983,924,5.626,1170,4.693,1179,5.809,1181,3.884,1182,5.818,1186,4.913,1426,7.417,1449,8.349,1466,8.165,1467,8.165,1468,6.117,1469,9.19,1470,5.188]],["t/303",[2,0.899,9,1.836,50,4.222,124,1.265,134,1.569,153,3.148,159,1.749,167,1.708,172,1.851,271,2.611,272,1.179,278,2.309,305,2.486,312,2.017,313,2.379,314,2.486,315,2.829,316,1.523,317,0.903,318,1.029,320,2.237,424,4.049,619,4.984,620,4.984,650,4.332,733,4.719,736,4.927,1026,4.181,1182,5.724,1471,4.508,1472,4.181,1473,4.508,1474,5.339]],["t/305",[5,2.324,9,1.793,50,3.05,51,3.213,66,1.466,67,2.711,68,1.137,134,1.533,175,1.21,195,3.156,227,1.193,272,0.852,314,2.428,317,0.882,318,1.005,320,2.185,362,1.983,363,4.742,420,2.207,439,2.576,480,2.456,481,2.456,482,7.146,483,3.48,503,3.559,615,3.956,645,2.675,740,6.001,741,3.842,812,5.649,971,4.232,1179,4.085,1182,5.28,1387,4.869,1405,5.216,1475,7.823,1476,5.741,1477,5.216,1478,5.741,1479,5.741,1480,5.741]],["t/307",[17,3.514,62,2.128,68,1.583,84,3.096,93,2.915,119,1.946,120,5.381,124,1.946,134,2.134,172,1.866,227,1.661,257,2.594,258,4.366,259,3.002,438,2.3,528,3.444,571,3.002,613,5.381,624,2.657,848,2.76,884,4.544,948,3.2,1233,3.514,1367,4.082,1368,4.082,1418,6.417,1455,8.793,1481,8.793,1482,5.923,1483,5.923,1484,5.923,1485,5.923,1486,5.923,1487,5.923,1488,5.923]],["t/310",[2,0.709,12,1.573,13,4.131,15,2.506,18,2.846,31,4.131,34,5.056,68,1.408,84,3.714,91,4.627,93,3.497,148,5.451,149,2.461,152,5.451,153,2.22,154,4.307,163,3.906,166,4.512,185,5.451,193,3.601,373,6.027,649,2.149,1489,7.228,1490,6.456,1491,7.106]],["t/313",[2,1.056,12,1.282,13,3.367,20,2.162,31,2.204,37,2.37,56,1.535,62,2.081,74,1.457,84,1.981,88,1.921,94,1.362,95,1.921,105,3.59,106,3.771,109,2.892,158,1.428,162,2.468,175,0.799,185,2.907,220,1.622,271,3.509,272,0.859,293,2.35,308,2.907,312,1.301,313,1.534,315,2.062,316,1.501,317,0.582,318,0.664,494,3.875,495,4.669,504,1.865,505,4.643,586,1.921,926,4.443,927,4.443,954,3.863,989,5.961,990,5.261,1082,2.468,1176,2.907,1222,5.637,1492,3.79,1493,4.651,1494,5.792,1495,5.261,1496,3.044,1497,3.443,1498,3.443,1499,3.79,1500,3.79]],["t/315",[2,0.749,12,0.447,13,2.016,20,1.701,31,1.174,37,1.419,39,1.224,40,1.198,45,1.621,46,2.66,47,1.346,48,1.351,55,1.091,56,1.762,62,1.246,63,1.436,66,1.381,68,1.071,73,0.906,85,0.966,86,1.549,93,0.993,94,1.246,96,2.972,108,0.784,109,1.008,116,4.981,124,1.856,134,0.539,145,2.102,157,2.32,158,1.307,159,0.601,162,1.315,163,1.11,166,1.282,167,0.587,172,1.092,175,0.426,177,1.224,181,1.11,199,1.315,221,1.488,226,0.906,227,0.947,257,0.884,265,1.706,267,1.174,268,1.091,271,0.663,272,0.514,275,2.784,280,0.993,286,1.174,289,1.549,290,1.549,292,1.13,308,3.496,309,1.684,312,1.856,313,1.404,315,1.234,316,0.523,317,0.31,318,0.353,320,0.768,321,0.61,324,1.483,326,1.784,333,1.467,338,1.834,366,0.551,375,1.391,381,1.13,390,1.251,412,0.874,416,1.488,420,0.776,439,0.906,445,0.687,458,1.834,463,1.637,490,1.404,494,1.351,599,1.391,616,1.436,624,1.556,645,0.941,672,1.549,727,1.549,742,2.826,743,1.351,769,1.13,777,1.251,785,1.282,786,2.66,805,3.242,837,2.55,881,1.621,903,1.488,925,2.389,1110,1.712,1150,1.621,1152,1.224,1182,1.198,1197,1.488,1222,1.224,1233,1.198,1333,3.133,1364,1.621,1383,1.712,1473,1.549,1501,2.019,1502,1.834,1503,4.912,1504,1.621,1505,1.621,1506,2.019,1507,1.621,1508,1.621,1509,1.436,1510,1.712,1511,1.712,1512,1.712,1513,1.621,1514,2.019,1515,1.834,1516,1.834,1517,2.019,1518,1.834,1519,1.712,1520,2.019,1521,1.834,1522,1.834,1523,1.621,1524,2.019,1525,1.251,1526,2.019,1527,1.712,1528,1.834,1529,2.019,1530,1.834,1531,1.834,1532,2.019,1533,1.834,1534,1.834,1535,4.342,1536,1.834,1537,3.467,1538,2.019,1539,1.834,1540,1.712,1541,2.019,1542,2.019,1543,1.834,1544,1.834,1545,1.834,1546,3.986,1547,2.019,1548,2.019,1549,2.019,1550,2.019,1551,1.834,1552,1.834,1553,1.834,1554,1.834,1555,1.834,1556,1.712,1557,3.15,1558,1.834,1559,1.834,1560,4.342,1561,1.834,1562,2.019,1563,1.94,1564,1.621,1565,1.712,1566,2.66,1567,1.436,1568,1.834,1569,1.834,1570,3.865,1571,3.15,1572,2.019,1573,2.019]],["t/317",[2,0.935,11,1.236,20,0.635,37,3.098,38,1.673,56,0.451,62,1.727,68,0.337,80,0.952,85,0.814,94,0.611,96,1.643,99,2.059,103,1.211,116,4.927,124,0.86,156,0.837,158,0.641,159,0.889,163,0.935,172,1.259,175,0.359,189,0.989,195,0.935,206,0.97,226,0.763,261,2.4,270,3.86,271,1.313,272,1.261,278,0.494,292,0.952,299,0.889,305,1.264,308,1.305,312,2.918,313,2.632,314,1.69,315,3.026,316,1.685,317,0.999,318,1.138,320,0.648,362,0.431,366,1.887,393,1.367,397,1.443,422,0.989,433,0.889,490,0.689,603,1.939,624,0.763,727,4.988,742,1.562,754,2.203,876,3.86,886,2.203,900,0.97,918,2.203,930,1.211,934,1.367,1020,1.546,1026,1.211,1071,1.254,1099,1.08,1152,1.031,1154,1.546,1175,2.127,1215,1.443,1233,3.577,1333,1.538,1370,1.546,1371,1.546,1442,2.059,1521,1.546,1522,2.715,1543,1.546,1544,1.546,1545,1.546,1546,6.726,1551,1.546,1552,1.546,1553,2.715,1554,1.546,1557,6.877,1558,5.477,1559,5.907,1560,6.969,1563,0.952,1564,1.367,1566,1.305,1568,5.907,1569,4.367,1570,1.443,1574,1.702,1575,3.86,1576,4.807,1577,4.807,1578,1.108,1579,1.702,1580,2.989,1581,7.261,1582,1.367,1583,1.546,1584,1.702,1585,2.989,1586,2.989,1587,2.989,1588,1.702,1589,1.702,1590,1.546,1591,2.535,1592,2.715,1593,1.443,1594,2.535,1595,1.546,1596,1.702,1597,1.367,1598,1.546,1599,1.546]],["t/319",[2,0.822,9,1.722,11,1.471,14,2.078,16,2.887,20,2.521,47,1.381,58,1.576,62,1.278,64,1.859,66,1.408,88,1.802,94,1.278,119,1.168,124,0.765,127,2.621,141,2.027,153,1.111,158,2.545,159,1.641,172,1.12,177,2.155,199,3.591,272,1.002,312,1.221,313,1.439,314,1.504,315,1.963,316,1.429,317,1.038,318,1.182,321,1.075,324,1.521,333,1.504,362,0.902,365,1.981,410,2.067,419,2.794,420,1.367,444,2.12,445,2.802,472,1.679,474,1.859,519,4.007,624,1.595,631,4.007,645,1.657,671,3.799,680,2.621,703,2.315,742,2.882,760,3.016,816,2.257,836,3.031,861,4.979,877,2.204,886,2.621,891,2.621,912,2.621,1008,2.53,1026,2.53,1259,2.315,1369,2.379,1435,2.155,1473,4.23,1563,3.779,1570,3.016,1600,5.514,1601,3.556,1602,2.621,1603,2.728,1604,3.556,1605,3.556,1606,5.51,1607,3.016,1608,3.016,1609,5.243]],["t/321",[2,1.047,31,4.043,50,3.228,51,3.892,52,1.964,53,3.082,62,2.183,74,2.336,84,3.176,93,2.99,124,1.497,175,1.281,227,1.583,268,3.283,271,3.213,272,1.206,297,1.789,310,3.079,311,3.533,312,2.79,313,3.29,314,2.57,315,2.893,316,2.214,317,1.17,318,1.064,320,1.151,362,1.23,371,2.428,381,1.692,389,4.311,390,4.72,420,2.673,421,2.422,432,2.428,624,2.726,769,4.261,1182,4.518,1198,2.229,1315,4.88,1474,2.747,1523,4.88]],["t/324",[2,0.932,11,3.118,124,1.622,272,1.118,297,1.939,316,2.421,317,1.158,318,1.319,321,2.279,412,3.262,420,2.897,604,5.362,645,3.512,671,6.435,721,3.118,738,3.558,1610,6.846]],["t/326",[2,0.671,16,2.135,56,2.302,62,2.415,68,1.332,69,4.075,78,1.668,124,1.87,272,0.998,297,1.73,317,1.033,321,2.033,331,4.783,335,4.956,362,1.705,365,2.415,377,2.393,412,2.91,442,3.989,445,2.287,446,5.657,575,4.075,582,4.783,587,2.98,591,3.514,721,2.781,738,3.174,1611,4.783,1612,6.107]],["t/328",[2,0.587,9,2.483,16,1.867,18,2.354,94,2.856,95,2.978,107,3.417,158,2.215,159,1.749,175,1.675,272,0.872,278,1.708,297,1.512,302,2.431,316,1.523,317,0.903,330,2.354,364,1.777,402,3.487,406,3.23,412,2.544,420,2.259,424,4.049,464,4.049,504,3.911,556,2.978,594,4.448,664,4.332,721,2.431,799,4.181,836,3.23,1108,4.049,1111,4.332,1143,4.332,1259,3.827,1442,4.049,1613,7.748,1614,5.339,1615,5.339,1616,5.339]],["t/330",[2,0.596,16,2.551,56,1.583,149,2.068,272,0.886,302,2.47,317,0.917,318,1.045,362,1.514,364,1.805,365,3.489,366,1.631,377,2.125,426,2.897,438,2.319,447,2.819,472,2.819,501,3.471,649,1.805,667,3.791,728,3.282,925,4.114,1155,5.231,1161,5.922,1393,4.869,1563,3.341,1611,4.248,1617,7.7,1618,5.971,1619,6.813,1620,8.033,1621,8.033,1622,6.813]],["t/332",[2,0.463,25,2.549,56,1.229,66,1.719,68,0.918,149,2.331,153,1.448,167,1.347,220,1.984,272,0.688,302,1.918,317,0.712,318,0.812,330,3.174,362,1.707,364,1.402,365,2.847,366,1.267,377,2.396,399,2.282,406,2.549,412,2.007,426,3.845,438,1.801,447,4.105,480,1.984,481,1.984,529,3.913,536,3.557,537,3.418,559,2.811,649,2.035,661,2.644,663,3.019,721,1.918,742,4.142,820,2.944,848,2.161,849,3.019,1393,4.08,1619,6.72,1622,5.708,1623,3.933,1624,7.082,1625,7.898,1626,6.72,1627,4.637,1628,6.72,1629,4.637,1630,4.637]],["t/334",[2,0.587,56,1.558,66,1.501,68,1.164,78,1.972,149,2.035,159,1.749,272,0.872,302,2.431,317,0.903,318,1.029,320,2.237,343,2.431,362,1.49,364,1.777,365,2.856,366,1.605,377,2.092,402,5.343,416,5.859,426,2.852,438,3.086,501,3.417,594,3.289,649,2.403,721,2.431,728,4.368,744,7.638,757,5.655,897,3.175,1058,4.984,1181,3.731,1393,4.817,1613,4.719,1631,5.339,1632,5.877]],["t/336",[2,0.696,56,1.848,149,2.415,272,1.035,302,2.885,362,1.768,364,2.108,365,3.195,366,1.905,377,2.482,426,3.384,438,2.708,447,3.293,533,7.512,556,3.534,649,2.108,745,8.305,1181,4.427,1393,5.391,1421,5.141,1633,5.6,1634,6.974]],["t/338",[2,0.769,9,1.753,52,3.118,78,1.392,97,4.507,134,1.499,159,1.67,175,1.183,227,1.167,237,5.098,272,1.143,297,1.982,316,1.996,317,0.862,362,1.953,364,1.697,365,2.767,366,2.104,377,1.998,405,3.33,420,2.961,421,2.802,426,3.737,435,3.737,436,3.032,437,3.33,438,2.991,472,2.65,547,3.032,948,4.161,1168,4.137,1305,3.755,1393,4.668,1635,7.458,1636,5.015,1637,5.154]],["t/340",[16,2.966,52,3.78,53,3.34,78,2.316,88,3.819,97,6.052,134,2.013,153,2.354,159,2.242,175,1.589,227,1.567,412,3.262,426,3.657,624,3.381,738,3.558,1156,6.846,1638,4.907]],["t/342",[2,0.637,16,2.026,78,1.582,97,5.122,124,1.373,272,0.946,297,1.641,312,2.19,317,1.29,318,1.117,331,4.538,335,4.702,362,2.128,364,1.929,365,3.371,366,1.742,377,2.988,426,3.095,442,3.784,445,2.17,446,6.11,575,3.866,582,4.538,587,2.827,591,3.334,1393,5.088,1612,5.794,1639,8.523]],["t/344",[2,0.472,5,1.913,9,1.476,40,2.803,56,1.252,58,3.887,60,2.747,78,1.172,89,2.045,95,2.394,141,3.89,149,3.222,167,1.373,172,1.488,175,1.688,176,2.51,226,2.12,227,1.665,239,3,253,2.929,272,0.701,278,1.373,302,2.822,320,1.798,326,2.431,351,2.929,362,1.73,365,1.698,366,1.291,367,2.919,405,2.803,416,3.483,426,2.293,438,1.835,447,2.231,450,4.701,451,2.51,453,3.483,649,1.429,667,3,721,1.955,738,2.231,768,3.483,777,4.23,805,5.698,819,3,852,5.787,1005,3.256,1061,3.483,1261,3.624,1265,3.483,1561,4.292,1640,6.198,1641,8.008,1642,4.725,1643,4.725]],["t/346",[2,0.569,9,1.78,40,4.617,55,3.078,58,2.525,60,3.312,66,1.455,272,0.845,288,3.38,297,1.466,301,4.204,322,3.675,330,2.282,362,1.445,364,1.723,366,1.556,395,3.312,412,2.466,420,2.19,451,4.134,474,2.978,480,2.438,481,2.438,507,3.535,571,2.887,574,4.824,671,3.926,747,3.71,767,6.25,785,3.617,859,3.812,860,3.812,861,5.737,1235,4.277,1644,4.832,1645,8.863,1646,5.698,1647,5.698,1648,5.176,1649,7.782]],["t/348",[2,0.621,5,2.52,12,0.923,56,1.106,58,3.302,78,2.504,80,2.334,89,1.805,95,3.155,122,1.969,144,2.874,149,2.58,172,1.314,173,1.764,175,0.879,193,2.114,218,2.216,227,1.717,272,1.105,302,1.725,317,0.956,343,2.576,364,1.882,365,2.237,366,1.701,367,3.534,377,1.485,399,2.053,422,2.425,426,2.024,448,2.791,468,3.075,470,5.982,504,2.053,529,2.425,533,3.2,598,3.2,645,1.944,649,1.261,728,3.422,739,3.35,741,2.791,768,4.59,777,2.586,799,2.968,805,2.968,820,2.648,850,2.716,869,4.59,996,5,1021,2.425,1235,2.293,1640,5.656,1650,9.875,1651,4.171,1652,7.45]],["t/350",[16,2.468,50,4.129,56,2.06,64,4.062,78,2.361,88,3.938,94,2.792,149,2.692,175,1.638,302,3.215,624,3.487,649,2.35,926,5.961,927,5.961,929,5.355,1527,6.591]],["t/352",[2,0.616,5,2.497,52,2.497,58,2.734,78,2.289,91,4.016,149,2.136,272,0.915,362,1.564,364,1.865,365,2.95,366,1.685,377,2.196,402,3.659,405,3.659,426,2.993,435,3.984,438,2.395,472,2.912,556,3.126,594,5.733,649,1.865,721,2.551,757,4.388,897,3.332,948,4.985,1075,4.016,1393,4.976,1635,5.231,1653,4.731,1654,6.168]],["t/354",[2,0.637,16,2.666,56,1.691,58,3.72,78,2.082,149,2.209,225,4.049,227,1.745,272,0.946,297,1.641,302,2.639,317,0.98,318,1.117,351,3.954,364,1.929,366,1.742,367,3.591,445,2.856,591,3.334,631,5.915,649,1.929,721,2.639,829,5.122,938,6.439,1655,8.523,1656,6.378]],["t/356",[2,0.659,9,2.682,11,2.732,66,2.193,68,1.308,94,3.085,124,1.421,158,2.489,172,2.08,272,0.98,302,2.732,321,3.055,393,5.303,412,2.858,420,2.539,431,3,571,3.347,671,4.55,721,2.732,836,3.63,861,6.33,1111,4.868,1259,4.3,1657,5.999,1658,5.999,1659,5.999,1660,5.601]],["t/358",[2,0.653,9,2.045,16,2.712,66,2.181,68,1.297,78,1.624,94,3.068,124,1.409,158,2.467,172,2.062,227,1.361,272,0.971,302,2.708,321,3.045,393,5.257,412,2.833,420,2.516,431,2.973,446,4.263,479,7.756,571,3.317,721,2.708,1111,4.825,1259,4.263,1657,5.947,1658,5.947,1659,5.947,1660,5.552]],["t/360",[56,2.43,78,2.274,85,3.501,88,3.707,149,2.534,175,1.932,227,1.521,297,1.882,302,3.026,445,2.489,575,4.434,591,3.824,594,4.094,605,3.952,624,3.282,649,2.212,747,4.763,1021,4.253,1235,5.038]],["t/362",[2,0.784,9,3.228,12,1.738,14,2.96,58,3.481,66,2.006,68,1.555,94,2.822,96,4.316,112,4.395,124,2.061,209,3.98,524,5.587]],["t/364",[2,0.703,9,2.795,11,2.912,66,1.798,94,2.529,124,1.515,158,2.653,272,1.045,297,1.811,316,2.319,317,1.081,318,1.232,320,2.679,321,2.128,420,2.706,421,3.515,645,3.28,671,6.777,680,5.189,835,4.177,1435,4.267,1602,5.189,1603,5.4]],["t/366",[9,3.132,56,2.247,124,2.158,836,4.659,837,4.744,1197,6.249,1567,6.031]],["t/368",[2,0.631,5,3.379,20,2.36,55,3.417,56,1.676,149,2.191,321,2.825,322,3.941,323,3.628,324,3.571,326,3.254,330,2.533,451,4.434,503,3.921,603,3.069,604,4.5,645,2.947,649,1.912,742,3.306,760,5.364,871,4.118,1005,4.358,1333,3.254,1603,4.851,1610,7.583,1661,6.324,1662,6.324,1663,6.324,1664,5.364,1665,6.324]],["t/370",[2,0.521,16,3.182,56,1.384,58,3.246,124,1.576,134,1.956,149,1.808,153,1.631,220,2.233,266,4.192,272,0.775,278,2.128,317,0.802,318,0.914,321,3.029,323,3.286,330,2.091,365,2.632,431,3.327,624,2.342,645,3.413,646,3.493,649,2.215,669,6.654,671,5.047,672,6.491,689,3.706,1254,6.212,1509,3.714,1666,8.462,1667,9.174,1668,5.22]],["t/372",[2,0.892,9,2.457,14,2.181,20,3.334,25,3.18,56,1.534,62,2.079,69,3.507,124,1.693,173,2.447,193,2.932,271,2.584,272,1.167,278,1.681,316,1.5,317,1.208,318,1.013,320,2.993,362,1.467,366,1.58,389,3.587,390,5.538,421,2.889,428,4.907,430,6.67,431,2.628,432,4.646,440,4.117,571,2.932,671,5.419,836,3.18,837,3.238,940,4.907,1603,4.438,1669,4.907,1670,5.786]],["t/374",[20,2.509,56,1.782,66,1.717,68,1.332,78,1.668,134,1.795,149,2.328,179,3.908,193,3.407,278,2.524,343,2.781,351,4.168,447,3.174,451,5.113,474,3.514,645,3.133,649,2.033,856,5.399,1075,5.657,1076,7.367,1093,4.956,1671,8.687,1672,6.723,1673,6.723,1674,6.107,1675,6.723]],["t/376",[2,0.962,66,2.027,74,3.051,78,2.391,122,3.747,134,2.119,253,4.92,310,4.022,570,6.088,1080,7.394,1093,5.85,1333,4.084]],["t/378",[2,0.776,272,1.153,317,1.194,318,1.361,364,2.35,365,2.792,366,2.123,480,3.325,481,3.325,1072,8.071,1080,5.961,1093,7.583,1676,6.591,1677,6.241]],["t/380",[2,0.681,5,1.913,12,1.046,13,2.747,49,2.293,66,1.207,67,3.222,68,0.936,73,3.061,89,2.045,134,1.262,272,1.012,297,1.216,316,1.225,317,0.726,318,0.827,320,1.798,324,2.021,343,1.955,362,1.73,364,2.063,365,1.698,366,2.188,367,2.919,377,1.682,444,1.816,445,1.608,453,3.483,463,2.231,480,2.021,481,2.021,493,2.747,569,3.162,748,5.03,759,3.256,947,5.787,999,2.47,1022,4.007,1056,3.624,1072,4.007,1075,3.077,1076,4.007,1080,5.234,1093,5.903,1099,3,1216,4.292,1324,3.794,1674,4.292,1678,4.725,1679,4.292,1680,4.725,1681,8.008,1682,6.823,1683,6.823,1684,6.823,1685,6.823,1686,6.823,1687,4.725]],["t/382",[2,0.611,18,2.45,78,1.517,148,4.693,167,1.777,175,1.289,176,3.25,250,4.215,272,0.908,278,1.777,297,1.574,302,2.531,317,0.94,318,1.071,364,1.85,365,2.934,366,1.671,377,2.178,385,4.913,410,3.556,418,5.809,445,2.081,480,2.617,481,2.617,729,3.488,862,4.215,918,4.509,932,3.884,1023,4.352,1075,5.317,1080,4.693,1088,7.417,1093,6.775,1498,5.557,1676,5.188,1677,4.913,1688,5.557]],["t/384",[2,0.833,74,3.82,84,3.306,94,2.272,134,1.689,137,4.662,146,4.358,227,1.735,257,4.092,309,2.338,409,4.118,439,2.837,474,4.884,605,3.417,644,6.153,645,2.947,828,6.049,848,4.354,1375,4.118,1689,6.324,1690,6.324,1691,6.324]],["t/386",[2,0.433,9,1.356,15,2.262,17,2.575,39,3.887,55,2.345,79,3.563,90,3.33,108,1.686,119,1.426,165,3.681,175,0.915,214,2.904,215,2.2,218,2.306,257,3.34,312,2.201,321,1.312,322,4.244,326,3.3,330,3.6,347,2.827,418,3.088,473,2.827,474,4.917,501,2.523,502,4.291,509,4.919,517,2.631,532,2.904,616,4.563,628,2.991,694,4.727,721,1.796,748,3.2,801,3.943,828,2.475,835,2.575,900,2.475,929,2.991,949,5.851,1015,3.486,1112,2.827,1233,2.575,1365,2.827,1391,5.15,1502,5.826,1504,3.486,1513,3.486,1530,3.943,1583,3.943,1692,5.622,1693,5.826,1694,4.341,1695,3.943,1696,4.341,1697,3.681,1698,4.341,1699,3.943,1700,3.681]],["t/388",[2,0.577,9,1.807,15,2.774,55,3.126,108,2.247,165,4.907,175,1.22,214,3.871,215,3.985,312,2.7,321,1.749,322,2.732,326,2.977,330,3.84,347,3.768,473,3.768,474,5.011,501,3.364,505,2.889,508,2.932,665,4.265,694,5.797,835,3.433,900,3.299,925,3.987,949,6.853,1112,3.768,1233,3.433,1365,3.768,1391,6.315,1513,4.646,1692,6.586,1693,5.256,1697,4.907,1700,4.907]],["t/390",[2,0.897,92,5.852,208,6.624,1700,7.621]],["t/392",[2,1.001,12,1.876,13,4.928,92,5.52,145,5.138,1222,6.078,1701,7.189]],["t/394",[11,3.636,59,4.062,82,5.046,94,3.158,119,2.249,121,5.046,122,3.232,156,3.369,189,3.98,209,4.454,226,3.071,239,4.346,345,5.498,508,4.919,678,4.995,689,2.998,1333,3.523,1563,4.918,1565,5.806,1702,5.806,1703,5.806,1704,5.806]],["t/396",[11,2.101,15,1.791,47,1.972,66,1.297,68,1.006,94,1.824,119,1.668,122,2.398,133,3.148,158,1.914,167,1.475,193,2.573,227,1.056,251,3.398,297,1.848,303,3.743,305,2.148,309,2.655,325,2.398,413,3.013,486,4.307,490,2.056,494,6.064,508,5.031,528,2.952,601,6.589,659,4.613,678,4.289,715,3.078,1070,3.499,1259,3.307,1333,2.613,1509,3.613,1705,5.078,1706,5.078,1707,5.078,1708,5.078,1709,5.078,1710,5.078,1711,5.078,1712,5.078,1713,6.093,1714,6.526,1715,6.694,1716,5.078,1717,5.078,1718,4.613,1719,5.078]],["t/398",[272,1.216,297,2.109,317,1.259,318,1.435,364,2.479,366,2.239,494,5.485,601,5.649,1715,8.455,1720,6.288]],["t/400",[159,2.22,172,2.35,227,1.551,269,5.5,280,3.672,309,2.758,494,4.992,508,3.781,529,4.338,601,5.141,604,5.308,645,3.477,883,6.328,1068,5.5,1715,7.453,1721,5.992,1722,7.461,1723,7.461,1724,7.461,1725,7.461]],["t/402",[11,3.283,14,2.991,85,3.798,94,2.851,147,4.084,156,3.906,159,2.361,226,3.561,508,4.022,678,4.084,976,5.647,1333,4.084,1563,4.441,1565,6.731,1726,7.21]],["t/404",[12,1.376,19,3.855,37,2.545,66,2.108,68,1.232,94,2.966,159,2.456,172,1.959,206,3.546,227,1.293,272,0.923,333,2.631,474,5.159,508,5.002,529,5.387,678,3.2,715,3.77,1095,5.275,1546,4.584,1563,3.48,1727,6.219,1728,8.255,1729,6.219,1730,6.219,1731,6.219,1732,6.219,1733,6.219,1734,6.219,1735,4.994]],["t/406",[66,1.906,122,3.523,272,1.107,474,4.851,490,3.02,508,4.703,606,5.141,818,4.625,1435,4.522,1462,5.723,1546,5.5,1735,5.992,1736,9.601,1737,6.328,1738,7.461,1739,6.778]],["t/408",[11,1.568,15,2.043,47,3.471,59,3.436,65,1.921,66,0.968,68,1.147,73,2.598,78,0.94,119,1.903,122,1.79,159,1.723,166,2.406,167,1.683,175,0.799,181,2.083,193,3.562,206,3.302,227,1.204,251,2.536,257,1.66,259,1.921,278,1.683,299,1.981,301,3.129,302,1.568,309,2.909,317,0.582,318,0.664,342,1.95,344,3.215,345,3.044,364,1.146,366,1.035,399,1.865,489,2.697,507,2.631,508,4.53,530,3.215,574,3.59,594,2.121,595,3.044,597,5.181,598,2.907,600,5.181,626,2.204,636,7.19,772,2.536,793,2.536,819,2.406,858,2.907,900,4.008,1025,3.044,1070,5.423,1084,3.044,1235,3.183,1365,3.771,1435,2.297,1437,2.907,1509,2.697,1510,3.215,1713,4.912,1718,6.385,1739,3.443,1740,5.961,1741,3.443,1742,3.79,1743,3.79,1744,3.443,1745,3.79]],["t/410",[2,0.962,12,1.757,15,2.799,56,2.104,64,4.148,124,2.075,227,1.65,312,2.724,313,3.213,689,3.476,1197,5.85,1567,6.858]],["t/413",[2,1.008,12,1.651,158,2.812,199,4.858,272,1.107,312,2.561,313,3.02,315,3.303,316,1.934,317,1.146,318,1.306,321,2.256,412,3.229,599,5.141,645,3.477,835,4.427,1435,4.522,1602,5.5]],["t/415",[15,2.741,84,4.062,88,3.938,93,3.824,124,2.214,158,2.929,227,1.615,309,2.873,410,4.518,585,5.961,624,3.487,1536,7.06,1746,6.591,1747,7.771,1748,7.771]],["t/418",[2,0.773,12,1.251,81,3.224,108,2.196,119,1.858,124,1.666,134,2.067,147,2.91,159,1.682,172,1.781,236,2.91,272,1.409,282,4.337,297,1.992,299,2.956,315,2.756,316,1.466,317,0.869,318,0.99,321,1.71,323,2.196,324,2.419,329,4.023,330,3.101,363,4.693,377,2.756,407,4.168,501,3.287,664,4.168,1111,4.168,1197,4.168,1333,2.91,1505,6.217,1563,3.164,1749,4.796,1750,9.494,1751,5.654,1752,4.168]],["t/420",[2,0.69,56,1.831,116,4.099,124,1.903,149,2.393,272,1.025,302,2.858,315,3.147,316,1.791,317,1.061,318,1.21,321,2.089,323,2.683,324,3.782,325,3.262,350,5.549,474,3.611,503,4.283,609,4.623,649,2.089,1226,5.86,1230,6.277,1753,8.032,1754,6.909,1755,6.909]],["t/422",[2,0.499,12,0.694,49,3.447,66,0.801,80,1.756,84,1.64,94,1.796,134,1.335,141,2.849,147,1.615,156,3.065,157,2.1,158,1.183,159,0.934,167,1.81,173,1.327,175,1.313,176,1.667,179,2.905,215,1.59,220,1.342,226,1.408,227,1.039,236,1.615,239,1.992,265,1.544,272,0.924,278,2.064,286,1.824,314,1.327,315,1.779,316,0.813,317,0.482,318,0.549,321,0.949,322,1.482,323,1.218,329,2.232,330,2.495,342,1.615,343,1.298,364,0.949,425,3.556,439,2.794,448,2.1,456,4.292,480,3.039,481,3.039,490,2.023,494,3.344,504,1.544,571,1.59,575,3.029,586,2.533,615,2.162,661,2.849,678,2.572,689,1.374,707,2.85,721,1.298,729,1.789,738,2.36,777,1.945,785,1.992,805,2.232,900,2.849,970,2.661,985,2.52,999,1.64,1002,2.407,1025,2.52,1061,2.313,1062,4.54,1121,2.661,1152,1.902,1173,4.239,1222,4.305,1284,2.1,1353,2.965,1357,2.162,1462,3.834,1512,4.239,1525,1.945,1609,2.162,1692,2.313,1701,4.239,1749,2.661,1756,2.661,1757,2.1,1758,4.998,1759,3.138,1760,2.85,1761,4.998,1762,4.54,1763,4.239,1764,4.998,1765,3.138,1766,3.138,1767,3.138,1768,3.138,1769,3.138,1770,3.138,1771,2.661]],["t/424",[20,2.813,21,4.381,52,3.051,320,2.868,321,2.279,322,3.558,323,2.926,325,3.558,330,3.74,451,4.004,463,3.558,503,4.672,789,5.781,1333,3.878,1772,7.92,1773,6.846,1774,6.052,1775,7.536]],["t/426",[56,2.018,116,4.517,124,2.022,149,2.637,173,3.22,278,2.212,302,3.149,321,2.302,323,2.956,330,3.049,505,3.801,506,4.26,559,4.614,599,5.246,649,2.302,1021,4.426,1100,5.094,1776,6.916]],["t/428",[278,2.463,321,2.563,323,3.292,330,3.395,504,4.172,559,5.138,599,5.841,828,4.833,1021,4.928]],["t/430",[2,0.626,15,2.212,56,1.662,68,1.644,124,1.35,145,3.801,149,2.172,172,1.975,206,3.576,267,3.646,272,0.931,302,2.594,309,2.318,315,2.955,316,1.626,317,0.963,318,1.098,320,2.387,321,1.896,322,2.961,323,2.435,324,2.683,330,2.512,342,3.227,472,2.961,490,2.539,508,3.178,649,1.896,661,3.576,689,3.635,1028,5.036,1509,7.046,1777,8.301]],["t/432",[2,0.643,5,3.947,12,1.426,56,1.157,66,1.115,81,2.489,94,1.569,122,2.062,124,0.94,149,1.512,153,1.364,179,2.538,193,2.213,213,5.462,220,1.868,257,2.821,259,3.264,272,0.956,286,2.538,297,1.657,301,3.479,302,1.806,309,1.614,314,1.847,315,2.293,316,1.132,317,0.989,318,1.128,321,1.32,323,1.695,329,3.106,330,2.58,364,1.32,366,1.193,420,1.678,483,2.646,485,3.506,507,2.926,605,5.267,649,1.32,689,1.912,697,3.008,747,4.194,932,4.859,1113,5.851,1235,4.206,1508,3.506,1609,4.438,1778,3.966,1779,3.703,1780,4.366,1781,3.703,1782,3.966,1783,4.366,1784,5.851,1785,6.441,1786,6.441]],["t/434",[15,2.923,47,3.842,119,2.723,321,2.506,323,3.219,330,3.32,353,4.403,505,4.94,925,5.711]],["t/436",[2,0.642,56,1.705,91,4.189,116,3.817,124,2.028,149,2.228,257,2.817,259,3.26,272,0.955,302,2.661,315,3.005,316,1.668,317,0.988,318,1.126,320,2.449,321,1.945,323,2.498,438,3.278,649,1.945,785,4.084,834,4.433,1134,5.844,1190,4.433,1511,7.159,1535,5.166,1567,4.577,1692,4.742,1787,5.456,1788,6.433,1789,6.433,1790,6.433,1791,6.433]],["t/438",[119,2.693,320,3.12,321,2.479,322,3.871,323,3.183,353,4.355,505,4.093,559,4.969,772,5.485,877,5.082,1021,4.766,1792,6.953]],["t/440",[2,0.663,49,4.447,64,2.379,68,1.553,112,2.547,124,1.687,159,1.354,230,3.239,272,0.985,278,2.504,315,3.068,316,1.721,317,1.02,318,1.163,320,1.733,321,1.376,322,2.149,323,1.768,324,1.948,480,4.332,481,3.921,493,3.861,732,2.759,831,3.356,837,3.716,920,2.822,923,4.135,924,5.402,930,7.029,1084,3.656,1421,3.356,1472,3.239,1792,3.861,1793,6.641,1794,6.033,1795,6.641,1796,6.641,1797,6.641,1798,6.641]],["t/442",[2,0.639,21,1.904,25,1.8,38,3.585,49,1.589,66,1.321,68,1.269,80,4.072,94,1.858,109,2.582,119,1.076,124,0.705,134,1.711,140,3.811,146,2.257,147,3.296,150,2.414,155,1.985,159,2.165,167,0.952,172,2.292,189,3.006,199,2.133,206,1.867,215,1.66,226,1.469,272,0.951,289,3.966,290,3.966,295,2.512,302,1.355,309,1.211,315,2.997,316,1.661,317,0.984,318,1.122,320,2.438,321,0.99,322,1.547,323,1.272,347,2.133,355,2.975,410,1.904,450,2.257,472,1.547,490,1.326,505,3.955,559,1.985,624,1.469,689,2.264,703,2.133,772,5.633,820,2.079,831,2.414,834,5.458,873,4.152,874,3.811,884,2.512,900,5.025,1009,2.63,1353,3.068,1357,2.257,1516,5.82,1597,5.145,1746,2.778,1756,2.778,1757,2.192,1778,2.975,1787,2.778,1799,5.171,1800,5.171,1801,3.275,1802,5.171,1803,4.697,1804,2.975,1805,3.275,1806,3.275]],["t/444",[2,0.632,12,1.671,13,2.48,38,2.387,89,1.846,108,1.657,124,2.012,134,1.691,162,2.778,167,1.24,172,1.344,271,3.072,272,0.633,287,2.432,309,1.577,312,2.173,314,1.805,315,2.254,316,1.106,317,0.973,318,0.747,321,1.29,323,1.657,324,1.825,329,3.035,330,3.024,333,1.805,463,2.014,578,3.145,588,3.426,694,3.145,721,1.765,742,3.31,761,3.035,922,3.876,1110,3.618,1201,2.645,1333,3.885,1353,4.479,1365,2.778,1566,8.301,1807,4.266,1808,4.266,1809,4.266,1810,4.266,1811,4.266,1812,7.55,1813,6.332,1814,4.266,1815,4.266,1816,4.266,1817,4.266,1818,4.266,1819,4.266,1820,3.876,1821,4.266]],["t/446",[11,1.626,14,1.481,18,1.574,21,2.285,38,3.331,49,2.889,54,3.333,68,1.179,73,1.763,79,1.662,80,3.331,85,2.849,94,1.412,103,4.236,109,3.588,122,4.068,124,1.281,126,3.015,134,1.59,158,1.481,159,2.138,172,1.875,175,1.255,176,2.088,178,4.236,179,3.461,195,3.95,209,3.017,216,3.015,218,3.818,220,2.547,221,7.149,226,1.763,267,3.461,292,2.199,321,1.188,323,1.526,324,2.547,326,3.063,348,3.394,368,4.781,474,2.054,583,3.333,618,4.102,689,1.721,703,2.559,786,4.567,900,4.571,1030,3.57,1143,2.897,1254,3.333,1262,2.796,1335,3.333,1447,4.781,1523,3.156,1528,3.57,1597,4.781,1762,3.57,1822,5.953,1823,3.015,1824,3.57,1825,3.57,1826,3.93,1827,3.93,1828,3.333]],["t/448",[2,0.687,12,1.059,18,1.917,38,2.678,49,2.322,66,1.759,67,2.26,68,0.948,80,2.678,84,2.501,99,6.079,109,2.389,124,1.482,152,3.671,154,2.901,155,2.901,172,1.507,181,2.63,207,3.202,270,6.477,271,1.572,272,1.022,315,2.451,316,1.24,317,0.735,318,0.838,321,1.447,323,1.858,330,3.534,354,3.528,362,1.213,366,1.307,490,1.937,603,3.914,754,5.946,900,4.599,918,6.503,1071,3.528,1265,3.528,1333,2.462,1364,3.843,1470,4.059,1507,3.843,1564,3.843,1591,4.059,1592,6.255,1593,4.059,1597,3.843,1598,4.347,1599,4.347,1825,4.347,1829,6.886,1830,4.785]],["t/450",[20,2.785,40,5.993,56,1.978,84,3.9,88,3.781,93,3.672,124,1.606,149,2.584,302,3.086,321,2.256,322,3.523,323,2.897,324,3.192,326,3.839,451,3.964,472,3.523,624,3.347,649,2.256,837,4.175]],["t/452",[20,2.785,56,1.978,60,5.872,84,3.9,88,3.781,93,3.672,124,1.606,149,2.584,302,3.086,320,2.84,321,2.256,322,3.523,323,2.897,326,3.839,451,3.964,472,3.523,624,3.347,649,2.256,837,4.175]],["t/454",[2,0.721,5,2.072,14,1.218,15,1.805,40,3.036,56,0.857,60,2.975,66,1.622,68,1.431,81,2.918,124,0.696,149,2.2,155,1.959,158,1.218,159,1.523,166,2.052,171,2.004,172,1.018,180,2.228,206,1.843,220,2.189,267,1.879,268,2.765,272,1.072,278,1.487,302,1.337,309,2.348,315,3.237,316,1.872,317,1.11,318,1.265,320,1.948,321,0.977,322,2.416,323,1.255,324,2.189,330,1.295,333,1.367,343,1.337,353,3.837,472,2.416,474,2.675,495,1.918,501,1.879,504,2.518,517,1.959,649,0.977,667,3.249,689,1.416,705,3.926,764,2.48,777,5.189,848,2.96,850,2.105,932,2.052,944,6.562,1112,4.136,1401,5.77,1495,2.937,1508,6.321,1563,1.809,1578,2.105,1595,2.937,1602,2.383,1779,2.742,1831,7.223,1832,6.562,1833,3.233,1834,7.223,1835,5.118,1836,5.118,1837,3.233]],["t/456",[2,0.538,16,2.955,19,1.575,25,1.396,47,1.635,56,1.116,64,1.328,66,1.075,68,0.834,78,1.044,81,1.448,85,2.579,94,0.913,103,1.807,108,0.986,124,0.906,134,1.124,147,1.307,149,0.88,153,0.794,156,2.652,159,0.756,166,1.613,175,0.887,179,1.477,185,1.949,201,1.654,272,0.8,278,0.738,297,1.613,302,1.741,305,1.781,307,1.873,309,1.556,312,1.85,315,2.666,316,1.397,317,0.828,318,0.944,321,0.768,323,0.986,330,1.018,363,4.808,377,2.231,399,1.25,407,1.873,419,2.133,444,0.977,445,3.097,463,2.96,468,1.873,472,1.2,474,2.2,490,1.028,500,3.38,501,2.447,504,2.072,519,3.198,556,1.287,559,1.54,571,1.287,608,4.788,631,2.498,649,0.768,667,1.613,678,1.307,715,3.267,721,1.051,799,1.807,800,1.949,848,2.512,859,1.7,860,1.7,970,2.155,972,2.04,976,1.807,1008,2.995,1021,1.477,1028,2.04,1152,1.54,1420,2.155,1432,2.155,1446,2.308,1451,2.04,1473,1.949,1563,1.422,1578,1.654,1606,5.937,1607,4.571,1608,5.317,1609,2.901,1737,2.155,1838,2.54,1839,2.54,1840,2.54,1841,2.308,1842,2.54,1843,2.901,1844,2.54,1845,2.54,1846,2.54,1847,2.54,1848,2.54,1849,2.54,1850,6.269,1851,4.209,1852,4.209,1853,4.209]],["t/458",[38,4.054,55,4.922,56,2.415,66,1.85,119,2.993,286,4.211,321,2.19,322,3.421,323,2.813,324,3.898,330,2.902,375,4.992,661,4.13,689,3.172,754,5.34,1594,6.144,1609,4.992,1757,4.847,1854,7.244,1855,7.244]],["t/460",[20,2.443,56,1.735,81,3.732,84,3.422,112,3.663,119,2.151,124,1.409,149,2.267,167,2.481,172,2.062,175,1.38,176,3.478,206,3.732,256,4.657,302,2.708,308,5.021,324,2.801,347,4.263,348,3.732,349,5.257,350,5.257,351,5.293,352,4.511,353,3.478,354,4.825,376,5.947,649,1.979,689,2.867,1112,5.56,1497,5.947,1578,4.263,1779,5.552]],["t/462",[11,2.324,12,1.243,16,1.784,19,3.482,20,1.359,64,1.904,68,0.721,78,1.393,81,2.077,85,1.743,108,1.414,109,3.424,112,2.038,119,1.846,121,2.685,124,0.784,158,1.373,172,2.16,226,1.634,227,1.168,267,3.266,268,3.704,284,2.925,292,2.038,294,2.685,320,1.386,321,1.101,322,1.72,323,1.414,324,2.403,325,2.653,347,2.372,348,2.077,349,2.925,350,7.066,354,4.141,368,4.511,372,2.685,375,2.51,377,3.132,381,3.144,423,3.759,483,3.405,490,2.274,619,3.089,689,2.46,884,2.794,903,4.141,929,3.871,988,3.309,1284,2.437,1289,2.685,1333,1.874,1343,8.825,1399,3.089,1471,2.794,1473,2.794,1539,8.329,1540,3.089,1578,2.372,1702,3.089,1744,3.309,1856,2.794,1857,5.618,1858,5.618,1859,4.764,1860,3.642,1861,3.642,1862,3.642,1863,5.618,1864,3.309,1865,2.685,1866,3.642]],["t/464",[2,0.616,12,1.365,56,2.176,68,1.222,73,2.767,103,4.388,124,1.327,156,3.035,158,2.324,159,2.443,172,1.943,175,1.3,195,4.512,200,5.603,206,3.517,209,3.126,317,0.948,318,1.08,321,1.865,322,3.876,323,2.395,503,3.824,1108,4.25,1265,4.547,1333,3.174,1523,4.953,1828,5.231,1867,6.168,1868,6.168,1869,5.603,1870,8.21,1871,5.603,1872,6.168,1873,6.168,1874,6.168,1875,5.603,1876,6.168]],["t/466",[35,6.153,119,2.636,124,1.726,268,4.333,299,4.193,320,3.053,321,2.933,322,3.788,323,3.115,324,3.432,326,4.128,375,5.527,1877,7.287]],["t/468",[55,3.567,56,2.276,84,3.452,90,5.066,93,3.25,116,5.095,124,1.848,153,2.063,214,4.419,271,2.17,320,3.268,321,1.997,322,3.118,323,2.564,324,2.825,477,5.066,490,2.673,785,5.452,848,3.077,871,5.592,1021,3.839,1265,4.868,1519,8.093,1735,5.303,1877,5.999,1878,5.999]],["t/470",[2,0.648,21,3.773,39,5.735,47,3.297,56,1.72,124,1.827,149,2.248,227,1.349,272,0.963,302,2.684,309,3.497,315,3.022,316,1.682,317,0.997,318,1.136,321,1.962,323,2.52,330,2.599,420,3.264,438,3.297,649,1.962,1008,6.04,1201,5.263,1879,7.712]],["t/472",[60,5.329,68,1.449,172,2.304,226,3.282,320,2.784,321,2.212,322,3.454,323,2.841,324,3.13,326,3.764,342,4.717,353,3.886,372,5.392,375,5.04,490,2.961,507,4.164,689,3.203,1688,6.645,1699,6.645,1880,6.204]],["t/474",[2,0.904,62,2.578,271,3.26,272,1.472,312,2.463,314,3.035,315,3.223,316,1.86,317,1.102,318,1.256,321,2.169,323,2.786,1201,4.448,1881,7.175,1882,7.175,1883,9.055,1884,7.68]],["t/476",[2,0.791,4,2.875,12,1.49,14,1.748,15,2.795,18,1.857,62,1.666,68,0.918,79,1.961,80,2.595,94,1.666,96,3.7,116,5.895,119,1.524,124,1.871,147,2.386,152,3.557,155,2.811,158,1.748,159,2.003,181,2.549,226,2.08,261,3.724,265,2.282,271,2.212,272,0.999,306,3.933,312,1.592,314,1.961,315,2.396,316,1.202,317,0.712,318,0.812,320,1.765,321,1.402,323,1.801,366,1.267,398,3.361,645,2.161,742,2.424,913,2.811,976,3.299,1259,3.019,1353,3.993,1357,3.195,1376,2.549,1442,3.195,1560,7.414,1564,3.724,1756,3.933,1885,4.637,1886,6.731,1887,6.731,1888,4.637,1889,4.637]],["t/478",[2,0.675,12,1.033,15,2.805,37,2.767,68,0.924,86,3.579,96,3.716,116,2.768,119,1.533,124,1.455,167,1.965,226,2.093,231,3.579,233,3.957,257,2.961,258,3.439,259,2.364,260,4.239,272,0.692,278,1.356,280,2.296,294,3.439,315,2.407,316,1.209,317,0.717,318,0.817,321,1.411,323,1.812,330,1.869,342,2.401,463,2.203,493,2.713,507,2.119,550,3.747,574,4.191,578,4.984,624,2.093,661,2.66,740,6.1,1056,3.579,1201,4.191,1331,3.32,1471,3.579,1509,5.657,1546,4.984,1563,3.784,1890,7.952,1891,6.761,1892,4.666,1893,6.142,1894,4.666,1895,5.734,1896,6.761,1897,6.761,1898,4.666,1899,4.666]],["t/480",[9,2.618,79,4.213,197,7.614,215,4.247,310,4.247,408,5.321,1900,8.382,1901,8.382,1902,8.382]],["t/482",[6,2.772,9,1.576,12,1.116,13,2.932,51,2.823,79,2.133,80,5.701,134,1.347,137,3.718,145,5.034,158,1.901,163,2.772,175,1.751,179,2.932,257,2.209,259,2.556,310,4.579,408,3.202,451,2.679,546,3.284,548,4.539,586,2.556,609,3.375,768,5.27,831,3.718,1120,4.051,1280,3.718,1736,4.582,1903,8.665,1904,10.187,1905,5.044,1906,5.044,1907,5.044,1908,5.044,1909,5.044,1910,7.149,1911,5.044,1912,5.044,1913,5.044,1914,4.582,1915,4.582,1916,5.044,1917,5.044]],["t/484",[12,1.066,51,2.695,64,2.517,74,3.401,75,3.223,80,2.695,89,2.085,92,3.136,119,1.582,134,1.286,158,3.335,159,1.433,167,1.399,172,1.517,175,1.458,257,2.109,259,2.441,286,2.8,310,4.484,333,2.037,392,4.375,395,2.8,451,3.675,548,3.058,586,2.441,609,3.223,736,2.986,915,6.284,1280,5.099,1416,4.375,1701,4.085,1914,6.284,1915,4.375,1918,4.375,1919,4.816,1920,4.816,1921,9.371,1922,4.816,1923,4.816,1924,4.816,1925,4.816,1926,4.816,1927,6.284,1928,8.095,1929,8.095,1930,9.755,1931,4.816,1932,4.375]],["t/486",[6,3.943,9,2.241,17,5.373,79,3.035,99,4.944,155,4.349,158,3.739,159,2.135,167,2.085,175,1.512,177,4.349,603,4.394,606,4.944,685,6.518,877,4.448,1933,6.518,1934,7.175,1935,7.175,1936,7.175,1937,7.175,1938,7.175]],["t/488",[17,4.34,22,3.6,175,1.542,181,5.768,209,4.645,220,3.13,268,3.952,514,4.535,646,6.699,647,7.031,654,4.535,703,4.763,877,4.535,1571,6.645,1939,7.315,1940,7.315]],["t/490",[2,0.687,9,2.151,12,1.059,14,1.803,15,2.429,16,1.52,35,3.671,37,1.958,39,2.901,44,3.405,47,3.63,49,2.322,52,1.937,59,2.839,78,2.001,104,2.901,119,1.572,124,1.03,153,1.495,251,3.202,280,2.355,297,1.231,298,2.901,312,1.643,313,1.937,316,1.24,333,2.024,353,2.542,363,2.901,365,1.719,377,1.703,419,2.425,420,2.647,434,3.297,439,3.089,444,1.84,445,3.001,463,2.26,502,3.202,505,2.389,507,2.174,508,2.425,547,3.72,600,5.076,631,2.839,636,4.059,816,4.372,835,4.085,836,2.63,862,3.297,1235,2.63,1353,2.839,1375,3.116,1477,4.347,1525,2.967,1602,3.528,1740,4.059,1941,4.785,1942,4.785]],["t/492",[9,2.428,18,3.113,21,4.518,41,7.06,52,3.146,62,2.792,109,3.88,124,1.673,134,2.075,145,4.71,179,4.518,193,3.938,556,3.938,818,4.818,1331,5.529,1943,7.771,1944,7.06]],["t/494",[9,2.741,15,3.609,124,1.889,560,4.823,835,5.207]],["t/496",[124,1.934,560,4.939,1525,6.432]],["t/498",[35,6.893,268,4.854,835,5.332,900,5.124]],["t/500",[39,6.037,53,3.715,309,3.098,434,5.775,502,5.608,560,4.607,721,3.467,793,5.608,1945,8.382]],["t/502",[15,2.77,47,4.013,59,4.659,64,4.105,167,2.282,227,1.632,309,2.903,353,4.172,508,3.98,530,6.66,600,5.789,721,3.249,793,5.255,1740,6.66]],["t/504",[47,3.49,251,6.013,721,3.717,793,6.013]],["t/506",[9,2.935,16,2.418,18,3.049,108,2.956,124,1.639,147,3.917,159,2.265,173,3.22,278,2.212,309,2.814,314,3.22,547,4.113,560,4.184,677,5.246,721,3.149,836,5.165,1242,6.457]],["t/508",[104,4.811,175,1.673,195,4.362,342,4.084,353,4.216,444,3.051,507,4.716,560,4.362,721,3.283,954,4.362,985,6.374,1235,4.362,1946,7.937]],["t/510",[11,3.429,31,4.819,119,2.723,122,3.914,124,1.784,167,2.408,280,4.869,309,3.064,547,4.478,560,4.556]],["t/512",[2,0.76,12,1.685,16,3.381,47,2.956,78,1.888,112,4.26,167,2.212,175,1.605,309,2.814,342,3.917,348,4.341,419,3.858,519,4.517,560,4.184,793,5.094,1563,4.26]],["t/514",[16,2.323,37,2.993,38,4.094,47,3.559,78,2.483,82,5.392,108,2.841,122,3.454,158,2.757,167,2.125,225,4.644,227,1.521,297,1.882,332,5.04,333,3.094,363,4.434,444,3.524,445,2.489,1947,7.315]],["t/516",[2,0.877,12,1.515,15,3.1,47,4.114,74,2.632,108,2.658,119,2.249,124,1.473,134,1.828,159,2.037,173,3.718,278,1.989,342,3.523,353,3.637,501,3.98,505,4.388,652,6.219,742,4.594,925,4.717,1948,6.846,1949,6.219]],["t/519",[2,0.588,4,1.187,5,1.341,9,1.035,11,1.811,12,0.733,15,0.676,44,3.116,48,1.282,52,3.713,53,3.998,55,1.79,56,0.508,58,1.469,65,0.971,66,1.118,67,1.565,68,0.379,73,0.859,78,1.294,79,0.81,89,0.829,94,1.19,95,0.971,108,0.744,109,0.956,122,0.904,127,1.412,141,1.092,147,0.986,152,1.469,153,2.643,154,1.161,155,1.161,158,0.722,159,0.986,167,1.876,172,0.603,177,1.161,193,0.971,215,0.971,227,1.085,235,3.492,239,2.104,253,1.187,257,1.451,259,1.679,272,0.492,278,1.272,288,1.966,297,0.853,316,0.496,317,0.673,318,0.58,325,3.269,333,0.81,353,1.017,356,1.538,362,1.495,364,1.002,365,1.19,366,1.196,367,3.133,377,1.559,381,1.072,409,1.247,410,1.113,414,1.624,419,0.971,421,0.956,433,1.732,435,3.553,436,1.79,437,1.966,438,1.287,439,1.487,444,1.274,445,1.127,456,2.283,490,1.341,493,1.113,504,0.943,524,1.363,556,0.971,571,1.679,585,1.469,626,1.926,643,1.469,649,0.579,650,1.412,678,0.986,680,1.412,703,1.247,837,1.072,849,2.158,868,1.624,908,1.247,943,1.74,947,2.81,971,1.412,999,1.732,1022,3.714,1046,1.538,1058,1.624,1112,2.852,1120,1.538,1152,1.161,1181,3.313,1277,2.81,1289,1.412,1300,5.56,1369,1.282,1407,3.017,1438,1.538,1451,1.538,1456,1.624,1464,3.01,1490,1.74,1623,1.624,1636,4.203,1637,2.217,1638,2.158,1679,3.978,1774,2.661,1794,1.74,1864,1.74,1869,3.01,1950,1.915,1951,1.915,1952,1.915,1953,1.624,1954,1.915,1955,3.517,1956,2.81,1957,1.74,1958,3.01,1959,1.915,1960,3.314,1961,2.217,1962,1.915,1963,1.915,1964,1.915,1965,1.915,1966,1.915,1967,1.915,1968,1.915,1969,1.624,1970,1.624,1971,1.74,1972,1.915]],["t/521",[2,0.492,52,3.733,53,2.73,58,3.118,67,1.457,68,0.977,78,1.745,95,1.564,109,1.541,119,1.014,153,2.403,167,0.897,172,0.972,175,0.65,178,2.196,226,2.213,227,0.641,235,4.122,257,1.351,259,1.564,265,1.519,268,1.667,272,0.458,278,2.235,297,0.794,307,2.275,317,0.758,318,0.54,320,2.345,325,1.457,333,1.305,362,1.562,364,0.933,365,1.109,366,1.347,367,3.827,377,1.098,405,2.926,422,1.794,423,2.065,426,1.497,433,1.613,435,3.98,436,4.652,437,1.831,438,1.198,439,1.384,444,1.186,445,1.05,456,2.126,470,3.961,472,2.909,477,3.783,557,2.617,571,2.499,626,1.794,678,1.588,729,1.759,739,2.478,818,1.913,848,1.438,868,2.617,869,2.275,920,1.913,924,2.126,956,2.617,999,1.613,1026,2.196,1168,3.635,1289,2.275,1317,3.961,1327,2.803,1438,3.961,1582,2.478,1636,4.582,1637,3.3,1638,4.011,1824,2.803,1875,2.803,1933,2.803,1961,2.065,1973,2.803,1974,3.086,1975,3.086,1976,3.086,1977,4.932,1978,5.596,1979,4.932,1980,3.086,1981,3.086,1982,2.617]],["t/523",[2,0.785,15,1.615,59,3.958,66,2.01,68,0.907,74,2.564,75,4.463,95,3.38,124,1.86,134,1.223,167,1.331,204,4.161,206,2.611,209,2.321,227,0.952,272,0.68,278,1.331,299,2.394,305,1.937,312,1.572,313,1.854,315,2.375,317,1.025,318,0.802,332,3.156,362,1.161,381,4.403,421,2.287,425,3.259,438,2.59,463,3.15,464,3.156,678,3.432,728,2.517,738,2.163,769,3.733,789,3.513,1152,2.776,1201,4.135,1233,3.958,1268,3.678,1324,5.357,1636,6.244,1637,3.065,1772,8.394,1773,4.161,1961,4.463,1983,6.671,1984,4.58]],["t/525",[89,3.985,287,5.25]],["t/527",[2,0.552,16,1.135,19,2.215,52,3.534,53,3.381,56,1.796,65,1.811,66,1.73,67,2.613,78,1.892,89,1.546,153,2.844,167,1.038,206,2.037,249,4.533,257,1.565,259,1.811,272,0.53,288,2.12,297,0.919,317,0.85,318,0.626,321,1.08,330,1.431,343,1.478,362,1.718,364,1.673,365,1.284,366,1.512,367,3.264,377,1.272,395,2.077,412,1.546,421,2.763,433,1.868,435,4.236,436,1.93,437,2.12,438,1.387,439,1.603,444,1.373,445,1.216,447,2.613,456,2.462,480,2.368,481,2.368,556,1.811,571,2.805,614,6.47,626,2.077,631,2.12,724,2.542,738,1.687,756,5.028,785,2.268,814,2.462,818,2.215,831,2.634,999,1.868,1168,2.634,1316,2.741,1367,2.462,1368,2.462,1407,2.462,1624,5.196,1636,4.411,1637,5.104,1638,4.411,1953,3.03,1961,2.391,1985,3.573,1986,2.869,1987,3.573,1988,3.573]],["t/529",[2,0.72,9,2.614,52,3.387,66,1.306,68,1.43,78,1.268,89,3.124,153,1.597,172,1.61,227,1.501,257,2.239,259,2.591,272,1.071,286,2.972,288,4.283,297,1.857,316,1.871,317,1.109,318,0.895,325,3.408,362,2.121,364,1.546,365,1.837,366,1.397,412,2.213,420,2.775,421,2.553,433,2.672,435,3.503,436,2.762,437,3.034,438,1.985,571,2.591,626,2.972,738,3.408,741,3.421,836,2.81,901,3.638,1152,3.099,1635,7.096,1636,4.7,1637,4.83,1961,3.421,1989,5.113]],["t/531",[2,0.432,16,1.754,25,1.445,52,3.53,53,3.376,58,1.166,67,1.242,68,1.094,78,1.074,89,1.138,94,0.945,111,2.389,127,1.939,134,0.702,141,3.149,153,1.353,158,0.991,172,1.74,175,0.554,220,1.125,226,1.18,227,0.547,257,2.804,259,3.245,272,0.643,278,1.259,317,0.984,318,0.758,320,1.001,352,3.805,362,2.134,364,1.31,365,1.556,366,2.081,367,3.6,412,1.138,423,1.76,426,1.276,433,3.347,435,3.107,436,4.851,437,3.799,438,2.486,439,1.943,456,2.985,472,1.242,490,1.065,571,1.333,587,1.92,614,5.43,626,3.722,692,1.812,719,2.23,724,1.871,725,3.596,732,1.594,814,1.812,818,1.63,901,1.871,999,2.264,1075,1.712,1168,1.939,1300,2.112,1317,3.478,1450,2.389,1451,2.112,1556,2.23,1582,3.478,1624,3.323,1636,4.169,1637,4.738,1638,4.611,1843,1.812,1856,2.017,1978,2.389,1990,2.63,1991,2.63,1992,8.415,1993,8.98,1994,4.331,1995,4.331]],["t/533",[2,0.76,12,1.685,20,2.841,56,2.018,104,4.614,149,2.637,153,2.378,175,1.605,297,1.959,445,2.59,507,3.458,645,3.548,649,2.302,816,4.833,836,4.184,954,4.184,1235,4.184,1996,6.916,1997,6.916]],["t/535",[2,0.635,12,1.407,37,1.756,58,2.818,67,2.026,68,0.85,78,1.879,104,3.854,109,3.175,119,1.41,122,2.026,124,0.923,133,2.66,141,2.446,153,2.926,272,0.637,301,3.435,305,1.815,317,0.659,318,0.751,333,1.815,364,1.297,366,1.172,442,2.546,454,3.291,507,3.441,508,3.222,549,3.898,556,3.222,574,3.942,575,5.678,576,3.446,577,3.446,578,3.163,582,4.524,586,2.174,587,2.818,588,3.446,589,5.106,590,3.639,591,3.96,594,4.688,605,4.092,743,2.871,747,4.933,1005,2.957,1125,2.66,1235,4.164,1944,3.898,1956,3.639,1998,3.898,1999,3.898,2000,4.291,2001,3.898,2002,3.898,2003,3.446,2004,3.898,2005,3.291]],["t/538",[5,2.456,12,1.343,68,1.202,78,2.014,79,2.567,153,1.895,154,3.678,167,1.763,232,4.873,286,3.528,297,1.561,301,4.387,302,2.51,367,3.474,408,3.852,463,2.865,472,2.865,493,3.528,504,2.986,508,3.075,528,3.528,605,4.944,729,3.46,747,3.951,824,5.146,954,3.335,999,3.172,1084,4.873,1085,4.654,1112,3.951,1235,3.335,1305,4.06,1407,4.181,1823,4.654,1955,4.873,1961,4.06,2006,6.521,2007,6.068]],["t/540",[26,4.147,49,2.92,89,2.605,94,2.162,134,1.607,175,1.269,194,4.437,195,3.308,227,1.251,250,4.147,314,2.546,333,2.546,335,4.437,345,4.833,431,2.734,480,2.575,481,2.575,507,4.141,605,4.924,606,4.147,748,4.437,954,3.308,999,3.146,1002,4.617,1068,4.437,1075,3.919,1098,5.105,1099,5.787,1108,4.147,1235,3.308,2008,5.468,2009,9.116,2010,8.077,2011,4.833,2012,5.105,2013,6.019]],["t/542",[12,1.788,16,1.912,58,2.668,66,1.537,68,1.192,138,4.617,153,2.523,227,1.251,297,1.549,301,4.363,314,2.546,364,1.82,366,1.644,412,2.605,447,2.842,507,4.141,547,3.251,605,4.363,645,2.805,715,3.648,741,4.027,749,4.617,848,2.805,871,3.919,1125,3.731,1235,3.308,1267,5.105,1344,5.468,1753,7.337,1760,5.468,1784,7.337,2005,4.617,2014,9.116,2015,6.019,2016,6.019]],["t/544",[2,0.763,18,2.225,49,1.742,58,1.591,66,1.419,68,0.711,78,1.685,172,1.131,193,1.819,206,2.047,253,2.225,272,1.135,297,0.924,301,5.091,364,2.312,366,2.574,418,4.834,423,2.402,463,3.906,480,1.536,481,1.536,507,4.281,571,1.819,574,5.842,575,5.014,591,4.324,594,4.895,605,5.225,738,1.695,741,6.306,747,6.136,1068,2.646,1125,2.225,1201,2.225,1235,4.204,1472,2.554,2017,3.261,2018,3.261,2019,3.261,2020,3.59,2021,3.59,2022,3.59,2023,3.59,2024,3.59]],["t/546",[2,0.626,12,1.837,37,2.566,64,3.278,153,1.959,272,0.931,297,2.394,301,4.484,362,2.105,364,1.896,366,1.713,395,3.646,412,2.714,420,2.411,447,2.961,480,2.683,481,2.683,494,4.196,507,3.771,508,3.178,574,5.146,586,3.178,747,4.084,1235,4.563,2025,8.301,2026,8.301,2027,8.301,2028,6.271,2029,6.271]],["t/548",[2,0.882,12,1.529,15,2.437,25,3.798,66,1.765,67,3.262,91,4.499,124,1.903,167,2.007,173,3.74,175,1.456,215,3.501,227,1.436,278,2.569,309,2.554,848,3.22,1268,5.549,1333,3.555,1353,4.099,1525,6.044,2019,6.277,2030,6.277,2031,5.86]],["t/551",[2,0.677,12,1.501,68,1.344,74,2.608,79,2.869,89,2.936,94,2.437,124,1.46,134,1.812,175,1.842,227,1.816,493,3.944,502,4.539,517,4.112,616,4.827,618,4.674,644,5.001,742,3.546,828,3.868,1226,7.411,1353,5.184,1355,5.753,1525,5.417,2032,6.784,2033,6.784,2034,6.784]],["t/553",[2,0.401,12,0.888,19,2.489,51,2.246,55,2.169,56,1.064,68,1.198,79,1.698,89,2.618,124,1.567,130,3.405,134,1.072,141,2.289,144,4.169,145,2.433,167,1.166,172,1.264,175,0.846,222,3.405,227,1.807,238,3.647,239,2.549,256,2.856,309,3.506,325,2.857,333,1.698,348,2.289,455,2.549,474,2.098,490,1.625,495,5.422,502,4.048,518,4.304,537,4.459,616,4.304,689,1.758,729,2.289,761,2.856,834,4.169,908,2.614,920,2.489,949,6.67,1018,3.647,1094,3.647,1333,2.066,1341,4.858,1353,6.287,1354,3.647,1355,5.131,1357,2.766,1472,2.856,1525,4.513,1609,2.766,1757,2.686,1856,3.079,1949,3.647,2035,6.05,2036,3.224,2037,4.014,2038,4.014]],["t/555",[2,0.917,12,1.354,15,2.158,65,3.1,85,2.928,134,1.634,173,2.588,175,1.721,227,1.272,278,2.849,320,2.328,321,2.779,324,3.932,330,2.45,409,3.983,450,4.215,455,5.184,689,2.679,729,4.655,1353,3.63,1357,4.215,1462,4.693,1503,7.417,1525,5.062,2039,6.117,2040,7.417,2041,8.165]],["t/557",[2,0.69,15,3.118,62,2.482,64,3.611,65,3.501,66,1.765,68,1.369,119,2.27,167,2.007,215,3.501,226,3.1,227,1.436,232,5.549,309,2.554,312,2.372,313,2.797,362,1.752,399,3.4,616,6.29,689,3.026,1353,5.246,1357,6.092,1525,4.283,1763,5.86,1771,5.86]],["t/559",[2,0.892,5,3.184,49,2.807,68,1.146,119,1.901,134,1.545,146,3.987,173,3.326,215,2.932,218,3.074,226,2.596,227,1.635,272,0.859,278,2.596,316,2.038,317,0.889,318,1.013,364,1.749,366,1.58,399,4.397,499,4.646,543,4.646,603,3.816,689,2.534,799,4.117,938,6.033,1353,4.666,1357,3.987,1525,4.875,2030,5.256,2042,5.786,2043,7.864,2044,5.786,2045,7.144]],["t/561",[2,0.975,12,1.795,167,2.356,189,4.714,225,5.148,333,3.43,1333,4.172,1525,5.027,1593,6.877,2031,6.877,2046,8.109,2047,8.109]],["t/563",[2,0.856,12,1.898,55,4.632,173,3.627,176,4.555,721,3.547,1609,5.908,1757,5.737]],["t/565",[11,3.507,16,2.692,176,4.503,320,3.226,324,3.627,451,4.503,503,5.255,721,3.507,1131,6.249]],["t/567",[11,3.467,176,4.453,320,3.19,324,3.586,451,4.453,503,5.196,721,3.467,871,5.458,1131,6.178,1664,7.109]],["t/569",[11,3.467,52,3.393,176,4.453,320,3.19,324,3.586,451,4.453,454,6.429,503,5.196,721,3.467,1131,6.178]],["t/571",[2,0.866,12,1.92,79,3.669,721,3.588,1131,6.394,1695,7.879,2048,8.673]],["t/573",[16,2.579,18,2.43,48,4.06,52,2.456,53,2.689,65,3.075,67,2.865,68,1.608,78,2.527,79,2.567,119,1.994,153,2.859,249,4.06,352,4.181,395,3.528,419,4.115,421,4.57,442,3.6,556,3.075,575,3.678,591,3.172,762,4.473,850,5.288,862,5.595,1578,3.951,1636,3.951,2049,6.068,2050,6.068,2051,6.068,2052,6.068,2053,5.146]],["t/575",[2,0.857,16,2.098,58,2.927,78,2.13,134,1.764,153,2.063,220,2.825,227,1.373,272,0.98,297,1.699,317,1.015,318,1.156,362,1.674,364,1.997,365,2.373,366,1.804,367,4.323,377,2.351,435,4.167,439,2.963,444,2.539,445,2.247,456,4.55,472,3.118,862,4.55,999,3.452,1638,5.592]],["t/577",[52,3.682,325,4.295,560,4.999]],["t/579",[56,1.958,66,1.887,68,1.463,82,5.446,104,4.478,124,1.59,134,1.973,153,2.881,286,4.295,288,4.383,395,4.295,421,3.688,442,4.383,472,4.355,473,4.81,507,3.356,818,4.58,1669,6.265,2005,5.667,2054,7.387]],["t/581",[2,0.76,66,1.944,68,1.508,88,3.858,89,3.295,167,2.212,272,1.13,317,1.17,362,1.93,365,2.735,442,4.517,446,6.119,473,4.957,591,4.912,689,3.334,1100,5.094,2001,6.916]],["t/583",[2,0.677,66,1.733,68,1.344,88,3.438,89,2.936,167,1.971,272,1.007,317,1.042,362,1.72,442,4.025,446,5.69,473,4.417,556,3.438,575,5.859,576,5.448,577,5.448,578,5.001,591,3.546,689,2.971,1100,4.539,1677,5.448,1998,6.163,2055,6.784,2056,6.784,2057,6.784,2058,5.448,2059,6.784,2060,6.784]],["t/585",[2,0.66,11,1.872,14,1.705,20,1.689,37,2.705,78,1.122,134,1.766,153,2.441,154,2.742,155,2.742,158,2.492,167,1.315,175,0.954,177,2.742,257,2.895,259,3.351,272,0.671,288,2.685,297,1.164,317,1.016,318,0.792,325,3.689,362,1.147,364,1.368,365,1.626,366,1.236,367,2.829,377,1.611,431,2.055,442,2.685,444,1.739,445,1.539,446,4.305,574,2.805,594,4.372,595,6.274,597,3.335,598,5.993,600,3.335,601,4.556,602,5.607,626,3.844,884,3.471,968,3.471,999,2.365,1099,4.198,1112,2.946,1125,4.099,1305,4.424,1453,3.837,1660,3.837,1721,3.634,1865,3.335,1955,3.634,2006,5.31,2061,4.525,2062,4.525,2063,4.525,2064,4.11,2065,4.525]],["t/587",[2,0.582,12,1.75,58,2.584,78,1.446,134,1.557,153,2.47,154,3.534,155,3.534,158,2.198,167,2.297,177,3.534,221,4.298,225,3.702,257,2.554,259,2.955,267,3.39,268,3.15,269,4.298,272,0.865,288,3.46,297,1.5,317,0.896,325,4.235,362,1.478,408,3.702,423,3.902,442,3.46,444,2.242,446,5.148,508,2.955,547,3.15,605,3.15,626,3.39,721,2.412,824,4.945,907,3.534,1112,3.797,1305,3.902,1865,4.298,1955,4.683,2006,4.683,2064,5.297,2066,5.831]],["t/589",[2,0.514,18,2.062,56,1.365,66,1.853,94,1.85,124,1.808,149,1.783,153,2.623,257,2.254,259,2.609,272,0.764,297,1.325,317,0.791,362,1.305,377,1.833,421,2.57,442,4.304,444,1.979,445,1.752,446,4.723,472,2.431,514,4.497,546,3.352,575,3.12,591,2.691,594,2.881,597,3.795,601,3.547,605,2.781,649,2.757,703,3.352,809,4.366,818,4.497,907,3.12,1259,3.352,1720,3.949,2067,4.366,2068,4.366,2069,4.677,2070,4.677,2071,4.677,2072,4.677,2073,4.677,2074,4.677,2075,4.677,2076,4.677,2077,4.677,2078,4.677,2079,4.677,2080,6.589,2081,4.677,2082,4.677,2083,4.677]],["t/591",[2,0.5,6,3.911,12,1.109,14,1.888,17,2.973,18,2.007,20,1.87,28,3.181,31,2.913,34,3.565,39,5.46,52,3.35,56,1.886,66,1.28,68,1.639,79,3.81,95,2.539,108,1.945,109,2.501,134,1.9,140,3.693,149,3.12,188,4.551,196,4.551,220,3.044,227,1.479,299,2.619,343,2.072,348,2.856,405,5.345,419,2.539,434,3.452,502,3.352,503,3.106,517,3.037,532,3.352,645,2.335,649,1.515,715,3.037,736,3.106,794,4.023,2084,4.551,2085,5.01,2086,5.01,2087,5.01,2088,4.551,2089,5.01,2090,4.551,2091,5.01]],["t/593",[2,0.69,12,1.066,21,2.8,39,6.233,47,3.788,66,1.23,68,0.954,108,1.87,124,1.037,134,1.847,146,3.319,159,1.433,167,1.399,172,1.517,193,2.441,227,1.001,272,0.715,287,2.746,297,1.239,305,2.037,309,3.606,312,1.653,313,1.95,315,2.462,316,1.248,317,0.74,318,0.843,369,3.223,420,3.863,438,2.686,439,2.161,444,2.659,463,2.274,517,4.907,564,3.058,765,4.375,816,3.058,948,3.737,1008,3.427,1201,4.288,1375,3.136,1407,3.319,1435,2.919,1879,4.375]],["t/595",[17,3.543,39,4.869,49,2.897,52,2.417,218,3.172,227,1.241,257,2.615,265,2.938,299,3.121,305,2.526,309,2.207,317,0.917,318,1.045,399,2.938,405,3.543,420,2.295,426,2.897,438,3.119,455,3.791,483,3.619,517,4.869,532,5.375,537,5.922,586,4.071,587,3.56,603,3.898,663,3.888,811,4.58,948,4.904,1222,5.503,1341,4.795,2036,4.795,2092,5.971,2093,4.401]],["t/597",[49,2.663,53,3.852,56,1.455,68,1.087,89,2.375,119,1.803,162,5.66,257,2.404,317,0.843,318,0.961,333,2.321,438,3.641,455,5.518,574,3.402,586,4.751,587,4.361,603,4.549,700,4.21,738,4.104,948,5.316,1199,6.091,1208,4.986,1209,4.986,1233,3.256,1369,3.672,1735,4.407,2036,6.091,2094,6.89,2095,5.488]],["t/599",[2,0.475,52,1.925,56,1.26,68,0.942,134,1.27,175,1.002,193,2.41,272,0.706,278,1.382,316,1.233,317,1.053,318,1.2,321,2.659,330,2.745,332,3.276,362,1.206,405,2.821,426,2.307,431,2.16,438,3.416,455,4.352,586,4.073,587,3.898,603,4.858,724,6.634,728,2.614,769,4.922,785,4.352,948,4.342,972,3.819,1009,5.504,1161,3.505,1192,6.484,1199,5.504,1222,2.882,1611,3.383,1633,3.819,1918,4.32,2036,5.504,2094,4.32,2096,4.755]],["t/601",[39,5.961,52,2.85,53,3.12,66,1.798,68,1.772,73,3.158,74,2.706,79,2.978,95,3.567,149,3.099,305,2.978,375,6.165,405,4.177,426,3.416,506,3.939,517,5.423,642,4.469,732,4.267,828,4.014,1123,5.189,2097,6.395]],["t/603",[12,1.75,39,6.282,52,3.2,68,1.155,73,2.616,83,4.683,88,2.955,181,3.205,195,3.205,201,3.797,208,4.298,272,0.865,317,0.896,318,1.021,342,4.068,343,2.412,362,1.478,410,3.39,434,4.018,435,2.829,438,2.264,586,4.545,603,2.829,624,2.616,780,4.945,781,6.349,858,4.473,1165,4.473,1196,8.156,1633,4.683,2098,7.906,2099,5.831,2100,5.831,2101,5.831]],["t/605",[49,2.852,52,2.379,53,2.605,68,1.164,89,2.544,172,1.851,175,1.239,189,3.417,206,3.351,272,1.179,301,4.293,305,2.486,317,0.903,318,1.029,324,2.514,398,2.934,422,3.417,431,2.669,438,2.282,439,2.637,480,2.514,481,2.514,624,2.637,678,3.024,769,4.448,773,4.719,775,5.339,780,8.182,781,7.232,1192,5.859,1199,4.719,1603,4.508,1633,4.719,2102,7.948,2103,5.877,2104,5.877,2105,5.877,2106,5.877]],["t/607",[2,0.752,9,2.354,12,1.668,15,2.658,16,2.966,58,3.34,150,5.555,154,4.568,177,4.568,279,5.043,303,5.555,325,3.558,391,4.785,419,3.819,519,4.471,973,6.392,1843,5.193,2107,6.392,2108,6.846]],["t/610",[9,2.22,11,2.94,12,1.573,16,2.859,47,3.495,89,3.076,108,2.76,112,3.977,167,2.615,297,1.828,309,2.627,333,3.006,342,3.657,343,3.723,348,4.052,377,2.53,445,2.418,556,3.601,715,4.307,816,4.512,954,3.906,1752,5.238]],["t/612",[2,0.5,12,1.109,16,2.26,47,1.945,66,1.28,79,2.119,89,2.168,134,1.338,156,2.466,159,1.491,167,1.456,171,3.106,175,1.056,227,1.873,236,2.578,278,1.456,297,1.289,309,1.852,316,1.844,317,0.77,325,2.366,333,2.119,362,1.27,377,2.533,398,2.501,419,2.539,421,2.501,439,2.248,444,2.735,445,1.705,474,3.719,490,2.028,501,2.913,519,2.973,649,2.724,725,3.262,729,2.856,897,2.706,913,3.037,1155,4.633,1166,4.023,1190,3.452,1262,3.565,1435,3.037,1437,3.843,1489,4.023,1606,4.761,2058,4.023,2109,4.249,2110,7.517,2111,6.464,2112,5.714,2113,4.551]],["t/614",[2,0.637,16,2.666,52,2.582,56,1.691,66,1.629,67,3.012,78,2.082,124,1.373,153,2.931,249,4.268,288,3.784,297,1.641,309,2.358,317,1.29,318,1.47,325,3.012,343,2.639,364,1.929,365,2.292,366,1.742,367,3.591,377,2.27,421,3.185,444,2.452,445,2.17,493,3.708,556,3.232,560,3.506,836,3.506,999,3.334,1152,3.866]],["t/616",[2,0.583,12,0.847,16,2.247,25,2.105,47,2.747,56,1.015,64,2.001,66,0.978,67,1.808,68,0.758,78,2.603,107,2.226,134,1.023,149,1.326,153,2.471,167,1.113,172,2.228,220,1.638,249,2.562,272,0.568,286,2.226,288,4.197,292,2.143,302,1.584,317,0.897,318,1.022,364,1.158,366,1.046,367,2.497,377,2.078,400,3.075,419,1.94,421,1.912,445,1.303,490,2.363,523,3.248,534,3.248,547,4.274,631,4.197,649,1.158,764,2.937,829,4.688,862,6.929,938,4.478,954,2.105,968,2.937,999,2.001,1070,2.638,1085,2.937,1095,4.95,1393,3.538,1435,3.538,1655,6.426,1669,3.248,1702,3.248,1843,5.451,1996,3.478,1997,5.303,2114,3.829,2115,3.829,2116,3.829,2117,3.829]],["t/618",[2,0.247,9,0.773,11,2.188,12,0.547,15,0.872,16,2.866,25,1.359,47,0.96,52,1.001,53,1.096,58,2.732,66,1.051,68,1.464,73,1.847,78,2.036,82,1.823,85,1.184,89,1.782,94,0.889,107,3.074,127,1.823,141,1.41,147,1.273,148,1.897,149,0.857,150,3.035,153,1.926,154,1.499,155,2.495,157,1.655,159,0.736,166,1.57,167,1.196,172,0.779,175,0.521,177,2.495,193,1.253,220,1.058,227,0.856,267,1.438,268,1.336,278,1.196,279,1.655,287,1.41,292,1.384,297,1.586,303,1.823,305,1.046,325,3.49,343,1.023,365,2.215,373,2.097,377,2.195,397,2.097,399,2.026,402,2.442,444,2.033,445,3.07,472,1.168,490,2.496,493,2.393,500,1.986,508,2.086,523,2.097,524,1.76,528,2.393,534,2.097,603,2.992,620,2.097,631,2.442,645,1.152,680,1.823,715,2.495,732,2.495,736,1.533,816,1.57,817,2.247,820,1.57,831,3.035,862,2.837,907,1.499,920,1.533,928,1.986,954,1.359,968,1.897,1023,1.76,1026,1.76,1070,1.704,1152,1.499,1155,5.549,1277,3.491,1312,2.097,1472,1.76,1556,2.097,1578,1.61,1843,5.4,1859,2.097,1865,1.823,1880,2.097,1895,4.485,1982,2.097,2004,2.247,2005,1.897,2058,4.247,2084,2.247,2118,2.473,2119,2.473,2120,2.473,2121,4.117,2122,2.473,2123,2.473,2124,4.117,2125,3.74,2126,4.117,2127,4.117,2128,2.473]],["t/620",[16,2.279,56,1.902,68,1.421,85,3.434,107,4.171,134,1.916,149,2.485,176,3.811,193,3.636,297,1.846,302,2.968,369,4.801,377,2.554,445,2.441,474,3.75,493,4.171,603,4.394,649,2.169,948,4.892,1070,4.944,1611,5.105,2031,6.085,2129,6.518]],["t/622",[16,2.98,47,2.477,58,2.827,68,1.263,78,2.082,146,4.395,153,1.993,167,2.439,172,2.009,207,4.268,225,4.049,230,4.538,297,2.16,309,2.358,377,2.988,399,3.139,401,4.153,445,2.856,447,3.012,463,3.012,490,3.398,540,5.794,667,4.049,1407,4.395,1435,3.866,1578,4.153,2130,8.394,2131,8.394]],["t/624",[16,3.388,68,1.518,119,1.83,156,2.741,172,1.754,175,1.174,206,3.176,226,2.499,297,2.545,309,3.238,342,2.866,351,3.453,377,3.521,444,4.161,445,3.366,732,4.644,820,3.536,1462,4.273,1471,4.273,1563,3.117,1578,3.627,2093,4.106,2132,5.57,2133,5.57]],["t/626",[2,0.709,12,1.573,14,2.678,16,2.257,58,3.15,68,1.408,94,2.553,143,5.707,153,2.812,154,4.307,155,4.307,159,2.678,177,4.307,325,3.355,343,2.94,402,4.216,447,3.355,528,4.131,732,4.307,928,5.707,1112,4.627,1399,6.027,1865,5.238,2005,5.451]],["t/628",[2,0.801,16,2.548,159,2.387,175,1.691,272,1.19,317,1.232,318,1.404,402,4.759,438,3.115,1442,5.527,1613,8.376,2134,8.022]],["t/630",[2,0.76,16,2.418,68,1.508,78,1.888,159,2.265,175,1.605,272,1.13,317,1.17,318,1.333,362,1.93,402,4.517,453,5.612,744,8.645,757,6.686,1305,5.094,1631,6.916]],["t/632",[2,0.936,16,2.026,67,3.012,68,1.263,78,2.473,159,1.898,175,1.344,227,1.326,272,0.946,297,1.641,317,0.98,318,1.117,364,1.929,365,2.292,366,1.742,367,3.591,377,2.27,402,3.784,444,2.452,445,2.17,556,3.232,594,5.797,649,1.929,757,4.538,897,3.446,999,3.334,1305,4.268,1653,4.893]],["t/635",[2,0.801,175,1.691,272,1.19,317,1.232,318,1.404,362,2.034,364,2.425,412,3.472,533,7.442,556,4.065,745,8.846]],["t/637",[2,0.737,175,1.557,272,1.096,317,1.135,318,1.293,362,1.873,364,2.234,412,3.197,480,3.161,481,3.161,556,3.744,742,3.861,1155,4.81,1624,5.667,1625,8.378,1626,8.529,1628,7.822,1895,6.265]],["t/639",[2,0.671,16,3.057,78,1.668,175,1.417,272,0.998,317,1.033,318,1.177,362,1.705,364,2.033,412,2.91,447,4.102,480,2.876,481,2.876,501,3.908,603,4.215,848,3.133,1155,6.267,1161,6.404,1417,7.367,1563,3.762,1611,4.783,1617,8.162]],["t/641",[2,0.851,12,1.637,16,2.708,47,2.872,66,1.889,68,1.049,78,2.29,119,1.739,124,1.592,153,2.311,159,1.575,167,1.538,172,2.33,189,3.078,226,2.375,272,0.786,297,1.362,309,1.957,312,1.817,313,2.143,314,2.239,315,2.633,316,1.372,317,0.813,318,0.927,341,3.902,343,3.06,363,4.484,377,1.884,445,2.517,447,2.5,715,3.209,793,3.542,954,2.91,1008,3.767,1201,3.282,1407,5.097,1578,4.817,1606,3.542,1607,6.274,1752,3.902,1880,4.49]],["t/643",[2,0.852,16,2.712,66,1.672,68,1.297,85,3.133,94,2.352,156,3.221,159,1.948,272,0.971,312,2.247,313,2.65,315,3.039,316,1.697,317,1.006,318,1.146,399,3.221,419,3.317,445,2.905,463,3.091,472,3.091,474,3.422,490,2.65,519,3.884,976,4.657,999,4.463,1606,6.358,1608,7.241]],["t/645",[2,0.831,9,1.755,12,1.243,15,2.419,20,2.097,52,2.274,55,1.968,56,0.965,58,3.039,59,3.333,60,4.481,65,1.846,68,0.721,78,0.904,89,1.576,109,1.819,119,1.197,134,0.973,149,1.262,153,1.138,227,1.425,240,2.925,272,0.54,278,1.992,297,0.937,301,3.035,317,0.56,318,0.638,325,1.72,326,1.874,333,1.541,342,3.528,362,0.924,364,1.101,365,2.464,366,0.995,367,4.32,377,1.297,435,2.726,445,1.239,451,1.935,472,3.932,476,5.816,490,1.475,507,3.501,528,2.118,557,3.089,574,3.482,603,1.767,604,2.592,645,1.697,649,1.101,764,2.794,767,4.511,779,3.309,920,2.258,999,2.936,1046,2.925,1227,3.309,1250,3.089,1407,2.51,1432,3.089,1438,4.511,1447,4.511,1638,3.658,1859,3.089,1953,5.816,1973,3.309,2008,3.309,2135,3.309,2136,3.642,2137,3.642,2138,3.642]],["t/647",[12,1.768,15,2.818,49,3.877,58,2.625,60,3.444,80,4.471,134,2.134,149,2.052,159,1.762,167,2.322,173,2.505,189,3.444,215,3.002,218,3.147,228,4.757,236,4.111,278,2.812,435,3.877,448,3.963,450,5.506,618,4.082,913,3.59,1052,4.757,1168,5.89,1265,4.366,1267,5.024,1289,4.366,1470,5.024,1525,3.672,1986,4.757,2139,7.99,2140,5.923,2141,5.923]],["t/649",[2,0.571,15,1.317,16,1.186,52,3.597,53,3.086,60,4.539,66,1.462,67,1.763,68,0.739,73,2.569,78,1.42,109,1.864,134,0.997,149,1.293,167,1.085,175,0.787,218,1.983,225,3.635,257,1.635,259,1.892,272,0.554,278,2.447,297,0.961,317,1.07,318,0.654,352,2.573,353,1.983,362,1.766,364,1.129,365,1.341,366,1.902,367,3.34,377,1.329,398,1.864,399,1.837,405,2.215,412,2.478,426,1.812,435,2.778,437,2.215,444,1.435,445,1.27,447,1.763,476,6.622,571,3.529,626,2.17,645,1.74,660,2.573,719,3.166,721,1.544,724,2.656,725,2.431,732,2.263,738,1.763,799,2.656,805,2.656,837,2.089,930,2.656,981,2.998,999,1.951,1061,2.752,1222,2.263,1261,2.864,1367,2.573,1368,2.573,1636,2.431,1637,4.659,1638,4.535,1726,3.392,1958,3.392,1986,2.998,2003,2.998,2142,7.808,2143,6.964,2144,3.733,2145,3.733,2146,2.864]],["t/651",[2,1.017,60,4.426,124,1.639,267,4.426,272,1.13,312,3.226,313,3.804,315,3.345,316,1.973,317,1.17,318,1.333,324,3.257,333,3.22,742,3.979]],["t/653",[12,1.332,20,3.014,40,4.792,55,3.251,56,1.595,57,3.821,58,4.04,68,1.192,80,3.368,93,2.962,94,2.162,143,4.833,149,2.797,154,4.895,155,3.648,173,2.546,177,3.648,218,3.197,219,5.468,226,2.7,342,3.097,371,4.833,507,2.734,509,4.617,615,4.147,645,2.805,649,2.442,681,5.468,767,4.833,777,3.731,953,5.468,1046,4.833,1611,4.282,1823,4.617,1865,4.437,1969,5.105,2135,5.468,2147,6.019]],["t/655",[2,1.019,12,1.501,40,5.184,60,3.944,119,2.229,124,1.46,134,1.812,141,3.868,146,4.674,227,1.816,253,4.205,272,1.007,312,2.999,313,3.537,315,3.11,316,1.758,317,1.042,318,1.188,320,2.582,326,3.491,333,2.869,503,4.205,914,4.827]],["t/657",[2,0.486,15,1.071,16,1.935,30,2.238,40,4.136,52,3.089,53,3.381,58,1.345,65,1.538,66,1.243,67,1.433,68,0.601,78,1.207,89,2.107,94,1.091,109,1.516,134,1.3,149,2.82,153,1.521,167,2.025,172,1.533,175,0.64,207,2.031,218,1.613,226,1.362,227,0.631,236,1.562,239,1.927,257,2.132,259,2.467,272,0.722,278,1.414,297,1.252,317,0.936,326,1.562,353,1.613,362,1.545,366,1.904,377,1.733,402,1.801,406,2.675,421,2.43,433,3.185,436,3.765,437,2.888,438,1.89,445,1.656,455,3.09,474,1.587,490,1.97,504,2.395,571,1.538,626,2.83,733,2.438,738,2.298,777,4.321,805,5.428,818,1.882,820,1.927,837,1.699,930,2.16,968,2.329,971,2.238,1085,2.329,1280,2.238,1284,2.031,1305,2.031,1636,5.303,1637,4.664,1638,3.17,1648,2.758,1741,2.758,1961,3.257,1986,2.438,2003,2.438,2146,4.674,2148,4.868,2149,4.868,2150,6.093,2151,3.036,2152,3.036,2153,4.868,2154,3.036,2155,6.97]],["t/659",[2,0.717,12,1.59,21,2.952,25,2.791,31,4.176,37,4.063,38,2.842,56,1.904,69,3.078,140,3.743,158,1.914,175,1.514,256,3.613,272,1.237,280,2.499,299,2.654,309,1.877,331,3.613,335,3.743,364,1.535,365,2.995,366,1.387,367,3.073,444,3.205,445,1.728,667,3.224,876,4.078,877,3.148,897,2.743,900,2.895,1056,3.895,1098,4.307,1363,3.499,1369,4.807,1393,5.053,1566,3.895,1575,5.769,1737,4.307,1774,5.769,1843,3.499,2156,5.078,2157,4.613,2158,5.078,2159,4.307,2160,4.613,2161,5.078]],["t/661",[11,3.056,37,3.023,108,2.869,119,2.427,122,3.488,156,3.635,167,2.146,227,1.536,280,3.635,297,1.901,298,4.478,301,3.991,309,3.409,381,4.134,524,5.256,547,3.991,571,3.744,2011,5.932,2162,6.711,2163,6.711,2164,6.711]],["t/663",[5,1.076,18,1.065,25,1.461,31,1.545,37,3.859,38,5.373,46,2.039,47,1.032,48,1.778,49,1.29,56,0.704,63,1.891,64,1.389,65,1.347,73,1.192,78,1.084,79,1.848,84,2.908,88,2.214,93,1.308,141,1.515,153,1.365,156,1.308,158,1.002,171,3.449,175,0.921,176,1.412,179,1.545,199,1.731,207,1.778,220,1.137,227,0.908,236,1.368,249,1.778,272,1.057,278,0.772,280,4.308,288,2.592,297,0.684,305,1.124,309,0.982,317,0.408,318,0.465,333,1.124,343,2.302,364,1.321,365,0.955,366,1.194,367,3.276,377,0.946,381,1.487,410,1.545,419,1.347,427,2.414,444,3.11,445,1.487,490,1.076,518,1.891,547,3.481,559,1.611,591,1.389,604,3.959,624,1.192,670,2.254,689,1.164,726,2.039,740,2.039,748,3.221,816,1.687,871,1.731,891,1.959,999,1.389,1002,2.039,1052,2.134,1056,4.268,1070,3.011,1099,2.774,1108,1.831,1124,2.254,1133,2.414,1289,1.959,1349,2.414,1393,3.906,1456,2.254,1563,1.487,1575,3.509,1704,2.254,1715,2.134,1749,2.254,1774,2.134,1820,2.414,1961,1.778,2159,3.706,2160,2.414,2165,2.658,2166,4.369,2167,3.706,2168,2.658,2169,2.414,2170,2.658,2171,2.658,2172,5.054,2173,4.369,2174,2.658,2175,2.658,2176,2.658,2177,2.658,2178,2.658,2179,2.658,2180,2.658,2181,2.658,2182,2.658,2183,2.658,2184,2.658,2185,4.369,2186,4.369,2187,4.369]],["t/666",[2,0.731,12,1.622,56,1.617,58,1.798,68,1.451,112,2.271,134,1.084,149,1.405,159,1.815,166,2.576,167,1.772,171,2.516,175,1.545,218,2.156,227,1.523,236,2.088,265,3.001,280,1.997,306,3.441,309,1.5,381,2.271,490,2.469,519,2.408,546,2.642,586,3.091,649,1.227,705,3.113,820,2.576,897,2.192,1007,3.686,1045,3.686,1101,6.215,1104,8.336,1106,5.541,1108,2.796,1191,3.441,1192,2.991,1222,2.46,1298,6.657,1435,2.46,1471,3.113,1590,7.402,1927,3.686,1957,3.686,2188,4.058,2189,4.058,2190,4.058,2191,4.058,2192,4.058,2193,4.058,2194,6.099,2195,3.686,2196,3.686,2197,3.686,2198,7.328,2199,4.058,2200,6.099,2201,3.686,2202,6.099,2203,7.328,2204,7.328,2205,6.099,2206,4.058,2207,4.058,2208,4.058,2209,4.058]],["t/668",[9,2.027,37,3.474,64,3.392,66,1.657,78,2.106,94,2.331,158,2.446,167,1.885,227,1.349,280,4.178,297,2.184,298,5.146,301,3.506,460,4.783,518,6.732,547,3.506,874,6.258,1100,4.342,2011,7.598,2012,7.2,2162,5.895,2163,5.895,2164,5.895,2210,5.895,2211,6.489]],["t/670",[37,2.213,38,3.027,56,1.434,66,1.382,78,1.863,81,3.084,94,1.943,153,1.69,158,2.038,172,2.365,280,3.695,298,3.278,317,0.831,318,0.947,364,1.635,365,3.517,366,1.477,377,2.673,400,4.344,444,2.886,445,1.84,460,6.358,483,3.278,518,5.342,742,3.925,874,3.987,1021,3.145,1099,5.475,1100,5.024,1245,4.914,1472,3.848,2011,4.344,2012,4.587,2107,4.587,2210,4.914,2212,5.409,2213,5.409,2214,5.409,2215,5.409,2216,5.409,2217,5.409,2218,5.409,2219,5.409]],["t/672",[56,2.149,62,2.913,68,1.606,134,2.165,227,1.686,310,4.109,752,6.877,1369,5.426,1566,6.22,1843,5.587,2220,8.109,2221,8.109,2222,8.109]],["t/675",[2,0.528,9,1.654,12,1.172,14,3.213,18,2.12,20,1.976,22,2.605,34,3.767,49,2.569,54,4.49,56,1.961,66,1.352,68,1.049,69,3.209,70,4.251,73,2.375,75,3.542,79,2.239,88,2.683,93,3.64,94,1.902,114,4.809,128,4.251,133,3.282,155,3.209,175,1.116,185,4.061,201,4.817,209,3.749,215,3.749,267,3.078,295,4.061,347,3.447,357,4.809,391,3.361,406,2.91,438,3.771,514,3.282,560,2.91,649,2.578,654,3.282,1664,4.49,2108,4.809,2223,5.294,2224,5.294,2225,6.274,2226,5.294,2227,4.809]],["t/677",[2,0.591,12,1.311,18,2.373,22,2.915,26,4.082,68,1.583,85,2.835,89,2.564,138,4.544,149,2.052,156,2.915,159,1.762,172,1.866,175,1.249,227,1.231,265,2.915,272,0.879,333,2.505,364,1.791,401,3.857,438,3.511,518,4.214,649,2.734,654,3.672,678,3.048,881,4.757,897,3.2,1123,4.366,1353,4.741,2225,7.669,2228,7.99,2229,7.99,2230,7.99,2231,7.99,2232,5.923]],["t/679",[6,4.659,22,4.172,149,2.936,438,3.894,514,5.255,649,3.032,654,5.255]],["t/682",[16,2.538,18,2.373,66,1.513,124,1.72,147,3.048,159,2.377,175,1.249,209,3.002,227,1.231,297,2.056,316,2.071,317,0.91,362,1.502,410,3.444,420,3.072,421,2.957,444,3.072,624,2.657,649,2.416,729,3.377,768,5.89,859,5.346,860,5.346,1376,4.392,1606,5.346,2068,5.024,2112,6.417,2233,5.923,2234,3.761,2235,5.381,2236,5.923,2237,7.99]],["t/684",[2,0.497,18,1.993,56,1.319,66,1.809,94,1.788,124,1.933,149,1.724,153,2.805,173,2.105,227,1.035,257,2.179,259,2.522,272,0.738,278,1.446,297,1.28,317,0.765,362,1.262,377,1.772,421,2.485,442,4.202,444,1.913,445,1.693,446,4.611,472,2.35,514,4.39,546,3.241,575,3.016,591,2.601,594,2.785,597,3.668,601,3.429,605,2.688,649,2.715,703,3.241,809,4.221,818,4.39,907,3.016,1100,3.33,1720,3.818,2067,4.221,2068,4.221,2069,4.521,2070,4.521,2071,4.521,2072,4.521,2073,4.521,2074,4.521,2075,4.521,2076,4.521,2077,4.521,2078,4.521,2079,4.521,2080,6.433,2081,4.521,2082,4.521,2083,4.521]],["t/686",[9,2.241,62,2.578,78,1.78,124,2.136,153,2.829,312,2.463,325,3.388,439,3.219,649,3,849,5.897,897,5.63,902,5.897,903,5.289,917,5.105,2238,6.518]],["t/688",[2,0.846,12,1.876,56,2.247,78,2.103,175,1.787,305,3.585,321,2.563,649,2.563,2239,8.477]],["t/690",[2,0.637,12,1.413,18,1.729,22,3.143,49,2.094,64,2.256,66,1.102,78,1.584,89,1.868,94,1.551,108,1.676,134,2.03,149,1.495,175,1.602,195,2.372,220,1.846,227,1.864,265,2.124,305,1.825,403,6.447,431,3.453,460,6.92,461,3.071,493,2.509,499,5.128,514,2.675,519,2.561,643,4.898,649,2.711,654,3.959,678,3.286,700,3.31,704,3.92,729,3.641,732,2.616,897,2.331,902,2.81,907,2.616,954,4.178,1029,3.466,1333,2.221,1363,2.974,1437,3.31,1563,2.415,1871,3.92,2040,3.92,2172,3.92,2240,7.601,2241,4.316,2242,7.601,2243,4.316,2244,6.386,2245,6.386,2246,6.386,2247,4.316]],["t/692",[175,1.894,507,4.082,560,4.939,1125,5.571]],["t/694",[56,2.411,815,8.263,2248,9.096]],["t/697",[2,0.621,9,1.943,68,1.232,159,1.85,175,1.311,227,1.293,271,2.043,272,0.923,297,2.124,316,2.14,317,0.955,362,1.577,366,1.699,421,3.105,445,2.809,480,3.532,481,3.532,849,4.05,897,3.36,901,4.425,902,4.05,1082,4.05,1233,5.856,1676,5.275,1971,5.65,2234,3.948,2249,9.266,2250,8.255,2251,6.219,2252,6.219]],["t/699",[2,0.457,9,1.431,66,1.704,78,1.136,134,1.781,162,2.982,167,1.331,227,1.636,265,2.254,272,0.68,286,2.663,297,1.716,302,1.895,317,1.025,318,0.802,354,3.376,364,2.017,365,2.397,366,2.149,377,2.801,391,2.908,442,3.958,444,3.025,445,2.27,453,3.376,480,1.959,481,1.959,559,2.776,569,4.463,586,3.38,591,3.487,608,3.156,738,2.163,818,2.839,820,2.908,832,4.161,849,2.982,877,2.839,901,4.746,902,5.628,1021,2.663,1074,3.884,1233,3.958,1413,3.884,1417,3.884,1489,3.678,1982,3.884,2235,4.161,2253,6.671,2254,4.58,2255,8.643,2256,4.58,2257,4.161,2258,7.868]],["t/701",[2,0.794,12,1.033,22,3.327,62,1.676,68,0.924,88,2.364,95,2.364,108,3.088,113,4.239,124,1.711,149,1.616,159,1.388,175,0.983,220,1.996,227,1.812,271,2.222,272,0.692,287,2.66,292,2.611,309,1.725,312,2.321,313,1.889,315,1.661,316,1.209,317,0.717,318,0.817,333,1.974,343,1.93,361,3.957,439,3.567,472,2.203,490,1.889,514,4.191,603,2.264,624,2.093,646,3.122,649,2.798,654,4.191,703,3.038,793,3.122,811,3.579,835,4.012,859,4.524,860,4.524,900,3.855,904,3.747,917,4.811,1331,3.32,2045,4.239,2234,5.048,2259,4.666,2260,4.666,2261,6.761]],["t/703",[16,3.333,56,1.939,78,1.815,149,3.175,305,3.094,649,2.771,729,4.171,759,5.04,791,5.205,837,4.094,862,5.04,959,5.874,1021,4.253,1190,5.04,1611,5.205,2262,7.315,2263,6.645,2264,6.645]],["t/705",[2,0.675,12,1.496,16,2.769,47,1.812,66,1.192,79,1.974,89,2.019,134,1.246,156,2.296,159,1.388,167,1.356,171,2.892,175,0.983,227,1.812,236,2.401,278,1.356,297,1.201,309,1.725,316,1.753,317,0.717,325,2.203,333,1.974,362,1.183,377,2.407,398,2.33,419,3.426,421,2.33,439,2.093,444,2.599,445,1.587,474,3.534,490,1.889,501,2.713,519,4.012,649,2.636,725,3.038,729,2.66,791,3.32,792,4.239,897,2.521,907,2.828,913,2.828,1155,4.403,1166,3.747,1190,3.215,1262,3.32,1435,2.828,1437,3.579,1489,3.747,1606,4.524,2058,3.747,2107,3.957,2109,3.957,2110,7.223,2111,6.142,2112,5.43,2113,4.239,2263,4.239]],["t/708",[2,0.972,12,1.332,14,2.268,16,2.565,20,2.246,66,1.537,78,2.003,149,2.085,272,0.893,297,1.549,317,0.925,318,1.054,364,1.82,365,2.162,366,1.644,367,3.455,377,2.142,391,3.821,402,3.571,419,3.05,444,2.314,445,2.048,519,3.571,529,3.499,594,5.452,649,2.442,757,4.282,848,2.805,897,3.251,928,4.833,981,4.833,999,3.146,1052,4.833,1190,4.147,1653,4.617]],["t/710",[2,0.694,9,1.514,12,1.073,14,1.827,16,2.207,20,1.809,66,1.238,67,2.289,68,1.377,94,2.497,95,2.457,107,2.818,153,1.514,158,1.827,159,1.442,175,1.712,228,3.893,272,0.719,278,1.408,297,1.247,302,2.005,316,1.257,317,0.745,330,1.942,364,1.466,377,1.726,402,2.876,406,2.664,420,1.863,424,3.34,438,1.882,444,1.863,464,3.34,501,2.818,504,2.386,514,3.005,529,4.04,546,3.157,594,3.889,649,2.456,664,3.573,729,2.764,799,3.449,819,3.078,836,2.664,837,2.713,848,2.259,897,2.619,1108,3.34,1111,3.573,1143,3.573,1155,3.157,1190,3.34,1259,3.157,1262,3.449,1442,3.34,1613,7.127,1614,4.404,1615,4.404,1616,4.404,2146,3.718,2265,4.848]],["t/712",[2,0.648,16,2.061,68,1.285,153,2.027,175,1.368,220,2.776,272,0.963,317,0.997,318,1.136,362,1.645,364,1.962,365,3.399,366,1.773,377,2.31,412,2.809,472,3.064,649,1.962,738,3.064,848,3.024,897,3.506,925,4.471,1393,5.146,1563,3.631,1617,5.504,1619,7.2,1622,7.2,1623,5.504,1626,7.2,1628,7.2]],["t/714",[2,0.621,9,2.579,12,1.376,20,3.081,21,3.616,56,1.648,79,2.631,81,3.546,88,3.152,124,1.339,149,2.154,175,1.311,201,4.05,278,1.807,307,4.584,385,6.629,387,5.65,391,5.241,410,3.616,645,2.898,646,4.161,649,2.984,703,4.05,759,4.285,791,4.425,908,4.05,912,4.584,1021,3.616,1108,4.285,1804,5.65,2266,6.219,2267,6.219,2268,6.219,2269,6.219]],["t/716",[2,0.856,9,2.678,12,1.898,94,3.08,107,4.985,409,5.583,649,2.592,2201,7.789]],["t/718",[2,1.051,15,2.606,17,4.383,68,1.463,74,3.546,107,4.295,265,3.635,316,2.391,548,4.69,551,5.09,791,5.256,2234,4.69,2257,6.711,2270,6.265,2271,5.667,2272,6.265,2273,7.387]],["t/720",[2,1.007,9,1.463,12,0.641,16,0.919,37,1.184,56,0.767,62,2.12,74,1.801,88,1.467,108,1.819,109,2.339,122,1.367,124,1.603,134,0.773,151,3.973,153,1.463,159,0.861,173,1.224,175,1.244,199,1.885,221,2.134,227,1.744,266,2.325,268,1.564,271,2.228,272,0.695,278,1.361,280,2.904,297,1.205,298,1.755,305,1.981,310,1.467,311,1.683,312,1.608,313,1.896,314,1.224,315,1.03,316,0.75,317,0.72,318,0.507,343,1.197,362,0.734,391,2.974,421,1.445,424,1.995,439,1.299,444,1.801,445,0.985,474,1.513,490,1.172,505,3.718,506,2.621,507,3.62,548,2.974,560,2.575,605,2.531,646,3.948,649,1.784,725,1.885,764,2.22,828,4.783,833,2.455,886,2.134,934,2.325,997,2.455,1021,1.683,1082,3.05,1099,1.838,1125,4.203,1375,1.885,1493,5.445,1606,3.134,1692,4.998,2112,4.738,2234,5.885,2274,2.895,2275,4.998,2276,3.593,2277,2.895,2278,2.895,2279,2.895,2280,2.895]],["t/722",[2,0.497,15,1.755,17,4.202,22,3.485,47,1.933,74,2.722,79,2.995,90,3.818,95,2.522,99,3.429,134,2.202,159,1.481,175,1.049,181,2.735,209,2.522,215,2.522,220,3.03,278,2.395,299,2.601,353,3.762,493,2.893,504,4.057,505,3.536,506,3.963,609,3.33,626,2.893,628,3.429,642,4.496,645,2.319,646,3.33,647,3.818,649,2.493,654,4.39,665,3.668,828,2.837,874,3.668,900,4.038,904,3.997,917,3.541,1504,3.997,1703,4.221,1757,3.33,2234,3.16,2275,6.077,2276,3.818,2281,4.521,2282,4.521,2283,4.521,2284,4.521,2285,4.221]],["t/724",[2,0.521,9,1.631,12,1.155,18,2.091,22,2.569,56,2.243,68,1.034,79,3.579,134,1.394,143,4.192,263,6.654,333,3.098,383,7.367,391,3.314,506,2.921,514,3.236,649,2.921,654,3.236,848,2.432,877,3.236,956,4.427,1143,3.848,1268,4.192,1331,5.211,1493,4.192,1496,4.192,1932,4.742,2003,5.882,2093,3.848,2227,4.742,2234,3.314,2275,3.848,2276,5.619,2286,9.662,2287,5.22,2288,5.22,2289,5.22,2290,5.22,2291,5.22,2292,5.22,2293,5.22,2294,5.22,2295,5.22,2296,5.22]],["t/726",[9,2.241,62,2.578,78,1.78,124,2.136,153,2.829,312,2.463,325,3.388,439,3.219,649,3,849,5.897,897,5.63,902,5.897,903,5.289,917,5.105,2238,6.518]],["t/728",[2,0.71,12,1.575,14,2.683,15,1.365,18,1.55,20,2.196,22,2.895,37,1.583,39,4.315,40,2.295,51,2.165,52,3.463,53,1.715,57,2.456,58,2.607,60,2.249,66,0.988,69,2.345,78,1.459,83,4.724,85,1.852,88,1.961,96,2.126,105,2.398,106,2.519,124,0.833,134,1.033,147,1.991,149,2.038,151,3.281,159,1.75,167,1.124,175,1.803,181,2.126,209,1.961,215,1.961,227,1.223,236,1.991,265,1.904,278,1.124,305,1.636,381,2.165,383,3.107,389,2.398,391,3.735,401,2.519,434,4.054,438,2.284,492,3.281,507,1.757,508,1.961,514,3.647,556,2.981,649,2.989,654,3.647,769,2.165,791,2.753,837,3.983,913,2.345,926,2.968,927,2.968,997,3.281,1069,3.514,1447,4.724,1714,3.514,1969,3.281,1970,3.281,2146,2.968,2264,3.514,2297,3.869,2298,3.869,2299,3.869,2300,3.869]],["t/730",[2,0.76,12,1.685,56,2.018,79,3.22,175,1.605,265,3.747,278,2.212,317,1.17,318,1.333,364,2.302,365,2.735,366,2.08,367,4.02,507,3.458,649,2.302,999,3.979,1002,5.84,1125,4.72]],["t/733",[2,0.837,12,0.818,14,1.393,37,2.325,56,0.98,64,2.97,68,0.732,70,2.969,73,1.658,74,1.421,75,2.473,108,2.687,112,3.18,119,2.552,122,1.745,133,2.292,134,1.848,159,1.1,167,1.074,189,2.149,207,2.473,209,1.873,218,3.018,226,2.549,227,1.181,236,1.902,239,2.347,256,2.63,272,0.843,280,4.902,282,4.358,296,3.135,297,1.462,298,3.444,310,1.873,314,1.564,347,3.7,356,2.969,370,3.358,391,2.347,409,2.407,507,3.808,547,1.997,548,2.347,570,2.836,585,2.836,649,1.118,677,2.547,692,2.547,800,2.836,914,2.63,920,2.292,1099,4.931,1125,3.522,1312,3.135,1315,4.563,1333,3.997,1335,3.135,1746,3.135,1956,3.135,2088,3.358,2146,2.836,2195,3.358,2234,4.931,2301,3.697,2302,3.697,2303,3.697,2304,3.697,2305,6.921,2306,3.697,2307,7.767,2308,3.697]],["t/735",[2,0.376,18,3.144,37,1.543,65,1.911,73,2.588,78,1.738,119,2.579,122,1.781,134,1.871,167,1.676,172,1.188,175,1.216,176,2.003,191,3.028,209,1.911,218,3.065,236,1.94,265,1.856,272,0.56,279,2.523,280,3.863,297,0.97,298,2.286,343,1.56,367,1.613,473,2.456,483,2.286,507,2.621,569,3.86,606,6.147,618,2.599,649,1.14,732,2.286,738,2.724,749,2.893,907,2.286,920,2.338,996,7.455,1075,4.563,1099,2.394,1124,3.198,1125,4.344,1315,3.028,1369,2.523,1403,4.633,1420,4.893,1453,3.198,1720,2.893,1721,3.028,1752,6.235,1843,5.408,1878,3.426,1970,3.198,2157,3.426,2169,3.426,2234,2.394,2309,8.459,2310,3.771,2311,3.771,2312,3.771,2313,3.426,2314,3.771,2315,3.771,2316,4.426,2317,3.771,2318,3.771,2319,3.771,2320,3.771,2321,3.771,2322,3.771]],["t/737",[37,3.084,78,1.869,220,3.224,227,1.567,253,4.672,278,2.19,559,4.568,649,2.823,820,4.785,920,4.672,1100,6.789,1333,3.878,2167,7.92,2323,7.536,2324,7.536,2325,7.536]],["t/739",[56,2.411,1496,7.304,2326,9.096]],["t/741",[189,4.614,292,4.441,507,3.605,649,2.4,678,4.084,705,7.394,908,6.277,913,4.811,920,4.92,1059,7.21,1060,7.21,2067,6.731,2327,7.937]],["t/743",[48,3.7,67,2.611,78,2.333,134,1.476,167,1.606,175,2.08,236,2.845,265,2.721,278,2.215,292,3.094,356,4.44,386,4.076,398,3.806,409,3.6,431,3.463,507,3.463,645,2.576,649,2.305,908,4.964,914,3.934,920,3.428,952,6.925,1125,3.428,1233,3.28,1752,4.076,2167,4.689,2328,5.529,2329,5.529,2330,7.623,2331,7.623,2332,5.529,2333,7.623,2334,6.925,2335,7.623,2336,5.529,2337,5.529,2338,5.529]],["t/745",[2,0.71,12,1.575,14,1.888,68,0.992,73,2.248,133,3.106,145,3.037,227,1.479,236,2.578,362,2.412,406,2.754,412,3.08,423,4.761,436,2.706,438,3.213,480,3.54,481,3.54,649,2.151,781,7.938,883,6.035,907,3.037,932,3.181,1075,4.633,1235,3.911,1624,5.458,2090,4.551,2316,5.458,2334,4.551,2339,8.183,2340,6.464,2341,8.274,2342,8.274,2343,5.01,2344,5.01,2345,5.01,2346,5.01]],["t/747",[2,0.573,12,1.271,14,2.164,18,2.3,20,2.143,68,1.137,78,1.424,107,3.338,149,1.989,220,2.456,227,1.193,265,2.825,272,0.852,362,1.983,406,4.3,438,2.229,448,3.842,649,2.365,738,3.694,743,3.842,819,3.645,897,3.102,907,3.48,1075,3.739,1235,3.156,1582,4.611,1644,4.869,2225,6.635,2316,6.001,2339,7.107,2340,5.216,2347,5.741,2348,7.823,2349,5.741,2350,5.741,2351,7.823,2352,7.823,2353,7.823,2354,7.823]],["t/749",[119,2.01,130,8.914,167,2.372,175,1.937,218,3.25,227,1.91,278,2.67,280,3.01,398,3.054,519,3.63,649,1.85,689,4.025,813,5.557,819,3.884,1125,3.792,1435,3.708,1720,6.263,1721,4.913,2196,5.557,2197,9.548,2316,4.693,2355,6.117,2356,6.117]],["t/751",[2,0.703,4,4.364,5,2.85,12,1.558,67,4.225,78,1.746,91,4.584,167,2.045,175,1.886,236,3.622,463,3.324,500,5.653,913,4.267,920,4.364,946,6.395,1781,7.588,1893,6.395,2109,5.97,2313,6.395,2316,5.4,2357,7.039,2358,7.039,2359,7.039,2360,7.039]],["t/754",[56,2.382,175,1.894,1496,7.217,1713,7.621]],["t/756",[2,0.544,4,3.378,11,3.581,12,1.206,14,2.053,15,2.662,16,1.73,19,3.378,20,3.231,56,2,62,1.958,68,1.495,69,3.302,70,4.375,78,1.872,96,4.759,108,2.116,124,1.173,146,3.754,159,1.621,173,2.305,193,3.824,209,2.761,226,2.444,278,1.583,314,2.305,369,3.646,378,4.949,379,4.949,381,3.049,408,3.459,418,3.876,505,2.72,508,2.761,524,3.876,532,3.646,605,2.943,742,2.848,823,4.949,849,3.548,881,4.375,976,3.876,1152,3.302,1653,4.179,2017,4.949,2018,4.949,2361,5.448]],["t/758",[2,0.731,12,1.621,15,1.841,62,2.632,63,3.714,79,2.208,81,2.976,96,4.026,124,1.576,158,1.967,159,1.553,173,2.208,271,3.175,272,0.775,278,1.517,287,2.976,316,1.353,317,0.802,318,0.914,321,1.578,330,2.091,343,2.159,362,1.324,420,2.007,431,3.327,480,2.233,481,2.233,587,3.75,603,3.554,608,3.597,645,2.432,680,3.848,721,3.03,850,4.77,969,4.742,1082,5.51,1233,4.346,1331,3.714,1386,4.258,1411,4.742,1602,3.848,2053,4.427,2362,7.325,2363,4.427]],["t/760",[2,0.771,9,1.143,12,0.81,15,1.989,20,2.104,47,2.19,62,2.471,73,1.642,79,1.548,95,1.855,96,3.781,108,1.421,124,1.214,134,0.977,158,1.379,173,2.385,193,1.855,227,0.761,271,3.264,272,1.238,278,1.638,287,2.087,305,1.548,309,1.353,312,1.256,313,1.482,314,1.548,315,2.007,316,1.462,317,1.057,318,1.204,343,2.333,362,1.43,413,2.172,420,2.168,431,3.51,433,1.913,444,2.644,445,2.34,480,2.412,481,2.412,564,3.58,587,1.622,608,4.739,610,3.325,611,3.325,612,3.325,661,2.087,721,2.845,819,2.324,836,2.012,850,3.672,1082,6.335,1365,2.383,1386,2.128,1884,4.782,2053,3.104,2129,3.325,2363,4.782,2364,3.66,2365,3.66,2366,4.782,2367,4.782]],["t/762",[2,0.904,12,1.588,15,0.951,20,1.006,38,2.474,62,3.054,74,1.7,79,1.14,81,1.537,94,0.969,96,1.482,104,1.634,122,1.273,124,1.544,134,1.501,158,1.016,173,2.377,175,0.568,220,1.154,227,0.919,257,1.181,258,1.988,259,1.366,271,3.048,272,1.144,278,1.633,287,1.537,297,1.446,311,3.267,312,0.926,313,1.091,314,1.14,315,1.574,316,1.146,317,1.184,318,1.256,333,1.14,343,1.115,362,1.121,420,2.758,421,2.207,431,3.861,433,1.409,439,2.521,444,3.481,445,1.504,480,1.154,481,1.154,483,1.634,498,2.449,501,1.567,510,3.391,543,2.165,587,1.959,624,1.21,645,1.256,661,1.537,663,1.756,677,1.858,700,2.068,716,1.988,742,1.409,747,1.756,754,1.988,836,2.43,859,1.804,860,1.804,1082,6.277,1363,1.858,1375,3.659,1386,1.567,1828,2.287,1832,8.227,1884,3.75,1961,1.804,2271,2.068,2363,2.287,2366,3.75,2367,3.75,2368,2.696,2369,2.696]],["t/764",[11,3.391,14,3.089,20,3.669,62,2.945,69,4.969,96,4.506,209,4.154,287,4.674,438,3.183,463,3.871,1704,6.953]],["t/766",[2,0.514,15,2.558,68,1.02,77,4.677,108,2.817,116,5.703,124,1.108,145,3.12,173,2.178,227,1.508,256,3.663,271,2.383,278,2.108,287,2.935,310,2.609,312,1.767,313,2.084,317,0.791,318,0.901,352,3.547,362,1.305,395,2.993,398,2.57,412,2.228,439,2.31,447,2.431,472,3.425,480,2.202,481,2.202,504,2.533,505,2.57,506,4.059,556,2.609,605,2.781,828,2.935,835,3.054,848,2.399,931,5.564,965,4.366,981,4.134,1333,2.649,1365,3.352,1375,3.352,1376,2.83,1386,2.993,1391,4.134,1400,4.677,1644,8.152,2370,4.677,2371,5.148]],["t/768",[4,2.464,9,0.741,11,0.981,12,0.525,15,1.81,17,2.358,20,1.483,25,1.303,37,0.97,47,1.992,56,0.628,57,1.505,59,1.407,62,1.428,66,1.534,68,0.787,86,1.819,96,2.184,109,1.184,116,4.293,124,2.22,134,0.633,147,2.045,149,0.821,156,1.167,159,1.99,172,0.747,173,1.003,181,1.303,199,1.544,209,1.202,215,1.202,218,1.26,251,3.433,257,1.74,271,1.973,278,0.689,287,2.266,297,0.61,305,1.003,309,0.876,312,2.061,317,0.611,318,0.696,321,0.717,326,2.045,342,1.22,353,2.111,362,0.601,366,0.648,368,1.904,412,1.026,420,0.912,438,0.921,451,3.553,463,1.877,508,2.6,517,1.437,559,1.437,587,1.761,599,2.739,616,1.687,677,1.634,705,1.819,742,2.077,773,1.904,777,1.47,786,1.819,834,1.634,836,1.303,900,1.352,903,1.748,918,1.748,925,3.535,929,1.634,933,2.154,936,2.154,949,3.049,976,1.687,1028,1.904,1070,1.634,1150,1.904,1166,1.904,1233,1.407,1259,1.544,1274,2.011,1317,1.904,1341,1.904,1376,2.184,1386,2.311,1442,1.634,1481,2.154,1505,4.12,1507,1.904,1508,3.192,1509,2.828,1510,2.011,1511,2.011,1512,2.011,1513,1.904,1515,3.61,1518,2.154,1519,2.011,1531,2.154,1533,2.154,1535,1.904,1540,2.011,1555,2.154,1560,4.12,1567,5.149,1591,3.371,1609,1.634,1653,1.819,1697,2.011,1752,1.748,1757,3.433,1763,2.011,1771,2.011,1776,2.154,1787,2.011,1792,3.371,1856,1.819,2125,2.154,2372,5.811,2373,2.371,2374,2.371,2375,2.371,2376,2.371,2377,2.371,2378,2.371,2379,2.371,2380,2.371,2381,2.371,2382,3.974,2383,2.371,2384,2.154,2385,2.371,2386,2.371,2387,5.131]],["t/770",[15,3.24,18,1.466,28,3.58,56,0.97,62,1.315,66,0.935,68,1.746,95,1.855,124,0.788,167,1.064,173,1.548,249,2.449,271,1.203,278,1.064,279,2.449,317,0.562,318,0.641,321,1.705,333,1.548,341,2.698,408,3.58,412,3.344,420,1.407,425,2.604,504,4.52,505,4.735,506,4.933,517,2.219,529,2.128,532,3.773,556,1.855,587,1.622,624,1.642,642,3.58,721,1.514,728,2.012,772,5.17,777,3.496,828,5.237,834,3.885,837,2.048,848,1.706,849,2.383,869,2.698,877,2.269,901,2.604,902,2.383,971,2.698,1074,3.104,1215,6.554,1284,2.449,1376,2.012,1386,2.128,1472,2.604,1534,3.325,1535,2.939,1677,4.528,1803,6.248,2006,2.939,2388,8.345,2389,3.66,2390,3.66,2391,3.66,2392,3.104,2393,5.639,2394,3.66]],["t/772",[2,0.626,56,1.662,66,1.602,124,1.35,156,3.086,227,1.304,271,2.061,312,2.153,313,2.539,314,2.653,317,0.963,318,1.098,321,1.896,322,3.92,330,2.512,398,3.131,429,4.623,463,2.961,587,3.679,689,2.746,785,3.981,835,3.721,850,4.084,859,5.554,860,5.554,1009,5.036,1015,5.036,1201,3.888,1376,3.447,1386,3.646,1823,4.811,2372,5.036,2395,8.301,2396,6.271,2397,5.697]],["t/774",[56,1.815,66,1.749,69,4.149,124,1.473,156,3.369,271,2.249,314,2.896,317,1.052,318,1.199,463,3.232,506,3.831,532,4.581,587,3.895,644,5.046,689,2.998,828,3.903,848,3.19,859,4.581,860,4.581,1201,4.244,1233,4.062,1376,3.763,1386,3.98,1823,5.251,2370,6.219,2372,5.498,2397,6.219,2398,8.789]],["t/776",[40,5.735,124,1.881,147,3.491,271,2.229,317,1.042,318,1.188,320,3.326,326,3.491,398,4.363,429,6.441,493,3.944,587,3.007,641,7.411,742,4.567,835,4.025,1376,3.729,1386,3.944,1431,6.163,1567,4.827,1856,5.204,2399,9.666]],["t/778",[124,1.914,156,3.432,271,2.291,312,3.361,314,2.95,317,1.071,318,1.221,320,2.654,362,1.768,463,3.293,550,5.6,587,4.34,1376,3.833,1386,4.054,1452,7.142,1507,5.6,1567,4.962,2372,5.6,2392,7.543,2400,8.894]],["t/780",[64,3.861,271,2.427,317,1.135,318,1.293,362,1.873,386,5.446,391,4.69,412,3.197,480,3.161,481,3.161,587,3.274,916,6.711,1331,5.256,1333,3.801,1376,4.06,1386,4.295,1452,7.407,2392,7.822,2401,9.223]],["t/782",[2,0.813,12,1.473,20,2.483,47,1.349,56,1.435,67,3.142,81,3.794,179,2.019,271,2.676,272,0.987,309,1.284,314,2.29,317,1.251,318,1.426,321,1.05,333,1.469,342,3.424,420,2.081,431,2.459,435,1.685,437,3.212,438,1.349,463,1.64,483,4.033,543,4.348,567,3.155,587,3.61,608,3.731,672,2.664,738,1.64,742,1.815,769,5.216,901,4.734,1201,3.356,1213,4.918,1250,8.305,1324,2.789,1376,4.477,1386,4.735,1505,2.789,1546,2.56,1594,5.643,1772,4.592,1782,3.155,2271,4.153,2285,2.946,2402,5.414,2403,3.473,2404,3.473,2405,5.414,2406,5.414,2407,5.414,2408,5.414,2409,5.414,2410,6.654]],["t/784",[37,2.545,56,1.648,271,2.712,297,1.6,298,3.77,314,2.631,317,1.268,318,1.445,330,3.307,381,3.48,517,3.77,587,3.659,902,5.376,930,4.425,1376,4.537,1386,4.799,1575,4.994,2159,5.275,2411,10.774,2412,8.255,2413,6.219,2414,6.219,2415,8.255,2416,8.255]],["t/786",[2,0.765,11,3.17,12,1.233,20,2.079,62,2.001,68,1.103,79,2.356,81,3.176,96,3.062,158,2.099,159,1.657,173,3.705,251,3.727,271,3.25,272,1.137,278,2.545,309,2.059,316,1.444,317,1.177,318,1.342,343,2.304,362,1.943,420,2.141,431,4.286,587,3.396,608,3.838,715,3.376,772,3.727,1082,6.441,2366,6.499,2417,5.57,2418,5.57]],["t/788",[9,2.968,11,2.708,16,2.079,68,1.297,124,2.045,317,1.006,318,1.146,362,1.66,386,4.825,395,3.806,472,3.091,480,2.801,481,2.801,556,4.815,624,2.937,677,4.511,836,3.598,837,3.663,861,4.825,965,5.552,1082,5.56,1527,5.552,2367,8.059,2384,5.947,2419,6.546,2420,6.546]],["t/790",[9,2.263,314,3.064,317,1.113,318,1.268,362,1.837,364,2.19,366,2.489,367,3.898,468,7.709,547,3.913,1242,8.869,2421,7.244,2422,9.111,2423,9.111]],["t/792",[2,0.54,5,2.19,16,2.385,58,2.397,64,2.827,68,1.071,78,1.863,94,1.943,96,2.973,172,1.704,206,3.084,272,0.803,314,3.648,317,1.154,318,1.315,320,2.059,362,1.904,366,2.051,367,3.212,468,5.535,591,2.827,631,3.209,672,4.149,725,3.522,739,4.344,848,2.521,999,2.827,1181,4.767,1235,2.973,1367,3.727,1368,3.727,1403,4.344,1606,5.024,1841,4.914,2424,5.409,2425,7.315,2426,7.315,2427,9.317,2428,7.509]],["t/794",[5,3.896,58,3.85,78,1.668,119,2.209,159,2,175,1.417,272,0.998,316,2.637,317,1.033,318,1.177,362,1.705,463,3.174,615,4.632,759,4.632,853,5.702,932,5.515,1781,7.367,2429,8.687,2430,9.624,2431,8.687]],["t/796",[5,2.797,52,2.797,78,1.714,153,2.158,159,2.056,175,1.456,239,4.386,272,1.025,317,1.061,318,1.21,362,2.242,366,1.887,412,2.99,480,2.956,481,2.956,743,4.623,1181,4.386,1638,5.757,2425,8.269,2426,7.498,2432,8.032,2433,8.841]],["t/798",[5,2.797,78,1.714,124,1.487,153,2.158,159,2.056,175,1.456,239,4.386,272,1.025,317,1.061,318,1.21,362,2.242,366,1.887,412,2.99,442,5.246,480,2.956,481,2.956,743,4.623,1181,4.386,1639,8.032,2425,8.269,2426,7.498,2432,8.032]],["t/801",[14,3.387,20,3.354,79,3.801,649,2.717]],["t/803",[14,3.387,31,5.224,51,5.029,389,5.571]],["t/805",[4,5.44,14,3.307,31,5.102,2434,8.775,2435,8.775,2436,8.775]],["t/807",[14,3.269,20,3.237,37,3.549,227,1.803,490,3.511,491,7.879,492,7.356]],["t/809",[14,3.159,20,3.128,78,2.079,106,5.458,124,1.804,267,4.873,268,4.528,280,4.125,293,5.196,325,3.958]],["t/811",[14,3.159,20,3.128,78,2.079,105,5.196,124,1.804,267,4.873,268,4.528,280,4.125,293,5.196,325,3.958]],["t/813",[482,7.487]],["t/815",[12,1.795,79,3.43,80,5.465,134,2.165,137,5.977,140,5.977,145,4.915,215,4.109,310,4.109,560,4.457,1120,6.512,1903,7.366]],["t/817",[2,1.011,28,3.434,66,1.382,74,3.763,104,3.278,107,3.145,108,2.1,175,1.14,179,3.145,214,3.619,299,2.827,305,2.288,316,2.236,333,2.288,413,3.209,439,2.427,474,2.827,504,2.662,506,3.027,548,3.434,551,3.727,556,2.741,593,4.587,643,4.149,644,3.987,645,2.521,693,4.914,694,3.987,777,3.353,828,4.281,917,3.848,1280,3.987,1375,3.522,1421,3.987,1757,3.619,1999,4.914,2093,3.987,2270,6.368,2271,4.149,2272,4.587,2437,5.409,2438,5.409,2439,5.409,2440,7.509,2441,5.409]],["t/819",[2,0.611,17,4.844,47,2.375,74,3.139,95,3.1,108,3.171,109,4.589,134,1.634,167,2.372,218,3.25,257,2.679,305,2.588,310,4.657,316,1.586,348,3.488,399,3.01,504,3.01,506,3.423,532,5.463,536,4.693,537,4.509,548,3.884,551,4.215,628,4.215,650,4.509,660,4.215,692,4.215,828,3.488,1123,4.509,2002,5.557,2093,4.509,2097,5.557,2442,6.117,2443,6.117]],["t/821",[12,2.236,15,3.029,37,3.514,47,3.335,68,1.308,74,2.539,119,2.17,215,3.347,305,2.793,342,3.398,353,4.562,444,3.668,489,4.699,504,3.25,505,5.045,506,3.696,507,3,509,5.066,660,4.55,665,4.868,747,4.3,825,5.303]],["t/823",[2,1.073,66,1.297,68,1.006,74,2.762,104,3.078,107,2.952,108,2.79,109,2.535,124,1.093,227,1.056,310,2.573,316,1.862,439,3.223,505,4.775,506,2.842,548,3.224,551,3.499,605,2.743,649,1.535,828,5.819,979,4.307,1375,4.678,1493,7.278,1692,6.68,2093,3.743,2234,5.292,2270,4.307,2271,3.895,2272,4.307,2275,6.68,2276,5.511,2444,5.078]],["t/825",[17,5.099,22,2.227,47,2.567,74,1.739,79,2.797,90,5.072,95,3.351,134,1.766,159,1.967,175,1.394,181,3.634,209,3.351,220,3.343,278,1.921,299,2.365,353,3.512,493,2.63,504,3.254,505,3.301,506,4.372,609,4.424,628,4.556,642,2.873,645,3.081,646,4.424,647,5.072,649,1.999,654,2.805,828,2.58,900,4.9,904,5.31,917,4.704,1504,5.31,1703,5.607,1757,4.424,2234,4.198,2275,5.759,2276,5.072,2281,6.006,2282,6.006,2283,6.006,2284,6.006,2285,5.607]],["t/827",[15,2.269,22,4.154,47,3.278,68,1.274,74,2.473,119,2.114,175,1.356,181,3.536,215,3.26,220,2.752,305,2.721,342,3.31,353,4.485,490,2.604,504,3.166,505,4.704,506,3.6,510,4.935,546,4.189,558,5.456,628,4.433,642,4.084,646,4.305,647,4.935,649,2.552,654,5.233,660,4.433,665,4.742,1403,5.166,2275,4.742]]],"invertedIndex":[["0",{"_index":1222,"t":{"235":{"position":[[1293,1]]},"293":{"position":[[441,1]]},"295":{"position":[[182,1],[486,1]]},"297":{"position":[[188,1]]},"299":{"position":[[652,1]]},"313":{"position":[[39,1],[41,1],[63,1],[65,1],[91,1],[93,1],[459,1]]},"315":{"position":[[96,1]]},"392":{"position":[[33,1],[35,1]]},"422":{"position":[[339,1],[343,1],[441,1],[445,1]]},"595":{"position":[[91,1],[168,1],[170,1]]},"599":{"position":[[148,1]]},"649":{"position":[[587,1]]},"666":{"position":[[205,1]]}}}],["1",{"_index":586,"t":{"85":{"position":[[267,1]]},"87":{"position":[[155,1]]},"226":{"position":[[693,1]]},"237":{"position":[[1302,1]]},"239":{"position":[[459,1],[652,1]]},"259":{"position":[[185,1]]},"268":{"position":[[162,1]]},"270":{"position":[[92,1]]},"293":{"position":[[795,1]]},"295":{"position":[[632,1],[750,1]]},"299":{"position":[[691,1],[712,1]]},"313":{"position":[[89,1]]},"422":{"position":[[341,1],[443,1]]},"482":{"position":[[178,1]]},"484":{"position":[[165,1]]},"535":{"position":[[260,1]]},"546":{"position":[[211,1]]},"595":{"position":[[115,1],[172,1]]},"597":{"position":[[143,1],[223,1],[281,1],[309,1]]},"599":{"position":[[172,1],[217,1],[240,1]]},"603":{"position":[[155,1],[171,1],[175,1]]},"666":{"position":[[213,1],[284,1]]},"699":{"position":[[0,1],[568,1]]}}}],["10",{"_index":2100,"t":{"603":{"position":[[157,2]]}}}],["1000",{"_index":1221,"t":{"235":{"position":[[1272,4]]},"278":{"position":[[406,4]]}}}],["100vw",{"_index":2207,"t":{"666":{"position":[[269,5]]}}}],["10px",{"_index":2215,"t":{"670":{"position":[[82,4]]}}}],["11",{"_index":1762,"t":{"422":{"position":[[354,2],[495,2]]},"446":{"position":[[338,2]]}}}],["114",{"_index":2080,"t":{"589":{"position":[[400,3],[404,3]]},"684":{"position":[[410,3],[414,3]]}}}],["123",{"_index":1417,"t":{"278":{"position":[[448,3]]},"639":{"position":[[97,3],[192,3]]},"699":{"position":[[519,3]]}}}],["1234",{"_index":1622,"t":{"330":{"position":[[133,4],[240,4]]},"332":{"position":[[231,4],[407,4]]},"712":{"position":[[99,4],[209,4]]}}}],["12345",{"_index":1206,"t":{"235":{"position":[[950,5]]}}}],["123456",{"_index":2044,"t":{"559":{"position":[[80,6]]}}}],["127",{"_index":2092,"t":{"595":{"position":[[164,3]]}}}],["14",{"_index":1903,"t":{"482":{"position":[[33,2],[208,2],[228,2],[241,2],[254,2]]},"815":{"position":[[29,2]]}}}],["16",{"_index":223,"t":{"15":{"position":[[127,2]]}}}],["16px",{"_index":2219,"t":{"670":{"position":[[295,4]]}}}],["18",{"_index":213,"t":{"15":{"position":[[25,2],[40,2]]},"179":{"position":[[23,2]]},"432":{"position":[[413,2],[513,2]]}}}],["18px",{"_index":2211,"t":{"668":{"position":[[130,4]]}}}],["19",{"_index":1917,"t":{"482":{"position":[[288,2]]}}}],["1da57a",{"_index":337,"t":{"34":{"position":[[276,6]]}}}],["1rpx",{"_index":2205,"t":{"666":{"position":[[198,4],[277,4]]}}}],["2",{"_index":162,"t":{"9":{"position":[[86,1]]},"237":{"position":[[1395,1]]},"259":{"position":[[188,1]]},"268":{"position":[[165,1]]},"270":{"position":[[96,1]]},"313":{"position":[[37,1]]},"315":{"position":[[86,1]]},"444":{"position":[[714,1]]},"597":{"position":[[167,1],[247,1],[284,1]]},"699":{"position":[[247,1]]}}}],["20",{"_index":1174,"t":{"230":{"position":[[255,2]]}}}],["200",{"_index":1243,"t":{"235":{"position":[[1933,3]]}}}],["2009",{"_index":1816,"t":{"444":{"position":[[416,4]]}}}],["20px",{"_index":2013,"t":{"540":{"position":[[181,4]]}}}],["24px",{"_index":2216,"t":{"670":{"position":[[158,4]]}}}],["262833",{"_index":2073,"t":{"589":{"position":[[317,6]]},"684":{"position":[[327,6]]}}}],["3",{"_index":13,"t":{"2":{"position":[[46,1]]},"9":{"position":[[7,1],[62,1],[144,1],[170,1],[214,1]]},"165":{"position":[[85,1]]},"237":{"position":[[1520,1]]},"259":{"position":[[197,1]]},"268":{"position":[[174,1]]},"270":{"position":[[94,1]]},"299":{"position":[[193,1]]},"310":{"position":[[10,1]]},"313":{"position":[[61,1],[457,1]]},"315":{"position":[[94,1],[1119,1]]},"380":{"position":[[542,1]]},"392":{"position":[[31,1]]},"444":{"position":[[380,1]]},"482":{"position":[[291,1]]}}}],["300",{"_index":1102,"t":{"212":{"position":[[346,3]]}}}],["3000",{"_index":537,"t":{"80":{"position":[[109,4]]},"85":{"position":[[940,4],[968,4],[1197,4],[1226,4]]},"332":{"position":[[217,4]]},"553":{"position":[[80,4],[175,4]]},"595":{"position":[[142,4],[174,4]]},"819":{"position":[[129,4]]}}}],["375px",{"_index":2200,"t":{"666":{"position":[[151,5],[181,5]]}}}],["39",{"_index":1912,"t":{"482":{"position":[[175,2]]}}}],["3g",{"_index":1966,"t":{"519":{"position":[[1140,2]]}}}],["4",{"_index":304,"t":{"23":{"position":[[352,1]]},"117":{"position":[[346,1]]}}}],["404",{"_index":540,"t":{"80":{"position":[[169,3],[199,3]]},"622":{"position":[[94,3]]}}}],["4321",{"_index":1630,"t":{"332":{"position":[[507,4]]}}}],["5",{"_index":306,"t":{"23":{"position":[[365,1]]},"476":{"position":[[175,1]]},"666":{"position":[[295,1]]}}}],["55",{"_index":1748,"t":{"415":{"position":[[42,2]]}}}],["5mb",{"_index":2106,"t":{"605":{"position":[[228,3]]}}}],["5px",{"_index":2206,"t":{"666":{"position":[[207,3]]}}}],["5vw",{"_index":2208,"t":{"666":{"position":[[288,3]]}}}],["7",{"_index":1927,"t":{"484":{"position":[[163,1],[167,1]]},"666":{"position":[[286,1]]}}}],["750",{"_index":2202,"t":{"666":{"position":[[160,3],[189,3]]}}}],["750rpx",{"_index":2198,"t":{"666":{"position":[[125,6],[172,6],[260,6]]}}}],["8",{"_index":578,"t":{"85":{"position":[[202,1]]},"87":{"position":[[90,1]]},"444":{"position":[[235,1]]},"478":{"position":[[146,1],[419,1]]},"535":{"position":[[139,1]]},"583":{"position":[[154,1]]}}}],["8kb",{"_index":1723,"t":{"400":{"position":[[77,3]]}}}],["9999",{"_index":1355,"t":{"250":{"position":[[384,4]]},"551":{"position":[[57,4]]},"553":{"position":[[188,4],[253,4]]}}}],["__dirnam",{"_index":611,"t":{"85":{"position":[[805,9]]},"760":{"position":[[386,9]]}}}],["__html",{"_index":2010,"t":{"540":{"position":[[144,6],[260,6]]}}}],["abc",{"_index":666,"t":{"94":{"position":[[37,3],[50,3],[215,3]]}}}],["abort",{"_index":1220,"t":{"235":{"position":[[1254,7]]}}}],["absolut",{"_index":2417,"t":{"786":{"position":[[129,8]]}}}],["acc",{"_index":1576,"t":{"317":{"position":[[310,3],[345,3],[1423,3],[1458,3]]}}}],["accept",{"_index":771,"t":{"113":{"position":[[443,6]]}}}],["acceptcooki",{"_index":808,"t":{"115":{"position":[[425,12]]}}}],["access",{"_index":1228,"t":{"235":{"position":[[1366,6],[2132,8]]}}}],["activ",{"_index":1054,"t":{"199":{"position":[[32,6],[97,6]]}}}],["activelocal",{"_index":746,"t":{"111":{"position":[[228,12],[311,12]]}}}],["add",{"_index":1377,"t":{"259":{"position":[[8,3],[28,3],[59,3],[103,3],[122,3],[139,3],[151,3],[181,3]]},"268":{"position":[[50,3],[108,3],[125,3],[137,3],[158,3]]},"297":{"position":[[496,3],[528,3]]},"299":{"position":[[667,3]]}}}],["addattribut",{"_index":638,"t":{"87":{"position":[[616,12]]}}}],["adddataloaderimport",{"_index":2409,"t":{"782":{"position":[[887,19],[1088,19]]}}}],["addev",{"_index":2412,"t":{"784":{"position":[[15,8],[113,8]]}}}],["addeventlisten",{"_index":1136,"t":{"220":{"position":[[61,16]]}}}],["addexport",{"_index":2406,"t":{"782":{"position":[[402,9],[550,9]]}}}],["addexporttyp",{"_index":2408,"t":{"782":{"position":[[625,14],[783,14]]}}}],["addload",{"_index":1586,"t":{"317":{"position":[[2189,9],[2430,9]]}}}],["addmodul",{"_index":1734,"t":{"404":{"position":[[128,9]]}}}],["addprovid",{"_index":2422,"t":{"790":{"position":[[39,11],[213,11]]}}}],["addrenderfil",{"_index":2405,"t":{"782":{"position":[[226,13],[334,13]]}}}],["addrendertempl",{"_index":2402,"t":{"782":{"position":[[23,17],[135,17]]}}}],["addtask",{"_index":1460,"t":{"299":{"position":[[214,8]]}}}],["addwrapp",{"_index":2425,"t":{"792":{"position":[[68,10],[207,10],[264,10]]},"796":{"position":[[15,10],[85,10],[230,10]]},"798":{"position":[[15,10],[85,10],[238,10]]}}}],["admin",{"_index":440,"t":{"47":{"position":[[372,5]]},"49":{"position":[[244,5],[269,5]]},"55":{"position":[[170,5]]},"59":{"position":[[184,5]]},"179":{"position":[[223,5],[282,5],[295,5],[405,5],[437,5]]},"185":{"position":[[339,5]]},"372":{"position":[[256,5]]}}}],["ag",{"_index":1173,"t":{"230":{"position":[[250,3]]},"299":{"position":[[188,3],[423,3],[462,3]]},"422":{"position":[[348,3],[462,3]]}}}],["ahook",{"_index":1256,"t":{"237":{"position":[[44,6],[1687,6]]}}}],["alert",{"_index":1087,"t":{"210":{"position":[[267,5],[307,5]]},"239":{"position":[[657,5]]}}}],["ali",{"_index":1493,"t":{"313":{"position":[[110,3],[139,3]]},"720":{"position":[[177,3],[203,3],[303,3],[329,3]]},"724":{"position":[[111,3]]},"823":{"position":[[249,3],[275,3],[375,3],[401,3]]}}}],["alia",{"_index":1505,"t":{"315":{"position":[[167,5]]},"418":{"position":[[73,5],[322,5]]},"768":{"position":[[155,5],[560,5],[584,5]]},"782":{"position":[[1134,5]]}}}],["alibaba",{"_index":260,"t":{"21":{"position":[[25,7]]},"478":{"position":[[468,7]]}}}],["alicdn",{"_index":2075,"t":{"589":{"position":[[363,6]]},"684":{"position":[[373,6]]}}}],["alifd",{"_index":873,"t":{"150":{"position":[[309,5]]},"157":{"position":[[210,5]]},"161":{"position":[[224,5],[350,5]]},"442":{"position":[[337,5],[723,5]]}}}],["aliv",{"_index":927,"t":{"175":{"position":[[13,5],[34,5],[74,5]]},"177":{"position":[[283,5]]},"313":{"position":[[437,5],[468,5]]},"350":{"position":[[41,5]]},"728":{"position":[[260,5]]}}}],["aliyunc",{"_index":846,"t":{"137":{"position":[[619,8]]}}}],["allowsbouncevert",{"_index":2069,"t":{"589":{"position":[[241,20]]},"684":{"position":[[251,20]]}}}],["analyz",{"_index":1513,"t":{"315":{"position":[[323,8]]},"386":{"position":[[363,8]]},"388":{"position":[[194,8]]},"768":{"position":[[827,8]]}}}],["anonym",{"_index":1753,"t":{"420":{"position":[[27,9],[170,9]]},"542":{"position":[[132,9],[240,9]]}}}],["anothercondit",{"_index":1001,"t":{"189":{"position":[[56,16]]}}}],["antd",{"_index":106,"t":{"4":{"position":[[393,4]]},"17":{"position":[[58,4]]},"23":{"position":[[17,4],[28,4],[240,4],[302,4],[312,4],[360,4]]},"25":{"position":[[29,4],[121,4],[144,4],[199,4]]},"28":{"position":[[25,4]]},"34":{"position":[[38,4],[125,4],[148,4],[203,4],[238,4]]},"159":{"position":[[38,4]]},"313":{"position":[[283,4],[303,4]]},"728":{"position":[[269,4]]},"809":{"position":[[3,4]]}}}],["antd5",{"_index":691,"t":{"96":{"position":[[259,5]]}}}],["antialias",{"_index":2164,"t":{"661":{"position":[[80,11]]},"668":{"position":[[74,11]]}}}],["anymock",{"_index":2299,"t":{"728":{"position":[[180,7]]}}}],["api",{"_index":438,"t":{"47":{"position":[[328,3]]},"107":{"position":[[34,3]]},"203":{"position":[[62,3],[120,3]]},"208":{"position":[[25,3]]},"226":{"position":[[421,3],[487,3],[580,3]]},"235":{"position":[[261,3],[363,3]]},"237":{"position":[[197,3],[1366,3],[1473,3],[1622,3]]},"239":{"position":[[300,3]]},"241":{"position":[[182,3],[407,3]]},"250":{"position":[[30,3],[278,3],[389,3],[431,3]]},"301":{"position":[[24,3]]},"307":{"position":[[242,3]]},"330":{"position":[[12,3]]},"332":{"position":[[75,3]]},"334":{"position":[[12,3],[44,3]]},"336":{"position":[[12,3]]},"338":{"position":[[179,3],[298,3]]},"344":{"position":[[12,3]]},"352":{"position":[[161,3]]},"436":{"position":[[173,3],[267,3]]},"470":{"position":[[179,3],[213,3]]},"519":{"position":[[466,3],[971,3]]},"521":{"position":[[650,3]]},"523":{"position":[[139,3],[484,3]]},"527":{"position":[[508,3]]},"529":{"position":[[227,3]]},"531":{"position":[[446,3],[549,3],[1157,3],[1259,3]]},"593":{"position":[[337,3],[371,3]]},"595":{"position":[[58,3],[179,3]]},"597":{"position":[[111,3],[191,3],[260,3],[299,3]]},"599":{"position":[[74,3],[115,3],[207,3],[364,3]]},"603":{"position":[[97,3]]},"605":{"position":[[155,3]]},"628":{"position":[[12,3]]},"657":{"position":[[428,3],[811,3]]},"675":{"position":[[42,3],[58,3],[76,3],[88,3],[168,3]]},"677":{"position":[[7,3],[47,3],[62,3]]},"679":{"position":[[8,3],[19,3]]},"710":{"position":[[232,3]]},"728":{"position":[[90,3],[203,3]]},"745":{"position":[[17,3],[155,3],[308,3]]},"747":{"position":[[174,3]]},"764":{"position":[[15,3]]},"768":{"position":[[31,3]]},"782":{"position":[[15,3]]}}}],["api2",{"_index":1334,"t":{"241":{"position":[[297,4],[511,4]]}}}],["app",{"_index":316,"t":{"25":{"position":[[108,3]]},"34":{"position":[[112,3]]},"41":{"position":[[127,3]]},"45":{"position":[[108,3]]},"47":{"position":[[60,3],[162,3]]},"59":{"position":[[36,3]]},"65":{"position":[[120,3]]},"85":{"position":[[637,3],[745,3],[781,3],[851,3],[974,3],[1162,3]]},"94":{"position":[[107,3]]},"98":{"position":[[114,3]]},"100":{"position":[[90,3]]},"113":{"position":[[126,3],[609,3],[626,3],[664,3]]},"115":{"position":[[188,3]]},"117":{"position":[[184,3]]},"137":{"position":[[64,3],[248,3]]},"139":{"position":[[64,3]]},"144":{"position":[[211,3],[225,3]]},"152":{"position":[[110,3]]},"157":{"position":[[90,3]]},"159":{"position":[[112,3]]},"161":{"position":[[83,3],[447,3]]},"163":{"position":[[14,3],[184,3]]},"165":{"position":[[13,3]]},"167":{"position":[[11,3]]},"171":{"position":[[10,3]]},"185":{"position":[[90,3]]},"210":{"position":[[230,3]]},"224":{"position":[[136,3]]},"226":{"position":[[267,3]]},"239":{"position":[[93,3]]},"241":{"position":[[45,3]]},"250":{"position":[[122,3],[441,3],[474,3]]},"257":{"position":[[98,3],[344,3]]},"261":{"position":[[342,3]]},"266":{"position":[[104,3],[406,3]]},"270":{"position":[[378,3]]},"274":{"position":[[109,3]]},"293":{"position":[[460,3],[489,3]]},"303":{"position":[[110,3]]},"313":{"position":[[53,3],[544,3]]},"315":{"position":[[1260,3]]},"317":{"position":[[113,3],[525,3],[873,3],[1226,3],[1680,3],[2174,3],[2948,3]]},"319":{"position":[[209,3],[421,3]]},"321":{"position":[[142,3],[433,3],[555,3],[578,3],[775,3],[888,3],[909,3]]},"324":{"position":[[22,3],[108,3]]},"328":{"position":[[139,3]]},"338":{"position":[[29,3],[60,3]]},"364":{"position":[[8,3],[104,3]]},"372":{"position":[[319,3]]},"380":{"position":[[472,3]]},"413":{"position":[[81,3]]},"418":{"position":[[279,3]]},"420":{"position":[[106,3]]},"422":{"position":[[254,3]]},"430":{"position":[[153,3]]},"432":{"position":[[119,3]]},"436":{"position":[[119,3]]},"440":{"position":[[200,3],[422,3]]},"442":{"position":[[229,3],[495,3],[656,3]]},"444":{"position":[[146,3]]},"448":{"position":[[154,3]]},"454":{"position":[[302,3],[465,3],[742,3],[933,3]]},"456":{"position":[[210,3],[420,3],[995,3]]},"470":{"position":[[97,3]]},"474":{"position":[[89,3]]},"476":{"position":[[255,3]]},"478":{"position":[[339,3]]},"490":{"position":[[336,3]]},"519":{"position":[[1244,3]]},"529":{"position":[[24,3],[70,3]]},"559":{"position":[[73,3],[196,3]]},"593":{"position":[[255,3]]},"599":{"position":[[334,3]]},"612":{"position":[[36,3],[95,3]]},"641":{"position":[[151,3]]},"643":{"position":[[91,3]]},"651":{"position":[[77,3]]},"655":{"position":[[117,3]]},"682":{"position":[[10,3],[72,3]]},"697":{"position":[[9,3],[84,3]]},"701":{"position":[[309,3]]},"705":{"position":[[63,3],[122,3]]},"710":{"position":[[152,3]]},"718":{"position":[[21,3],[67,3]]},"720":{"position":[[662,3]]},"758":{"position":[[80,3]]},"760":{"position":[[208,3],[683,3]]},"762":{"position":[[711,3],[1185,3]]},"786":{"position":[[53,3]]},"794":{"position":[[99,3],[130,3],[171,3],[198,3]]},"817":{"position":[[32,3],[91,3],[276,3]]},"819":{"position":[[30,3]]},"823":{"position":[[42,3],[88,3]]}}}],["appconf",{"_index":1601,"t":{"319":{"position":[[46,10]]}}}],["appconfig",{"_index":861,"t":{"142":{"position":[[59,9]]},"239":{"position":[[70,9]]},"319":{"position":[[72,9],[101,9],[241,9]]},"346":{"position":[[22,9],[63,9]]},"356":{"position":[[0,9],[46,9]]},"788":{"position":[[32,9]]}}}],["appcontext",{"_index":2367,"t":{"760":{"position":[[537,10],[568,10]]},"762":{"position":[[1037,10],[1068,10]]},"788":{"position":[[0,10],[120,10],[151,10]]}}}],["appdata",{"_index":1989,"t":{"529":{"position":[[373,7]]}}}],["appear",{"_index":1080,"t":{"210":{"position":[[52,6],[274,6],[375,6]]},"376":{"position":[[43,6],[68,6]]},"378":{"position":[[35,6]]},"380":{"position":[[149,6],[423,8]]},"382":{"position":[[54,6]]}}}],["appid",{"_index":2045,"t":{"559":{"position":[[149,5],[170,5]]},"701":{"position":[[295,5]]}}}],["applic",{"_index":1207,"t":{"235":{"position":[[1020,10]]}}}],["appmountnod",{"_index":2430,"t":{"794":{"position":[[116,12],[157,12],[206,12]]}}}],["approut",{"_index":847,"t":{"137":{"position":[[699,9],[717,9]]}}}],["appwork",{"_index":100,"t":{"4":{"position":[[358,8]]}}}],["arg",{"_index":1685,"t":{"380":{"position":[[245,4],[301,4]]}}}],["argument",{"_index":1487,"t":{"307":{"position":[[246,9]]}}}],["array",{"_index":1009,"t":{"191":{"position":[[8,5]]},"442":{"position":[[3,5]]},"599":{"position":[[13,5],[99,5]]},"772":{"position":[[207,5]]}}}],["arraybuff",{"_index":1234,"t":{"235":{"position":[[1557,11]]}}}],["asset",{"_index":494,"t":{"65":{"position":[[33,6],[170,6]]},"68":{"position":[[29,6]]},"313":{"position":[[325,6],[357,6]]},"315":{"position":[[528,6]]},"396":{"position":[[127,6],[160,6],[207,6],[228,6]]},"398":{"position":[[26,6]]},"400":{"position":[[38,6]]},"422":{"position":[[307,6],[396,6]]},"546":{"position":[[10,6]]}}}],["assets_vers",{"_index":1761,"t":{"422":{"position":[[307,14],[396,14]]}}}],["assetsmanifest",{"_index":2384,"t":{"768":{"position":[[965,14]]},"788":{"position":[[61,14]]}}}],["assetsmanifestplugin",{"_index":1585,"t":{"317":{"position":[[2018,20],[2076,20]]}}}],["async",{"_index":433,"t":{"47":{"position":[[271,5]]},"59":{"position":[[146,5]]},"85":{"position":[[859,5]]},"113":{"position":[[672,5]]},"226":{"position":[[380,5],[444,5],[518,5]]},"230":{"position":[[372,5]]},"235":{"position":[[195,5]]},"241":{"position":[[419,5],[521,5]]},"278":{"position":[[372,5]]},"293":{"position":[[602,5]]},"295":{"position":[[1052,5]]},"297":{"position":[[212,5],[412,5],[490,5]]},"317":{"position":[[3080,5]]},"519":{"position":[[406,5],[911,5]]},"521":{"position":[[590,5]]},"527":{"position":[[394,5]]},"529":{"position":[[167,5]]},"531":{"position":[[382,5],[482,5],[1094,5],[1192,5]]},"657":{"position":[[358,5],[757,5],[898,5]]},"760":{"position":[[528,5]]},"762":{"position":[[1028,5]]}}}],["asyncdecr",{"_index":1449,"t":{"295":{"position":[[1058,14]]},"301":{"position":[[284,14],[337,14],[399,14]]}}}],["atom",{"_index":1938,"t":{"486":{"position":[[95,4]]}}}],["audio",{"_index":2349,"t":{"747":{"position":[[13,5]]}}}],["auth",{"_index":390,"t":{"43":{"position":[[66,4],[229,4]]},"45":{"position":[[26,4],[121,4],[144,4],[199,4]]},"47":{"position":[[71,4],[215,4],[332,4]]},"49":{"position":[[261,4],[461,4]]},"53":{"position":[[82,4],[145,4]]},"55":{"position":[[83,4],[124,4],[244,4]]},"57":{"position":[[149,4],[196,4],[242,4],[373,4],[412,4],[477,4]]},"59":{"position":[[24,4],[90,4]]},"179":{"position":[[190,4],[395,4],[489,4]]},"315":{"position":[[979,4]]},"321":{"position":[[667,4],[693,4],[788,4],[811,4],[866,4]]},"372":{"position":[[124,4],[143,4],[171,4]]}}}],["authconfig",{"_index":432,"t":{"47":{"position":[[241,10]]},"59":{"position":[[116,10]]},"321":{"position":[[929,10]]},"372":{"position":[[194,10]]}}}],["authkey",{"_index":469,"t":{"57":{"position":[[166,7],[247,7],[417,7]]}}}],["auto",{"_index":2071,"t":{"589":{"position":[[291,4]]},"684":{"position":[[301,4]]}}}],["automat",{"_index":1374,"t":{"257":{"position":[[500,9]]}}}],["autoprefix",{"_index":1814,"t":{"444":{"position":[[384,12]]}}}],["autoredirect",{"_index":763,"t":{"113":{"position":[[278,12]]}}}],["avatar",{"_index":360,"t":{"39":{"position":[[70,6],[92,6],[133,6],[193,6]]}}}],["await",{"_index":436,"t":{"47":{"position":[[314,5]]},"85":{"position":[[882,5]]},"113":{"position":[[751,5]]},"226":{"position":[[405,5],[471,5],[557,5]]},"230":{"position":[[409,5]]},"235":{"position":[[238,5],[340,5]]},"241":{"position":[[444,5],[548,5]]},"278":{"position":[[394,5]]},"293":{"position":[[645,5]]},"295":{"position":[[1091,5]]},"297":{"position":[[244,5],[443,5],[508,5],[571,5],[631,5]]},"338":{"position":[[165,5]]},"519":{"position":[[433,5],[938,5]]},"521":{"position":[[153,5],[230,5],[356,5],[496,5],[617,5],[743,5],[754,5]]},"527":{"position":[[475,5]]},"529":{"position":[[194,5]]},"531":{"position":[[413,5],[516,5],[706,5],[871,5],[943,5],[951,5],[1027,5],[1036,5],[1124,5],[1226,5]]},"657":{"position":[[395,5],[469,5],[778,5],[919,5]]},"745":{"position":[[408,5]]}}}],["axio",{"_index":1188,"t":{"235":{"position":[[11,5],[30,5],[133,5],[2277,5]]},"237":{"position":[[107,5],[1400,5]]}}}],["b",{"_index":749,"t":{"111":{"position":[[288,1],[308,1],[330,1],[351,1]]},"259":{"position":[[66,1],[82,1]]},"299":{"position":[[155,1]]},"542":{"position":[[177,1]]},"735":{"position":[[161,1]]}}}],["babel",{"_index":270,"t":{"23":{"position":[[61,5]]},"150":{"position":[[65,5]]},"317":{"position":[[2846,5],[2876,5],[2986,5],[3183,5]]},"448":{"position":[[192,5],[319,5],[503,5]]}}}],["babelplugin",{"_index":1551,"t":{"315":{"position":[[1040,12]]},"317":{"position":[[2808,12]]}}}],["babelpreset",{"_index":1552,"t":{"315":{"position":[[1055,12]]},"317":{"position":[[2823,12]]}}}],["background",{"_index":1715,"t":{"396":{"position":[[134,10],[167,10],[257,10]]},"398":{"position":[[7,10],[33,10],[98,10]]},"400":{"position":[[13,10],[45,10]]},"663":{"position":[[414,10]]}}}],["baidu",{"_index":2293,"t":{"724":{"position":[[218,5]]}}}],["bar",{"_index":2036,"t":{"553":{"position":[[89,3]]},"595":{"position":[[105,3]]},"597":{"position":[[157,3],[237,3]]},"599":{"position":[[162,3],[230,3]]}}}],["barbuttonthem",{"_index":2082,"t":{"589":{"position":[[442,14]]},"684":{"position":[[452,14]]}}}],["base64",{"_index":1724,"t":{"400":{"position":[[85,6]]}}}],["basenam",{"_index":669,"t":{"94":{"position":[[88,8],[203,8]]},"370":{"position":[[378,8],[391,8]]}}}],["baseurl",{"_index":1318,"t":{"239":{"position":[[31,7],[289,7]]},"241":{"position":[[171,7],[286,7]]},"250":{"position":[[105,7],[246,7],[308,7],[359,7],[403,7],[461,7],[598,7],[619,7]]}}}],["bash",{"_index":1913,"t":{"482":{"position":[[193,4]]}}}],["becom",{"_index":2056,"t":{"583":{"position":[[206,7]]}}}],["befor",{"_index":1215,"t":{"235":{"position":[[1157,6]]},"317":{"position":[[2472,6]]},"770":{"position":[[146,6],[190,6],[301,6],[351,6]]}}}],["bind",{"_index":1871,"t":{"464":{"position":[[146,4]]},"690":{"position":[[402,4]]}}}],["bindgetphonenumb",{"_index":2244,"t":{"690":{"position":[[208,18],[451,18]]}}}],["bindtap",{"_index":2243,"t":{"690":{"position":[[190,7]]}}}],["blink",{"_index":2308,"t":{"733":{"position":[[336,5]]}}}],["blob",{"_index":1484,"t":{"307":{"position":[[225,4]]}}}],["block",{"_index":2158,"t":{"659":{"position":[[168,5]]}}}],["blog",{"_index":627,"t":{"85":{"position":[[1137,4]]}}}],["blue",{"_index":2187,"t":{"663":{"position":[[864,4],[875,4]]}}}],["bob",{"_index":1459,"t":{"299":{"position":[[182,3]]}}}],["bodi",{"_index":301,"t":{"23":{"position":[[323,4]]},"85":{"position":[[498,4],[614,4]]},"87":{"position":[[376,4],[487,4]]},"113":{"position":[[742,4],[969,4],[1010,4]]},"150":{"position":[[340,4]]},"161":{"position":[[389,4]]},"235":{"position":[[1007,4]]},"346":{"position":[[349,4],[366,4]]},"408":{"position":[[283,4],[295,4]]},"432":{"position":[[344,4],[573,4]]},"535":{"position":[[304,4],[333,4]]},"538":{"position":[[55,4],[125,4]]},"542":{"position":[[101,4],[190,4]]},"544":{"position":[[209,4],[338,4],[530,4],[547,4],[742,4],[759,4],[948,4],[965,4]]},"546":{"position":[[273,4],[290,4]]},"605":{"position":[[67,4],[285,4]]},"645":{"position":[[478,4],[558,4]]},"661":{"position":[[49,4]]},"668":{"position":[[43,4]]}}}],["bodypars",{"_index":2102,"t":{"605":{"position":[[50,10],[202,10]]}}}],["boolean",{"_index":322,"t":{"28":{"position":[[4,7]]},"30":{"position":[[4,7]]},"32":{"position":[[4,7]]},"47":{"position":[[145,7]]},"72":{"position":[[16,7]]},"115":{"position":[[478,7]]},"124":{"position":[[3,7]]},"155":{"position":[[4,7]]},"346":{"position":[[128,7],[157,7]]},"368":{"position":[[111,7],[163,7]]},"386":{"position":[[283,7],[310,7],[342,7],[372,7],[405,7]]},"388":{"position":[[203,7]]},"422":{"position":[[27,7]]},"424":{"position":[[4,7]]},"430":{"position":[[18,7]]},"438":{"position":[[3,7]]},"440":{"position":[[3,7]]},"442":{"position":[[11,7]]},"450":{"position":[[18,7]]},"452":{"position":[[18,7]]},"454":{"position":[[51,7],[117,7]]},"458":{"position":[[3,7]]},"462":{"position":[[3,7]]},"464":{"position":[[24,7],[47,7]]},"466":{"position":[[3,7]]},"468":{"position":[[3,7]]},"472":{"position":[[3,7]]},"772":{"position":[[169,7],[222,7]]}}}],["border",{"_index":1731,"t":{"404":{"position":[[88,6]]}}}],["boundingclientrect",{"_index":2345,"t":{"745":{"position":[[235,18]]}}}],["bracket",{"_index":1248,"t":{"235":{"position":[[2151,7]]}}}],["browser",{"_index":1254,"t":{"235":{"position":[[2477,7]]},"370":{"position":[[72,7],[96,7]]},"446":{"position":[[178,7]]}}}],["browserlist",{"_index":1538,"t":{"315":{"position":[[703,11]]}}}],["browserrout",{"_index":622,"t":{"85":{"position":[[1078,13]]},"87":{"position":[[711,13]]}}}],["browserslist",{"_index":1536,"t":{"315":{"position":[[684,12]]},"415":{"position":[[53,12]]}}}],["browserslistrc",{"_index":1747,"t":{"415":{"position":[[15,14]]}}}],["btn",{"_index":2210,"t":{"668":{"position":[[113,3]]},"670":{"position":[[141,3]]}}}],["build",{"_index":505,"t":{"74":{"position":[[20,5]]},"78":{"position":[[49,5]]},"80":{"position":[[6,5],[87,5],[126,5],[139,5],[163,5]]},"82":{"position":[[94,5],[118,5]]},"89":{"position":[[11,5]]},"113":{"position":[[578,5],[650,5]]},"117":{"position":[[32,5],[363,5]]},"313":{"position":[[114,5],[158,5],[216,5],[270,5],[308,5],[370,5],[419,5]]},"388":{"position":[[23,5]]},"426":{"position":[[70,5]]},"434":{"position":[[14,5],[33,5]]},"438":{"position":[[32,5]]},"442":{"position":[[76,5],[149,5],[386,5],[424,5],[609,5]]},"490":{"position":[[42,5]]},"516":{"position":[[0,5],[16,5]]},"720":{"position":[[218,5],[231,5],[240,5],[260,5],[297,5]]},"722":{"position":[[93,5],[267,5]]},"756":{"position":[[12,5]]},"766":{"position":[[42,5]]},"770":{"position":[[153,5],[197,5],[221,5],[272,5],[358,5],[373,5],[448,5],[467,5]]},"821":{"position":[[28,5],[42,5],[55,5],[156,5]]},"823":{"position":[[290,5],[303,5],[312,5],[332,5],[369,5]]},"825":{"position":[[202,5],[346,5]]},"827":{"position":[[42,5],[65,5],[96,5]]}}}],["bundl",{"_index":1112,"t":{"214":{"position":[[112,6]]},"386":{"position":[[383,6]]},"388":{"position":[[214,6]]},"454":{"position":[[43,6],[149,6],[370,6]]},"460":{"position":[[74,6],[95,6]]},"519":{"position":[[69,6],[134,6],[1038,6]]},"538":{"position":[[165,6]]},"585":{"position":[[47,6]]},"587":{"position":[[22,6]]},"626":{"position":[[46,6]]}}}],["button",{"_index":460,"t":{"55":{"position":[[259,6],[272,6],[309,6]]},"57":{"position":[[440,6],[453,6],[467,6]]},"179":{"position":[[251,6],[302,6],[311,6],[360,6]]},"668":{"position":[[152,6]]},"670":{"position":[[122,6],[268,6],[308,6]]},"690":{"position":[[86,6],[137,6],[161,6],[256,6],[289,6],[378,6]]}}}],["byted",{"_index":2290,"t":{"724":{"position":[[196,9]]}}}],["cachedir",{"_index":2380,"t":{"768":{"position":[[873,8]]}}}],["cachekey",{"_index":1287,"t":{"237":{"position":[[697,8]]}}}],["call",{"_index":1683,"t":{"380":{"position":[[196,6],[261,6]]}}}],["callback",{"_index":1845,"t":{"456":{"position":[[649,8]]}}}],["cancel",{"_index":1272,"t":{"237":{"position":[[366,6]]}}}],["canva",{"_index":2347,"t":{"747":{"position":[[0,6]]}}}],["case",{"_index":1247,"t":{"235":{"position":[[2115,5]]}}}],["cd",{"_index":551,"t":{"82":{"position":[[106,2]]},"85":{"position":[[56,2]]},"129":{"position":[[85,2]]},"131":{"position":[[75,2]]},"718":{"position":[[60,2]]},"817":{"position":[[269,2]]},"819":{"position":[[23,2]]},"823":{"position":[[81,2]]}}}],["cdn",{"_index":485,"t":{"63":{"position":[[16,3]]},"74":{"position":[[76,3]]},"78":{"position":[[79,3]]},"432":{"position":[[250,3]]}}}],["chain",{"_index":1572,"t":{"315":{"position":[[1786,5]]}}}],["chang",{"_index":1035,"t":{"193":{"position":[[126,6]]}}}],["changeorigin",{"_index":1790,"t":{"436":{"position":[[229,12]]}}}],["changesearch",{"_index":1629,"t":{"332":{"position":[[418,12]]}}}],["charset",{"_index":576,"t":{"85":{"position":[[189,7]]},"87":{"position":[[77,7]]},"535":{"position":[[126,7]]},"583":{"position":[[140,7]]}}}],["cheap",{"_index":1854,"t":{"458":{"position":[[44,5]]}}}],["checkbox",{"_index":2330,"t":{"743":{"position":[[55,8],[99,8]]}}}],["child",{"_index":830,"t":{"131":{"position":[[44,5],[67,5],[87,5]]},"137":{"position":[[641,5]]},"139":{"position":[[177,5],[201,5]]}}}],["children",{"_index":468,"t":{"57":{"position":[[156,8],[293,8]]},"144":{"position":[[30,8],[96,8],[160,8]]},"348":{"position":[[152,8]]},"456":{"position":[[1131,8]]},"790":{"position":[[79,8],[108,8],[153,8],[188,8]]},"792":{"position":[[110,8],[192,8]]}}}],["choos",{"_index":751,"t":{"111":{"position":[[332,6]]}}}],["chrome",{"_index":585,"t":{"85":{"position":[[260,6]]},"87":{"position":[[148,6]]},"415":{"position":[[35,6]]},"519":{"position":[[1128,6]]},"733":{"position":[[329,6]]}}}],["chunk",{"_index":350,"t":{"37":{"position":[[85,5]]},"420":{"position":[[217,5]]},"460":{"position":[[58,6]]},"462":{"position":[[35,6],[84,6],[135,6],[301,6],[346,6],[385,6]]}}}],["cj",{"_index":1401,"t":{"266":{"position":[[496,3]]},"454":{"position":[[37,3],[250,3],[364,3]]}}}],["clark",{"_index":1621,"t":{"330":{"position":[[122,5],[223,5]]}}}],["class",{"_index":740,"t":{"109":{"position":[[22,5]]},"199":{"position":[[11,5]]},"305":{"position":[[19,5],[114,5]]},"478":{"position":[[56,5],[229,5],[286,5]]},"663":{"position":[[575,5]]}}}],["classnam",{"_index":1056,"t":{"199":{"position":[[61,9],[72,10],[115,10]]},"380":{"position":[[454,9]]},"478":{"position":[[190,9]]},"659":{"position":[[233,9]]},"663":{"position":[[507,9],[797,9],[842,9]]}}}],["clean",{"_index":2441,"t":{"817":{"position":[[183,5]]}}}],["clickm",{"_index":2242,"t":{"690":{"position":[[122,7],[199,7],[323,7]]}}}],["client",{"_index":805,"t":{"115":{"position":[[378,6]]},"315":{"position":[[923,6],[1454,6],[1518,6]]},"344":{"position":[[147,6],[166,6],[353,6]]},"348":{"position":[[56,6]]},"422":{"position":[[121,6]]},"649":{"position":[[676,6]]},"657":{"position":[[61,6],[127,6],[195,6],[700,6],[954,6]]}}}],["clientonli",{"_index":1650,"t":{"348":{"position":[[16,10],[77,10],[256,10],[317,10],[420,10],[455,10],[557,10],[628,10]]}}}],["clientrequest",{"_index":1252,"t":{"235":{"position":[[2387,13]]}}}],["cn",{"_index":696,"t":{"98":{"position":[[219,2],[259,2],[290,2],[329,2]]},"100":{"position":[[195,2],[238,2],[314,2]]},"103":{"position":[[108,2]]},"105":{"position":[[114,2]]},"107":{"position":[[370,2],[411,2],[424,2]]},"109":{"position":[[335,2],[376,2],[389,2]]},"111":{"position":[[781,2]]},"113":{"position":[[231,2],[271,2]]},"115":{"position":[[738,2],[765,2],[781,2]]},"117":{"position":[[289,2],[323,2]]},"137":{"position":[[607,2]]}}}],["cnpm",{"_index":1922,"t":{"484":{"position":[[49,4]]}}}],["code",{"_index":99,"t":{"4":{"position":[[350,4],[417,4]]},"53":{"position":[[124,4],[153,4]]},"55":{"position":[[223,4],[252,4]]},"235":{"position":[[1895,4]]},"317":{"position":[[3200,4],[3293,4]]},"448":{"position":[[4,4],[42,4],[336,4],[435,4]]},"486":{"position":[[60,4]]},"722":{"position":[[228,4]]}}}],["codesplit",{"_index":376,"t":{"41":{"position":[[59,13],[170,13]]},"460":{"position":[[14,13]]}}}],["color",{"_index":335,"t":{"34":{"position":[[230,5],[266,5]]},"212":{"position":[[164,5],[300,5]]},"326":{"position":[[185,5]]},"342":{"position":[[302,5]]},"540":{"position":[[158,5]]},"659":{"position":[[142,5]]}}}],["com",{"_index":259,"t":{"21":{"position":[[21,3]]},"85":{"position":[[1116,3]]},"137":{"position":[[628,3]]},"250":{"position":[[274,3],[427,3]]},"307":{"position":[[185,3]]},"408":{"position":[[471,3]]},"432":{"position":[[403,3],[499,3]]},"436":{"position":[[222,3]]},"478":{"position":[[464,3]]},"482":{"position":[[157,3]]},"484":{"position":[[131,3]]},"519":{"position":[[462,3],[967,3]]},"521":{"position":[[646,3]]},"527":{"position":[[504,3]]},"529":{"position":[[223,3]]},"531":{"position":[[442,3],[545,3],[1153,3],[1255,3]]},"585":{"position":[[297,3],[489,3]]},"587":{"position":[[194,3]]},"589":{"position":[[370,3]]},"649":{"position":[[473,3]]},"657":{"position":[[424,3],[807,3]]},"684":{"position":[[380,3]]},"762":{"position":[[26,3]]}}}],["command",{"_index":2370,"t":{"766":{"position":[[21,7]]},"774":{"position":[[139,8]]}}}],["commandarg",{"_index":2371,"t":{"766":{"position":[[53,11]]}}}],["commit",{"_index":1354,"t":{"250":{"position":[[348,9]]},"553":{"position":[[233,9]]}}}],["compat",{"_index":581,"t":{"85":{"position":[[231,10]]},"87":{"position":[[119,10]]},"203":{"position":[[10,6],[45,6],[149,6]]},"205":{"position":[[29,6],[84,6],[158,6]]},"208":{"position":[[4,6]]},"210":{"position":[[110,6],[395,6]]},"212":{"position":[[33,6]]},"214":{"position":[[241,6]]},"216":{"position":[[58,6],[179,6]]}}}],["compatrax",{"_index":1066,"t":{"205":{"position":[[126,9],[217,9],[303,9]]},"214":{"position":[[209,9],[300,9]]},"216":{"position":[[147,9],[238,9]]}}}],["compil",{"_index":1803,"t":{"442":{"position":[[357,7],[743,7]]},"770":{"position":[[227,7],[403,7],[454,7]]}}}],["compiledepend",{"_index":1516,"t":{"315":{"position":[[379,19]]},"442":{"position":[[272,19],[538,19],[699,19]]}}}],["compileinclud",{"_index":1518,"t":{"315":{"position":[[407,15]]},"768":{"position":[[742,15]]}}}],["compileropt",{"_index":1478,"t":{"305":{"position":[[304,15]]}}}],["compon",{"_index":363,"t":{"39":{"position":[[122,10]]},"57":{"position":[[120,10]]},"137":{"position":[[354,10]]},"144":{"position":[[3,9],[331,10]]},"226":{"position":[[186,10],[234,10]]},"261":{"position":[[507,10],[729,10],[767,9]]},"270":{"position":[[605,10],[868,10],[906,9]]},"305":{"position":[[25,9],[143,9]]},"418":{"position":[[144,10],[195,10]]},"456":{"position":[[283,10],[315,10],[1100,9],[1165,9],[1222,9],[1280,9],[1337,9]]},"490":{"position":[[167,10]]},"514":{"position":[[29,10]]},"641":{"position":[[230,10],[258,10]]}}}],["condit",{"_index":998,"t":{"189":{"position":[[16,9]]}}}],["config",{"_index":312,"t":{"25":{"position":[[40,6],[62,6]]},"34":{"position":[[66,6]]},"41":{"position":[[81,6]]},"45":{"position":[[40,6],[62,6]]},"65":{"position":[[52,6],[74,6]]},"98":{"position":[[58,6]]},"137":{"position":[[18,6]]},"139":{"position":[[18,6],[248,6]]},"152":{"position":[[42,6],[64,6]]},"157":{"position":[[44,6]]},"159":{"position":[[66,6]]},"161":{"position":[[37,6],[401,6]]},"185":{"position":[[44,6]]},"205":{"position":[[106,6]]},"214":{"position":[[191,6]]},"216":{"position":[[129,6]]},"224":{"position":[[90,6]]},"235":{"position":[[2233,6],[2248,6],[2300,6]]},"239":{"position":[[389,6],[437,6],[471,6]]},"243":{"position":[[208,6]]},"257":{"position":[[20,6],[48,6],[237,6],[263,6],[294,6]]},"261":{"position":[[267,6],[292,6]]},"266":{"position":[[22,6],[52,6],[354,6]]},"270":{"position":[[299,6],[326,6]]},"274":{"position":[[41,6],[63,6]]},"303":{"position":[[64,6]]},"313":{"position":[[498,6]]},"315":{"position":[[49,6],[125,6],[1214,6],[1367,7]]},"317":{"position":[[67,6],[220,7],[479,6],[632,7],[827,6],[980,7],[1180,6],[1333,7],[1634,6],[1787,7],[2128,6],[2306,7],[2902,6],[3048,7]]},"319":{"position":[[375,6]]},"321":{"position":[[74,6],[96,6],[365,6],[387,6],[707,6],[729,6]]},"342":{"position":[[149,6]]},"386":{"position":[[125,6],[133,6]]},"388":{"position":[[121,6],[129,6]]},"410":{"position":[[30,6]]},"413":{"position":[[27,6]]},"444":{"position":[[564,6],[612,6]]},"456":{"position":[[861,6],[942,6],[1041,6]]},"474":{"position":[[14,6]]},"476":{"position":[[82,6]]},"490":{"position":[[380,6]]},"523":{"position":[[217,6]]},"557":{"position":[[35,6]]},"593":{"position":[[209,6]]},"641":{"position":[[105,6]]},"643":{"position":[[45,6]]},"651":{"position":[[6,6],[31,6]]},"655":{"position":[[46,6],[71,6]]},"686":{"position":[[50,6]]},"701":{"position":[[59,6],[175,6]]},"720":{"position":[[504,6],[526,6]]},"726":{"position":[[50,6]]},"760":{"position":[[637,6]]},"762":{"position":[[1139,6]]},"766":{"position":[[123,6]]},"768":{"position":[[135,6],[148,6],[1214,6],[1227,6]]},"772":{"position":[[12,6]]},"778":{"position":[[91,6],[148,6],[173,6]]}}}],["configurewebpack",{"_index":2387,"t":{"768":{"position":[[1064,16],[1103,16],[1234,16]]}}}],["consol",{"_index":480,"t":{"59":{"position":[[239,7]]},"85":{"position":[[1002,7]]},"103":{"position":[[70,7]]},"105":{"position":[[74,7]]},"107":{"position":[[301,7]]},"109":{"position":[[266,7]]},"212":{"position":[[267,7]]},"235":{"position":[[276,7],[401,7]]},"239":{"position":[[735,7],[769,7],[805,7]]},"301":{"position":[[312,7],[374,7]]},"305":{"position":[[232,7]]},"332":{"position":[[366,7]]},"346":{"position":[[292,7]]},"378":{"position":[[122,7]]},"380":{"position":[[390,7]]},"382":{"position":[[144,7]]},"422":{"position":[[384,7],[428,7],[450,7],[483,7]]},"440":{"position":[[51,7],[70,7],[97,7],[116,7],[132,7],[144,7],[280,7],[298,7]]},"527":{"position":[[411,7],[438,7]]},"540":{"position":[[270,7]]},"544":{"position":[[289,7]]},"546":{"position":[[215,7]]},"605":{"position":[[269,7]]},"637":{"position":[[166,7]]},"639":{"position":[[162,7]]},"697":{"position":[[249,7],[305,7]]},"699":{"position":[[450,7]]},"745":{"position":[[121,7],[271,7],[442,7]]},"758":{"position":[[270,7]]},"760":{"position":[[295,7],[556,7]]},"762":{"position":[[1056,7]]},"766":{"position":[[294,7]]},"780":{"position":[[125,7]]},"788":{"position":[[139,7]]},"796":{"position":[[182,7]]},"798":{"position":[[188,7]]}}}],["const",{"_index":362,"t":{"39":{"position":[[86,5]]},"47":{"position":[[235,5],[300,5]]},"49":{"position":[[190,5],[390,5]]},"53":{"position":[[75,5]]},"55":{"position":[[76,5]]},"57":{"position":[[189,5],[226,5]]},"59":{"position":[[110,5]]},"85":{"position":[[645,5],[681,5],[711,5],[739,5],[955,5]]},"107":{"position":[[260,5]]},"111":{"position":[[189,5],[221,5],[639,5],[674,5],[706,5],[738,5]]},"113":{"position":[[603,5],[694,5]]},"115":{"position":[[261,5],[649,5]]},"137":{"position":[[390,5]]},"139":{"position":[[330,5]]},"144":{"position":[[367,5]]},"179":{"position":[[106,5],[183,5]]},"185":{"position":[[265,5]]},"226":{"position":[[544,5]]},"230":{"position":[[396,5],[559,5],[601,5]]},"232":{"position":[[250,5]]},"235":{"position":[[222,5],[303,5]]},"237":{"position":[[202,5],[1311,5],[1411,5],[1536,5]]},"239":{"position":[[173,5]]},"241":{"position":[[125,5]]},"243":{"position":[[54,5]]},"250":{"position":[[202,5],[554,5]]},"282":{"position":[[101,5]]},"288":{"position":[[246,5]]},"290":{"position":[[130,5]]},"293":{"position":[[564,5],[631,5]]},"295":{"position":[[542,5],[601,5],[1077,5]]},"297":{"position":[[230,5],[430,5]]},"301":{"position":[[136,5],[194,5]]},"305":{"position":[[166,5],[196,5]]},"317":{"position":[[3192,5]]},"319":{"position":[[40,5]]},"321":{"position":[[592,5],[923,5]]},"326":{"position":[[101,5]]},"330":{"position":[[171,5]]},"332":{"position":[[269,5],[412,5]]},"334":{"position":[[163,5]]},"336":{"position":[[100,5]]},"338":{"position":[[114,5],[258,5]]},"342":{"position":[[143,5],[218,5]]},"344":{"position":[[278,5],[299,5]]},"346":{"position":[[252,5]]},"352":{"position":[[121,5]]},"372":{"position":[[188,5]]},"380":{"position":[[189,5],[349,5]]},"448":{"position":[[328,5]]},"519":{"position":[[360,5],[420,5],[756,5],[875,5],[925,5]]},"521":{"position":[[298,5],[554,5],[604,5]]},"523":{"position":[[101,5]]},"527":{"position":[[250,5],[358,5],[462,5]]},"529":{"position":[[131,5],[181,5],[367,5]]},"531":{"position":[[203,5],[344,5],[396,5],[499,5],[818,5],[1056,5],[1108,5],[1209,5]]},"546":{"position":[[108,5],[144,5]]},"557":{"position":[[77,5]]},"575":{"position":[[108,5]]},"581":{"position":[[79,5]]},"583":{"position":[[84,5]]},"585":{"position":[[140,5]]},"587":{"position":[[114,5]]},"589":{"position":[[175,5]]},"599":{"position":[[424,5]]},"603":{"position":[[124,5]]},"612":{"position":[[146,5]]},"630":{"position":[[91,5]]},"635":{"position":[[95,5]]},"637":{"position":[[107,5]]},"639":{"position":[[134,5]]},"645":{"position":[[230,5]]},"649":{"position":[[279,5],[399,5],[515,5]]},"657":{"position":[[322,5],[721,5],[850,5]]},"682":{"position":[[86,5]]},"684":{"position":[[185,5]]},"697":{"position":[[166,5]]},"705":{"position":[[173,5]]},"712":{"position":[[137,5]]},"720":{"position":[[735,5]]},"745":{"position":[[35,5],[81,5],[169,5],[350,5],[396,5]]},"747":{"position":[[56,5],[233,5]]},"758":{"position":[[132,5]]},"760":{"position":[[220,5],[497,5]]},"762":{"position":[[723,5],[997,5]]},"766":{"position":[[244,5]]},"768":{"position":[[47,5]]},"778":{"position":[[85,5]]},"780":{"position":[[97,5]]},"786":{"position":[[65,5],[279,5]]},"788":{"position":[[101,5]]},"790":{"position":[[128,5]]},"792":{"position":[[87,5],[390,5]]},"794":{"position":[[138,5]]},"796":{"position":[[113,5],[154,5]]},"798":{"position":[[115,5],[156,5]]}}}],["contain",{"_index":604,"t":{"85":{"position":[[517,9]]},"87":{"position":[[395,9]]},"324":{"position":[[128,9]]},"368":{"position":[[33,9]]},"400":{"position":[[1,9]]},"645":{"position":[[497,9]]},"663":{"position":[[402,9],[525,9],[582,9]]}}}],["content",{"_index":582,"t":{"85":{"position":[[243,7],[295,7]]},"87":{"position":[[131,7],[183,7]]},"193":{"position":[[109,7]]},"235":{"position":[[2200,7]]},"326":{"position":[[193,7]]},"342":{"position":[[310,7]]},"535":{"position":[[170,7],[217,7]]}}}],["contenthash",{"_index":1777,"t":{"430":{"position":[[90,11],[203,11]]}}}],["context",{"_index":1644,"t":{"346":{"position":[[6,7]]},"747":{"position":[[151,7]]},"766":{"position":[[0,7],[210,7],[278,7],[307,7],[319,7]]}}}],["contextregexp",{"_index":1836,"t":{"454":{"position":[[562,13],[628,13]]}}}],["control",{"_index":633,"t":{"87":{"position":[[501,10]]},"235":{"position":[[1373,7]]}}}],["cooki",{"_index":730,"t":{"107":{"position":[[112,6]]},"109":{"position":[[111,6]]},"113":{"position":[[329,6],[400,6]]},"115":{"position":[[24,6],[66,6],[125,6],[152,6],[176,6],[527,6]]}}}],["cool",{"_index":2055,"t":{"583":{"position":[[180,4]]}}}],["cor",{"_index":1345,"t":{"248":{"position":[[55,4],[89,4],[102,4],[116,4]]}}}],["core",{"_index":1593,"t":{"317":{"position":[[2992,4]]},"448":{"position":[[198,4]]},"561":{"position":[[29,4]]}}}],["count",{"_index":1427,"t":{"293":{"position":[[434,5],[788,5]]},"295":{"position":[[175,5],[479,5],[624,5],[654,5],[729,5],[742,5]]}}}],["counter",{"_index":1426,"t":{"293":{"position":[[44,7],[105,7],[192,7],[215,7],[260,7],[777,7]]},"301":{"position":[[181,7],[243,7]]}}}],["creat",{"_index":2270,"t":{"718":{"position":[[6,6]]},"817":{"position":[[17,6],[76,6]]},"823":{"position":[[27,6]]}}}],["createel",{"_index":1024,"t":{"193":{"position":[[11,13]]},"210":{"position":[[193,13]]},"212":{"position":[[206,13]]}}}],["createmodel",{"_index":1410,"t":{"278":{"position":[[65,11],[151,11]]},"286":{"position":[[187,11],[228,11]]},"293":{"position":[[281,11],[322,11],[370,11],[411,11]]},"295":{"position":[[111,11],[152,11],[426,11],[933,11],[974,11]]},"297":{"position":[[107,11],[148,11]]},"299":{"position":[[72,11],[113,11],[590,11],[631,11]]}}}],["createselectorqueri",{"_index":2344,"t":{"745":{"position":[[188,19]]}}}],["createstor",{"_index":1418,"t":{"280":{"position":[[51,11],[126,11]]},"288":{"position":[[186,11],[260,11]]},"293":{"position":[[125,11],[240,11],[725,11]]},"307":{"position":[[80,11],[109,11]]}}}],["createvideocontext",{"_index":2353,"t":{"747":{"position":[[193,18],[254,18]]}}}],["credenti",{"_index":1230,"t":{"235":{"position":[[1414,11]]},"420":{"position":[[45,11]]}}}],["cross",{"_index":1226,"t":{"235":{"position":[[1355,5]]},"420":{"position":[[200,5]]},"551":{"position":[[42,5],[79,5]]}}}],["crossorigin",{"_index":1784,"t":{"432":{"position":[[369,11],[465,11]]},"542":{"position":[[119,11],[227,11]]}}}],["crossoriginload",{"_index":1754,"t":{"420":{"position":[[149,18]]}}}],["crud",{"_index":2091,"t":{"591":{"position":[[163,4]]}}}],["csr",{"_index":767,"t":{"113":{"position":[[325,3]]},"346":{"position":[[98,3],[143,3]]},"645":{"position":[[119,3],[356,3]]},"653":{"position":[[108,3]]}}}],["css",{"_index":37,"t":{"4":{"position":[[28,3]]},"23":{"position":[[263,3],[289,3],[317,3],[374,3],[403,3]]},"37":{"position":[[50,3],[58,3]]},"63":{"position":[[57,3]]},"65":{"position":[[29,3],[166,3]]},"70":{"position":[[10,3]]},"74":{"position":[[50,3]]},"85":{"position":[[454,3],[464,3]]},"87":{"position":[[332,3],[342,3]]},"92":{"position":[[8,3]]},"150":{"position":[[269,3],[295,3],[334,3]]},"155":{"position":[[74,3]]},"159":{"position":[[226,3]]},"161":{"position":[[271,3],[304,3],[310,3],[336,3],[383,3],[605,3]]},"212":{"position":[[72,3],[85,3],[106,3],[153,3],[261,3]]},"214":{"position":[[56,3],[79,3],[123,3]]},"313":{"position":[[321,3],[353,3]]},"315":{"position":[[1585,3],[1660,3]]},"317":{"position":[[280,3],[378,3],[1393,3],[2397,3],[2466,3],[2481,3],[2605,3],[2620,3],[2710,3],[2725,3]]},"404":{"position":[[111,3]]},"478":{"position":[[106,3],[176,3]]},"490":{"position":[[288,3]]},"514":{"position":[[71,3]]},"535":{"position":[[439,3]]},"546":{"position":[[23,3]]},"585":{"position":[[313,3],[505,3]]},"659":{"position":[[14,3],[61,3],[97,3],[128,3],[195,3],[255,3]]},"661":{"position":[[29,3]]},"663":{"position":[[20,3],[62,3],[270,3],[352,3],[387,3],[469,3],[541,3],[607,3],[633,3],[897,3],[916,3],[933,3]]},"668":{"position":[[16,3],[39,3]]},"670":{"position":[[61,3]]},"720":{"position":[[877,3]]},"728":{"position":[[245,3]]},"733":{"position":[[278,3],[412,3]]},"735":{"position":[[309,3]]},"737":{"position":[[8,3]]},"768":{"position":[[482,3]]},"784":{"position":[[148,3]]},"807":{"position":[[4,3]]},"821":{"position":[[65,3],[81,3]]}}}],["cssassetsloc",{"_index":496,"t":{"65":{"position":[[133,14],[233,14]]}}}],["cssloaderopt",{"_index":1543,"t":{"315":{"position":[[799,16]]},"317":{"position":[[45,16]]}}}],["cssmodul",{"_index":1891,"t":{"478":{"position":[[40,10],[382,10]]}}}],["csswatch",{"_index":2415,"t":{"784":{"position":[[197,8],[333,8]]}}}],["ct",{"_index":1402,"t":{"266":{"position":[[507,3]]}}}],["ctx",{"_index":614,"t":{"85":{"position":[[875,3],[888,3]]},"527":{"position":[[401,3],[423,3],[450,3],[586,3]]},"531":{"position":[[489,3],[563,3],[1199,3],[1273,3]]}}}],["cur",{"_index":1577,"t":{"317":{"position":[[315,3],[362,3],[1428,3],[1475,3]]}}}],["curl",{"_index":1907,"t":{"482":{"position":[[118,4]]}}}],["current",{"_index":750,"t":{"111":{"position":[[290,7]]}}}],["custom",{"_index":1201,"t":{"235":{"position":[[744,6]]},"444":{"position":[[441,6]]},"470":{"position":[[163,6],[200,6]]},"474":{"position":[[123,6]]},"478":{"position":[[201,6],[236,6]]},"523":{"position":[[309,6],[453,6]]},"544":{"position":[[302,6]]},"593":{"position":[[321,6],[358,6]]},"641":{"position":[[213,6]]},"772":{"position":[[143,6]]},"774":{"position":[[123,6]]},"782":{"position":[[985,6],[1119,6]]}}}],["customfetch",{"_index":2410,"t":{"782":{"position":[[954,11],[1143,11],[1183,11]]}}}],["customplugin",{"_index":1883,"t":{"474":{"position":[[102,12],[226,12]]}}}],["customtip",{"_index":1750,"t":{"418":{"position":[[118,10],[155,10],[176,10],[206,10]]}}}],["customtyp",{"_index":2240,"t":{"690":{"position":[[101,10],[176,10],[302,10]]}}}],["d",{"_index":311,"t":{"25":{"position":[[15,1]]},"45":{"position":[[32,1]]},"65":{"position":[[15,1]]},"98":{"position":[[48,1]]},"152":{"position":[[15,1]]},"185":{"position":[[30,1]]},"224":{"position":[[72,1]]},"255":{"position":[[14,1]]},"261":{"position":[[154,1]]},"264":{"position":[[16,1]]},"270":{"position":[[99,1]]},"274":{"position":[[33,1]]},"321":{"position":[[66,1],[357,1],[699,1]]},"720":{"position":[[458,1]]},"762":{"position":[[359,1],[470,1],[602,1]]}}}],["dangerouslysetinnerhtml",{"_index":2009,"t":{"540":{"position":[[77,23],[118,23],[234,23]]}}}],["dashboard",{"_index":2134,"t":{"628":{"position":[[93,9]]}}}],["data",{"_index":435,"t":{"47":{"position":[[306,4]]},"218":{"position":[[157,4]]},"226":{"position":[[550,4],[611,4]]},"230":{"position":[[402,4],[459,4]]},"232":{"position":[[258,4]]},"235":{"position":[[69,4],[331,4],[413,4],[518,4],[963,4],[976,4],[1078,4],[1501,4],[1800,4],[1854,4]]},"237":{"position":[[235,4],[415,4],[565,4],[598,4],[1319,4],[1419,4],[1544,4],[1648,4]]},"239":{"position":[[636,4],[762,4]]},"243":{"position":[[103,4]]},"261":{"position":[[577,4]]},"270":{"position":[[675,4]]},"293":{"position":[[637,4]]},"297":{"position":[[236,4],[317,4],[436,4],[480,4]]},"338":{"position":[[264,4],[288,4]]},"352":{"position":[[127,4],[151,4]]},"519":{"position":[[367,4],[426,4],[485,4],[553,4],[762,4],[834,4],[931,4],[989,4]]},"521":{"position":[[304,4],[371,4],[449,4],[479,4],[610,4],[668,4]]},"527":{"position":[[256,4],[328,4],[468,4],[526,4],[683,4],[698,4]]},"529":{"position":[[187,4],[245,4]]},"531":{"position":[[900,4],[921,4],[980,4],[1010,4]]},"575":{"position":[[114,4],[186,4]]},"603":{"position":[[218,4]]},"645":{"position":[[236,4],[300,4]]},"647":{"position":[[4,4],[23,4]]},"649":{"position":[[285,4],[349,4]]},"782":{"position":[[921,4]]}}}],["dataload",{"_index":1636,"t":{"338":{"position":[[41,10],[120,10]]},"519":{"position":[[613,10],[881,10],[1002,10],[1150,10],[1188,10],[1220,10]]},"521":{"position":[[116,10],[520,10],[560,10],[701,10]]},"523":{"position":[[25,10],[69,10],[107,10],[186,10],[265,10],[340,10]]},"527":{"position":[[26,10],[109,10],[364,10]]},"529":{"position":[[38,10],[137,10]]},"531":{"position":[[350,10],[648,10],[680,10],[1062,10]]},"573":{"position":[[81,10]]},"649":{"position":[[405,10]]},"657":{"position":[[18,10],[77,10],[138,10],[159,10],[328,10],[727,10]]}}}],["dataset",{"_index":1127,"t":{"218":{"position":[[50,7],[149,7]]}}}],["datasourc",{"_index":994,"t":{"185":{"position":[[282,10],[395,10]]}}}],["de",{"_index":698,"t":{"98":{"position":[[234,2],[365,2]]},"113":{"position":[[246,2]]}}}],["debounceinterv",{"_index":1309,"t":{"237":{"position":[[1089,16]]}}}],["debug",{"_index":1798,"t":{"440":{"position":[[318,5],[367,5]]}}}],["decor",{"_index":1598,"t":{"317":{"position":[[3259,10]]},"448":{"position":[[401,10]]}}}],["decrement",{"_index":1444,"t":{"295":{"position":[[690,9]]}}}],["def",{"_index":1494,"t":{"313":{"position":[[131,3],[154,3]]}}}],["default",{"_index":318,"t":{"25":{"position":[[158,7]]},"34":{"position":[[162,7]]},"39":{"position":[[151,7]]},"41":{"position":[[140,7]]},"45":{"position":[[158,7]]},"49":{"position":[[132,7],[330,7]]},"57":{"position":[[365,7]]},"65":{"position":[[192,7]]},"94":{"position":[[160,7]]},"98":{"position":[[164,7]]},"100":{"position":[[140,7]]},"107":{"position":[[234,7]]},"109":{"position":[[413,7]]},"111":{"position":[[161,7],[611,7]]},"113":{"position":[[176,7]]},"115":{"position":[[623,7]]},"117":{"position":[[234,7]]},"137":{"position":[[122,7]]},"139":{"position":[[122,7]]},"144":{"position":[[61,7]]},"152":{"position":[[164,7]]},"157":{"position":[[144,7]]},"159":{"position":[[166,7]]},"161":{"position":[[137,7],[501,7]]},"177":{"position":[[230,7]]},"179":{"position":[[157,7]]},"185":{"position":[[147,7]]},"205":{"position":[[174,7]]},"214":{"position":[[257,7]]},"216":{"position":[[195,7]]},"224":{"position":[[192,7]]},"226":{"position":[[362,7]]},"230":{"position":[[211,7]]},"232":{"position":[[206,7]]},"235":{"position":[[719,7],[1281,7],[1453,7],[1633,7]]},"241":{"position":[[379,7]]},"257":{"position":[[111,7],[357,7]]},"259":{"position":[[42,7]]},"261":{"position":[[355,7],[536,7]]},"266":{"position":[[117,7],[419,7]]},"270":{"position":[[435,7],[634,7]]},"274":{"position":[[161,7]]},"278":{"position":[[143,7]]},"280":{"position":[[118,7]]},"282":{"position":[[73,7]]},"286":{"position":[[220,7]]},"288":{"position":[[290,7]]},"290":{"position":[[102,7]]},"293":{"position":[[232,7],[314,7],[403,7]]},"295":{"position":[[144,7],[459,7],[966,7]]},"297":{"position":[[140,7],[365,7]]},"299":{"position":[[105,7],[623,7]]},"303":{"position":[[162,7]]},"305":{"position":[[106,7]]},"313":{"position":[[601,7]]},"315":{"position":[[1325,7]]},"317":{"position":[[178,7],[590,7],[938,7],[1291,7],[1745,7],[2264,7],[3006,7]]},"319":{"position":[[93,7],[176,7],[434,7]]},"321":{"position":[[194,7],[489,7],[825,7]]},"324":{"position":[[75,7]]},"330":{"position":[[145,7]]},"332":{"position":[[243,7]]},"334":{"position":[[137,7]]},"342":{"position":[[117,7]]},"354":{"position":[[119,7]]},"364":{"position":[[71,7]]},"370":{"position":[[270,7]]},"372":{"position":[[286,7]]},"378":{"position":[[51,7]]},"380":{"position":[[322,7]]},"382":{"position":[[70,7]]},"398":{"position":[[57,7]]},"408":{"position":[[179,7]]},"413":{"position":[[94,7]]},"418":{"position":[[292,7]]},"420":{"position":[[119,7]]},"422":{"position":[[267,7]]},"430":{"position":[[166,7]]},"432":{"position":[[132,7],[599,7]]},"436":{"position":[[132,7]]},"440":{"position":[[213,7],[435,7]]},"442":{"position":[[242,7],[508,7],[669,7]]},"444":{"position":[[159,7]]},"448":{"position":[[212,7]]},"454":{"position":[[315,7],[478,7],[755,7],[946,7]]},"456":{"position":[[223,7],[433,7],[1008,7]]},"464":{"position":[[122,7]]},"470":{"position":[[110,7]]},"474":{"position":[[185,7]]},"476":{"position":[[331,7]]},"478":{"position":[[352,7]]},"519":{"position":[[334,7],[730,7]]},"521":{"position":[[272,7]]},"523":{"position":[[235,7]]},"527":{"position":[[224,7]]},"529":{"position":[[336,7]]},"531":{"position":[[177,7],[792,7]]},"535":{"position":[[359,7]]},"559":{"position":[[132,7]]},"575":{"position":[[82,7]]},"585":{"position":[[385,7]]},"593":{"position":[[268,7]]},"595":{"position":[[42,7]]},"597":{"position":[[70,7]]},"599":{"position":[[40,7],[347,7]]},"603":{"position":[[81,7]]},"605":{"position":[[138,7]]},"614":{"position":[[27,7],[74,7]]},"616":{"position":[[106,7],[160,7]]},"628":{"position":[[62,7]]},"630":{"position":[[75,7]]},"632":{"position":[[82,7]]},"635":{"position":[[73,7]]},"637":{"position":[[81,7]]},"639":{"position":[[108,7]]},"641":{"position":[[164,7]]},"643":{"position":[[104,7]]},"645":{"position":[[204,7]]},"649":{"position":[[253,7]]},"651":{"position":[[90,7]]},"655":{"position":[[130,7]]},"663":{"position":[[763,7]]},"670":{"position":[[233,7]]},"699":{"position":[[371,7]]},"701":{"position":[[236,7]]},"708":{"position":[[147,7]]},"712":{"position":[[111,7]]},"720":{"position":[[587,7]]},"730":{"position":[[37,7]]},"758":{"position":[[361,7]]},"760":{"position":[[424,7],[590,7],[743,7]]},"762":{"position":[[395,7],[514,7],[924,7],[1090,7],[1239,7]]},"766":{"position":[[342,7]]},"768":{"position":[[201,7],[1133,7]]},"770":{"position":[[75,7]]},"772":{"position":[[40,7]]},"774":{"position":[[22,7]]},"776":{"position":[[15,7]]},"778":{"position":[[16,7]]},"780":{"position":[[30,7]]},"782":{"position":[[59,7],[258,7],[474,7],[707,7],[1012,7]]},"784":{"position":[[45,7],[252,7]]},"786":{"position":[[167,7],[327,7]]},"788":{"position":[[173,7]]},"790":{"position":[[28,7]]},"792":{"position":[[57,7],[334,7]]},"794":{"position":[[67,7]]},"796":{"position":[[74,7]]},"798":{"position":[[74,7]]}}}],["defaultlocal",{"_index":699,"t":{"98":{"position":[[240,13]]},"100":{"position":[[219,13]]},"113":{"position":[[252,13],[382,13],[461,13]]},"117":{"position":[[304,13]]},"122":{"position":[[44,13]]}}}],["defaultparam",{"_index":1292,"t":{"237":{"position":[[756,13]]}}}],["defaulttitl",{"_index":2068,"t":{"589":{"position":[[221,12]]},"682":{"position":[[122,12]]},"684":{"position":[[231,12]]}}}],["defer",{"_index":1978,"t":{"521":{"position":[[131,5],[535,5],[679,5]]},"531":{"position":[[1321,5]]}}}],["defin",{"_index":1512,"t":{"315":{"position":[[271,6]]},"422":{"position":[[297,6],[516,6]]},"768":{"position":[[339,6]]}}}],["defineappconfig",{"_index":671,"t":{"94":{"position":[[123,15],[168,15]]},"319":{"position":[[139,15],[184,15]]},"324":{"position":[[38,15],[83,15]]},"346":{"position":[[43,15]]},"356":{"position":[[78,15]]},"364":{"position":[[34,15],[79,15],[138,15]]},"370":{"position":[[233,15],[278,15]]},"372":{"position":[[48,15],[294,15]]}}}],["defineauthconfig",{"_index":430,"t":{"47":{"position":[[178,16],[254,16]]},"59":{"position":[[53,16],[129,16]]},"372":{"position":[[87,16],[207,16]]}}}],["definechildconfig",{"_index":851,"t":{"139":{"position":[[268,17],[347,17]]}}}],["defineconfig",{"_index":315,"t":{"25":{"position":[[82,12],[166,12]]},"34":{"position":[[86,12],[170,12]]},"41":{"position":[[101,12],[148,12]]},"45":{"position":[[82,12],[166,12]]},"65":{"position":[[94,12],[200,12]]},"98":{"position":[[88,12],[172,12]]},"100":{"position":[[64,12],[148,12]]},"113":{"position":[[100,12],[184,12]]},"117":{"position":[[158,12],[242,12]]},"137":{"position":[[38,12],[130,12]]},"139":{"position":[[38,12],[130,12]]},"152":{"position":[[84,12],[172,12]]},"157":{"position":[[64,12],[152,12]]},"159":{"position":[[86,12],[174,12]]},"161":{"position":[[57,12],[145,12],[421,12],[509,12]]},"185":{"position":[[64,12],[155,12]]},"205":{"position":[[182,12]]},"214":{"position":[[265,12]]},"216":{"position":[[203,12]]},"224":{"position":[[110,12],[200,12]]},"274":{"position":[[83,12],[169,12]]},"303":{"position":[[84,12],[170,12]]},"313":{"position":[[518,12],[609,12]]},"315":{"position":[[1234,12],[1333,12]]},"317":{"position":[[87,12],[186,12],[499,12],[598,12],[847,12],[946,12],[1200,12],[1299,12],[1654,12],[1753,12],[2148,12],[2272,12],[2922,12],[3014,12]]},"319":{"position":[[395,12],[442,12]]},"321":{"position":[[116,12],[202,12],[407,12],[497,12],[749,12],[833,12]]},"413":{"position":[[55,12],[102,12]]},"418":{"position":[[253,12],[300,12]]},"420":{"position":[[80,12],[127,12]]},"422":{"position":[[228,12],[275,12]]},"430":{"position":[[127,12],[174,12]]},"432":{"position":[[93,12],[140,12]]},"436":{"position":[[93,12],[140,12]]},"440":{"position":[[174,12],[221,12],[396,12],[443,12]]},"442":{"position":[[203,12],[250,12],[469,12],[516,12],[630,12],[677,12]]},"444":{"position":[[120,12],[167,12]]},"448":{"position":[[128,12],[220,12]]},"454":{"position":[[276,12],[323,12],[439,12],[486,12],[716,12],[763,12],[907,12],[954,12]]},"456":{"position":[[184,12],[231,12],[394,12],[441,12],[969,12],[1016,12]]},"470":{"position":[[71,12],[118,12]]},"474":{"position":[[63,12],[193,12]]},"476":{"position":[[229,12],[339,12]]},"478":{"position":[[313,12],[360,12]]},"523":{"position":[[170,12],[243,12]]},"593":{"position":[[229,12],[276,12]]},"641":{"position":[[125,12],[172,12]]},"643":{"position":[[65,12],[112,12]]},"651":{"position":[[51,12],[98,12]]},"655":{"position":[[91,12],[138,12]]},"701":{"position":[[244,12]]},"720":{"position":[[595,12]]},"760":{"position":[[657,12],[751,12]]},"762":{"position":[[1159,12],[1247,12]]}}}],["definedataload",{"_index":1637,"t":{"338":{"position":[[76,16],[133,16]]},"519":{"position":[[677,16],[894,16]]},"521":{"position":[[212,16],[573,16]]},"523":{"position":[[120,16]]},"527":{"position":[[72,16],[186,16],[377,16],[536,16]]},"529":{"position":[[86,16],[150,16]]},"531":{"position":[[83,16],[139,16],[363,16],[754,16],[1075,16]]},"649":{"position":[[191,16],[418,16],[602,16]]},"657":{"position":[[249,16],[341,16],[642,16],[740,16]]}}}],["defineframeworkconfig",{"_index":838,"t":{"137":{"position":[[264,21],[407,21]]},"144":{"position":[[241,21],[384,21]]}}}],["definei18nconfig",{"_index":802,"t":{"115":{"position":[[204,16],[280,16]]}}}],["definejestconfig",{"_index":1366,"t":{"257":{"position":[[68,16],[119,16],[141,16],[205,16],[314,16],[365,16]]},"261":{"position":[[312,16],[363,16]]}}}],["defineminiappconfig",{"_index":2249,"t":{"697":{"position":[[21,19],[101,19],[192,19]]}}}],["definepageconfig",{"_index":446,"t":{"49":{"position":[[94,16],[209,16],[292,16],[409,16]]},"326":{"position":[[63,16],[120,16]]},"342":{"position":[[22,16],[68,16],[237,16]]},"358":{"position":[[82,16]]},"581":{"position":[[41,16],[98,16]]},"583":{"position":[[46,16],[103,16]]},"585":{"position":[[102,16],[159,16]]},"587":{"position":[[76,16],[133,16]]},"589":{"position":[[137,16],[194,16]]},"684":{"position":[[147,16],[204,16]]}}}],["definerequestconfig",{"_index":1320,"t":{"239":{"position":[[110,19],[195,19]]},"241":{"position":[[62,19],[147,19]]},"250":{"position":[[139,19],[224,19],[491,19],[576,19]]}}}],["definerout",{"_index":1608,"t":{"319":{"position":[[508,12]]},"456":{"position":[[43,12],[340,12],[473,12],[883,12]]},"643":{"position":[[19,12],[137,12]]}}}],["defineroutefunct",{"_index":1838,"t":{"456":{"position":[[65,19]]}}}],["defineserverdataload",{"_index":2150,"t":{"657":{"position":[[267,22],[660,22],[875,22]]}}}],["definestaticdataload",{"_index":2143,"t":{"649":{"position":[[209,22],[540,22],[639,22]]}}}],["definestoreconfig",{"_index":1429,"t":{"293":{"position":[[505,17],[584,17]]}}}],["definevitestconfig",{"_index":1398,"t":{"266":{"position":[[72,18],[125,18],[149,18],[219,18],[374,18],[427,18]]},"270":{"position":[[346,18],[443,18]]}}}],["delay",{"_index":1415,"t":{"278":{"position":[[400,5]]}}}],["delet",{"_index":2094,"t":{"597":{"position":[[21,6],[291,6]]},"599":{"position":[[199,6]]}}}],["demo",{"_index":549,"t":{"82":{"position":[[69,4],[113,4]]},"535":{"position":[[186,4]]}}}],["descript",{"_index":1998,"t":{"535":{"position":[[157,11]]},"583":{"position":[[187,11]]}}}],["design",{"_index":592,"t":{"85":{"position":[[338,6]]},"87":{"position":[[226,6]]},"157":{"position":[[222,6]]},"161":{"position":[[236,6],[362,6]]}}}],["detail",{"_index":1162,"t":{"226":{"position":[[584,6]]},"299":{"position":[[165,6],[392,6],[413,6],[455,6]]}}}],["dev",{"_index":834,"t":{"135":{"position":[[15,3]]},"205":{"position":[[98,3]]},"218":{"position":[[78,3]]},"436":{"position":[[35,3]]},"442":{"position":[[36,3],[132,3],[176,3],[418,3],[603,3]]},"553":{"position":[[71,3],[244,3]]},"768":{"position":[[1017,3]]},"770":{"position":[[508,3],[539,3]]}}}],["dev_port",{"_index":2035,"t":{"553":{"position":[[71,8],[244,8]]}}}],["devdepend",{"_index":1492,"t":{"313":{"position":[[3,15]]}}}],["develop",{"_index":1757,"t":{"422":{"position":[[67,11]]},"442":{"position":[[319,11]]},"458":{"position":[[24,11]]},"553":{"position":[[329,11]]},"563":{"position":[[20,11]]},"722":{"position":[[180,9]]},"768":{"position":[[288,11],[707,11],[1299,11]]},"817":{"position":[[249,11]]},"825":{"position":[[138,9],[282,9]]}}}],["devic",{"_index":590,"t":{"85":{"position":[[310,6]]},"87":{"position":[[198,6]]},"535":{"position":[[232,6]]}}}],["devpublicpath",{"_index":1506,"t":{"315":{"position":[[192,13]]}}}],["devserv",{"_index":1535,"t":{"315":{"position":[[637,9],[657,9],[1443,9],[1508,9]]},"436":{"position":[[62,9]]},"768":{"position":[[996,9]]},"770":{"position":[[498,9]]}}}],["devtool",{"_index":1481,"t":{"307":{"position":[[15,8],[43,8],[63,8],[206,8]]},"768":{"position":[[513,7]]}}}],["devtoolopt",{"_index":1482,"t":{"307":{"position":[[142,14]]}}}],["diff",{"_index":1031,"t":{"193":{"position":[[61,4]]}}}],["dir",{"_index":2403,"t":{"782":{"position":[[184,3]]}}}],["dirnam",{"_index":612,"t":{"85":{"position":[[807,7]]},"760":{"position":[[388,7]]}}}],["disabl",{"_index":1503,"t":{"315":{"position":[[138,7],[292,7],[520,7],[559,7]]},"555":{"position":[[102,7],[140,7]]}}}],["disabledcooki",{"_index":804,"t":{"115":{"position":[[324,14],[491,14]]}}}],["disableruntim",{"_index":1550,"t":{"315":{"position":[[1021,14]]}}}],["disappear",{"_index":1089,"t":{"210":{"position":[[314,9]]}}}],["dispatch",{"_index":1179,"t":{"230":{"position":[[356,8],[438,8]]},"278":{"position":[[356,8]]},"282":{"position":[[190,10]]},"295":{"position":[[785,8],[1036,8]]},"297":{"position":[[396,8],[577,8]]},"301":{"position":[[150,11],[272,11]]},"305":{"position":[[210,11]]}}}],["display",{"_index":2157,"t":{"659":{"position":[[159,7]]},"735":{"position":[[350,7]]}}}],["dist",{"_index":300,"t":{"23":{"position":[[307,4]]},"150":{"position":[[320,4]]}}}],["div",{"_index":367,"t":{"39":{"position":[[187,3],[205,3]]},"49":{"position":[[166,3],[176,3],[365,3],[376,3]]},"59":{"position":[[290,3],[300,3]]},"85":{"position":[[505,3],[530,3]]},"87":{"position":[[383,3],[408,3]]},"107":{"position":[[378,3],[428,3]]},"109":{"position":[[343,3],[393,3]]},"111":{"position":[[835,3],[873,3]]},"144":{"position":[[123,3],[172,3]]},"179":{"position":[[245,3],[370,3]]},"185":{"position":[[314,3],[320,3],[346,3],[352,3],[370,3],[376,3],[435,3],[442,3]]},"199":{"position":[[5,3],[57,3]]},"210":{"position":[[245,3],[340,3]]},"344":{"position":[[337,3],[374,3]]},"348":{"position":[[339,3],[355,3],[579,3],[595,3]]},"354":{"position":[[157,3],[190,3]]},"380":{"position":[[450,3],[570,3]]},"519":{"position":[[512,3],[527,3],[533,3],[561,3],[793,3],[808,3],[814,3],[842,3]]},"521":{"position":[[335,3],[350,3],[388,3],[404,3],[425,3],[437,3],[459,3],[487,3]]},"527":{"position":[[287,3],[302,3],[308,3],[336,3]]},"531":{"position":[[256,3],[284,3],[290,3],[322,3],[910,3],[934,3],[990,3],[1018,3]]},"538":{"position":[[62,3],[73,3]]},"575":{"position":[[145,3],[160,3],[166,3],[194,3]]},"585":{"position":[[424,3],[439,3]]},"614":{"position":[[110,3],[125,3]]},"616":{"position":[[198,3],[256,3]]},"632":{"position":[[121,3],[136,3]]},"645":{"position":[[267,3],[282,3],[288,3],[314,3],[335,3],[485,3],[510,3],[525,3],[531,3],[544,3],[551,3]]},"649":{"position":[[316,3],[331,3],[337,3],[363,3]]},"659":{"position":[[229,3],[274,3]]},"663":{"position":[[503,3],[560,3],[571,3],[625,3],[793,3],[886,3]]},"708":{"position":[[186,3],[201,3]]},"730":{"position":[[73,3],[92,3]]},"735":{"position":[[194,3]]},"790":{"position":[[103,3],[119,3]]},"792":{"position":[[439,3],[450,3]]}}}],["doc",{"_index":1486,"t":{"307":{"position":[[237,4]]}}}],["doctyp",{"_index":573,"t":{"85":{"position":[[155,7]]},"87":{"position":[[43,7]]}}}],["document",{"_index":1235,"t":{"235":{"position":[[1572,8]]},"346":{"position":[[181,8],[239,8]]},"348":{"position":[[133,8]]},"360":{"position":[[58,8],[82,8]]},"408":{"position":[[154,8],[196,8]]},"432":{"position":[[228,8],[304,8],[607,8]]},"490":{"position":[[306,8]]},"508":{"position":[[52,8]]},"533":{"position":[[55,8]]},"535":{"position":[[0,8],[84,8],[367,8]]},"538":{"position":[[22,8]]},"540":{"position":[[6,8]]},"542":{"position":[[59,8]]},"544":{"position":[[165,8],[412,8],[621,8],[831,8]]},"546":{"position":[[37,8],[95,8]]},"745":{"position":[[46,8],[361,8]]},"747":{"position":[[67,8]]},"792":{"position":[[145,8]]}}}],["documentonli",{"_index":1646,"t":{"346":{"position":[[115,12]]}}}],["dom",{"_index":932,"t":{"175":{"position":[[101,3],[157,3]]},"183":{"position":[[95,3]]},"218":{"position":[[100,3]]},"220":{"position":[[142,3]]},"261":{"position":[[60,3],[149,3],[252,3]]},"270":{"position":[[67,3],[215,3]]},"382":{"position":[[243,3]]},"432":{"position":[[198,3],[509,3],[526,3]]},"454":{"position":[[823,3]]},"745":{"position":[[13,3]]},"794":{"position":[[17,3],[54,3]]}}}],["domain",{"_index":555,"t":{"82":{"position":[[167,6]]}}}],["domrend",{"_index":2431,"t":{"794":{"position":[[144,9],[234,9]]}}}],["downgrad",{"_index":1647,"t":{"346":{"position":[[147,9]]}}}],["download",{"_index":2438,"t":{"817":{"position":[[143,8]]}}}],["droplog",{"_index":1795,"t":{"440":{"position":[[243,7],[465,7]]}}}],["droploglevel",{"_index":1514,"t":{"315":{"position":[[336,12]]}}}],["droptyp",{"_index":1793,"t":{"440":{"position":[[13,8],[26,8]]}}}],["dsl",{"_index":1079,"t":{"210":{"position":[[45,3]]}}}],["edg",{"_index":584,"t":{"85":{"position":[[255,4]]},"87":{"position":[[143,4]]}}}],["edit",{"_index":2121,"t":{"618":{"position":[[215,4],[235,4]]}}}],["eee",{"_index":1612,"t":{"326":{"position":[[204,3]]},"342":{"position":[[321,3]]}}}],["ef5b6544",{"_index":1717,"t":{"396":{"position":[[178,8]]}}}],["effect",{"_index":1170,"t":{"230":{"position":[[100,7],[346,7]]},"278":{"position":[[346,7]]},"295":{"position":[[407,7],[760,7],[774,7],[1026,7]]},"297":{"position":[[194,7],[386,7],[563,7],[623,7]]},"301":{"position":[[34,7]]}}}],["effectsst",{"_index":1469,"t":{"301":{"position":[[200,12],[324,12],[386,12]]}}}],["eg",{"_index":1097,"t":{"212":{"position":[[134,2]]}}}],["ej",{"_index":567,"t":{"85":{"position":[[91,3],[148,3],[841,3]]},"782":{"position":[[366,3]]}}}],["el",{"_index":2339,"t":{"745":{"position":[[41,2],[93,2],[356,2],[414,2]]},"747":{"position":[[62,2],[103,2]]}}}],["elseif",{"_index":1000,"t":{"189":{"position":[[48,6],[124,6],[156,6]]}}}],["en",{"_index":697,"t":{"98":{"position":[[225,2],[279,2],[352,2]]},"100":{"position":[[201,2],[338,2],[352,2]]},"103":{"position":[[114,2]]},"107":{"position":[[338,2]]},"109":{"position":[[303,2]]},"113":{"position":[[237,2]]},"117":{"position":[[295,2],[406,2]]},"432":{"position":[[338,2]]}}}],["end",{"_index":790,"t":{"113":{"position":[[1006,3],[1030,3]]}}}],["entri",{"_index":786,"t":{"113":{"position":[[853,7]]},"137":{"position":[[578,5]]},"315":{"position":[[908,5],[930,5]]},"446":{"position":[[14,5],[167,5]]},"768":{"position":[[324,5]]}}}],["env",{"_index":1353,"t":{"250":{"position":[[318,3],[394,3],[615,3]]},"266":{"position":[[294,3]]},"422":{"position":[[51,3],[60,3]]},"442":{"position":[[301,3],[310,3]]},"444":{"position":[[363,3],[670,3],[697,3]]},"476":{"position":[[403,3],[412,3]]},"490":{"position":[[356,3]]},"548":{"position":[[37,3]]},"551":{"position":[[48,3],[85,3]]},"553":{"position":[[14,3],[52,3],[60,3],[120,3],[138,3],[154,3],[209,3],[267,3],[282,3],[381,3],[386,3],[397,3],[410,3]]},"555":{"position":[[132,3]]},"557":{"position":[[67,3],[98,3]]},"559":{"position":[[65,3],[188,3]]},"677":{"position":[[91,3],[159,3]]}}}],["environ",{"_index":1384,"t":{"261":{"position":[[109,11],[458,11]]},"270":{"position":[[476,11]]}}}],["eot",{"_index":1712,"t":{"396":{"position":[[72,3]]}}}],["equiv",{"_index":579,"t":{"85":{"position":[[219,5]]},"87":{"position":[[107,5]]}}}],["error",{"_index":924,"t":{"173":{"position":[[94,5]]},"232":{"position":[[264,5]]},"237":{"position":[[266,5],[638,5],[1325,5],[1425,5],[1550,5]]},"239":{"position":[[492,5],[526,5],[704,5],[747,5],[781,5],[817,5],[864,5]]},"243":{"position":[[60,5]]},"301":{"position":[[68,5],[414,5]]},"440":{"position":[[152,5],[254,5],[346,5]]},"521":{"position":[[429,5]]}}}],["errorboundari",{"_index":1663,"t":{"368":{"position":[[129,13]]}}}],["errorcompon",{"_index":870,"t":{"146":{"position":[[103,14]]}}}],["errorel",{"_index":1979,"t":{"521":{"position":[[410,12],[807,12]]}}}],["es",{"_index":1828,"t":{"446":{"position":[[276,2]]},"464":{"position":[[85,2]]},"762":{"position":[[212,2]]}}}],["esbuild",{"_index":1885,"t":{"476":{"position":[[34,7]]}}}],["eslint",{"_index":1519,"t":{"315":{"position":[[426,6]]},"468":{"position":[[50,6],[67,6],[124,6]]},"768":{"position":[[934,6]]}}}],["eslintopt",{"_index":2383,"t":{"768":{"position":[[920,13]]}}}],["esm",{"_index":1832,"t":{"454":{"position":[[29,3],[143,3],[229,3],[1011,3]]},"762":{"position":[[349,3],[379,3],[408,3],[452,3],[490,3],[527,3],[565,3],[592,3],[621,3],[629,3]]}}}],["event",{"_index":2413,"t":{"784":{"position":[[156,5]]}}}],["eventtarget",{"_index":1135,"t":{"220":{"position":[[45,11]]}}}],["exampl",{"_index":626,"t":{"85":{"position":[[1126,8]]},"195":{"position":[[84,7]]},"235":{"position":[[2172,7]]},"250":{"position":[[266,7],[419,7]]},"408":{"position":[[463,7]]},"519":{"position":[[454,7],[959,7]]},"521":{"position":[[638,7]]},"527":{"position":[[496,7]]},"529":{"position":[[215,7]]},"531":{"position":[[434,7],[537,7],[1145,7],[1247,7]]},"585":{"position":[[289,7],[481,7]]},"587":{"position":[[186,7]]},"649":{"position":[[465,7]]},"657":{"position":[[416,7],[799,7]]},"722":{"position":[[242,8]]}}}],["examplecompon",{"_index":992,"t":{"185":{"position":[[239,16]]}}}],["exclud",{"_index":1879,"t":{"470":{"position":[[20,7],[189,7]]},"593":{"position":[[347,7]]}}}],["exec",{"_index":2346,"t":{"745":{"position":[[257,4]]}}}],["expect",{"_index":1381,"t":{"259":{"position":[[174,6]]},"261":{"position":[[807,6]]},"268":{"position":[[77,6],[151,6]]},"270":{"position":[[239,6],[263,6],[765,6],[946,6]]}}}],["experi",{"_index":2374,"t":{"768":{"position":[[385,11]]}}}],["experiment",{"_index":933,"t":{"175":{"position":[[107,12],[138,12],[161,12]]},"768":{"position":[[356,12]]}}}],["experimentaldecor",{"_index":1479,"t":{"305":{"position":[[324,22]]}}}],["export",{"_index":317,"t":{"25":{"position":[[151,6]]},"34":{"position":[[155,6]]},"39":{"position":[[144,6]]},"41":{"position":[[133,6]]},"45":{"position":[[151,6]]},"47":{"position":[[228,6]]},"49":{"position":[[125,6],[183,6],[323,6],[383,6]]},"57":{"position":[[358,6]]},"59":{"position":[[103,6]]},"65":{"position":[[185,6]]},"85":{"position":[[759,7]]},"94":{"position":[[153,6]]},"98":{"position":[[157,6]]},"100":{"position":[[133,6]]},"107":{"position":[[227,6]]},"109":{"position":[[406,6]]},"111":{"position":[[154,6],[604,6]]},"113":{"position":[[169,6]]},"115":{"position":[[254,6],[616,6]]},"117":{"position":[[227,6]]},"137":{"position":[[115,6],[383,6]]},"139":{"position":[[115,6],[323,6]]},"144":{"position":[[54,6],[360,6]]},"152":{"position":[[157,6]]},"157":{"position":[[137,6]]},"159":{"position":[[159,6]]},"161":{"position":[[130,6],[494,6]]},"177":{"position":[[223,6]]},"179":{"position":[[150,6]]},"185":{"position":[[140,6]]},"205":{"position":[[167,6]]},"214":{"position":[[250,6]]},"216":{"position":[[188,6]]},"224":{"position":[[185,6]]},"226":{"position":[[355,6]]},"230":{"position":[[204,6]]},"232":{"position":[[199,6]]},"239":{"position":[[166,6]]},"241":{"position":[[118,6],[372,6]]},"250":{"position":[[195,6],[547,6]]},"257":{"position":[[104,6],[350,6]]},"259":{"position":[[35,6]]},"261":{"position":[[348,6],[529,6]]},"266":{"position":[[110,6],[412,6]]},"270":{"position":[[428,6],[627,6]]},"274":{"position":[[154,6]]},"278":{"position":[[136,6]]},"280":{"position":[[111,6]]},"282":{"position":[[66,6]]},"286":{"position":[[213,6]]},"288":{"position":[[283,6]]},"290":{"position":[[95,6]]},"293":{"position":[[225,6],[307,6],[396,6],[557,6]]},"295":{"position":[[137,6],[452,6],[959,6]]},"297":{"position":[[133,6],[358,6]]},"299":{"position":[[98,6],[616,6]]},"303":{"position":[[155,6]]},"305":{"position":[[99,6]]},"313":{"position":[[594,6]]},"315":{"position":[[1318,6]]},"317":{"position":[[171,6],[583,6],[931,6],[1284,6],[1738,6],[2257,6],[2999,6]]},"319":{"position":[[86,6],[169,6],[427,6]]},"321":{"position":[[187,6],[482,6],[585,6],[818,6],[916,6]]},"324":{"position":[[68,6]]},"326":{"position":[[94,6]]},"328":{"position":[[59,6]]},"330":{"position":[[138,6]]},"332":{"position":[[236,6]]},"334":{"position":[[130,6]]},"338":{"position":[[107,6]]},"342":{"position":[[110,6],[211,6]]},"348":{"position":[[281,6],[521,6]]},"354":{"position":[[112,6]]},"364":{"position":[[64,6]]},"370":{"position":[[263,6]]},"372":{"position":[[181,6],[279,6]]},"378":{"position":[[44,6]]},"380":{"position":[[315,6]]},"382":{"position":[[63,6]]},"398":{"position":[[50,6]]},"408":{"position":[[172,6]]},"413":{"position":[[87,6]]},"418":{"position":[[285,6]]},"420":{"position":[[112,6]]},"422":{"position":[[260,6]]},"430":{"position":[[159,6]]},"432":{"position":[[125,6],[592,6]]},"436":{"position":[[125,6]]},"440":{"position":[[206,6],[428,6]]},"442":{"position":[[235,6],[501,6],[662,6]]},"444":{"position":[[152,6],[629,7]]},"448":{"position":[[205,6]]},"454":{"position":[[308,6],[471,6],[748,6],[939,6]]},"456":{"position":[[216,6],[426,6],[1001,6]]},"464":{"position":[[115,6]]},"470":{"position":[[103,6]]},"474":{"position":[[178,6]]},"476":{"position":[[324,6]]},"478":{"position":[[345,6]]},"519":{"position":[[327,6],[723,6],[868,6]]},"521":{"position":[[265,6],[547,6]]},"523":{"position":[[94,6],[228,6]]},"527":{"position":[[217,6],[351,6]]},"529":{"position":[[124,6],[329,6]]},"531":{"position":[[170,6],[337,6],[785,6],[1049,6]]},"535":{"position":[[352,6]]},"559":{"position":[[125,6]]},"575":{"position":[[75,6]]},"581":{"position":[[72,6]]},"583":{"position":[[77,6]]},"585":{"position":[[133,6],[378,6]]},"587":{"position":[[107,6]]},"589":{"position":[[168,6]]},"593":{"position":[[261,6]]},"595":{"position":[[35,6]]},"597":{"position":[[63,6]]},"599":{"position":[[33,6],[340,6]]},"603":{"position":[[74,6]]},"605":{"position":[[131,6]]},"612":{"position":[[139,6]]},"614":{"position":[[20,6],[67,6]]},"616":{"position":[[99,6],[153,6]]},"628":{"position":[[55,6]]},"630":{"position":[[68,6]]},"632":{"position":[[75,6]]},"635":{"position":[[66,6]]},"637":{"position":[[74,6]]},"639":{"position":[[101,6]]},"641":{"position":[[157,6]]},"643":{"position":[[97,6]]},"645":{"position":[[197,6]]},"649":{"position":[[246,6],[392,6],[508,6]]},"651":{"position":[[83,6]]},"655":{"position":[[123,6]]},"657":{"position":[[315,6],[714,6],[843,6]]},"663":{"position":[[756,6]]},"670":{"position":[[226,6]]},"682":{"position":[[79,6]]},"684":{"position":[[178,6]]},"697":{"position":[[159,6]]},"699":{"position":[[147,6],[364,6]]},"701":{"position":[[229,6]]},"705":{"position":[[166,6]]},"708":{"position":[[140,6]]},"710":{"position":[[72,6]]},"712":{"position":[[104,6]]},"720":{"position":[[580,6],[728,6]]},"730":{"position":[[30,6]]},"758":{"position":[[354,6]]},"760":{"position":[[417,6],[583,6],[736,6]]},"762":{"position":[[234,7],[318,7],[852,7],[917,6],[1083,6],[1232,6]]},"766":{"position":[[335,6]]},"768":{"position":[[194,6],[1126,6]]},"770":{"position":[[68,6]]},"772":{"position":[[33,6]]},"774":{"position":[[15,6]]},"776":{"position":[[8,6]]},"778":{"position":[[9,6]]},"780":{"position":[[23,6]]},"782":{"position":[[52,6],[251,6],[467,6],[700,6],[1005,6]]},"784":{"position":[[38,6],[245,6]]},"786":{"position":[[160,6],[320,6]]},"788":{"position":[[166,6]]},"790":{"position":[[21,6]]},"792":{"position":[[50,6],[327,6]]},"794":{"position":[[60,6]]},"796":{"position":[[67,6]]},"798":{"position":[[67,6]]}}}],["exportdefaultfrom",{"_index":1867,"t":{"464":{"position":[[5,17]]}}}],["exportnam",{"_index":2407,"t":{"782":{"position":[[591,10],[853,10]]}}}],["express",{"_index":775,"t":{"113":{"position":[[522,7],[536,7],[615,7],[634,7]]},"605":{"position":[[121,7]]}}}],["extend",{"_index":1405,"t":{"270":{"position":[[270,6]]},"305":{"position":[[129,7]]}}}],["extens",{"_index":613,"t":{"85":{"position":[[829,9]]},"307":{"position":[[215,9]]}}}],["extern",{"_index":1508,"t":{"315":{"position":[[224,9]]},"432":{"position":[[162,9]]},"454":{"position":[[86,9],[177,9],[661,9],[692,8],[795,9]]},"768":{"position":[[414,9],[434,9]]}}}],["extra",{"_index":1729,"t":{"404":{"position":[[72,5]]}}}],["fallback",{"_index":470,"t":{"57":{"position":[[175,8],[334,8]]},"87":{"position":[[766,8]]},"348":{"position":[[201,8],[328,8],[568,8]]},"521":{"position":[[377,8],[784,8]]}}}],["fals",{"_index":324,"t":{"28":{"position":[[17,5]]},"30":{"position":[[17,5]]},"32":{"position":[[17,5]]},"47":{"position":[[392,5]]},"55":{"position":[[177,5]]},"72":{"position":[[29,5]]},"115":{"position":[[460,5]]},"124":{"position":[[15,5]]},"155":{"position":[[24,5]]},"235":{"position":[[1443,5],[1698,5]]},"237":{"position":[[139,5],[922,5],[1204,5]]},"239":{"position":[[258,5],[282,5]]},"315":{"position":[[372,5],[1535,5]]},"319":{"position":[[224,5]]},"368":{"position":[[123,5],[175,5]]},"380":{"position":[[226,5]]},"418":{"position":[[27,5]]},"420":{"position":[[18,5],[62,5]]},"430":{"position":[[39,5]]},"440":{"position":[[39,5]]},"444":{"position":[[461,5]]},"446":{"position":[[23,5],[33,5]]},"450":{"position":[[30,5]]},"454":{"position":[[157,5],[202,5]]},"458":{"position":[[74,5],[112,5]]},"460":{"position":[[108,5]]},"462":{"position":[[249,5],[426,5]]},"466":{"position":[[15,5]]},"468":{"position":[[40,5]]},"472":{"position":[[40,5]]},"555":{"position":[[74,5],[114,5],[157,5]]},"565":{"position":[[24,5]]},"567":{"position":[[26,5]]},"569":{"position":[[26,5]]},"605":{"position":[[242,5]]},"651":{"position":[[132,5]]}}}],["fast",{"_index":2386,"t":{"768":{"position":[[1048,4]]}}}],["fastrefresh",{"_index":1531,"t":{"315":{"position":[[581,11]]},"768":{"position":[[1031,11]]}}}],["favicon",{"_index":600,"t":{"85":{"position":[[408,7]]},"87":{"position":[[291,7]]},"408":{"position":[[50,7],[104,7],[258,7]]},"490":{"position":[[119,7],[134,7]]},"502":{"position":[[11,7]]},"585":{"position":[[217,7]]}}}],["favorit",{"_index":1851,"t":{"456":{"position":[[1153,9],[1183,9]]}}}],["featur",{"_index":1817,"t":{"444":{"position":[[427,8]]}}}],["feed",{"_index":1117,"t":{"214":{"position":[[347,5]]}}}],["fetch",{"_index":437,"t":{"47":{"position":[[320,5]]},"237":{"position":[[474,7],[493,7]]},"293":{"position":[[651,5]]},"295":{"position":[[1097,5]]},"297":{"position":[[250,5],[449,5],[514,5]]},"338":{"position":[[171,5]]},"519":{"position":[[439,5],[944,5]]},"521":{"position":[[623,5]]},"527":{"position":[[481,5]]},"529":{"position":[[200,5]]},"531":{"position":[[419,5],[522,5],[1130,5],[1232,5]]},"649":{"position":[[450,5]]},"657":{"position":[[401,5],[784,5]]},"782":{"position":[[992,5],[1126,5]]}}}],["fetchdataatserv",{"_index":2153,"t":{"657":{"position":[[475,17],[925,17]]}}}],["fetcher",{"_index":1772,"t":{"424":{"position":[[16,7],[99,7]]},"523":{"position":[[46,7],[204,7],[279,7],[316,7],[437,7],[460,7],[474,7]]},"782":{"position":[[969,7],[1157,7]]}}}],["fetchkey",{"_index":1276,"t":{"237":{"position":[[453,8],[880,8]]}}}],["fetchuserinfo",{"_index":1180,"t":{"230":{"position":[[378,13],[696,13],[729,13]]}}}],["fff",{"_index":2183,"t":{"663":{"position":[[427,3]]}}}],["file",{"_index":543,"t":{"80":{"position":[[182,5]]},"559":{"position":[[59,4]]},"762":{"position":[[610,5]]},"782":{"position":[[358,4],[380,4]]}}}],["filepath",{"_index":2414,"t":{"784":{"position":[[171,8]]}}}],["filter",{"_index":2028,"t":{"546":{"position":[[175,6]]}}}],["first",{"_index":1687,"t":{"380":{"position":[[407,5]]}}}],["firstnam",{"_index":1210,"t":{"235":{"position":[[1086,9]]}}}],["flexbox",{"_index":1815,"t":{"444":{"position":[[402,7]]}}}],["fn",{"_index":1682,"t":{"380":{"position":[[183,2],[295,2]]}}}],["fnm",{"_index":1905,"t":{"482":{"position":[[79,3]]}}}],["focustimespan",{"_index":1306,"t":{"237":{"position":[[1046,13]]}}}],["folder",{"_index":2285,"t":{"722":{"position":[[218,6]]},"782":{"position":[[373,6]]},"825":{"position":[[176,6],[320,6]]}}}],["follow",{"_index":2284,"t":{"722":{"position":[[208,9]]},"825":{"position":[[166,9],[310,9]]}}}],["font",{"_index":2011,"t":{"540":{"position":[[170,4]]},"661":{"position":[[64,4]]},"668":{"position":[[58,4],[119,4],[163,4]]},"670":{"position":[[147,4]]}}}],["fontsiz",{"_index":2218,"t":{"670":{"position":[[284,8]]}}}],["foo",{"_index":455,"t":{"53":{"position":[[67,3]]},"57":{"position":[[394,3]]},"191":{"position":[[53,3],[98,3]]},"212":{"position":[[158,3],[293,3]]},"297":{"position":[[285,3],[613,3]]},"553":{"position":[[85,3]]},"555":{"position":[[110,3],[148,3]]},"595":{"position":[[81,3]]},"597":{"position":[[133,3],[213,3],[322,3]]},"599":{"position":[[86,3],[138,3]]},"657":{"position":[[223,3],[616,3]]}}}],["footer",{"_index":1043,"t":{"195":{"position":[[212,6],[219,6],[366,6],[582,6],[590,6]]}}}],["forc",{"_index":1698,"t":{"386":{"position":[[399,5]]}}}],["foreach",{"_index":787,"t":{"113":{"position":[[904,7]]}}}],["format",{"_index":1831,"t":{"454":{"position":[[20,6],[134,6],[355,6],[1002,6]]}}}],["formatresult",{"_index":1285,"t":{"237":{"position":[[673,12]]}}}],["fragment",{"_index":1053,"t":{"197":{"position":[[45,8]]}}}],["framework",{"_index":825,"t":{"129":{"position":[[49,9],[97,9]]},"137":{"position":[[178,9],[206,9]]},"165":{"position":[[37,9]]},"821":{"position":[[111,9]]}}}],["frameworklayout",{"_index":839,"t":{"137":{"position":[[330,15],[365,15],[465,15]]},"144":{"position":[[78,15],[307,15],[342,15],[423,15]]}}}],["fred",{"_index":1211,"t":{"235":{"position":[[1098,4]]}}}],["full",{"_index":1237,"t":{"235":{"position":[[1666,4]]}}}],["function",{"_index":364,"t":{"39":{"position":[[159,8]]},"49":{"position":[[140,8],[338,8]]},"53":{"position":[[58,8]]},"55":{"position":[[58,8],[136,8]]},"57":{"position":[[140,8],[385,8]]},"85":{"position":[[865,8]]},"107":{"position":[[2,8],[242,8]]},"109":{"position":[[227,8]]},"111":{"position":[[169,8],[619,8]]},"115":{"position":[[315,8],[631,8]]},"142":{"position":[[11,8]]},"144":{"position":[[69,8]]},"148":{"position":[[10,8],[46,8]]},"177":{"position":[[238,8]]},"179":{"position":[[165,8]]},"185":{"position":[[230,8]]},"210":{"position":[[221,8]]},"232":{"position":[[214,8]]},"235":{"position":[[201,8]]},"259":{"position":[[50,8],[155,8]]},"261":{"position":[[544,8]]},"270":{"position":[[642,8]]},"282":{"position":[[81,8]]},"290":{"position":[[110,8]]},"301":{"position":[[105,8]]},"328":{"position":[[66,8]]},"330":{"position":[[153,8]]},"332":{"position":[[251,8]]},"334":{"position":[[145,8]]},"336":{"position":[[82,8]]},"338":{"position":[[240,8]]},"342":{"position":[[125,8]]},"346":{"position":[[230,8]]},"348":{"position":[[288,8],[528,8]]},"352":{"position":[[103,8]]},"354":{"position":[[127,8]]},"378":{"position":[[59,8]]},"380":{"position":[[166,8],[330,8]]},"382":{"position":[[78,8]]},"398":{"position":[[65,8]]},"408":{"position":[[187,8]]},"422":{"position":[[558,8]]},"432":{"position":[[295,8]]},"519":{"position":[[342,8],[738,8]]},"521":{"position":[[280,8]]},"527":{"position":[[232,8],[558,8]]},"529":{"position":[[344,8]]},"531":{"position":[[185,8],[800,8]]},"535":{"position":[[75,8]]},"542":{"position":[[50,8]]},"544":{"position":[[156,8],[403,8],[612,8],[822,8]]},"546":{"position":[[86,8]]},"559":{"position":[[140,8]]},"575":{"position":[[90,8]]},"585":{"position":[[393,8]]},"614":{"position":[[82,8]]},"616":{"position":[[168,8]]},"632":{"position":[[90,8]]},"635":{"position":[[81,8]]},"637":{"position":[[89,8]]},"639":{"position":[[116,8]]},"645":{"position":[[212,8]]},"649":{"position":[[261,8]]},"659":{"position":[[201,8]]},"663":{"position":[[475,8],[771,8]]},"670":{"position":[[241,8]]},"677":{"position":[[165,8]]},"699":{"position":[[154,8],[379,8]]},"708":{"position":[[155,8]]},"710":{"position":[[79,8]]},"712":{"position":[[119,8]]},"730":{"position":[[45,8]]},"790":{"position":[[59,8]]}}}],["functionbind",{"_index":1868,"t":{"464":{"position":[[33,12]]}}}],["functioncompon",{"_index":1468,"t":{"301":{"position":[[114,17]]}}}],["fusion",{"_index":105,"t":{"4":{"position":[[386,6]]},"17":{"position":[[51,6]]},"96":{"position":[[270,6]]},"150":{"position":[[17,6],[30,6],[244,6]]},"152":{"position":[[29,6],[123,6],[148,6],[205,6]]},"155":{"position":[[32,6],[51,6]]},"157":{"position":[[21,6],[103,6],[128,6],[185,6]]},"159":{"position":[[125,6],[150,6],[207,6]]},"161":{"position":[[96,6],[121,6],[178,6],[460,6],[485,6],[542,6]]},"313":{"position":[[229,6],[251,6]]},"728":{"position":[[274,6]]},"811":{"position":[[3,6]]}}}],["g",{"_index":915,"t":{"169":{"position":[[21,1]]},"484":{"position":[[91,1],[216,1]]}}}],["gener",{"_index":1250,"t":{"235":{"position":[[2345,9]]},"645":{"position":[[41,10]]},"782":{"position":[[107,9],[125,9],[306,9],[324,9],[522,9],[540,9],[755,9],[773,9],[1060,9],[1078,9]]}}}],["getalllocal",{"_index":720,"t":{"103":{"position":[[0,13],[42,13],[82,13]]},"111":{"position":[[107,13],[361,13]]}}}],["getalltask",{"_index":2401,"t":{"780":{"position":[[78,10],[111,10]]}}}],["getapp",{"_index":840,"t":{"137":{"position":[[500,7]]},"142":{"position":[[0,6]]}}}],["getattribut",{"_index":1129,"t":{"218":{"position":[[110,12]]}}}],["getboundingclientrect",{"_index":2342,"t":{"745":{"position":[[96,21],[320,21],[417,21]]}}}],["getbytestid",{"_index":1396,"t":{"261":{"position":[[821,11]]},"270":{"position":[[960,11]]}}}],["getdefaultlocal",{"_index":722,"t":{"105":{"position":[[0,16],[43,16],[86,16]]}}}],["getdetail",{"_index":1160,"t":{"226":{"position":[[524,9]]}}}],["getelementbyid",{"_index":2340,"t":{"745":{"position":[[55,14],[370,14]]},"747":{"position":[[76,14]]}}}],["getfoo",{"_index":1352,"t":{"250":{"position":[[34,6]]}}}],["getitem",{"_index":807,"t":{"115":{"position":[[416,7]]}}}],["getlist",{"_index":1194,"t":{"235":{"position":[[210,7]]}}}],["getmap",{"_index":634,"t":{"87":{"position":[[514,10],[731,10]]}}}],["getrepo",{"_index":1158,"t":{"226":{"position":[[450,7]]},"241":{"position":[[527,7]]}}}],["getus",{"_index":1157,"t":{"226":{"position":[[386,7]]},"230":{"position":[[427,7]]},"232":{"position":[[315,7]]},"241":{"position":[[425,7]]}}}],["getuserinfo",{"_index":1414,"t":{"278":{"position":[[378,11]]},"282":{"position":[[233,11]]}}}],["getwebpackconfig",{"_index":1589,"t":{"317":{"position":[[2680,16]]}}}],["gif",{"_index":1708,"t":{"396":{"position":[[44,3]]}}}],["git",{"_index":1949,"t":{"516":{"position":[[86,3]]},"553":{"position":[[457,3]]}}}],["github",{"_index":258,"t":{"21":{"position":[[14,6]]},"82":{"position":[[210,6]]},"85":{"position":[[1109,6]]},"307":{"position":[[178,6]]},"478":{"position":[[457,6]]},"762":{"position":[[19,6]]}}}],["githubusercont",{"_index":1909,"t":{"482":{"position":[[139,17]]}}}],["glob",{"_index":1839,"t":{"456":{"position":[[147,4]]}}}],["global",{"_index":298,"t":{"23":{"position":[[256,6],[282,6]]},"82":{"position":[[40,6]]},"150":{"position":[[262,6],[288,6]]},"161":{"position":[[297,6],[329,6]]},"214":{"position":[[72,6]]},"490":{"position":[[281,6]]},"661":{"position":[[22,6]]},"668":{"position":[[9,6],[32,6]]},"670":{"position":[[97,6]]},"720":{"position":[[870,6]]},"733":{"position":[[271,6],[405,6]]},"735":{"position":[[302,6]]},"784":{"position":[[130,6]]}}}],["group",{"_index":2333,"t":{"743":{"position":[[108,5],[122,5]]}}}],["guest",{"_index":441,"t":{"47":{"position":[[385,5]]},"49":{"position":[[444,5],[469,5]]},"55":{"position":[[184,5]]},"185":{"position":[[363,5]]}}}],["gui",{"_index":252,"t":{"19":{"position":[[78,3]]}}}],["guid",{"_index":1947,"t":{"514":{"position":[[46,5]]}}}],["h",{"_index":1693,"t":{"386":{"position":[[197,1],[423,1]]},"388":{"position":[[229,1]]}}}],["h1",{"_index":938,"t":{"177":{"position":[[271,2],[290,2]]},"290":{"position":[[279,2],[301,2]]},"354":{"position":[[163,2],[173,2]]},"559":{"position":[[167,2],[206,2]]},"616":{"position":[[204,2],[220,2]]}}}],["h2",{"_index":1393,"t":{"261":{"position":[[574,2],[608,2]]},"270":{"position":[[672,2],[708,2]]},"330":{"position":[[260,2],[274,2]]},"332":{"position":[[532,2],[546,2]]},"334":{"position":[[274,2],[288,2]]},"336":{"position":[[195,2],[209,2]]},"338":{"position":[[327,2],[341,2]]},"342":{"position":[[184,2],[198,2]]},"352":{"position":[[190,2],[204,2]]},"616":{"position":[[225,2],[239,2]]},"659":{"position":[[154,2],[252,2],[268,2]]},"663":{"position":[[538,2],[554,2],[604,2],[620,2]]},"712":{"position":[[229,2],[243,2]]}}}],["h5",{"_index":2316,"t":{"735":{"position":[[246,2],[340,2]]},"745":{"position":[[2,2],[32,2]]},"747":{"position":[[24,2],[53,2]]},"749":{"position":[[2,2]]},"751":{"position":[[81,2]]}}}],["handleappearonc",{"_index":1686,"t":{"380":{"position":[[355,16],[506,16]]}}}],["handlegetphonenumb",{"_index":2245,"t":{"690":{"position":[[228,20],[350,20]]}}}],["hangzhou",{"_index":845,"t":{"137":{"position":[[610,8]]}}}],["hasauth",{"_index":471,"t":{"57":{"position":[[232,7],[275,7]]}}}],["hash",{"_index":1509,"t":{"315":{"position":[[238,4]]},"370":{"position":[[63,4]]},"396":{"position":[[101,4]]},"408":{"position":[[97,4]]},"430":{"position":[[57,4],[69,4],[110,4],[196,4]]},"478":{"position":[[141,4],[156,4],[414,4]]},"768":{"position":[[590,4],[608,4]]}}}],["hashrout",{"_index":621,"t":{"85":{"position":[[1065,10]]},"87":{"position":[[693,10]]}}}],["head",{"_index":574,"t":{"85":{"position":[[177,4],[491,4]]},"87":{"position":[[65,4],[369,4]]},"113":{"position":[[993,4]]},"346":{"position":[[334,4],[342,4]]},"408":{"position":[[226,4],[276,4]]},"478":{"position":[[208,4],[243,4]]},"535":{"position":[[114,4],[297,4]]},"544":{"position":[[195,4],[202,4],[442,4],[523,4],[651,4],[735,4],[861,4],[941,4]]},"546":{"position":[[258,4],[266,4]]},"585":{"position":[[29,4]]},"597":{"position":[[36,4]]},"645":{"position":[[459,4],[471,4]]}}}],["header",{"_index":770,"t":{"113":{"position":[[433,6],[726,7],[862,7]]},"195":{"position":[[117,6],[124,6],[258,6],[323,6],[476,6],[484,6]]},"235":{"position":[[731,7],[751,7],[770,7],[2028,7],[2046,7],[2092,6],[2191,7],[2216,7]]},"239":{"position":[[42,6],[306,7],[444,7],[832,7]]},"243":{"position":[[125,7]]},"261":{"position":[[492,6],[518,6],[553,6],[634,6],[714,6],[740,6],[760,6],[795,6]]},"268":{"position":[[23,6]]},"270":{"position":[[590,6],[616,6],[651,6],[734,6],[853,6],[879,6],[899,6],[934,6]]}}}],["hello",{"_index":999,"t":{"189":{"position":[[27,5]]},"380":{"position":[[529,5]]},"422":{"position":[[660,5]]},"519":{"position":[[516,5],[797,5]]},"521":{"position":[[339,5]]},"527":{"position":[[291,5]]},"531":{"position":[[260,5],[914,5]]},"538":{"position":[[66,5]]},"540":{"position":[[283,5]]},"575":{"position":[[149,5]]},"585":{"position":[[428,5]]},"614":{"position":[[114,5]]},"616":{"position":[[228,5]]},"632":{"position":[[125,5]]},"643":{"position":[[170,5],[204,5]]},"645":{"position":[[271,5],[514,5]]},"649":{"position":[[320,5]]},"663":{"position":[[827,5]]},"708":{"position":[[190,5]]},"730":{"position":[[78,5]]},"792":{"position":[[163,5]]}}}],["help",{"_index":1700,"t":{"386":{"position":[[428,4]]},"388":{"position":[[234,4]]},"390":{"position":[[12,4]]}}}],["here",{"_index":1559,"t":{"315":{"position":[[1375,4]]},"317":{"position":[[228,4],[640,4],[988,4],[1341,4],[1795,4],[2314,4],[3056,4]]}}}],["hidden",{"_index":951,"t":{"179":{"position":[[427,6],[520,6]]}}}],["histori",{"_index":1613,"t":{"328":{"position":[[4,7],[37,7],[104,7],[155,7]]},"334":{"position":[[29,7]]},"628":{"position":[[4,7],[33,7],[78,7]]},"710":{"position":[[14,7],[50,7],[117,7],[168,7]]}}}],["historypush",{"_index":1614,"t":{"328":{"position":[[75,11]]},"710":{"position":[[88,11]]}}}],["hk",{"_index":710,"t":{"98":{"position":[[342,2]]}}}],["home",{"_index":365,"t":{"39":{"position":[[168,4]]},"49":{"position":[[149,4],[170,4]]},"55":{"position":[[67,4]]},"94":{"position":[[18,4],[54,4]]},"100":{"position":[[274,4],[303,4],[344,4],[368,4]]},"107":{"position":[[251,4]]},"109":{"position":[[236,4],[432,4]]},"115":{"position":[[640,4]]},"179":{"position":[[174,4]]},"212":{"position":[[148,4],[188,4],[256,4]]},"226":{"position":[[108,4],[303,4]]},"230":{"position":[[763,4]]},"232":{"position":[[381,4]]},"282":{"position":[[90,4]]},"286":{"position":[[53,4],[62,4],[158,4]]},"288":{"position":[[43,4],[52,4],[163,4]]},"290":{"position":[[10,4],[119,4]]},"319":{"position":[[547,4],[573,4]]},"326":{"position":[[45,4]]},"330":{"position":[[86,4],[117,4],[162,4],[263,4]]},"332":{"position":[[222,4],[260,4],[535,4]]},"334":{"position":[[154,4],[277,4]]},"336":{"position":[[91,4],[198,4]]},"338":{"position":[[249,4],[330,4]]},"342":{"position":[[50,4],[134,4],[187,4]]},"344":{"position":[[284,4]]},"348":{"position":[[297,4],[537,4]]},"352":{"position":[[112,4],[193,4]]},"370":{"position":[[335,4],[362,4]]},"378":{"position":[[68,4]]},"380":{"position":[[71,4]]},"382":{"position":[[10,4],[87,4]]},"490":{"position":[[237,4]]},"519":{"position":[[351,4],[747,4]]},"521":{"position":[[289,4]]},"527":{"position":[[241,4]]},"529":{"position":[[353,4]]},"531":{"position":[[194,4],[809,4]]},"575":{"position":[[99,4]]},"581":{"position":[[132,4]]},"585":{"position":[[402,4]]},"614":{"position":[[91,4]]},"618":{"position":[[468,4],[489,4],[509,4],[533,4]]},"632":{"position":[[99,4]]},"645":{"position":[[157,4],[221,4],[365,4]]},"649":{"position":[[270,4]]},"659":{"position":[[135,4],[210,4],[244,4]]},"663":{"position":[[484,4]]},"670":{"position":[[43,4],[66,4],[91,4],[114,4],[211,4]]},"699":{"position":[[195,4],[388,4]]},"708":{"position":[[164,4]]},"712":{"position":[[90,4],[128,4],[232,4]]},"730":{"position":[[54,4]]}}}],["homepag",{"_index":1183,"t":{"230":{"position":[[565,8]]},"232":{"position":[[223,8]]}}}],["homestor",{"_index":1422,"t":{"290":{"position":[[69,9],[167,9]]}}}],["hook",{"_index":453,"t":{"51":{"position":[[43,5]]},"107":{"position":[[29,4]]},"344":{"position":[[203,4]]},"380":{"position":[[51,4]]},"630":{"position":[[20,4]]},"699":{"position":[[273,5]]}}}],["host",{"_index":1502,"t":{"315":{"position":[[114,4]]},"386":{"position":[[202,4],[208,4]]}}}],["href",{"_index":598,"t":{"85":{"position":[[384,4],[430,4]]},"87":{"position":[[272,4],[313,4]]},"348":{"position":[[404,4]]},"408":{"position":[[251,4]]},"585":{"position":[[209,4],[274,4],[467,4]]}}}],["html",{"_index":507,"t":{"74":{"position":[[54,4]]},"80":{"position":[[153,4],[173,4],[203,4]]},"85":{"position":[[163,4],[170,4],[622,4]]},"87":{"position":[[51,4],[58,4],[495,4]]},"117":{"position":[[51,4],[350,4],[395,4],[442,4],[461,4],[478,4]]},"137":{"position":[[669,4]]},"346":{"position":[[327,4],[374,4]]},"408":{"position":[[219,4],[303,4]]},"432":{"position":[[327,4],[581,4]]},"472":{"position":[[29,4],[64,4]]},"478":{"position":[[167,4]]},"490":{"position":[[322,4]]},"508":{"position":[[0,4],[29,4],[41,4]]},"533":{"position":[[35,4]]},"535":{"position":[[107,4],[341,4],[537,4]]},"540":{"position":[[33,4],[146,4],[262,4]]},"542":{"position":[[44,4],[94,4],[198,4]]},"544":{"position":[[188,4],[346,4],[435,4],[555,4],[644,4],[767,4],[854,4],[973,4]]},"546":{"position":[[251,4],[298,4]]},"579":{"position":[[17,4]]},"645":{"position":[[66,4],[440,4],[452,4],[566,4]]},"653":{"position":[[77,4]]},"692":{"position":[[5,4]]},"720":{"position":[[810,4],[845,4],[919,4],[931,4],[948,4],[968,4]]},"728":{"position":[[235,4]]},"730":{"position":[[21,4]]},"733":{"position":[[146,4],[188,4],[304,4],[316,4],[438,4]]},"735":{"position":[[415,4],[427,4]]},"741":{"position":[[0,4]]},"743":{"position":[[0,4],[133,4]]},"821":{"position":[[95,4]]}}}],["html4",{"_index":2305,"t":{"733":{"position":[[207,5],[217,5],[232,5]]}}}],["html5",{"_index":2307,"t":{"733":{"position":[[323,5],[343,5],[369,5],[450,5]]}}}],["htmlelement",{"_index":2350,"t":{"747":{"position":[[35,11]]}}}],["http",{"_index":257,"t":{"21":{"position":[[6,5]]},"85":{"position":[[214,4],[923,4],[1028,4],[1101,5],[1182,4],[1209,4]]},"87":{"position":[[102,4]]},"137":{"position":[[586,5]]},"222":{"position":[[14,4]]},"235":{"position":[[1883,4],[1961,4],[2041,4]]},"248":{"position":[[79,4]]},"250":{"position":[[367,4],[411,5]]},"307":{"position":[[170,5]]},"315":{"position":[[311,5]]},"384":{"position":[[103,5],[168,5],[197,5]]},"386":{"position":[[269,5],[276,5],[294,5]]},"408":{"position":[[458,4]]},"432":{"position":[[389,5],[485,5]]},"436":{"position":[[190,4]]},"478":{"position":[[75,5],[449,5]]},"482":{"position":[[127,5]]},"484":{"position":[[104,5]]},"519":{"position":[[446,5],[951,5]]},"521":{"position":[[630,5]]},"527":{"position":[[488,5]]},"529":{"position":[[207,5]]},"531":{"position":[[426,5],[529,5],[1137,5],[1239,5]]},"585":{"position":[[281,5],[473,5]]},"587":{"position":[[178,5]]},"589":{"position":[[351,5]]},"595":{"position":[[157,4]]},"597":{"position":[[85,4]]},"649":{"position":[[457,5]]},"657":{"position":[[408,5],[791,5]]},"684":{"position":[[361,5]]},"762":{"position":[[11,5]]},"768":{"position":[[843,5],[852,5]]},"819":{"position":[[112,4]]}}}],["hydrat",{"_index":1640,"t":{"344":{"position":[[29,7],[215,7]]},"348":{"position":[[43,7],[223,7]]}}}],["i18n",{"_index":673,"t":{"96":{"position":[[12,4],[116,4],[133,4],[209,4]]},"98":{"position":[[42,4],[127,4],[150,4],[198,4]]},"100":{"position":[[103,4],[126,4],[174,4]]},"113":{"position":[[139,4],[162,4],[210,4]]},"115":{"position":[[241,4]]},"117":{"position":[[197,4],[220,4],[268,4]]}}}],["i18nconfig",{"_index":803,"t":{"115":{"position":[[267,10]]}}}],["i18next",{"_index":687,"t":{"96":{"position":[[158,7]]}}}],["i3",{"_index":2077,"t":{"589":{"position":[[378,2]]},"684":{"position":[[388,2]]}}}],["ic",{"_index":2,"t":{"2":{"position":[[4,3],[39,3]]},"4":{"position":[[233,3]]},"7":{"position":[[20,3]]},"9":{"position":[[0,3],[55,3],[79,3],[137,3],[163,3],[207,3]]},"15":{"position":[[5,3],[149,3]]},"21":{"position":[[33,3]]},"23":{"position":[[0,3]]},"25":{"position":[[18,3],[36,3],[58,3],[104,3],[133,3]]},"34":{"position":[[62,3],[108,3],[137,3]]},"37":{"position":[[13,3]]},"41":{"position":[[77,3],[123,3]]},"43":{"position":[[207,3],[218,3]]},"45":{"position":[[15,3],[36,3],[58,3],[104,3],[133,3]]},"47":{"position":[[204,3]]},"49":{"position":[[119,3],[317,3]]},"53":{"position":[[52,3]]},"55":{"position":[[52,3]]},"57":{"position":[[92,3]]},"59":{"position":[[79,3]]},"65":{"position":[[18,3],[48,3],[70,3],[116,3],[155,3]]},"82":{"position":[[65,3],[78,3],[109,3]]},"85":{"position":[[18,3],[40,3],[59,3],[334,3],[513,3]]},"87":{"position":[[222,3],[391,3]]},"94":{"position":[[147,3]]},"96":{"position":[[0,3]]},"98":{"position":[[31,3],[54,3],[110,3],[139,3]]},"100":{"position":[[86,3],[115,3]]},"103":{"position":[[64,3]]},"105":{"position":[[68,3]]},"107":{"position":[[121,3],[221,3]]},"109":{"position":[[120,3],[221,3]]},"111":{"position":[[148,3],[598,3]]},"113":{"position":[[122,3],[151,3],[338,3],[409,3]]},"115":{"position":[[34,3],[93,3],[230,3],[610,3]]},"117":{"position":[[180,3],[209,3]]},"126":{"position":[[42,3],[65,3]]},"129":{"position":[[36,3]]},"131":{"position":[[31,3]]},"135":{"position":[[20,3]]},"137":{"position":[[14,3],[60,3],[93,3],[295,3],[654,3]]},"139":{"position":[[14,3],[60,3],[93,3],[244,3],[295,3]]},"144":{"position":[[272,3]]},"150":{"position":[[0,3]]},"152":{"position":[[18,3],[38,3],[60,3],[106,3],[137,3]]},"157":{"position":[[40,3],[86,3],[117,3]]},"159":{"position":[[62,3],[108,3],[139,3]]},"161":{"position":[[33,3],[79,3],[110,3],[397,3],[443,3],[474,3]]},"163":{"position":[[29,3],[256,3]]},"165":{"position":[[0,3],[78,3]]},"171":{"position":[[72,3]]},"175":{"position":[[19,3]]},"177":{"position":[[0,3],[217,3]]},"185":{"position":[[9,3],[40,3],[86,3],[118,3]]},"205":{"position":[[14,3],[41,3],[69,3],[102,3],[143,3]]},"212":{"position":[[18,3]]},"214":{"position":[[187,3],[226,3]]},"216":{"position":[[125,3],[164,3]]},"222":{"position":[[33,3]]},"224":{"position":[[22,3],[52,3],[86,3],[132,3],[164,3]]},"226":{"position":[[349,3]]},"232":{"position":[[150,3]]},"235":{"position":[[189,3]]},"237":{"position":[[1290,3]]},"239":{"position":[[139,3]]},"241":{"position":[[91,3],[366,3]]},"250":{"position":[[168,3],[520,3]]},"252":{"position":[[25,3]]},"257":{"position":[[94,3],[165,3],[340,3]]},"261":{"position":[[338,3]]},"266":{"position":[[100,3],[175,3],[402,3]]},"270":{"position":[[374,3]]},"272":{"position":[[14,3]]},"274":{"position":[[15,3],[37,3],[59,3],[105,3],[135,3]]},"278":{"position":[[85,3]]},"280":{"position":[[71,3]]},"286":{"position":[[207,3]]},"288":{"position":[[206,3]]},"290":{"position":[[250,3]]},"293":{"position":[[145,3],[301,3],[390,3],[532,3],[765,3]]},"295":{"position":[[131,3],[446,3],[953,3]]},"297":{"position":[[127,3]]},"299":{"position":[[92,3],[610,3]]},"303":{"position":[[60,3],[106,3],[136,3]]},"310":{"position":[[3,3]]},"313":{"position":[[26,3],[49,3],[73,3],[127,3],[143,3],[190,3],[240,3],[292,3],[342,3],[396,3],[450,3],[494,3],[540,3],[572,3]]},"315":{"position":[[12,3],[45,3],[82,3],[90,3],[1112,3],[1210,3],[1256,3],[1297,3]]},"317":{"position":[[63,3],[109,3],[150,3],[475,3],[521,3],[562,3],[823,3],[869,3],[910,3],[1176,3],[1222,3],[1263,3],[1630,3],[1676,3],[1717,3],[2124,3],[2170,3],[2236,3],[2898,3],[2944,3]]},"319":{"position":[[34,3],[163,3],[306,3],[371,3],[417,3]]},"321":{"position":[[21,3],[48,3],[70,3],[92,3],[138,3],[168,3],[308,3],[337,3],[361,3],[383,3],[429,3],[461,3],[656,3],[682,3],[703,3],[725,3],[771,3],[800,3]]},"324":{"position":[[62,3],[124,3]]},"326":{"position":[[88,3]]},"328":{"position":[[53,3]]},"330":{"position":[[71,3]]},"332":{"position":[[184,3]]},"334":{"position":[[124,3]]},"336":{"position":[[76,3]]},"338":{"position":[[101,3],[234,3]]},"342":{"position":[[104,3]]},"344":{"position":[[272,3]]},"346":{"position":[[224,3]]},"348":{"position":[[275,3],[474,3]]},"352":{"position":[[97,3]]},"354":{"position":[[106,3]]},"356":{"position":[[64,3]]},"358":{"position":[[68,3]]},"362":{"position":[[0,3]]},"364":{"position":[[58,3]]},"368":{"position":[[29,3]]},"370":{"position":[[257,3]]},"372":{"position":[[72,3],[113,3],[160,3]]},"376":{"position":[[39,3],[64,3]]},"378":{"position":[[31,3]]},"380":{"position":[[145,3],[535,3]]},"382":{"position":[[50,3]]},"384":{"position":[[68,3],[91,3]]},"386":{"position":[[23,3]]},"388":{"position":[[19,3]]},"390":{"position":[[8,3]]},"392":{"position":[[3,3],[17,3]]},"410":{"position":[[0,3],[26,3]]},"413":{"position":[[12,3],[23,3],[77,3]]},"418":{"position":[[58,3],[275,3]]},"420":{"position":[[102,3]]},"422":{"position":[[250,3],[708,3]]},"430":{"position":[[149,3]]},"432":{"position":[[115,3],[289,3]]},"436":{"position":[[115,3]]},"440":{"position":[[196,3],[418,3]]},"442":{"position":[[225,3],[491,3],[652,3]]},"444":{"position":[[142,3],[287,3]]},"448":{"position":[[150,3],[458,3]]},"454":{"position":[[298,3],[461,3],[738,3],[929,3]]},"456":{"position":[[206,3],[416,3],[991,3]]},"464":{"position":[[72,3]]},"470":{"position":[[93,3]]},"474":{"position":[[85,3],[162,3]]},"476":{"position":[[3,3],[155,3],[251,3]]},"478":{"position":[[335,3],[476,3]]},"490":{"position":[[0,3],[376,3]]},"512":{"position":[[10,3]]},"516":{"position":[[47,3],[57,3]]},"519":{"position":[[100,3],[522,3],[578,3],[702,3],[803,3]]},"521":{"position":[[244,3],[345,3]]},"523":{"position":[[213,3],[305,3],[449,3]]},"527":{"position":[[211,3],[297,3]]},"529":{"position":[[111,3],[323,3]]},"531":{"position":[[164,3],[779,3]]},"533":{"position":[[15,3]]},"535":{"position":[[69,3],[179,3]]},"544":{"position":[[150,3],[397,3],[606,3],[816,3]]},"546":{"position":[[80,3]]},"548":{"position":[[0,3],[54,3]]},"551":{"position":[[7,3]]},"553":{"position":[[0,3]]},"555":{"position":[[2,3],[98,3],[136,3]]},"557":{"position":[[31,3]]},"559":{"position":[[49,3],[69,3],[192,3]]},"561":{"position":[[0,3],[25,3]]},"563":{"position":[[3,3]]},"571":{"position":[[5,3]]},"575":{"position":[[69,3],[155,3]]},"581":{"position":[[66,3]]},"583":{"position":[[71,3]]},"585":{"position":[[127,3],[434,3]]},"587":{"position":[[101,3]]},"589":{"position":[[162,3]]},"591":{"position":[[136,3]]},"593":{"position":[[205,3],[251,3]]},"599":{"position":[[330,3]]},"607":{"position":[[0,3]]},"612":{"position":[[71,3]]},"614":{"position":[[120,3]]},"616":{"position":[[147,3],[234,3]]},"618":{"position":[[107,3]]},"626":{"position":[[0,3]]},"628":{"position":[[49,3]]},"630":{"position":[[62,3]]},"632":{"position":[[69,3],[131,3],[165,3]]},"635":{"position":[[60,3]]},"637":{"position":[[68,3]]},"639":{"position":[[58,3]]},"641":{"position":[[6,3],[101,3],[147,3]]},"643":{"position":[[41,3],[87,3]]},"645":{"position":[[78,3],[191,3],[277,3],[493,3],[520,3]]},"649":{"position":[[240,3],[326,3]]},"651":{"position":[[2,3],[27,3],[73,3]]},"655":{"position":[[11,3],[42,3],[67,3],[113,3]]},"657":{"position":[[298,3],[691,3]]},"659":{"position":[[0,3],[284,3]]},"666":{"position":[[0,3],[226,3],[329,3]]},"675":{"position":[[4,3]]},"677":{"position":[[28,3]]},"684":{"position":[[172,3]]},"688":{"position":[[0,3]]},"690":{"position":[[12,3],[268,3]]},"697":{"position":[[130,3]]},"699":{"position":[[358,3]]},"701":{"position":[[97,3],[171,3],[208,3]]},"705":{"position":[[10,3],[98,3]]},"708":{"position":[[0,3],[134,3],[196,3],[230,3]]},"710":{"position":[[3,3],[66,3]]},"712":{"position":[[75,3]]},"714":{"position":[[0,3]]},"716":{"position":[[9,3]]},"718":{"position":[[13,3],[17,3],[37,3],[63,3]]},"720":{"position":[[5,3],[101,3],[130,3],[184,3],[227,3],[256,3],[310,3],[372,3],[402,3],[438,3],[475,3],[500,3],[522,3],[559,3],[907,3]]},"722":{"position":[[233,3]]},"724":{"position":[[45,3]]},"728":{"position":[[12,3],[97,3],[319,3]]},"730":{"position":[[0,3]]},"733":{"position":[[0,3],[134,3],[176,3],[292,3],[426,3]]},"735":{"position":[[403,3]]},"745":{"position":[[295,3],[343,3]]},"747":{"position":[[118,3]]},"751":{"position":[[0,3]]},"756":{"position":[[0,3]]},"758":{"position":[[0,3],[76,3]]},"760":{"position":[[204,3],[477,3],[633,3],[679,3]]},"762":{"position":[[30,3],[117,3],[283,3],[707,3],[763,3],[889,3],[977,3],[1135,3],[1181,3],[1216,3]]},"766":{"position":[[119,3]]},"772":{"position":[[8,3]]},"782":{"position":[[415,3],[456,3],[643,3],[689,3],[910,3]]},"786":{"position":[[49,3],[259,3]]},"792":{"position":[[169,3]]},"817":{"position":[[24,3],[28,3],[83,3],[87,3],[107,3],[272,3]]},"819":{"position":[[26,3]]},"823":{"position":[[34,3],[38,3],[58,3],[84,3],[173,3],[202,3],[256,3],[299,3],[328,3],[382,3]]}}}],["ice_",{"_index":2030,"t":{"548":{"position":[[54,4]]},"559":{"position":[[49,4]]}}}],["ice_app_id",{"_index":2043,"t":{"559":{"position":[[69,10],[192,10]]}}}],["ice_core_",{"_index":2047,"t":{"561":{"position":[[25,9]]}}}],["ice_disable_foo",{"_index":2041,"t":{"555":{"position":[[98,15],[136,15]]}}}],["ice_local",{"_index":731,"t":{"107":{"position":[[121,10]]},"109":{"position":[[120,10]]},"113":{"position":[[338,10],[409,10]]},"115":{"position":[[34,10],[93,10]]}}}],["icedesign",{"_index":826,"t":{"129":{"position":[[60,9]]},"131":{"position":[[51,9]]}}}],["icej",{"_index":2369,"t":{"762":{"position":[[38,5]]}}}],["icestark",{"_index":71,"t":{"4":{"position":[[192,8]]},"126":{"position":[[0,8],[53,8]]},"129":{"position":[[40,8],[88,8]]},"131":{"position":[[35,8],[78,8]]},"135":{"position":[[31,8]]},"137":{"position":[[77,8],[104,8],[188,8],[306,8],[396,8],[632,8],[686,8]]},"139":{"position":[[77,8],[104,8],[183,8],[306,8],[336,8]]},"144":{"position":[[283,8],[373,8]]},"146":{"position":[[4,8]]},"159":{"position":[[245,8]]}}}],["icestor",{"_index":1408,"t":{"272":{"position":[[24,8]]}}}],["icework",{"_index":844,"t":{"137":{"position":[[594,8]]}}}],["ico",{"_index":1740,"t":{"408":{"position":[[58,3],[112,3],[266,3]]},"490":{"position":[[127,3]]},"502":{"position":[[19,3]]}}}],["icon",{"_index":597,"t":{"85":{"position":[[378,4]]},"87":{"position":[[266,4]]},"408":{"position":[[245,4],[441,4],[475,4]]},"585":{"position":[[202,4]]},"589":{"position":[[343,4]]},"684":{"position":[[353,4]]}}}],["id",{"_index":603,"t":{"85":{"position":[[509,2]]},"87":{"position":[[387,2]]},"205":{"position":[[329,2],[336,2]]},"214":{"position":[[326,2],[334,2]]},"216":{"position":[[264,2],[271,2]]},"226":{"position":[[458,2],[498,2]]},"235":{"position":[[946,2]]},"237":{"position":[[1590,2],[1656,2]]},"241":{"position":[[535,2],[604,2]]},"278":{"position":[[122,2],[206,2],[443,2]]},"282":{"position":[[287,2]]},"317":{"position":[[3095,2],[3116,2],[3146,2]]},"368":{"position":[[12,2]]},"448":{"position":[[17,2],[268,2],[282,2]]},"486":{"position":[[5,3],[39,3]]},"559":{"position":[[77,2],[200,2]]},"595":{"position":[[87,2],[111,2]]},"597":{"position":[[139,2],[163,2],[219,2],[243,2]]},"599":{"position":[[144,2],[168,2],[236,2],[375,2],[432,2],[471,2],[475,2]]},"603":{"position":[[167,2]]},"618":{"position":[[667,2],[708,2],[739,2],[763,2]]},"620":{"position":[[39,2],[79,2]]},"639":{"position":[[80,2],[188,2]]},"645":{"position":[[489,2]]},"701":{"position":[[313,2]]},"758":{"position":[[118,2],[290,2]]}}}],["ie",{"_index":583,"t":{"85":{"position":[[252,2]]},"87":{"position":[[140,2]]},"446":{"position":[[335,2]]}}}],["ignor",{"_index":944,"t":{"179":{"position":[[99,6]]},"454":{"position":[[60,7],[164,7],[397,7],[518,7]]}}}],["ignorefil",{"_index":1607,"t":{"319":{"position":[[487,11]]},"456":{"position":[[20,11],[103,11],[297,11]]},"641":{"position":[[83,11],[197,11]]}}}],["ignorehtmltempl",{"_index":1547,"t":{"315":{"position":[[885,18]]}}}],["ignorepattern",{"_index":1833,"t":{"454":{"position":[[69,13]]}}}],["imag",{"_index":1721,"t":{"400":{"position":[[24,5]]},"585":{"position":[[238,5]]},"735":{"position":[[88,5]]},"749":{"position":[[54,5]]}}}],["img",{"_index":1720,"t":{"398":{"position":[[89,3]]},"589":{"position":[[359,3]]},"684":{"position":[[369,3]]},"735":{"position":[[200,3]]},"749":{"position":[[12,3],[93,3]]}}}],["immer",{"_index":1458,"t":{"299":{"position":[[43,5],[490,5],[543,5]]}}}],["import",{"_index":272,"t":{"23":{"position":[[74,6],[294,6]]},"25":{"position":[[73,6],[114,6]]},"34":{"position":[[77,6],[118,6]]},"39":{"position":[[27,6],[112,6]]},"41":{"position":[[92,6]]},"45":{"position":[[73,6],[114,6]]},"47":{"position":[[169,6]]},"49":{"position":[[85,6],[283,6]]},"53":{"position":[[0,6],[27,6]]},"55":{"position":[[0,6],[27,6]]},"57":{"position":[[40,6],[67,6],[98,6]]},"59":{"position":[[44,6]]},"65":{"position":[[85,6],[126,6]]},"94":{"position":[[114,6]]},"98":{"position":[[79,6],[120,6]]},"100":{"position":[[55,6],[96,6]]},"103":{"position":[[33,6]]},"105":{"position":[[34,6]]},"107":{"position":[[194,6]]},"109":{"position":[[193,6]]},"111":{"position":[[87,6],[545,6]]},"113":{"position":[[91,6],[132,6],[515,6],[546,6]]},"115":{"position":[[195,6],[352,6],[577,6]]},"117":{"position":[[149,6],[190,6]]},"137":{"position":[[29,6],[70,6],[255,6],[323,6],[569,6]]},"139":{"position":[[29,6],[70,6],[259,6]]},"144":{"position":[[232,6],[300,6]]},"150":{"position":[[78,6],[300,6]]},"152":{"position":[[75,6],[116,6]]},"157":{"position":[[55,6],[96,6]]},"159":{"position":[[77,6],[118,6]]},"161":{"position":[[48,6],[89,6],[341,6],[412,6],[453,6]]},"177":{"position":[[184,6]]},"179":{"position":[[65,6]]},"185":{"position":[[55,6],[96,6]]},"205":{"position":[[119,6]]},"210":{"position":[[184,6]]},"212":{"position":[[197,6],[234,6]]},"214":{"position":[[86,6],[202,6]]},"216":{"position":[[140,6]]},"224":{"position":[[101,6],[142,6]]},"226":{"position":[[324,6]]},"230":{"position":[[139,6],[488,6],[530,6]]},"232":{"position":[[80,6],[122,6],[156,6]]},"235":{"position":[[164,6]]},"237":{"position":[[1262,6]]},"239":{"position":[[101,6]]},"241":{"position":[[53,6],[341,6]]},"250":{"position":[[130,6],[482,6]]},"257":{"position":[[59,6],[305,6]]},"259":{"position":[[115,6]]},"261":{"position":[[222,6],[303,6],[650,6],[707,6]]},"266":{"position":[[63,6],[365,6]]},"268":{"position":[[62,6],[101,6]]},"270":{"position":[[171,6],[230,6],[337,6],[386,6],[750,6],[789,6],[846,6]]},"274":{"position":[[74,6],[115,6]]},"278":{"position":[[56,6]]},"280":{"position":[[42,6],[77,6]]},"282":{"position":[[0,6],[37,6]]},"286":{"position":[[178,6]]},"288":{"position":[[177,6],[212,6]]},"290":{"position":[[25,6],[62,6]]},"293":{"position":[[116,6],[151,6],[185,6],[272,6],[361,6],[496,6]]},"295":{"position":[[102,6],[417,6],[924,6]]},"297":{"position":[[98,6]]},"299":{"position":[[63,6],[581,6]]},"301":{"position":[[76,6]]},"303":{"position":[[75,6],[116,6]]},"305":{"position":[[44,6]]},"313":{"position":[[509,6],[550,6]]},"315":{"position":[[1225,6],[1266,6]]},"317":{"position":[[78,6],[119,6],[490,6],[531,6],[838,6],[879,6],[1191,6],[1232,6],[1645,6],[1686,6],[2139,6],[2180,6],[2913,6],[2954,6]]},"319":{"position":[[10,6],[130,6],[386,6]]},"321":{"position":[[107,6],[148,6],[398,6],[439,6],[740,6],[781,6]]},"324":{"position":[[29,6]]},"326":{"position":[[54,6]]},"328":{"position":[[28,6]]},"330":{"position":[[44,6]]},"332":{"position":[[151,6]]},"334":{"position":[[95,6]]},"336":{"position":[[47,6]]},"338":{"position":[[67,6],[206,6]]},"342":{"position":[[59,6]]},"344":{"position":[[244,6]]},"346":{"position":[[193,6]]},"348":{"position":[[247,6],[446,6],[480,6]]},"352":{"position":[[75,6]]},"354":{"position":[[82,6]]},"356":{"position":[[32,6]]},"358":{"position":[[34,6]]},"364":{"position":[[25,6]]},"370":{"position":[[224,6]]},"372":{"position":[[39,6],[78,6]]},"378":{"position":[[0,6]]},"380":{"position":[[80,6],[114,6]]},"382":{"position":[[19,6]]},"398":{"position":[[0,6]]},"404":{"position":[[48,6]]},"406":{"position":[[24,6]]},"413":{"position":[[46,6]]},"418":{"position":[[111,6],[169,6],[229,6],[244,6]]},"420":{"position":[[71,6]]},"422":{"position":[[97,6],[142,6],[219,6]]},"430":{"position":[[118,6]]},"432":{"position":[[84,6],[258,6]]},"436":{"position":[[84,6]]},"440":{"position":[[165,6],[387,6]]},"442":{"position":[[194,6],[460,6],[621,6]]},"444":{"position":[[111,6]]},"448":{"position":[[119,6],[160,6]]},"454":{"position":[[267,6],[430,6],[707,6],[898,6]]},"456":{"position":[[175,6],[385,6],[960,6]]},"470":{"position":[[62,6]]},"474":{"position":[[54,6],[95,6],[139,6]]},"476":{"position":[[220,6],[261,6]]},"478":{"position":[[304,6]]},"519":{"position":[[282,6],[659,6]]},"521":{"position":[[194,6]]},"523":{"position":[[417,6]]},"527":{"position":[[168,6]]},"529":{"position":[[77,6],[295,6]]},"531":{"position":[[121,6],[736,6]]},"535":{"position":[[18,6]]},"544":{"position":[[119,6],[368,6],[577,6],[788,6]]},"546":{"position":[[49,6]]},"559":{"position":[[98,6]]},"575":{"position":[[44,6]]},"581":{"position":[[32,6]]},"583":{"position":[[37,6]]},"585":{"position":[[93,6]]},"587":{"position":[[67,6]]},"589":{"position":[[128,6]]},"593":{"position":[[220,6]]},"599":{"position":[[289,6]]},"603":{"position":[[47,6]]},"605":{"position":[[43,6],[81,6]]},"616":{"position":[[123,6]]},"628":{"position":[[24,6]]},"630":{"position":[[33,6]]},"632":{"position":[[47,6]]},"635":{"position":[[31,6]]},"637":{"position":[[35,6]]},"639":{"position":[[31,6]]},"641":{"position":[[116,6]]},"643":{"position":[[56,6]]},"645":{"position":[[166,6]]},"649":{"position":[[173,6]]},"651":{"position":[[42,6]]},"655":{"position":[[82,6]]},"657":{"position":[[231,6],[624,6]]},"659":{"position":[[76,6],[112,6],[179,6]]},"663":{"position":[[128,9],[149,9],[434,6],[664,6],[710,6]]},"677":{"position":[[106,6]]},"684":{"position":[[138,6]]},"697":{"position":[[92,6]]},"699":{"position":[[324,6]]},"701":{"position":[[186,6]]},"708":{"position":[[112,6]]},"710":{"position":[[41,6]]},"712":{"position":[[48,6]]},"720":{"position":[[537,6],[898,6]]},"733":{"position":[[283,6],[417,6]]},"735":{"position":[[394,6]]},"747":{"position":[[184,6]]},"758":{"position":[[46,6]]},"760":{"position":[[144,6],[174,6],[440,6],[648,6],[691,6]]},"762":{"position":[[367,6],[478,6],[677,6],[940,6],[1150,6],[1193,6]]},"782":{"position":[[431,6],[659,6],[945,6]]},"786":{"position":[[19,6],[222,6]]},"792":{"position":[[15,6]]},"794":{"position":[[26,6]]},"796":{"position":[[32,6]]},"798":{"position":[[32,6]]}}}],["importstyl",{"_index":319,"t":{"25":{"position":[[206,11]]},"152":{"position":[[214,11]]},"155":{"position":[[99,11]]},"161":{"position":[[187,11],[551,11]]}}}],["includ",{"_index":1071,"t":{"205":{"position":[[339,8]]},"214":{"position":[[337,8]]},"216":{"position":[[274,8]]},"266":{"position":[[333,7],[460,7]]},"317":{"position":[[3149,8]]},"448":{"position":[[285,8]]}}}],["increment",{"_index":1439,"t":{"295":{"position":[[513,9],[1000,9],[1141,9]]}}}],["index",{"_index":444,"t":{"49":{"position":[[55,5]]},"80":{"position":[[147,5]]},"85":{"position":[[142,5],[458,5],[592,5],[900,5]]},"87":{"position":[[31,5],[336,5],[465,5],[564,5],[589,5],[676,5]]},"113":{"position":[[591,5]]},"117":{"position":[[81,5],[129,5],[389,5],[436,5],[455,5],[472,5]]},"137":{"position":[[663,5]]},"191":{"position":[[209,5]]},"195":{"position":[[171,5],[401,5],[419,5],[542,5]]},"226":{"position":[[253,5]]},"286":{"position":[[125,5]]},"288":{"position":[[143,5]]},"290":{"position":[[15,5]]},"319":{"position":[[552,5],[578,5]]},"380":{"position":[[339,5]]},"456":{"position":[[1349,5]]},"490":{"position":[[83,5]]},"508":{"position":[[23,5]]},"514":{"position":[[58,5],[81,5]]},"519":{"position":[[272,5],[649,5]]},"521":{"position":[[184,5]]},"527":{"position":[[158,5]]},"575":{"position":[[34,5]]},"585":{"position":[[368,5]]},"587":{"position":[[203,5]]},"589":{"position":[[118,5]]},"593":{"position":[[75,5],[133,5]]},"612":{"position":[[183,5],[206,5]]},"614":{"position":[[57,5]]},"618":{"position":[[494,5],[538,5],[680,5]]},"624":{"position":[[22,5],[71,5],[99,5],[121,5],[156,5],[194,5],[206,5],[229,5],[247,5]]},"632":{"position":[[37,5]]},"649":{"position":[[163,5]]},"659":{"position":[[91,5],[101,5],[189,5]]},"663":{"position":[[339,5],[364,5],[374,5],[391,5],[456,5],[690,5],[736,5]]},"670":{"position":[[48,5],[216,5]]},"682":{"position":[[165,5],[207,5]]},"684":{"position":[[128,5]]},"699":{"position":[[137,5],[314,5],[538,5]]},"705":{"position":[[210,5],[233,5]]},"708":{"position":[[102,5]]},"710":{"position":[[288,5]]},"720":{"position":[[783,5],[795,5]]},"760":{"position":[[50,5],[113,5],[725,5]]},"762":{"position":[[162,5],[353,5],[383,5],[412,5],[464,5],[502,5],[539,5],[569,5],[596,5],[652,5]]},"821":{"position":[[75,5],[89,5],[128,5]]}}}],["indexof",{"_index":2029,"t":{"546":{"position":[[193,7]]}}}],["indic",{"_index":1224,"t":{"235":{"position":[[1330,9],[1479,9]]}}}],["info",{"_index":1421,"t":{"286":{"position":[[109,4],[170,4]]},"288":{"position":[[97,4],[219,4],[239,4],[274,4]]},"290":{"position":[[187,4]]},"336":{"position":[[161,4]]},"440":{"position":[[332,4]]},"817":{"position":[[178,4]]}}}],["infodispatch",{"_index":1424,"t":{"290":{"position":[[148,15],[217,15]]}}}],["infost",{"_index":1423,"t":{"290":{"position":[[137,9],[283,9]]}}}],["init",{"_index":566,"t":{"85":{"position":[[78,4]]},"129":{"position":[[31,4]]},"131":{"position":[[26,4]]}}}],["initi",{"_index":1999,"t":{"535":{"position":[[246,7]]},"817":{"position":[[205,10]]}}}],["initialauth",{"_index":428,"t":{"47":{"position":[[115,11],[357,11]]},"59":{"position":[[169,11]]},"372":{"position":[[241,11]]}}}],["initialdata",{"_index":1279,"t":{"237":{"position":[[570,11]]}}}],["initialentri",{"_index":1667,"t":{"370":{"position":[[132,14],[148,14],[199,12],[343,14]]}}}],["initialst",{"_index":1425,"t":{"293":{"position":[[16,13],[687,13],[707,13]]}}}],["inlin",{"_index":1124,"t":{"216":{"position":[[284,6]]},"663":{"position":[[141,6]]},"735":{"position":[[359,6]]}}}],["inlinestyl",{"_index":1067,"t":{"205":{"position":[[229,11],[315,11]]},"212":{"position":[[0,11],[44,11],[352,11]]},"214":{"position":[[34,11],[312,11]]},"216":{"position":[[6,11],[112,11],[250,11]]}}}],["inner",{"_index":2341,"t":{"745":{"position":[[72,5],[226,5],[387,5]]}}}],["input",{"_index":952,"t":{"179":{"position":[[450,5],[542,5]]},"743":{"position":[[43,5],[69,5]]}}}],["instal",{"_index":548,"t":{"82":{"position":[[30,7]]},"129":{"position":[[113,7]]},"131":{"position":[[99,7]]},"482":{"position":[[180,7],[220,7]]},"484":{"position":[[207,7]]},"718":{"position":[[77,7]]},"720":{"position":[[429,7],[466,7]]},"733":{"position":[[167,7]]},"817":{"position":[[284,7]]},"819":{"position":[[47,7]]},"823":{"position":[[98,7]]}}}],["instanc",{"_index":1238,"t":{"235":{"position":[[1716,8],[2401,8],[2461,8]]}}}],["instancenam",{"_index":1239,"t":{"235":{"position":[[1730,12]]},"241":{"position":[[260,12],[564,12]]}}}],["interceptor",{"_index":1322,"t":{"239":{"position":[[351,12]]}}}],["interfac",{"_index":1411,"t":{"278":{"position":[[91,9]]},"758":{"position":[[92,9]]}}}],["intl",{"_index":686,"t":{"96":{"position":[[147,4]]}}}],["iphone6",{"_index":2199,"t":{"666":{"position":[[134,7]]}}}],["isadmin",{"_index":993,"t":{"185":{"position":[[273,7],[330,7]]}}}],["isclient",{"_index":2151,"t":{"657":{"position":[[376,8]]}}}],["isload",{"_index":1467,"t":{"301":{"position":[[50,9],[352,9]]}}}],["isminiapp",{"_index":2229,"t":{"677":{"position":[[115,9],[236,9]]}}}],["isserv",{"_index":2152,"t":{"657":{"position":[[450,8]]}}}],["issu",{"_index":231,"t":{"15":{"position":[[182,5]]},"21":{"position":[[37,6]]},"23":{"position":[[150,5]]},"150":{"position":[[154,5]]},"478":{"position":[[480,6]]}}}],["iswechatminiprogram",{"_index":2230,"t":{"677":{"position":[[126,19],[187,19]]}}}],["item",{"_index":995,"t":{"185":{"position":[[387,4],[415,4]]},"191":{"position":[[45,4],[59,4],[84,4],[111,4],[202,4]]},"195":{"position":[[151,4],[186,4],[395,4],[428,4],[510,4],[557,4]]},"199":{"position":[[20,4],[85,4]]},"226":{"position":[[620,4],[642,4],[655,4],[676,4]]}}}],["itemid",{"_index":1994,"t":{"531":{"position":[[575,6],[1285,6]]}}}],["iteminfo",{"_index":1993,"t":{"531":{"position":[[220,8],[310,8],[505,8],[553,8],[593,8],[835,8],[966,8],[1215,8],[1263,8],[1303,8]]}}}],["j",{"_index":1371,"t":{"257":{"position":[[411,1]]},"317":{"position":[[3129,1]]}}}],["javascript",{"_index":194,"t":{"11":{"position":[[48,10]]},"15":{"position":[[49,10]]},"85":{"position":[[554,10]]},"87":{"position":[[432,10]]},"212":{"position":[[119,10]]},"540":{"position":[[222,10]]}}}],["jest",{"_index":1358,"t":{"252":{"position":[[8,4],[63,4]]},"255":{"position":[[8,4],[51,4],[61,4]]},"257":{"position":[[15,4],[43,4],[179,4],[196,4],[232,4],[258,4],[280,4],[289,4],[430,4],[615,4]]},"261":{"position":[[55,4],[104,4],[144,4],[168,4],[208,4],[247,4],[262,4],[287,4],[416,4],[453,4],[597,4],[862,4]]},"268":{"position":[[5,4]]},"270":{"position":[[62,4],[210,4]]}}}],["join",{"_index":610,"t":{"85":{"position":[[800,4]]},"760":{"position":[[381,4]]}}}],["jozb",{"_index":2079,"t":{"589":{"position":[[395,4]]},"684":{"position":[[405,4]]}}}],["jpeg",{"_index":1707,"t":{"396":{"position":[[38,4]]}}}],["jpg",{"_index":1705,"t":{"396":{"position":[[27,3]]}}}],["js",{"_index":12,"t":{"2":{"position":[[43,2]]},"4":{"position":[[261,2]]},"7":{"position":[[24,2]]},"9":{"position":[[4,2],[59,2],[83,2],[141,2],[167,2],[211,2]]},"15":{"position":[[9,2],[153,2]]},"23":{"position":[[4,2],[381,2]]},"37":{"position":[[17,2],[45,2]]},"43":{"position":[[211,2]]},"74":{"position":[[47,2]]},"82":{"position":[[82,2]]},"85":{"position":[[589,2],[598,2],[641,2],[1166,2]]},"87":{"position":[[462,2],[471,2]]},"92":{"position":[[5,2]]},"96":{"position":[[4,2]]},"126":{"position":[[69,2]]},"150":{"position":[[4,2]]},"163":{"position":[[33,2],[188,2],[260,2]]},"165":{"position":[[4,2],[71,2],[82,2]]},"171":{"position":[[76,2]]},"175":{"position":[[23,2]]},"177":{"position":[[4,2]]},"183":{"position":[[22,2],[72,2]]},"203":{"position":[[25,2],[81,2],[113,2]]},"205":{"position":[[45,2]]},"218":{"position":[[36,2]]},"220":{"position":[[35,2]]},"222":{"position":[[37,2]]},"235":{"position":[[2418,2]]},"252":{"position":[[29,2]]},"257":{"position":[[169,2]]},"266":{"position":[[179,2],[489,2]]},"270":{"position":[[126,2],[168,2],[529,2]]},"272":{"position":[[18,2]]},"293":{"position":[[769,2]]},"310":{"position":[[7,2]]},"313":{"position":[[30,2],[454,2]]},"315":{"position":[[1116,2]]},"348":{"position":[[104,2]]},"362":{"position":[[4,2]]},"380":{"position":[[539,2]]},"392":{"position":[[7,2]]},"404":{"position":[[103,2]]},"410":{"position":[[4,2]]},"413":{"position":[[16,2]]},"418":{"position":[[62,2]]},"422":{"position":[[712,2]]},"432":{"position":[[441,2],[545,2]]},"444":{"position":[[291,2],[571,2],[619,2]]},"448":{"position":[[462,2]]},"462":{"position":[[161,2],[327,2]]},"464":{"position":[[76,2]]},"476":{"position":[[7,2],[159,2]]},"478":{"position":[[91,2]]},"482":{"position":[[17,2]]},"484":{"position":[[8,2]]},"490":{"position":[[4,2]]},"512":{"position":[[14,2]]},"516":{"position":[[61,2]]},"519":{"position":[[104,2],[582,2]]},"533":{"position":[[19,2]]},"535":{"position":[[183,2],[475,2]]},"538":{"position":[[116,2]]},"542":{"position":[[170,2],[179,2]]},"546":{"position":[[29,2],[203,2]]},"548":{"position":[[4,2]]},"551":{"position":[[11,2]]},"553":{"position":[[4,2]]},"555":{"position":[[6,2]]},"561":{"position":[[4,2]]},"563":{"position":[[7,2]]},"571":{"position":[[9,2]]},"587":{"position":[[48,2],[209,2]]},"591":{"position":[[140,2]]},"593":{"position":[[25,2]]},"603":{"position":[[5,2],[258,2]]},"607":{"position":[[4,2]]},"610":{"position":[[44,2]]},"612":{"position":[[75,2]]},"616":{"position":[[70,2]]},"618":{"position":[[111,2]]},"626":{"position":[[4,2]]},"641":{"position":[[10,2],[36,2]]},"645":{"position":[[82,2],[393,2]]},"647":{"position":[[76,2],[107,2]]},"653":{"position":[[67,2]]},"655":{"position":[[15,2]]},"659":{"position":[[4,2],[288,2]]},"666":{"position":[[4,2],[230,2],[333,2]]},"675":{"position":[[8,2]]},"677":{"position":[[32,2]]},"688":{"position":[[4,2]]},"690":{"position":[[16,2],[272,2]]},"701":{"position":[[101,2]]},"705":{"position":[[14,2],[102,2]]},"708":{"position":[[4,2]]},"710":{"position":[[7,2]]},"714":{"position":[[4,2]]},"716":{"position":[[13,2]]},"720":{"position":[[9,2]]},"724":{"position":[[49,2]]},"728":{"position":[[16,2],[101,2],[323,2]]},"730":{"position":[[4,2]]},"733":{"position":[[4,2]]},"745":{"position":[[299,2],[347,2]]},"747":{"position":[[122,2]]},"751":{"position":[[4,2]]},"756":{"position":[[4,2]]},"758":{"position":[[4,2],[15,2]]},"760":{"position":[[731,2]]},"762":{"position":[[389,2],[418,2],[508,2],[545,2],[575,2]]},"768":{"position":[[477,2]]},"782":{"position":[[419,2],[647,2],[914,2]]},"786":{"position":[[199,2]]},"815":{"position":[[13,2]]},"821":{"position":[[104,2],[121,2],[134,2],[146,2]]}}}],["jsc",{"_index":1373,"t":{"257":{"position":[[455,3]]}}}],["jsconfig",{"_index":639,"t":{"87":{"position":[[641,8]]}}}],["jsdom",{"_index":1385,"t":{"261":{"position":[[121,5],[470,5]]},"270":{"position":[[39,5],[490,5]]}}}],["json",{"_index":439,"t":{"47":{"position":[[340,4]]},"53":{"position":[[130,4]]},"55":{"position":[[229,4]]},"235":{"position":[[1584,4],[1623,4]]},"250":{"position":[[41,4]]},"257":{"position":[[558,4],[584,4]]},"266":{"position":[[542,4],[568,4]]},"293":{"position":[[670,4]]},"295":{"position":[[1116,4]]},"297":{"position":[[266,4]]},"305":{"position":[[295,4]]},"315":{"position":[[65,4]]},"384":{"position":[[27,4]]},"422":{"position":[[323,4],[582,4],[625,4]]},"490":{"position":[[411,4],[429,4]]},"519":{"position":[[538,4],[819,4]]},"521":{"position":[[464,4]]},"527":{"position":[[313,4]]},"531":{"position":[[295,4],[995,4]]},"575":{"position":[[171,4]]},"593":{"position":[[118,4]]},"605":{"position":[[213,4]]},"612":{"position":[[40,4]]},"686":{"position":[[57,4]]},"701":{"position":[[28,4],[66,4],[90,4]]},"705":{"position":[[67,4]]},"720":{"position":[[55,4]]},"726":{"position":[[57,4]]},"762":{"position":[[143,4],[266,4],[845,4]]},"766":{"position":[[156,4]]},"817":{"position":[[197,4]]},"823":{"position":[[122,4],[145,4]]}}}],["jsonplacehold",{"_index":1788,"t":{"436":{"position":[[197,15]]}}}],["jsx",{"_index":954,"t":{"181":{"position":[[9,3],[18,3],[40,3],[44,3],[61,3]]},"183":{"position":[[0,3],[45,3],[64,3],[102,3],[176,3]]},"185":{"position":[[20,3],[129,3],[220,3]]},"187":{"position":[[4,3]]},"195":{"position":[[280,3]]},"199":{"position":[[148,3]]},"266":{"position":[[511,3]]},"270":{"position":[[565,3]]},"313":{"position":[[383,3],[407,3],[583,3]]},"508":{"position":[[11,3]]},"533":{"position":[[25,3]]},"538":{"position":[[43,3]]},"540":{"position":[[20,3]]},"610":{"position":[[47,3]]},"616":{"position":[[73,3]]},"618":{"position":[[617,3]]},"641":{"position":[[39,3]]},"690":{"position":[[34,3],[275,3],[416,3]]}}}],["jsxplu",{"_index":990,"t":{"185":{"position":[[103,7],[188,7]]},"313":{"position":[[557,7],[642,7]]}}}],["k",{"_index":1433,"t":{"295":{"position":[[219,1]]}}}],["keep",{"_index":926,"t":{"175":{"position":[[8,4],[29,4],[69,4]]},"177":{"position":[[278,4]]},"313":{"position":[[432,4],[463,4]]},"350":{"position":[[36,4]]},"728":{"position":[[255,4]]}}}],["keepaliveoutlet",{"_index":935,"t":{"177":{"position":[[11,15],[57,15],[127,15],[193,15],[295,15]]}}}],["key",{"_index":429,"t":{"47":{"position":[[131,3]]},"111":{"position":[[416,3]]},"191":{"position":[[90,3],[104,3],[136,3]]},"237":{"position":[[876,3]]},"772":{"position":[[150,3]]},"776":{"position":[[106,3],[125,3]]}}}],["koa",{"_index":563,"t":{"85":{"position":[[4,3],[27,3],[49,3],[68,3],[95,3],[99,3],[110,3],[668,3],[717,3],[732,3],[773,3]]}}}],["koaj",{"_index":625,"t":{"85":{"position":[[1120,5]]}}}],["kuaishou",{"_index":2296,"t":{"724":{"position":[[240,8]]}}}],["lab",{"_index":2368,"t":{"762":{"position":[[34,3]]}}}],["lang",{"_index":1783,"t":{"432":{"position":[[332,4]]}}}],["languag",{"_index":752,"t":{"111":{"position":[[339,8]]},"113":{"position":[[371,8],[450,8]]},"672":{"position":[[28,8]]}}}],["last",{"_index":1251,"t":{"235":{"position":[[2382,4]]}}}],["launch",{"_index":2251,"t":{"697":{"position":[[265,6]]}}}],["layout",{"_index":631,"t":{"87":{"position":[[24,6],[557,6]]},"111":{"position":[[178,6],[628,6]]},"129":{"position":[[76,6]]},"137":{"position":[[450,6],[457,6]]},"144":{"position":[[137,6],[189,6],[415,6]]},"177":{"position":[[109,6],[173,6],[247,6]]},"319":{"position":[[610,6],[624,6],[663,6]]},"354":{"position":[[44,6],[55,6],[71,6],[136,6]]},"456":{"position":[[680,6],[1118,6]]},"490":{"position":[[254,6]]},"527":{"position":[[8,6]]},"616":{"position":[[62,6],[177,6],[212,6]]},"618":{"position":[[63,6],[79,6]]},"792":{"position":[[243,6]]}}}],["lazi",{"_index":358,"t":{"39":{"position":[[36,4],[101,4]]}}}],["legaci",{"_index":1599,"t":{"317":{"position":[[3270,6]]},"448":{"position":[[412,6]]}}}],["less",{"_index":1575,"t":{"317":{"position":[[287,4],[728,4],[744,4],[1400,4]]},"659":{"position":[[42,4],[296,4]]},"663":{"position":[[648,4],[703,4]]},"784":{"position":[[143,4]]}}}],["lessloaderopt",{"_index":1544,"t":{"315":{"position":[[818,17]]},"317":{"position":[[456,17]]}}}],["lessstyl",{"_index":2185,"t":{"663":{"position":[[671,10],[808,10]]}}}],["li",{"_index":755,"t":{"111":{"position":[[413,2],[514,2]]}}}],["lib",{"_index":1983,"t":{"523":{"position":[[324,3],[468,3]]}}}],["librari",{"_index":1383,"t":{"261":{"position":[[22,7],[47,7],[90,7],[136,7],[239,7],[691,7]]},"270":{"position":[[25,7],[54,7],[202,7],[830,7]]},"315":{"position":[[771,7]]}}}],["libraryexport",{"_index":1542,"t":{"315":{"position":[[781,13]]}}}],["librarytarget",{"_index":1541,"t":{"315":{"position":[[755,13]]}}}],["light",{"_index":2083,"t":{"589":{"position":[[460,5]]},"684":{"position":[[470,5]]}}}],["limit",{"_index":2105,"t":{"605":{"position":[[220,5]]}}}],["linestyl",{"_index":1114,"t":{"214":{"position":[[144,9]]}}}],["link",{"_index":594,"t":{"85":{"position":[[359,4],[425,4]]},"87":{"position":[[247,4],[308,4]]},"111":{"position":[[23,4],[62,4],[122,4],[431,4],[506,4]]},"115":{"position":[[586,4],[697,4],[786,4]]},"328":{"position":[[88,4],[117,4]]},"334":{"position":[[20,4]]},"352":{"position":[[9,4],[37,4],[84,4],[209,4],[231,4]]},"360":{"position":[[26,5]]},"408":{"position":[[235,4]]},"535":{"position":[[40,5],[286,5],[423,5],[449,4]]},"544":{"position":[[81,4],[361,5],[377,5],[449,5],[489,4],[508,4]]},"585":{"position":[[12,4],[185,5],[445,4]]},"589":{"position":[[22,5]]},"632":{"position":[[9,4],[56,4],[142,4],[170,4],[194,4]]},"684":{"position":[[32,5]]},"708":{"position":[[13,4],[121,4],[207,4],[235,4]]},"710":{"position":[[101,4],[130,4]]}}}],["linkel",{"_index":2022,"t":{"544":{"position":[[455,11]]}}}],["list",{"_index":1196,"t":{"235":{"position":[[296,4],[418,4]]},"295":{"position":[[489,4],[564,4],[671,4],[1083,4],[1151,4]]},"603":{"position":[[101,4],[130,4],[150,4],[226,4]]}}}],["listen",{"_index":617,"t":{"85":{"position":[[978,6],[1015,9],[1169,9]]}}}],["lite",{"_index":593,"t":{"85":{"position":[[345,4]]},"87":{"position":[[233,4]]},"817":{"position":[[111,4]]}}}],["load",{"_index":869,"t":{"146":{"position":[[91,7]]},"232":{"position":[[271,7]]},"237":{"position":[[281,7],[715,7],[1332,7],[1432,7],[1557,7]]},"348":{"position":[[343,7],[583,7]]},"521":{"position":[[392,7]]},"770":{"position":[[159,4]]}}}],["loader",{"_index":1546,"t":{"315":{"position":[[870,6],[1604,6],[1666,6],[1683,6]]},"317":{"position":[[369,6],[382,6],[735,6],[749,6],[1080,6],[1094,6],[1482,6],[1499,6],[2406,6],[2485,6],[2505,6],[2520,6],[2542,6],[2611,6],[2624,6],[2643,6],[2716,6],[2729,6]]},"404":{"position":[[171,6]]},"406":{"position":[[85,6]]},"478":{"position":[[98,7],[110,6]]},"782":{"position":[[926,6]]}}}],["loadingcompon",{"_index":867,"t":{"146":{"position":[[67,16]]}}}],["loadingdelay",{"_index":1291,"t":{"237":{"position":[[734,12]]}}}],["loadscriptmod",{"_index":843,"t":{"137":{"position":[[552,14]]}}}],["local",{"_index":495,"t":{"65":{"position":[[40,5],[177,5]]},"98":{"position":[[205,7]]},"100":{"position":[[181,7]]},"107":{"position":[[125,6],[267,6],[314,6],[325,6]]},"109":{"position":[[45,6],[124,6],[243,6],[279,6],[290,6]]},"111":{"position":[[298,6],[382,6],[421,6],[484,6],[496,6]]},"113":{"position":[[217,7],[342,6],[413,6]]},"115":{"position":[[38,6],[97,6],[753,6]]},"117":{"position":[[19,7],[275,7]]},"122":{"position":[[29,7]]},"250":{"position":[[322,5]]},"313":{"position":[[178,7],[208,7],[332,5],[364,5]]},"454":{"position":[[552,6]]},"553":{"position":[[124,5],[213,5],[294,5],[390,5],[422,5],[436,5]]}}}],["localhost",{"_index":536,"t":{"80":{"position":[[99,9]]},"85":{"position":[[930,9],[1033,9],[1187,9],[1216,9]]},"250":{"position":[[374,9]]},"332":{"position":[[207,9]]},"819":{"position":[[119,9]]}}}],["localidentnam",{"_index":1890,"t":{"478":{"position":[[5,14],[118,14],[396,14]]}}}],["localstorag",{"_index":806,"t":{"115":{"position":[[403,12]]}}}],["locat",{"_index":533,"t":{"80":{"position":[[64,8]]},"111":{"position":[[195,8],[440,8],[680,8],[796,8]]},"336":{"position":[[34,8],[106,8],[170,8]]},"348":{"position":[[395,8]]},"635":{"position":[[18,8],[101,8]]}}}],["log",{"_index":481,"t":{"59":{"position":[[247,3]]},"85":{"position":[[1010,3]]},"103":{"position":[[78,3]]},"105":{"position":[[82,3]]},"107":{"position":[[309,3]]},"109":{"position":[[274,3]]},"212":{"position":[[275,3]]},"235":{"position":[[284,3],[409,3]]},"239":{"position":[[743,3],[777,3],[813,3]]},"301":{"position":[[320,3],[382,3]]},"305":{"position":[[240,3]]},"332":{"position":[[374,3]]},"346":{"position":[[300,3]]},"378":{"position":[[130,3]]},"380":{"position":[[398,3]]},"382":{"position":[[152,3]]},"422":{"position":[[392,3],[436,3],[458,3],[491,3]]},"440":{"position":[[140,3],[263,3],[326,3],[373,3],[475,3]]},"527":{"position":[[419,3],[446,3]]},"540":{"position":[[278,3]]},"544":{"position":[[297,3]]},"546":{"position":[[223,3]]},"605":{"position":[[277,3]]},"637":{"position":[[174,3]]},"639":{"position":[[170,3]]},"697":{"position":[[257,3],[313,3]]},"699":{"position":[[458,3]]},"745":{"position":[[129,3],[279,3],[450,3]]},"758":{"position":[[278,3]]},"760":{"position":[[303,3],[564,3]]},"762":{"position":[[1064,3]]},"766":{"position":[[302,3]]},"780":{"position":[[133,3]]},"788":{"position":[[147,3]]},"796":{"position":[[190,3]]},"798":{"position":[[196,3]]}}}],["logger",{"_index":568,"t":{"85":{"position":[[103,6]]}}}],["login",{"_index":2104,"t":{"605":{"position":[[159,5]]}}}],["logo",{"_index":1719,"t":{"396":{"position":[[242,4]]}}}],["logout",{"_index":1631,"t":{"334":{"position":[[224,6]]},"630":{"position":[[134,6]]}}}],["longer",{"_index":1219,"t":{"235":{"position":[[1211,6]]}}}],["lower",{"_index":1246,"t":{"235":{"position":[[2109,5]]}}}],["ls",{"_index":1931,"t":{"484":{"position":[[270,2]]}}}],["m",{"_index":939,"t":{"177":{"position":[[276,1]]}}}],["mac",{"_index":1906,"t":{"482":{"position":[[100,3]]}}}],["made",{"_index":1229,"t":{"235":{"position":[[1403,4],[1654,4]]}}}],["main",{"_index":747,"t":{"111":{"position":[[278,4],[534,4],[828,4],[880,4]]},"346":{"position":[[356,4]]},"360":{"position":[[42,4]]},"432":{"position":[[267,4],[351,4]]},"535":{"position":[[47,4],[311,4],[482,4]]},"538":{"position":[[79,4]]},"544":{"position":[[128,4],[216,4],[384,4],[537,4],[593,4],[749,4],[803,4],[955,4]]},"546":{"position":[[280,4]]},"762":{"position":[[555,4]]},"821":{"position":[[141,4]]}}}],["make",{"_index":1200,"t":{"235":{"position":[[682,6]]}}}],["manifest",{"_index":2385,"t":{"768":{"position":[[987,8]]}}}],["manual",{"_index":1260,"t":{"237":{"position":[[125,6],[549,6],[1195,6]]}}}],["map",{"_index":754,"t":{"111":{"position":[[377,3]]},"226":{"position":[[616,3]]},"317":{"position":[[3206,3],[3299,3]]},"448":{"position":[[56,3],[342,3],[441,3]]},"458":{"position":[[64,3]]},"762":{"position":[[638,3]]}}}],["master",{"_index":1485,"t":{"307":{"position":[[230,6]]}}}],["match",{"_index":1596,"t":{"317":{"position":[[3119,5]]}}}],["matcher",{"_index":1388,"t":{"261":{"position":[[197,8]]},"270":{"position":[[144,8],[178,8],[219,8],[277,8]]}}}],["md",{"_index":1488,"t":{"307":{"position":[[256,2]]}}}],["measur",{"_index":1889,"t":{"476":{"position":[[299,7]]}}}],["memo",{"_index":1032,"t":{"193":{"position":[[79,4]]}}}],["memori",{"_index":1666,"t":{"370":{"position":[[84,6],[116,6],[320,6]]}}}],["memoryrout",{"_index":1668,"t":{"370":{"position":[[172,12]]}}}],["merg",{"_index":1573,"t":{"315":{"position":[[1824,5]]}}}],["mesasg",{"_index":1034,"t":{"193":{"position":[[100,7]]}}}],["messag",{"_index":1244,"t":{"235":{"position":[[1973,7]]},"243":{"position":[[229,7]]}}}],["meta",{"_index":575,"t":{"85":{"position":[[184,4],[209,4],[274,4]]},"87":{"position":[[72,4],[97,4],[162,4]]},"115":{"position":[[359,4]]},"326":{"position":[[162,4]]},"342":{"position":[[279,4]]},"360":{"position":[[15,4]]},"422":{"position":[[104,4],[149,4]]},"535":{"position":[[27,4],[121,4],[146,4],[196,4],[267,4],[389,4]]},"544":{"position":[[782,4],[797,4],[868,4],[907,4],[926,4]]},"573":{"position":[[132,4]]},"583":{"position":[[0,4],[20,5],[129,5]]},"589":{"position":[[16,5]]},"684":{"position":[[26,5]]}}}],["metael",{"_index":2024,"t":{"544":{"position":[[873,11]]}}}],["method",{"_index":789,"t":{"113":{"position":[[981,6]]},"235":{"position":[[636,6],[659,6],[701,6],[1043,7]]},"237":{"position":[[1484,6],[1633,6]]},"424":{"position":[[48,6]]},"523":{"position":[[359,6]]}}}],["microapp",{"_index":2291,"t":{"724":{"position":[[206,8]]}}}],["middlewar",{"_index":2377,"t":{"768":{"position":[[695,11]]}}}],["migrat",{"_index":910,"t":{"167":{"position":[[38,7]]},"169":{"position":[[12,7]]},"171":{"position":[[50,7],[89,7]]},"173":{"position":[[73,7]]}}}],["millisecond",{"_index":1214,"t":{"235":{"position":[[1144,12]]}}}],["min",{"_index":1113,"t":{"214":{"position":[[119,3]]},"432":{"position":[[437,3],[541,3]]}}}],["mini",{"_index":2260,"t":{"701":{"position":[[77,4]]}}}],["miniapp",{"_index":2234,"t":{"682":{"position":[[137,7]]},"697":{"position":[[141,7]]},"701":{"position":[[193,7],[219,7],[269,7]]},"718":{"position":[[41,7]]},"720":{"position":[[207,7],[333,7],[383,7],[406,7],[449,7],[479,7],[544,7],[570,7],[620,7],[911,7]]},"722":{"position":[[251,7]]},"724":{"position":[[115,7]]},"733":{"position":[[138,7],[180,7],[296,7],[430,7]]},"735":{"position":[[407,7]]},"823":{"position":[[62,7],[279,7],[405,7]]},"825":{"position":[[186,7],[330,7]]}}}],["miniapplifecycl",{"_index":2250,"t":{"697":{"position":[[44,17],[172,17]]}}}],["miniappmanifest",{"_index":2112,"t":{"612":{"position":[[109,15],[152,15]]},"682":{"position":[[23,15],[92,15]]},"705":{"position":[[136,15],[179,15]]},"720":{"position":[[639,15],[674,15],[741,15]]}}}],["minifi",{"_index":1515,"t":{"315":{"position":[[353,6]]},"768":{"position":[[772,6],[812,6]]}}}],["minimatch",{"_index":1840,"t":{"456":{"position":[[156,9]]}}}],["minimizeropt",{"_index":2379,"t":{"768":{"position":[[786,16]]}}}],["miniprogram",{"_index":2276,"t":{"720":{"position":[[156,11],[282,11]]},"722":{"position":[[168,11]]},"724":{"position":[[133,11],[249,11]]},"823":{"position":[[228,11],[354,11]]},"825":{"position":[[126,11],[270,11]]}}}],["mj",{"_index":778,"t":{"113":{"position":[[597,3]]},"257":{"position":[[27,3],[55,3],[301,3]]},"261":{"position":[[274,3],[299,3]]},"266":{"position":[[29,3],[59,3],[361,3],[492,3]]},"270":{"position":[[306,3],[333,3]]}}}],["mkdir",{"_index":565,"t":{"85":{"position":[[34,5]]}}}],["mock",{"_index":39,"t":{"4":{"position":[[40,4]]},"246":{"position":[[33,4],[55,4]]},"315":{"position":[[300,4]]},"386":{"position":[[337,4],[353,4]]},"470":{"position":[[52,4],[140,4],[154,4]]},"490":{"position":[[62,4]]},"500":{"position":[[3,4],[27,4]]},"591":{"position":[[26,4],[83,4],[152,4],[186,4]]},"593":{"position":[[13,4],[38,4],[64,4],[123,4],[158,4],[180,4],[298,4],[312,4]]},"595":{"position":[[2,4],[22,4]]},"601":{"position":[[25,4],[39,4],[71,4]]},"603":{"position":[[0,4],[16,4],[54,4],[137,4],[142,4],[253,4]]},"728":{"position":[[51,4],[112,4],[207,4]]}}}],["mockj",{"_index":2099,"t":{"603":{"position":[[65,6]]}}}],["mode",{"_index":949,"t":{"179":{"position":[[389,4],[483,4]]},"386":{"position":[[92,4],[98,4],[118,4]]},"388":{"position":[[88,4],[94,4],[114,4]]},"553":{"position":[[273,4],[288,4],[318,4],[403,4],[416,4]]},"768":{"position":[[270,4],[1291,4]]}}}],["model",{"_index":637,"t":{"87":{"position":[[595,5],[601,5],[610,5]]},"226":{"position":[[40,6],[121,6]]},"228":{"position":[[46,5]]},"230":{"position":[[45,5],[61,6],[91,6],[189,6]]},"278":{"position":[[8,6],[41,6],[171,5],[234,5],[333,5]]},"280":{"position":[[97,6]]},"286":{"position":[[13,6],[26,5],[79,6],[92,5],[138,5],[163,6]]},"288":{"position":[[68,6],[81,5],[232,6]]},"293":{"position":[[55,5],[79,6],[98,6],[171,6],[208,6],[473,5]]},"295":{"position":[[10,6],[30,6],[50,5],[85,5]]},"297":{"position":[[8,5],[41,6],[60,6],[83,6],[342,6],[550,5]]}}}],["modifi",{"_index":1558,"t":{"315":{"position":[[1309,6]]},"317":{"position":[[162,6],[574,6],[922,6],[1275,6],[1729,6],[2248,6]]}}}],["modifiedconfig",{"_index":1581,"t":{"317":{"position":[[1842,14],[1958,14],[2360,14],[2413,14],[2440,14],[2549,14],[2579,14],[2650,14],[2784,14]]}}}],["modifyload",{"_index":1557,"t":{"315":{"position":[[1275,12],[1622,12]]},"317":{"position":[[128,12],[332,12],[540,12],[690,12],[888,12],[1035,12],[1241,12],[1445,12],[2200,12],[2667,12]]}}}],["modifyuserconfig",{"_index":2399,"t":{"776":{"position":[[63,16],[88,16],[181,16]]}}}],["modul",{"_index":38,"t":{"4":{"position":[[32,7]]},"85":{"position":[[752,6]]},"205":{"position":[[354,6]]},"212":{"position":[[65,6],[89,7]]},"214":{"position":[[353,6]]},"216":{"position":[[297,6]]},"317":{"position":[[2756,6],[3164,7]]},"442":{"position":[[53,7],[111,7],[441,7]]},"444":{"position":[[622,6]]},"446":{"position":[[120,7],[214,7]]},"448":{"position":[[300,7]]},"458":{"position":[[50,6]]},"514":{"position":[[64,6]]},"659":{"position":[[259,7]]},"663":{"position":[[24,7],[263,6],[345,6],[380,6],[462,6],[545,7],[611,7],[637,7],[696,6],[742,6],[901,7],[920,7],[937,7]]},"670":{"position":[[54,6]]},"762":{"position":[[215,6],[308,6]]}}}],["moment",{"_index":1495,"t":{"313":{"position":[[171,6],[201,6]]},"454":{"position":[[578,6]]}}}],["mount",{"_index":852,"t":{"139":{"position":[[374,5]]},"148":{"position":[[0,5]]},"344":{"position":[[305,7],[342,7]]}}}],["mt",{"_index":313,"t":{"25":{"position":[[47,3],[69,3]]},"34":{"position":[[73,3]]},"41":{"position":[[88,3]]},"45":{"position":[[47,3],[69,3]]},"65":{"position":[[59,3],[81,3]]},"98":{"position":[[65,3]]},"137":{"position":[[25,3]]},"139":{"position":[[25,3],[255,3]]},"152":{"position":[[49,3],[71,3]]},"157":{"position":[[51,3]]},"159":{"position":[[73,3]]},"161":{"position":[[44,3],[408,3]]},"185":{"position":[[51,3]]},"205":{"position":[[113,3]]},"214":{"position":[[198,3]]},"216":{"position":[[136,3]]},"224":{"position":[[97,3]]},"266":{"position":[[503,3]]},"274":{"position":[[48,3],[70,3]]},"303":{"position":[[71,3]]},"313":{"position":[[505,3]]},"315":{"position":[[56,3],[1221,3]]},"317":{"position":[[74,3],[486,3],[834,3],[1187,3],[1641,3],[2135,3],[2909,3]]},"319":{"position":[[382,3]]},"321":{"position":[[81,3],[103,3],[372,3],[394,3],[714,3],[736,3]]},"410":{"position":[[37,3]]},"413":{"position":[[34,3]]},"490":{"position":[[387,3]]},"523":{"position":[[224,3]]},"557":{"position":[[42,3]]},"593":{"position":[[216,3]]},"641":{"position":[[112,3]]},"643":{"position":[[52,3]]},"651":{"position":[[13,3],[38,3]]},"655":{"position":[[53,3],[78,3]]},"701":{"position":[[182,3]]},"720":{"position":[[511,3],[533,3]]},"760":{"position":[[644,3]]},"762":{"position":[[1146,3]]},"766":{"position":[[130,3]]},"772":{"position":[[19,3]]}}}],["mutat",{"_index":1275,"t":{"237":{"position":[[420,6]]}}}],["mycompon",{"_index":1652,"t":{"348":{"position":[[487,11],[507,11],[610,11]]}}}],["myplugin",{"_index":1884,"t":{"474":{"position":[[146,8],[242,8]]},"760":{"position":[[698,8],[786,8]]},"762":{"position":[[1200,8],[1282,8]]}}}],["myvideo",{"_index":2351,"t":{"747":{"position":[[92,7],[274,7]]}}}],["name",{"_index":587,"t":{"85":{"position":[[279,4]]},"87":{"position":[[167,4]]},"113":{"position":[[914,4],[947,4]]},"179":{"position":[[443,4],[535,4]]},"185":{"position":[[420,4]]},"195":{"position":[[252,4]]},"230":{"position":[[230,4]]},"235":{"position":[[1725,4],[2099,5]]},"278":{"position":[[108,4],[196,4],[427,4]]},"282":{"position":[[317,4]]},"293":{"position":[[345,4],[758,4]]},"297":{"position":[[171,4]]},"299":{"position":[[175,4]]},"326":{"position":[[172,4]]},"342":{"position":[[289,4]]},"531":{"position":[[277,4],[927,4]]},"535":{"position":[[151,4],[201,4]]},"595":{"position":[[74,4],[98,4]]},"597":{"position":[[126,4],[150,4],[206,4],[230,4],[315,4]]},"599":{"position":[[78,4],[131,4],[155,4],[223,4]]},"758":{"position":[[189,4],[202,4],[216,4]]},"760":{"position":[[252,4]]},"762":{"position":[[274,4],[755,4]]},"768":{"position":[[71,4],[1150,4]]},"770":{"position":[[92,4]]},"772":{"position":[[57,4],[136,4]]},"774":{"position":[[39,4],[116,4]]},"776":{"position":[[32,4]]},"778":{"position":[[33,4],[141,4],[160,4]]},"780":{"position":[[47,4]]},"782":{"position":[[76,4],[275,4],[491,4],[724,4],[1029,4]]},"784":{"position":[[62,4],[269,4]]},"786":{"position":[[97,4],[111,4]]}}}],["nativeconfig",{"_index":2261,"t":{"701":{"position":[[122,12],[279,12]]}}}],["nativeev",{"_index":2253,"t":{"699":{"position":[[19,12],[202,12]]}}}],["navig",{"_index":757,"t":{"111":{"position":[[712,8],[787,8]]},"113":{"position":[[361,9]]},"334":{"position":[[169,8],[213,8]]},"352":{"position":[[22,9]]},"630":{"position":[[97,8],[123,8]]},"632":{"position":[[210,9]]},"708":{"position":[[30,9]]}}}],["navigateto",{"_index":2265,"t":{"710":{"position":[[257,10]]}}}],["need",{"_index":1802,"t":{"442":{"position":[[352,4],[738,4]]}}}],["nest",{"_index":1811,"t":{"444":{"position":[[336,6]]}}}],["netlifi",{"_index":562,"t":{"82":{"position":[[223,7]]}}}],["new",{"_index":261,"t":{"21":{"position":[[44,3]]},"85":{"position":[[769,3]]},"317":{"position":[[1909,3],[2072,3]]},"476":{"position":[[475,3]]}}}],["newcount",{"_index":1443,"t":{"295":{"position":[[607,8],[661,8]]}}}],["newlist",{"_index":1440,"t":{"295":{"position":[[548,7],[578,7],[677,7]]}}}],["next",{"_index":874,"t":{"150":{"position":[[315,4],[325,4]]},"159":{"position":[[240,4]]},"442":{"position":[[344,4],[730,4]]},"668":{"position":[[93,4],[108,4]]},"670":{"position":[[136,4]]},"722":{"position":[[237,4]]}}}],["nginx",{"_index":531,"t":{"80":{"position":[[32,5],[49,5]]}}}],["nice",{"_index":2057,"t":{"583":{"position":[[218,4]]}}}],["nl",{"_index":717,"t":{"100":{"position":[[210,2],[213,2],[362,2],[365,2],[376,2],[379,2]]}}}],["noauth",{"_index":467,"t":{"57":{"position":[[105,6],[131,6],[346,6]]}}}],["noauthfallback",{"_index":478,"t":{"59":{"position":[[202,14]]}}}],["node",{"_index":80,"t":{"4":{"position":[[256,4]]},"85":{"position":[[22,4],[44,4],[63,4],[1157,4]]},"113":{"position":[[496,4]]},"124":{"position":[[68,4]]},"235":{"position":[[2413,4]]},"317":{"position":[[3159,4]]},"348":{"position":[[99,4]]},"422":{"position":[[55,4]]},"442":{"position":[[48,4],[106,4],[305,4],[436,4]]},"446":{"position":[[115,4],[209,4]]},"448":{"position":[[295,4]]},"476":{"position":[[407,4]]},"482":{"position":[[12,4],[24,4],[87,4],[203,4],[236,4],[262,4],[276,4]]},"484":{"position":[[3,4]]},"647":{"position":[[71,4],[102,4]]},"653":{"position":[[62,4]]},"815":{"position":[[8,4],[20,4]]}}}],["node_env",{"_index":1756,"t":{"422":{"position":[[55,8]]},"442":{"position":[[305,8]]},"476":{"position":[[407,8]]}}}],["node_modul",{"_index":1597,"t":{"317":{"position":[[3159,12]]},"442":{"position":[[48,12],[106,12],[436,12]]},"446":{"position":[[115,12],[209,12]]},"448":{"position":[[295,12]]}}}],["none",{"_index":2373,"t":{"768":{"position":[[279,4]]}}}],["notat",{"_index":1249,"t":{"235":{"position":[[2159,8]]}}}],["notfoundcompon",{"_index":865,"t":{"146":{"position":[[32,17]]}}}],["nothingels",{"_index":1003,"t":{"189":{"position":[[100,11]]}}}],["npm",{"_index":74,"t":{"4":{"position":[[223,3]]},"25":{"position":[[8,3]]},"45":{"position":[[8,3]]},"65":{"position":[[8,3]]},"74":{"position":[[16,3]]},"82":{"position":[[26,3]]},"85":{"position":[[74,3],[85,3]]},"89":{"position":[[3,3]]},"98":{"position":[[24,3]]},"129":{"position":[[27,3],[109,3],[123,3]]},"131":{"position":[[22,3],[95,3],[109,3]]},"135":{"position":[[2,3]]},"152":{"position":[[8,3]]},"169":{"position":[[2,3]]},"175":{"position":[[126,3]]},"185":{"position":[[2,3]]},"199":{"position":[[135,3]]},"205":{"position":[[62,3]]},"224":{"position":[[45,3]]},"255":{"position":[[2,3]]},"259":{"position":[[211,3]]},"261":{"position":[[75,3],[885,3]]},"264":{"position":[[2,3]]},"268":{"position":[[189,3]]},"270":{"position":[[10,3],[1026,3]]},"274":{"position":[[8,3]]},"313":{"position":[[681,3]]},"321":{"position":[[41,3],[330,3],[675,3]]},"376":{"position":[[57,3]]},"384":{"position":[[127,3],[153,3],[176,3],[185,3]]},"484":{"position":[[19,3],[79,3],[178,3],[203,3]]},"516":{"position":[[12,3]]},"523":{"position":[[353,3],[381,3]]},"551":{"position":[[62,3]]},"601":{"position":[[49,3]]},"718":{"position":[[2,3],[73,3]]},"720":{"position":[[425,3],[462,3]]},"722":{"position":[[41,3],[85,3]]},"733":{"position":[[163,3]]},"762":{"position":[[94,3],[1114,3]]},"817":{"position":[[13,3],[72,3],[152,3],[280,3],[292,3]]},"819":{"position":[[43,3],[86,3]]},"821":{"position":[[24,3]]},"823":{"position":[[23,3],[94,3]]},"825":{"position":[[43,3]]},"827":{"position":[[34,3]]}}}],["npmmirror",{"_index":1926,"t":{"484":{"position":[[121,9]]}}}],["nrm",{"_index":1930,"t":{"484":{"position":[[191,3],[218,3],[227,3],[240,3],[266,3],[285,3]]}}}],["null",{"_index":1470,"t":{"301":{"position":[[425,4]]},"448":{"position":[[74,4]]},"647":{"position":[[42,4]]}}}],["number",{"_index":1015,"t":{"191":{"position":[[152,6]]},"235":{"position":[[1134,6]]},"386":{"position":[[250,6]]},"772":{"position":[[199,6]]}}}],["nvm",{"_index":1904,"t":{"482":{"position":[[47,3],[63,3],[108,3],[161,3],[168,3],[216,3],[246,3]]}}}],["o",{"_index":1908,"t":{"482":{"position":[[124,1]]}}}],["object",{"_index":785,"t":{"113":{"position":[[846,6]]},"191":{"position":[[23,6]]},"235":{"position":[[901,6],[929,6]]},"315":{"position":[[1466,6]]},"346":{"position":[[32,6]]},"422":{"position":[[569,6]]},"436":{"position":[[18,6]]},"468":{"position":[[13,6],[85,6]]},"527":{"position":[[629,6]]},"599":{"position":[[19,6],[188,6]]},"772":{"position":[[214,6]]}}}],["offscreen",{"_index":942,"t":{"179":{"position":[[35,9],[112,9],[139,9],[379,9],[461,9],[473,9],[553,9]]}}}],["ok",{"_index":1245,"t":{"235":{"position":[[2019,2]]},"670":{"position":[[304,2]]}}}],["oldpric",{"_index":1164,"t":{"226":{"position":[[660,8]]}}}],["on",{"_index":42,"t":{"4":{"position":[[61,3]]}}}],["onappear",{"_index":1072,"t":{"210":{"position":[[3,8],[155,8],[249,8]]},"378":{"position":[[104,8],[135,8]]},"380":{"position":[[496,8]]}}}],["onclick",{"_index":461,"t":{"55":{"position":[[280,7]]},"107":{"position":[[382,7]]},"109":{"position":[[347,7]]},"111":{"position":[[459,7],[839,7]]},"115":{"position":[[709,7]]},"179":{"position":[[258,7],[318,7]]},"690":{"position":[[314,7]]}}}],["onconfig",{"_index":1323,"t":{"239":{"position":[[378,8],[552,8]]}}}],["ondemand",{"_index":1834,"t":{"454":{"position":[[107,8],[192,8],[840,8],[986,8]]}}}],["ondisapp",{"_index":1073,"t":{"210":{"position":[[15,10],[167,10]]}}}],["ondisappear",{"_index":1088,"t":{"210":{"position":[[286,11]]},"382":{"position":[[123,11],[157,11]]}}}],["onerror",{"_index":1283,"t":{"237":{"position":[[653,7]]},"239":{"position":[[482,7],[694,7]]}}}],["ongetconfig",{"_index":2372,"t":{"768":{"position":[[3,11],[102,11],[122,11],[231,11],[1181,11],[1201,11]]},"772":{"position":[[266,11]]},"774":{"position":[[208,11]]},"778":{"position":[[189,11]]}}}],["ongetphonenumb",{"_index":2246,"t":{"690":{"position":[[332,16],[476,16]]}}}],["onhook",{"_index":2388,"t":{"770":{"position":[[3,6],[20,6],[123,6],[138,6],[207,6]]}}}],["onlaunch",{"_index":1971,"t":{"519":{"position":[[1250,8]]},"697":{"position":[[229,8]]}}}],["onload",{"_index":1623,"t":{"332":{"position":[[20,6]]},"519":{"position":[[1285,6]]},"712":{"position":[[10,6]]}}}],["onpagescrol",{"_index":2254,"t":{"699":{"position":[[50,12]]}}}],["onshareappmessag",{"_index":2255,"t":{"699":{"position":[[63,17],[219,17],[415,17],[472,17]]}}}],["onsharetimelin",{"_index":2256,"t":{"699":{"position":[[81,15]]}}}],["onshow",{"_index":2252,"t":{"697":{"position":[[287,6]]}}}],["onsuccess",{"_index":1281,"t":{"237":{"position":[[612,9]]}}}],["ontap",{"_index":2241,"t":{"690":{"position":[[115,5]]}}}],["open",{"_index":1504,"t":{"315":{"position":[[146,4]]},"386":{"position":[[305,4]]},"722":{"position":[[199,4]]},"825":{"position":[[157,4],[301,4]]}}}],["oper",{"_index":1872,"t":{"464":{"position":[[151,8]]}}}],["option",{"_index":1233,"t":{"235":{"position":[[1543,7]]},"307":{"position":[[94,7]]},"315":{"position":[[1692,7]]},"317":{"position":[[391,7],[758,7],[1103,7],[1508,7],[1595,7],[2738,7]]},"386":{"position":[[34,7]]},"388":{"position":[[30,7]]},"523":{"position":[[151,7],[496,7]]},"597":{"position":[[42,7]]},"697":{"position":[[238,7],[274,7],[294,7],[328,7]]},"699":{"position":[[436,7],[492,7]]},"743":{"position":[[153,6]]},"758":{"position":[[171,7],[282,7]]},"768":{"position":[[819,7]]},"774":{"position":[[130,6]]}}}],["optionmenu",{"_index":2074,"t":{"589":{"position":[[327,10]]},"684":{"position":[[337,10]]}}}],["org",{"_index":1892,"t":{"478":{"position":[[94,3]]}}}],["origin",{"_index":1755,"t":{"420":{"position":[[206,6]]}}}],["originalcod",{"_index":1829,"t":{"448":{"position":[[254,12],[364,12]]}}}],["originopt",{"_index":1569,"t":{"315":{"position":[[1702,13]]},"317":{"position":[[401,13],[768,13],[1113,13],[1518,13]]}}}],["oss",{"_index":516,"t":{"78":{"position":[[9,3]]},"137":{"position":[[603,3]]}}}],["out",{"_index":1217,"t":{"235":{"position":[[1182,3]]}}}],["outlet",{"_index":1655,"t":{"354":{"position":[[16,6],[91,6],[178,6]]},"616":{"position":[[132,6],[244,6],[270,6]]}}}],["output",{"_index":1776,"t":{"426":{"position":[[44,6]]},"768":{"position":[[542,6]]}}}],["outputassetspath",{"_index":1533,"t":{"315":{"position":[[607,16]]},"768":{"position":[[444,16]]}}}],["outputdir",{"_index":1510,"t":{"315":{"position":[[247,9]]},"408":{"position":[[385,9]]},"768":{"position":[[397,9]]}}}],["overlay",{"_index":1562,"t":{"315":{"position":[[1525,7]]}}}],["overview",{"_index":1852,"t":{"456":{"position":[[1211,8],[1240,8]]}}}],["overwritepluginapi",{"_index":1882,"t":{"474":{"position":[[22,18]]}}}],["p",{"_index":748,"t":{"111":{"position":[[285,1],[326,1]]},"193":{"position":[[75,1],[135,1]]},"380":{"position":[[527,1],[545,1]]},"386":{"position":[[233,1]]},"540":{"position":[[154,1]]},"663":{"position":[[840,1],[881,1]]}}}],["packag",{"_index":1375,"t":{"257":{"position":[[550,7],[576,7]]},"266":{"position":[[534,7],[560,7]]},"384":{"position":[[19,7]]},"490":{"position":[[403,7]]},"593":{"position":[[110,7]]},"720":{"position":[[47,7]]},"762":{"position":[[135,7],[258,7],[837,7]]},"766":{"position":[[148,7]]},"817":{"position":[[189,7]]},"823":{"position":[[114,7],[137,7]]}}}],["packagenam",{"_index":1773,"t":{"424":{"position":[[27,11]]},"523":{"position":[[290,11]]}}}],["pad",{"_index":2214,"t":{"670":{"position":[[73,7]]}}}],["page",{"_index":377,"t":{"41":{"position":[[186,4]]},"49":{"position":[[49,5],[69,5]]},"82":{"position":[[217,5]]},"100":{"position":[[268,5]]},"117":{"position":[[101,5]]},"177":{"position":[[103,5],[167,5]]},"212":{"position":[[142,5],[182,5]]},"226":{"position":[[96,5],[297,5]]},"286":{"position":[[41,5],[152,5]]},"288":{"position":[[31,5],[157,5]]},"290":{"position":[[4,5]]},"295":{"position":[[21,5]]},"326":{"position":[[39,5]]},"330":{"position":[[268,4]]},"332":{"position":[[15,4],[540,4]]},"334":{"position":[[282,4]]},"336":{"position":[[203,4]]},"338":{"position":[[335,4]]},"342":{"position":[[44,5],[192,4]]},"348":{"position":[[375,4]]},"352":{"position":[[198,4]]},"380":{"position":[[65,5]]},"382":{"position":[[4,5]]},"418":{"position":[[331,5],[345,5]]},"456":{"position":[[125,5],[273,5],[588,5],[1079,4]]},"462":{"position":[[26,4],[46,4],[104,4],[208,4],[267,4],[285,4]]},"490":{"position":[[195,5]]},"519":{"position":[[266,5],[643,5],[1278,4]]},"521":{"position":[[178,5]]},"527":{"position":[[152,5]]},"575":{"position":[[28,5]]},"585":{"position":[[362,5]]},"589":{"position":[[112,5]]},"610":{"position":[[28,5]]},"612":{"position":[[47,5],[258,5]]},"614":{"position":[[51,5]]},"616":{"position":[[14,5],[310,5]]},"618":{"position":[[462,5],[483,5],[527,5],[625,5]]},"620":{"position":[[67,5]]},"622":{"position":[[4,5],[76,5]]},"624":{"position":[[13,5],[65,5],[87,5],[187,5],[216,5]]},"632":{"position":[[31,5]]},"641":{"position":[[20,5]]},"645":{"position":[[151,5]]},"649":{"position":[[157,5]]},"657":{"position":[[217,5],[610,5]]},"663":{"position":[[325,5]]},"670":{"position":[[37,5],[205,5]]},"684":{"position":[[122,5]]},"699":{"position":[[131,5],[308,5],[532,5]]},"705":{"position":[[74,5],[285,5]]},"708":{"position":[[96,5]]},"710":{"position":[[277,5]]},"712":{"position":[[237,4]]}}}],["pageasset",{"_index":2026,"t":{"546":{"position":[[114,10],[164,10]]}}}],["pagecompon",{"_index":2432,"t":{"796":{"position":[[134,13],[212,13]]},"798":{"position":[[136,13],[220,13]]}}}],["pageconfig",{"_index":442,"t":{"49":{"position":[[23,10],[196,10],[396,10]]},"326":{"position":[[107,10]]},"342":{"position":[[224,10]]},"535":{"position":[[514,10]]},"573":{"position":[[109,10]]},"579":{"position":[[41,10]]},"581":{"position":[[85,10]]},"583":{"position":[[90,10]]},"585":{"position":[[146,10]]},"587":{"position":[[120,10]]},"589":{"position":[[48,10],[181,10]]},"684":{"position":[[58,10],[191,10]]},"699":{"position":[[4,10],[163,10]]},"798":{"position":[[162,10],[200,10]]}}}],["pagedata",{"_index":2433,"t":{"796":{"position":[[160,8],[194,8]]}}}],["pagepath",{"_index":2014,"t":{"542":{"position":[[11,8],[70,8],[148,8]]}}}],["pagescript",{"_index":2027,"t":{"546":{"position":[[150,11],[227,11]]}}}],["pagewrapp",{"_index":2426,"t":{"792":{"position":[[93,11],[218,11],[275,11]]},"796":{"position":[[119,11],[241,11]]},"798":{"position":[[121,11],[249,11]]}}}],["paintworklet",{"_index":1733,"t":{"404":{"position":[[115,12]]}}}],["paragragh",{"_index":1033,"t":{"193":{"position":[[89,9]]}}}],["param",{"_index":1161,"t":{"226":{"position":[[534,6],[593,6]]},"235":{"position":[[823,6],[936,6]]},"237":{"position":[[339,6],[384,6],[605,6],[646,6],[861,6]]},"330":{"position":[[177,6],[202,6]]},"599":{"position":[[447,6]]},"639":{"position":[[140,6],[174,6]]}}}],["paramet",{"_index":1204,"t":{"235":{"position":[[843,10]]}}}],["parser",{"_index":2103,"t":{"605":{"position":[[72,6]]}}}],["patch",{"_index":1209,"t":{"235":{"position":[[1071,5]]},"597":{"position":[[29,5]]}}}],["path",{"_index":608,"t":{"85":{"position":[[687,4],[703,4],[795,4]]},"137":{"position":[[520,4]]},"456":{"position":[[1053,4],[1145,4],[1204,4],[1260,4],[1326,4]]},"699":{"position":[[525,4]]},"758":{"position":[[332,4]]},"760":{"position":[[156,4],[167,4],[376,4]]},"782":{"position":[[167,4],[350,4]]},"786":{"position":[[138,4]]}}}],["pathnam",{"_index":756,"t":{"111":{"position":[[449,8],[805,8]]},"527":{"position":[[427,8],[594,8]]}}}],["pathrewrit",{"_index":1791,"t":{"436":{"position":[[249,11]]}}}],["payload",{"_index":1178,"t":{"230":{"position":[[292,7],[329,7]]},"278":{"position":[[273,7],[306,7]]},"286":{"position":[[291,7],[324,7]]},"295":{"position":[[239,7],[296,7],[365,7],[531,7],[591,7],[812,7],[867,7]]},"299":{"position":[[230,7],[291,7],[326,7],[356,7],[428,7],[468,7]]}}}],["pha",{"_index":1490,"t":{"310":{"position":[[51,3]]},"519":{"position":[[1069,3]]}}}],["picker",{"_index":2335,"t":{"743":{"position":[[175,6],[226,6]]}}}],["pixel",{"_index":2193,"t":{"666":{"position":[[97,5]]}}}],["pkg",{"_index":77,"t":{"4":{"position":[[237,3]]},"766":{"position":[[141,3]]}}}],["plain",{"_index":1010,"t":{"191":{"position":[[17,5]]},"235":{"position":[[895,5]]}}}],["platform",{"_index":2286,"t":{"724":{"position":[[30,8],[65,8],[86,8],[163,8],[184,8]]}}}],["play",{"_index":2352,"t":{"747":{"position":[[106,4],[298,4]]}}}],["plu",{"_index":989,"t":{"185":{"position":[[24,4],[133,4]]},"199":{"position":[[152,4]]},"313":{"position":[[387,4],[411,4],[587,4]]}}}],["plugin",{"_index":271,"t":{"23":{"position":[[67,6]]},"25":{"position":[[22,6],[137,6],[188,7]]},"34":{"position":[[141,6],[192,7]]},"43":{"position":[[222,6]]},"45":{"position":[[19,6],[137,6],[188,7]]},"47":{"position":[[208,6]]},"59":{"position":[[83,6]]},"65":{"position":[[22,6],[159,6],[222,7]]},"98":{"position":[[35,6],[143,6],[187,7]]},"100":{"position":[[119,6],[163,7]]},"113":{"position":[[155,6],[199,7]]},"115":{"position":[[234,6]]},"117":{"position":[[213,6],[257,7]]},"126":{"position":[[46,6]]},"135":{"position":[[24,6]]},"137":{"position":[[97,6],[152,7],[299,6]]},"139":{"position":[[97,6],[152,7],[299,6]]},"144":{"position":[[276,6]]},"150":{"position":[[71,6]]},"152":{"position":[[22,6],[141,6],[194,7]]},"157":{"position":[[121,6],[174,7]]},"159":{"position":[[143,6],[196,7]]},"161":{"position":[[114,6],[167,7],[478,6],[531,7]]},"185":{"position":[[13,6],[122,6],[177,7]]},"205":{"position":[[18,6],[73,6],[147,6],[204,7]]},"212":{"position":[[22,6]]},"214":{"position":[[230,6],[287,7]]},"216":{"position":[[168,6],[225,7]]},"224":{"position":[[26,6],[56,6],[168,6],[222,7]]},"239":{"position":[[143,6]]},"241":{"position":[[95,6]]},"250":{"position":[[172,6],[524,6]]},"270":{"position":[[79,6],[413,6],[537,7]]},"274":{"position":[[19,6],[139,6],[191,7]]},"293":{"position":[[536,6]]},"303":{"position":[[140,6],[192,7]]},"313":{"position":[[120,6],[147,6],[164,6],[194,6],[222,6],[244,6],[276,6],[296,6],[314,6],[346,6],[376,6],[400,6],[425,6],[576,6],[631,7]]},"315":{"position":[[155,7]]},"317":{"position":[[1896,7],[2059,7],[3238,7]]},"321":{"position":[[25,6],[52,6],[172,6],[224,7],[312,6],[341,6],[465,6],[519,7],[660,6],[686,6],[804,6],[855,7]]},"372":{"position":[[117,6],[164,6]]},"444":{"position":[[22,7],[200,7],[237,6],[314,7],[485,6],[641,7]]},"448":{"position":[[380,7]]},"468":{"position":[[139,6]]},"474":{"position":[[130,6],[169,6],[215,7]]},"476":{"position":[[315,6],[461,7]]},"697":{"position":[[134,6]]},"701":{"position":[[212,6],[259,7]]},"720":{"position":[[376,6],[442,6],[563,6],[610,7]]},"758":{"position":[[60,6],[138,6],[146,6],[209,6],[369,6]]},"760":{"position":[[28,6],[106,6],[125,6],[188,6],[226,6],[234,6],[262,6],[432,6],[718,6],[773,7]]},"762":{"position":[[44,6],[124,6],[290,6],[691,6],[729,6],[737,6],[770,6],[896,6],[932,6],[1223,6],[1269,7]]},"766":{"position":[[250,6],[350,6]]},"768":{"position":[[53,6],[78,6],[209,6],[1157,6]]},"770":{"position":[[99,6]]},"772":{"position":[[64,6]]},"774":{"position":[[46,6]]},"776":{"position":[[39,6]]},"778":{"position":[[40,6]]},"780":{"position":[[54,6]]},"782":{"position":[[83,6],[282,6],[498,6],[731,6],[1036,6]]},"784":{"position":[[69,6],[276,6]]},"786":{"position":[[33,6],[71,6],[79,6],[104,6],[175,6]]}}}],["pluginapi",{"_index":2363,"t":{"758":{"position":[[254,9]]},"760":{"position":[[279,9],[307,9]]},"762":{"position":[[787,9]]}}}],["pluginlist",{"_index":1881,"t":{"474":{"position":[[3,10]]}}}],["pluginnam",{"_index":1584,"t":{"317":{"position":[[2005,10]]}}}],["pluginopt",{"_index":2362,"t":{"758":{"position":[[102,13],[153,13]]}}}],["png",{"_index":601,"t":{"85":{"position":[[416,3]]},"87":{"position":[[299,3]]},"396":{"position":[[22,3],[145,3],[187,3],[247,3],[268,3]]},"398":{"position":[[44,3]]},"400":{"position":[[56,3]]},"585":{"position":[[225,3],[244,3]]},"589":{"position":[[408,3]]},"684":{"position":[[418,3]]}}}],["pnpm",{"_index":1921,"t":{"484":{"position":[[40,4],[66,4],[85,4],[141,4],[155,4]]}}}],["pollinginterv",{"_index":1295,"t":{"237":{"position":[[785,15]]}}}],["pollingwhenhidden",{"_index":1297,"t":{"237":{"position":[[836,17]]}}}],["polyfil",{"_index":221,"t":{"15":{"position":[[90,8]]},"210":{"position":[[59,8],[382,8]]},"315":{"position":[[482,8]]},"446":{"position":[[47,8],[102,8],[196,8],[245,8],[288,8],[305,8],[360,8],[374,8]]},"587":{"position":[[57,8]]},"720":{"position":[[887,8]]}}}],["port",{"_index":616,"t":{"85":{"position":[[961,4],[985,4],[1045,4]]},"315":{"position":[[103,4]]},"386":{"position":[[238,4],[244,4]]},"551":{"position":[[52,4]]},"553":{"position":[[75,4],[248,4]]},"557":{"position":[[83,4],[102,4]]},"768":{"position":[[861,4]]}}}],["post",{"_index":1199,"t":{"235":{"position":[[504,4],[1059,4]]},"597":{"position":[[10,4],[254,4]]},"599":{"position":[[109,4],[358,4]]},"605":{"position":[[149,4]]}}}],["postcss",{"_index":1566,"t":{"315":{"position":[[1596,7],[1675,7]]},"317":{"position":[[1491,7]]},"444":{"position":[[91,7],[189,7],[212,7],[298,7],[328,7],[348,7],[477,7],[516,7],[533,7],[556,7],[592,7],[604,7],[655,7],[682,7]]},"659":{"position":[[20,7]]},"672":{"position":[[20,7]]}}}],["postcssopt",{"_index":1521,"t":{"315":{"position":[[451,14]]},"317":{"position":[[1148,14]]}}}],["postcssrc",{"_index":1522,"t":{"315":{"position":[[468,9]]},"317":{"position":[[1165,9],[1580,9]]}}}],["pr",{"_index":1899,"t":{"478":{"position":[[442,2]]}}}],["prefix",{"_index":880,"t":{"159":{"position":[[230,6]]}}}],["preset",{"_index":1812,"t":{"444":{"position":[[356,6],[663,6],[690,6]]}}}],["preview",{"_index":2058,"t":{"583":{"position":[[223,7]]},"612":{"position":[[220,7]]},"618":{"position":[[40,7],[95,7],[197,7]]},"705":{"position":[[247,7]]}}}],["prevstat",{"_index":1177,"t":{"230":{"position":[[281,9],[315,9]]}}}],["price",{"_index":1163,"t":{"226":{"position":[[648,5]]}}}],["primari",{"_index":334,"t":{"34":{"position":[[222,7],[258,7]]}}}],["pro",{"_index":879,"t":{"157":{"position":[[229,3]]},"161":{"position":[[243,3],[369,3]]}}}],["process",{"_index":1357,"t":{"250":{"position":[[607,7]]},"422":{"position":[[43,7]]},"442":{"position":[[293,7]]},"476":{"position":[[395,7]]},"553":{"position":[[44,7]]},"555":{"position":[[124,7]]},"557":{"position":[[59,7],[90,7]]},"559":{"position":[[180,7]]}}}],["processopt",{"_index":1807,"t":{"444":{"position":[[3,14]]}}}],["prod",{"_index":1356,"t":{"250":{"position":[[398,4]]}}}],["product",{"_index":1609,"t":{"319":{"position":[[597,7],[635,8],[692,7],[703,8]]},"422":{"position":[[83,10]]},"432":{"position":[[426,10],[530,10]]},"456":{"position":[[709,7],[720,8]]},"458":{"position":[[95,10]]},"553":{"position":[[343,10]]},"563":{"position":[[34,10]]},"768":{"position":[[304,10]]}}}],["profil",{"_index":2236,"t":{"682":{"position":[[190,7]]}}}],["project",{"_index":917,"t":{"171":{"position":[[27,7],[113,7]]},"686":{"position":[[42,7]]},"701":{"position":[[51,7],[82,7]]},"722":{"position":[[259,7]]},"726":{"position":[[42,7]]},"817":{"position":[[216,7]]},"825":{"position":[[194,7],[338,7]]}}}],["projectpath",{"_index":554,"t":{"82":{"position":[[154,11]]}}}],["promis",{"_index":1316,"t":{"237":{"position":[[1597,7]]},"239":{"position":[[511,7],[849,7]]},"257":{"position":[[250,7]]},"266":{"position":[[266,7],[302,7]]},"527":{"position":[[690,7]]}}}],["prop",{"_index":741,"t":{"109":{"position":[[35,5]]},"185":{"position":[[256,5],[297,5]]},"195":{"position":[[157,5],[165,5],[180,5],[528,5],[536,5],[551,5]]},"218":{"position":[[16,5]]},"305":{"position":[[189,5]]},"348":{"position":[[146,5]]},"529":{"position":[[358,5]]},"542":{"position":[[5,5]]},"544":{"position":[[249,5],[280,5],[469,5],[498,5],[679,5],[709,5],[887,5],[916,5]]}}}],["properti",{"_index":1818,"t":{"444":{"position":[[448,10]]}}}],["propos",{"_index":1870,"t":{"464":{"position":[[106,8],[137,8]]}}}],["provid",{"_index":1242,"t":{"235":{"position":[[1831,8],[2264,8]]},"506":{"position":[[31,8]]},"790":{"position":[[11,8],[68,8],[178,8],[199,8]]}}}],["proxi",{"_index":1511,"t":{"315":{"position":[[261,5]]},"436":{"position":[[72,5],[162,5]]},"768":{"position":[[729,5]]}}}],["public",{"_index":636,"t":{"87":{"position":[[575,6]]},"408":{"position":[[0,6],[138,6],[331,6],[360,6],[434,6]]},"490":{"position":[[96,6]]}}}],["publicpath",{"_index":599,"t":{"85":{"position":[[394,10],[440,10],[575,10],[910,10]]},"87":{"position":[[280,10],[321,10],[451,10],[629,10],[654,10]]},"92":{"position":[[30,10]]},"315":{"position":[[177,10]]},"413":{"position":[[124,10]]},"426":{"position":[[51,10]]},"428":{"position":[[18,10]]},"768":{"position":[[521,10],[549,10]]}}}],["push",{"_index":1442,"t":{"295":{"position":[[586,4]]},"299":{"position":[[321,4]]},"317":{"position":[[1904,4],[2067,4]]},"328":{"position":[[112,4]]},"476":{"position":[[470,4]]},"628":{"position":[[86,4]]},"710":{"position":[[125,4]]},"768":{"position":[[1251,4]]}}}],["put",{"_index":1208,"t":{"235":{"position":[[1052,3]]},"597":{"position":[[16,3]]}}}],["pv",{"_index":1634,"t":{"336":{"position":[[158,2]]}}}],["pwa",{"_index":1549,"t":{"315":{"position":[[996,3]]}}}],["px",{"_index":1808,"t":{"444":{"position":[[220,2]]}}}],["queri",{"_index":1624,"t":{"332":{"position":[[35,5],[57,5],[137,5],[358,5],[470,5]]},"527":{"position":[[454,5],[622,5],[643,5]]},"531":{"position":[[568,5],[1278,5]]},"637":{"position":[[25,5]]},"745":{"position":[[175,5],[211,5]]}}}],["radio",{"_index":2331,"t":{"743":{"position":[[81,5],[116,5]]}}}],["raeggaqm",{"_index":1897,"t":{"478":{"position":[[258,8],[293,8]]}}}],["raw",{"_index":1736,"t":{"406":{"position":[[4,3],[59,3],[66,3],[81,3]]},"482":{"position":[[135,3]]}}}],["rax",{"_index":885,"t":{"163":{"position":[[10,3],[56,3],[126,3],[213,3]]},"165":{"position":[[9,3],[67,3],[97,3],[109,3]]},"167":{"position":[[7,3],[34,3]]},"169":{"position":[[8,3]]},"171":{"position":[[6,3],[23,3],[46,3],[85,3],[109,3]]},"173":{"position":[[69,3]]},"203":{"position":[[6,3],[21,3],[41,3],[77,3],[109,3],[135,3],[145,3]]},"205":{"position":[[25,3],[52,3],[80,3],[154,3]]},"208":{"position":[[0,3],[18,3],[37,3]]},"210":{"position":[[41,3],[106,3],[215,3],[351,3],[391,3]]},"212":{"position":[[29,3],[228,3]]},"214":{"position":[[3,3],[159,3],[237,3]]},"216":{"position":[[0,3],[54,3],[175,3]]},"218":{"position":[[32,3]]},"220":{"position":[[31,3],[104,3]]}}}],["raxapp",{"_index":1090,"t":{"210":{"position":[[331,6]]}}}],["re",{"_index":781,"t":{"113":{"position":[[684,3],[777,3],[785,3],[814,3],[933,3],[1002,3],[1026,3]]},"603":{"position":[[114,3],[188,3]]},"605":{"position":[[182,3],[256,3],[292,3]]},"745":{"position":[[87,3],[133,3],[262,3],[283,3],[402,3],[454,3]]}}}],["react",{"_index":5,"t":{"2":{"position":[[15,5]]},"4":{"position":[[245,5]]},"15":{"position":[[19,5],[34,5],[108,5],[121,5]]},"17":{"position":[[34,5]]},"39":{"position":[[59,5]]},"53":{"position":[[7,5],[19,5]]},"55":{"position":[[7,5],[19,5]]},"57":{"position":[[47,5],[59,5]]},"96":{"position":[[127,5],[141,5],[152,5]]},"163":{"position":[[40,5],[64,5],[81,5]]},"165":{"position":[[55,5]]},"175":{"position":[[87,5],[95,5],[132,5],[151,5]]},"179":{"position":[[17,5],[72,5],[84,5],[124,5],[207,5]]},"203":{"position":[[30,5],[56,5],[86,5],[166,5]]},"210":{"position":[[80,5],[120,5],[416,5]]},"218":{"position":[[2,5],[66,5]]},"220":{"position":[[0,5],[110,5]]},"230":{"position":[[495,5],[522,5]]},"232":{"position":[[87,5],[114,5]]},"257":{"position":[[479,5]]},"261":{"position":[[30,5],[98,5],[699,5]]},"270":{"position":[[33,5],[86,5],[393,5],[420,5],[547,5],[838,5]]},"282":{"position":[[27,5]]},"290":{"position":[[52,5]]},"305":{"position":[[137,5]]},"344":{"position":[[23,5]]},"348":{"position":[[37,5],[217,5]]},"352":{"position":[[45,5]]},"368":{"position":[[77,5],[90,5]]},"380":{"position":[[106,5]]},"432":{"position":[[175,5],[183,5],[192,5],[407,5],[420,5],[503,5],[520,5]]},"454":{"position":[[808,5],[817,5]]},"519":{"position":[[186,5],[319,5]]},"538":{"position":[[7,5]]},"559":{"position":[[105,5],[117,5]]},"663":{"position":[[949,5]]},"751":{"position":[[10,5]]},"792":{"position":[[42,5]]},"794":{"position":[[11,5],[48,5],[104,5]]},"796":{"position":[[59,5]]},"798":{"position":[[59,5]]}}}],["reactdom",{"_index":1781,"t":{"432":{"position":[[205,8]]},"751":{"position":[[42,8],[68,8]]},"794":{"position":[[33,8],[181,8]]}}}],["readi",{"_index":1313,"t":{"237":{"position":[[1161,5],[1183,5]]}}}],["recommend",{"_index":1853,"t":{"456":{"position":[[1267,10],[1298,10]]}}}],["reconcil",{"_index":2357,"t":{"751":{"position":[[16,10]]}}}],["record",{"_index":329,"t":{"34":{"position":[[4,6]]},"113":{"position":[[880,6]]},"159":{"position":[[4,6]]},"418":{"position":[[3,6]]},"422":{"position":[[3,6]]},"432":{"position":[[18,6]]},"444":{"position":[[51,6]]}}}],["red",{"_index":1098,"t":{"212":{"position":[[171,3],[308,3]]},"540":{"position":[[165,3]]},"659":{"position":[[149,3]]}}}],["redirect",{"_index":1253,"t":{"235":{"position":[[2425,9]]}}}],["reduc",{"_index":1175,"t":{"230":{"position":[[262,8]]},"278":{"position":[[247,8]]},"286":{"position":[[265,8]]},"295":{"position":[[190,8],[205,8],[307,7],[501,8],[988,8],[1166,8]]},"297":{"position":[[295,7]]},"299":{"position":[[202,8],[655,8]]},"317":{"position":[[302,6],[1415,6]]}}}],["redux",{"_index":1455,"t":{"299":{"position":[[0,5],[557,5]]},"307":{"position":[[9,5],[37,5],[133,5],[200,5]]}}}],["ref",{"_index":1142,"t":{"220":{"position":[[133,3]]}}}],["refresh",{"_index":1274,"t":{"237":{"position":[[398,7]]},"297":{"position":[[218,7],[418,7],[591,7],[642,7]]},"768":{"position":[[1053,7]]}}}],["refreshdep",{"_index":1314,"t":{"237":{"position":[[1212,11],[1237,11]]}}}],["refreshonwindowfocu",{"_index":1301,"t":{"237":{"position":[[938,20],[1022,20]]}}}],["regist",{"_index":1924,"t":{"484":{"position":[[95,8]]}}}],["registercliopt",{"_index":2398,"t":{"774":{"position":[[70,17],[96,17]]}}}],["registertask",{"_index":2400,"t":{"778":{"position":[[64,12],[122,12]]}}}],["registeruserconfig",{"_index":2395,"t":{"772":{"position":[[88,18],[115,18]]}}}],["registri",{"_index":1925,"t":{"484":{"position":[[112,8]]}}}],["reject",{"_index":1325,"t":{"239":{"position":[[519,6],[857,6]]}}}],["rel",{"_index":595,"t":{"85":{"position":[[364,3],[469,3]]},"87":{"position":[[252,3],[347,3]]},"408":{"position":[[240,3]]},"585":{"position":[[196,3],[255,3],[450,3]]}}}],["reload",{"_index":1529,"t":{"315":{"position":[[567,6]]}}}],["rem",{"_index":2326,"t":{"739":{"position":[[5,3]]}}}],["remoteruntim",{"_index":1524,"t":{"315":{"position":[[500,13]]}}}],["removeev",{"_index":2416,"t":{"784":{"position":[[219,11],[320,11]]}}}],["removeload",{"_index":1587,"t":{"317":{"position":[[2214,12],[2566,12]]}}}],["removeplugin",{"_index":1580,"t":{"317":{"position":[[1695,12],[1975,12]]}}}],["render",{"_index":615,"t":{"85":{"position":[[892,6]]},"115":{"position":[[364,8]]},"261":{"position":[[659,6],[787,6]]},"270":{"position":[[798,6],[926,6]]},"305":{"position":[[155,6]]},"422":{"position":[[109,8]]},"653":{"position":[[41,9]]},"794":{"position":[[190,6]]}}}],["renderfoot",{"_index":1048,"t":{"195":{"position":[[339,12]]}}}],["renderhead",{"_index":1047,"t":{"195":{"position":[[296,12]]}}}],["renderitem",{"_index":1049,"t":{"195":{"position":[[382,10]]}}}],["rendermod",{"_index":1645,"t":{"346":{"position":[[73,10],[260,10],[304,10]]}}}],["renderrout",{"_index":2428,"t":{"792":{"position":[[396,12],[472,12]]}}}],["rendersubtreeintocontain",{"_index":2360,"t":{"751":{"position":[[103,26]]}}}],["rendertohtml",{"_index":776,"t":{"113":{"position":[[555,12],[757,12]]}}}],["replac",{"_index":1632,"t":{"334":{"position":[[235,7]]}}}],["repo",{"_index":1155,"t":{"226":{"position":[[170,4],[316,4],[491,4]]},"237":{"position":[[1370,4],[1477,4],[1626,4]]},"241":{"position":[[597,4]]},"330":{"position":[[96,4],[128,4]]},"612":{"position":[[201,4],[215,4]]},"618":{"position":[[35,4],[74,4],[90,4],[192,4],[210,4],[651,4],[702,4],[733,4],[757,4]]},"637":{"position":[[98,4]]},"639":{"position":[[74,4],[92,4],[125,4]]},"705":{"position":[[228,4],[242,4]]},"710":{"position":[[283,4]]}}}],["repoid",{"_index":1620,"t":{"330":{"position":[[102,6],[231,6]]}}}],["req",{"_index":780,"t":{"113":{"position":[[679,3],[772,3],[977,3]]},"603":{"position":[[109,3]]},"605":{"position":[[22,3],[168,3],[251,3],[281,3]]}}}],["request",{"_index":769,"t":{"113":{"position":[[425,7]]},"224":{"position":[[33,7],[63,7],[149,7],[175,7],[233,7]]},"226":{"position":[[279,7],[333,7],[411,7],[477,7],[563,7]]},"232":{"position":[[280,7],[353,7]]},"235":{"position":[[0,7],[173,7],[244,7],[346,7],[435,7],[459,7],[496,7],[610,7],[651,7],[693,7],[783,9],[874,7],[999,7],[1035,7],[1168,7],[1197,7],[1238,7],[1381,8],[1708,7],[2292,7],[2316,7],[2332,7],[2485,7]]},"237":{"position":[[97,7],[181,7],[315,7],[1341,7],[1378,7],[1441,7],[1503,7],[1566,7],[1667,7]]},"239":{"position":[[150,7],[229,7],[367,7]]},"241":{"position":[[102,7],[224,7],[249,7],[350,7],[450,7],[491,7],[554,7]]},"243":{"position":[[16,7],[159,7]]},"250":{"position":[[97,7],[179,7],[453,7],[531,7]]},"315":{"position":[[986,7]]},"321":{"position":[[319,7],[348,7],[446,7],[472,7],[530,7]]},"523":{"position":[[368,7],[426,7]]},"599":{"position":[[303,7],[381,7],[390,7],[439,7]]},"605":{"position":[[95,7],[173,7]]},"728":{"position":[[79,7]]},"782":{"position":[[440,7],[573,7],[581,7],[604,7],[673,7],[811,7],[841,7],[866,7]]}}}],["request2",{"_index":1240,"t":{"235":{"position":[[1745,8]]},"241":{"position":[[275,8],[579,8]]}}}],["requestconfig",{"_index":1198,"t":{"235":{"position":[[443,13],[480,13],[524,13],[540,13]]},"239":{"position":[[179,13],[325,13],[415,13]]},"241":{"position":[[131,13],[194,13],[310,13]]},"243":{"position":[[194,13]]},"250":{"position":[[208,13],[560,13]]},"321":{"position":[[598,13]]}}}],["requestmethod",{"_index":1257,"t":{"237":{"position":[[72,13]]}}}],["requir",{"_index":607,"t":{"85":{"position":[[659,7],[694,7],[723,7]]}}}],["resdata",{"_index":1195,"t":{"235":{"position":[[228,7],[288,7]]}}}],["resetpagest",{"_index":1474,"t":{"303":{"position":[[224,14]]},"321":{"position":[[243,14]]}}}],["resolv",{"_index":1317,"t":{"237":{"position":[[1605,7]]},"521":{"position":[[362,7],[769,7]]},"531":{"position":[[877,7],[957,7]]},"768":{"position":[[576,7]]}}}],["resourc",{"_index":629,"t":{"87":{"position":[[0,9]]}}}],["resourceregexp",{"_index":1835,"t":{"454":{"position":[[530,14],[603,14]]}}}],["respond",{"_index":1232,"t":{"235":{"position":[[1527,7],[2070,9]]}}}],["respons",{"_index":1192,"t":{"235":{"position":[[60,8],[80,8],[96,8],[1671,8],[1774,8],[1813,8],[1916,8],[1997,8],[2182,8],[2360,8]]},"239":{"position":[[242,8],[540,8],[563,8],[606,8],[627,8],[681,8],[753,8],[787,8],[823,8]]},"243":{"position":[[91,8]]},"599":{"position":[[312,8],[399,8],[409,8],[455,8]]},"605":{"position":[[104,8],[187,8]]},"666":{"position":[[86,10]]}}}],["responsetyp",{"_index":1231,"t":{"235":{"position":[[1465,12],[1608,12]]}}}],["result",{"_index":2060,"t":{"583":{"position":[[241,7]]}}}],["return",{"_index":366,"t":{"39":{"position":[[177,6]]},"47":{"position":[[348,6]]},"49":{"position":[[158,6],[357,6]]},"53":{"position":[[101,6]]},"55":{"position":[[202,6]]},"57":{"position":[[286,6],[327,6],[402,6]]},"59":{"position":[[160,6],[278,6]]},"87":{"position":[[668,6]]},"107":{"position":[[345,6]]},"109":{"position":[[310,6]]},"111":{"position":[[268,6],[403,6],[818,6]]},"115":{"position":[[389,6],[453,6],[684,6]]},"144":{"position":[[110,6]]},"177":{"position":[[258,6]]},"179":{"position":[[232,6]]},"185":{"position":[[304,6]]},"210":{"position":[[236,6]]},"226":{"position":[[398,6],[464,6],[604,6],[630,6]]},"230":{"position":[[303,6],[754,6]]},"232":{"position":[[372,6]]},"235":{"position":[[1659,6]]},"239":{"position":[[464,6],[504,6],[674,6],[842,6]]},"241":{"position":[[437,6],[541,6]]},"259":{"position":[[71,6]]},"261":{"position":[[564,6]]},"270":{"position":[[662,6]]},"278":{"position":[[284,6]]},"282":{"position":[[256,6]]},"286":{"position":[[302,6]]},"290":{"position":[[267,6]]},"293":{"position":[[678,6]]},"295":{"position":[[635,6],[710,6]]},"299":{"position":[[243,6],[369,6],[696,6]]},"315":{"position":[[1615,6]]},"317":{"position":[[271,6],[325,6],[683,6],[1028,6],[1384,6],[1438,6],[2777,6],[3284,6]]},"330":{"position":[[247,6]]},"332":{"position":[[519,6]]},"334":{"position":[[261,6]]},"336":{"position":[[182,6]]},"338":{"position":[[158,6],[314,6]]},"342":{"position":[[171,6]]},"344":{"position":[[329,6]]},"346":{"position":[[317,6]]},"348":{"position":[[307,6],[547,6]]},"352":{"position":[[177,6]]},"354":{"position":[[147,6]]},"372":{"position":[[232,6]]},"378":{"position":[[77,6]]},"380":{"position":[[234,6],[288,6],[440,6]]},"382":{"position":[[96,6]]},"398":{"position":[[79,6]]},"408":{"position":[[209,6]]},"432":{"position":[[317,6]]},"448":{"position":[[426,6]]},"476":{"position":[[504,6]]},"519":{"position":[[499,6],[780,6],[982,6]]},"521":{"position":[[322,6],[661,6]]},"527":{"position":[[274,6],[519,6]]},"529":{"position":[[238,6]]},"531":{"position":[[243,6],[462,6],[586,6],[858,6],[1173,6],[1296,6]]},"535":{"position":[[97,6]]},"542":{"position":[[84,6]]},"544":{"position":[[178,6],[261,6],[425,6],[481,6],[634,6],[691,6],[844,6],[899,6]]},"546":{"position":[[241,6]]},"559":{"position":[[159,6]]},"575":{"position":[[132,6]]},"585":{"position":[[411,6]]},"614":{"position":[[100,6]]},"616":{"position":[[188,6]]},"632":{"position":[[108,6]]},"645":{"position":[[254,6]]},"649":{"position":[[303,6],[443,6],[571,6]]},"657":{"position":[[388,6],[462,6],[771,6],[912,6]]},"659":{"position":[[219,6]]},"663":{"position":[[493,6],[785,6]]},"670":{"position":[[255,6]]},"697":{"position":[[220,6]]},"699":{"position":[[178,6],[502,6],[553,6]]},"708":{"position":[[173,6]]},"712":{"position":[[216,6]]},"730":{"position":[[63,6]]},"768":{"position":[[1313,6]]},"790":{"position":[[93,6],[170,6]]},"792":{"position":[[182,6],[431,6]]},"796":{"position":[[205,6]]},"798":{"position":[[213,6]]}}}],["rewrit",{"_index":1849,"t":{"456":{"position":[[1060,7]]}}}],["robot",{"_index":1743,"t":{"408":{"position":[[345,6]]}}}],["root",{"_index":534,"t":{"80":{"position":[[77,4]]},"616":{"position":[[207,4]]},"618":{"position":[[612,4]]}}}],["rootdir",{"_index":1391,"t":{"261":{"position":[[407,7]]},"386":{"position":[[162,7],[171,7]]},"388":{"position":[[158,7],[167,7]]},"766":{"position":[[84,7]]}}}],["rootid",{"_index":1610,"t":{"324":{"position":[[115,6]]},"368":{"position":[[0,6],[56,6]]}}}],["rootstat",{"_index":1445,"t":{"295":{"position":[[821,9],[877,9]]}}}],["rout",{"_index":1606,"t":{"319":{"position":[[464,6],[523,5],[561,5],[651,5],[684,5]]},"456":{"position":[[58,5],[253,6],[463,6],[488,5],[598,5],[668,5],[701,5],[794,5],[827,5],[1031,6]]},"612":{"position":[[172,6],[239,6]]},"641":{"position":[[187,6]]},"643":{"position":[[127,6],[152,5],[196,5]]},"682":{"position":[[154,6],[244,6]]},"705":{"position":[[199,6],[266,6]]},"720":{"position":[[696,6],[761,6]]},"792":{"position":[[412,6],[443,5]]}}}],["routeconfig",{"_index":479,"t":{"59":{"position":[[219,11],[251,11]]},"358":{"position":[[0,11],[48,11]]}}}],["router",{"_index":672,"t":{"94":{"position":[[193,6]]},"315":{"position":[[1002,6]]},"370":{"position":[[11,6],[28,6],[303,6]]},"782":{"position":[[202,6]]},"792":{"position":[[315,6]]}}}],["routesdata",{"_index":2420,"t":{"788":{"position":[[85,10]]}}}],["rpx",{"_index":1104,"t":{"212":{"position":[[373,3],[395,3]]},"666":{"position":[[12,3],[38,3],[66,3],[82,3],[236,3],[311,3]]}}}],["rpx2vw",{"_index":1819,"t":{"444":{"position":[[492,6]]}}}],["rule",{"_index":1568,"t":{"315":{"position":[[1652,4]]},"317":{"position":[[352,4],[720,4],[1065,4],[1465,4],[2458,4],[2597,4],[2702,4]]}}}],["run",{"_index":642,"t":{"89":{"position":[[7,3]]},"237":{"position":[[174,3]]},"259":{"position":[[215,3]]},"261":{"position":[[889,3]]},"268":{"position":[[193,3]]},"270":{"position":[[1030,3]]},"601":{"position":[[53,3]]},"722":{"position":[[45,3],[89,3]]},"770":{"position":[[314,3],[364,3]]},"825":{"position":[[47,3]]},"827":{"position":[[38,3]]}}}],["runapp",{"_index":1600,"t":{"319":{"position":[[19,6],[65,6]]}}}],["runtim",{"_index":1082,"t":{"210":{"position":[[86,7],[126,7]]},"257":{"position":[[490,7]]},"313":{"position":[[77,7]]},"697":{"position":[[149,7]]},"720":{"position":[[414,7],[487,7]]},"758":{"position":[[300,7],[321,7],[340,7]]},"760":{"position":[[78,7],[132,7],[325,7],[347,7],[367,7],[398,7],[481,7],[503,7],[598,7]]},"762":{"position":[[185,7],[428,7],[456,7],[494,7],[531,7],[665,7],[808,7],[866,7],[878,7],[903,7],[981,7],[1003,7],[1098,7]]},"786":{"position":[[118,7],[146,7],[263,7],[285,7],[335,7]]},"788":{"position":[[107,7],[181,7]]}}}],["runtimeplugin",{"_index":2366,"t":{"760":{"position":[[454,13],[512,13]]},"762":{"position":[[954,13],[1012,13]]},"786":{"position":[[236,13],[294,13]]}}}],["s",{"_index":934,"t":{"175":{"position":[[175,1]]},"222":{"position":[[19,1]]},"317":{"position":[[3133,1]]},"720":{"position":[[496,1]]}}}],["sale",{"_index":1850,"t":{"456":{"position":[[1112,5],[1177,5],[1234,5],[1292,5]]}}}],["sass",{"_index":876,"t":{"155":{"position":[[13,4],[88,4],[115,4]]},"161":{"position":[[8,4],[201,4]]},"317":{"position":[[295,4],[1073,4],[1089,4],[1408,4]]},"659":{"position":[[47,4]]}}}],["sassloaderopt",{"_index":1545,"t":{"315":{"position":[[838,17]]},"317":{"position":[[804,17]]}}}],["save",{"_index":570,"t":{"85":{"position":[[122,4]]},"135":{"position":[[10,4]]},"205":{"position":[[93,4]]},"376":{"position":[[77,4]]},"733":{"position":[[202,4]]}}}],["scaffold",{"_index":2272,"t":{"718":{"position":[[49,8]]},"817":{"position":[[116,8]]},"823":{"position":[[70,8]]}}}],["scale",{"_index":2000,"t":{"535":{"position":[[254,5]]}}}],["scallop",{"_index":1730,"t":{"404":{"position":[[78,9]]}}}],["scan",{"_index":2231,"t":{"677":{"position":[[174,4],[252,4]]}}}],["scancod",{"_index":2232,"t":{"677":{"position":[[213,8]]}}}],["scheme",{"_index":1241,"t":{"235":{"position":[[1783,6]]}}}],["scope",{"_index":1050,"t":{"195":{"position":[[521,5]]}}}],["screen",{"_index":1395,"t":{"261":{"position":[[667,6],[814,6]]},"270":{"position":[[806,6],[953,6]]}}}],["script",{"_index":605,"t":{"85":{"position":[[536,6],[604,6]]},"87":{"position":[[414,6],[477,6]]},"257":{"position":[[592,7]]},"266":{"position":[[576,7]]},"360":{"position":[[32,7]]},"384":{"position":[[44,7]]},"432":{"position":[[64,6],[273,7],[362,6],[447,6],[458,6],[551,6],[560,7]]},"535":{"position":[[53,7],[320,7],[458,7]]},"538":{"position":[[88,7],[100,6],[141,7]]},"540":{"position":[[53,6],[204,6],[305,6]]},"542":{"position":[[112,6],[214,6]]},"544":{"position":[[8,7],[31,6],[72,7],[109,7],[134,7],[225,7],[269,6],[309,6],[321,6]]},"587":{"position":[[159,7]]},"589":{"position":[[28,7]]},"684":{"position":[[38,7]]},"720":{"position":[[66,7],[79,7]]},"756":{"position":[[18,7]]},"766":{"position":[[65,6]]},"823":{"position":[[151,7]]}}}],["scriptel",{"_index":2021,"t":{"544":{"position":[[233,13]]}}}],["scss",{"_index":2159,"t":{"659":{"position":[[301,4]]},"663":{"position":[[653,4],[749,4]]},"784":{"position":[[138,4]]}}}],["scssstyle",{"_index":2186,"t":{"663":{"position":[[717,10],[853,10]]}}}],["sdk",{"_index":2066,"t":{"587":{"position":[[51,3]]}}}],["search",{"_index":2059,"t":{"583":{"position":[[234,6]]}}}],["searchparam",{"_index":1628,"t":{"332":{"position":[[276,12],[334,12],[378,12]]},"637":{"position":[[114,12],[178,12]]},"712":{"position":[[144,12],[182,12]]}}}],["second",{"_index":2235,"t":{"682":{"position":[[183,6]]},"699":{"position":[[464,6]]}}}],["select",{"_index":2334,"t":{"743":{"position":[[142,6],[205,6]]},"745":{"position":[[217,6]]}}}],["seller",{"_index":841,"t":{"137":{"position":[[528,6],[647,6]]}}}],["send",{"_index":1633,"t":{"336":{"position":[[153,4]]},"599":{"position":[[464,4]]},"603":{"position":[[192,4]]},"605":{"position":[[296,4]]}}}],["sent",{"_index":1202,"t":{"235":{"position":[[765,4],[860,4],[987,4]]}}}],["seo",{"_index":681,"t":{"96":{"position":[[83,3]]},"653":{"position":[[142,3]]}}}],["server",{"_index":777,"t":{"113":{"position":[[584,6]]},"235":{"position":[[573,6],[1515,6],[1847,6],[1909,6],[1990,6],[2063,6]]},"315":{"position":[[672,6]]},"344":{"position":[[180,6],[364,6]]},"348":{"position":[[189,6]]},"422":{"position":[[132,6]]},"454":{"position":[[345,6],[508,6],[680,6],[785,6],[858,6],[976,6]]},"653":{"position":[[29,6]]},"657":{"position":[[36,6],[185,6],[510,6],[829,6]]},"768":{"position":[[1021,6]]},"770":{"position":[[516,6],[543,6]]},"817":{"position":[[261,6]]}}}],["serverdataload",{"_index":2155,"t":{"657":{"position":[[538,16],[568,16],[856,16],[974,16]]}}}],["servic",{"_index":1153,"t":{"226":{"position":[[5,7],[52,8],[137,8],[217,8],[308,7]]},"228":{"position":[[3,7],[27,7],[35,7],[67,7],[75,7]]},"230":{"position":[[11,7],[31,8],[130,7],[166,8]]},"232":{"position":[[0,7],[20,8],[64,7],[183,8],[242,7]]},"237":{"position":[[307,7],[516,7],[1525,7]]},"250":{"position":[[258,7]]}}}],["set",{"_index":727,"t":{"107":{"position":[[67,3],[97,3],[417,3]]},"109":{"position":[[382,3]]},"179":{"position":[[291,3],[350,3]]},"315":{"position":[[1358,3]]},"317":{"position":[[211,3],[623,3],[971,3],[1324,3],[1778,3],[2297,3],[3039,3]]}}}],["setapprout",{"_index":2427,"t":{"792":{"position":[[298,12],[345,12],[369,12],[459,12]]}}}],["setauth",{"_index":457,"t":{"55":{"position":[[89,7],[160,7]]},"179":{"position":[[196,7],[273,7],[333,7]]}}}],["setcal",{"_index":1684,"t":{"380":{"position":[[204,9],[271,9]]}}}],["setconfig",{"_index":2397,"t":{"772":{"position":[[230,9]]},"774":{"position":[[172,9]]}}}],["setdata",{"_index":1960,"t":{"519":{"position":[[373,7],[477,7]]}}}],["sethead",{"_index":788,"t":{"113":{"position":[[937,9]]}}}],["setlocal",{"_index":735,"t":{"107":{"position":[[275,9],[397,9]]},"109":{"position":[[54,9],[95,9],[251,9],[362,9]]},"111":{"position":[[5,9],[242,9],[474,9],[648,9],[767,9]]},"115":{"position":[[48,9],[658,9],[724,9]]}}}],["setrend",{"_index":2429,"t":{"794":{"position":[[78,9],[224,9]]}}}],["setsearchparam",{"_index":1625,"t":{"332":{"position":[[83,15],[290,15],[447,15],[483,15]]},"637":{"position":[[128,15],[193,15]]}}}],["setstat",{"_index":1454,"t":{"297":{"position":[[308,8],[471,8]]}}}],["setup",{"_index":1386,"t":{"261":{"position":[[173,5],[213,5],[421,5]]},"270":{"position":[[120,5],[162,5],[523,5]]},"758":{"position":[[226,5],[246,5]]},"760":{"position":[[271,5]]},"762":{"position":[[779,5]]},"766":{"position":[[268,5]]},"768":{"position":[[92,5],[1171,5]]},"770":{"position":[[113,5]]},"772":{"position":[[78,5]]},"774":{"position":[[60,5]]},"776":{"position":[[53,5]]},"778":{"position":[[54,5]]},"780":{"position":[[68,5]]},"782":{"position":[[97,5],[296,5],[512,5],[745,5],[1050,5]]},"784":{"position":[[83,5],[290,5]]}}}],["setupfil",{"_index":1406,"t":{"270":{"position":[[500,10]]}}}],["setupfilesafterenv",{"_index":1390,"t":{"261":{"position":[[384,18]]}}}],["sh",{"_index":1910,"t":{"482":{"position":[[165,2],[188,2]]}}}],["shake",{"_index":277,"t":{"23":{"position":[[112,7]]},"150":{"position":[[116,7]]}}}],["shortcut",{"_index":596,"t":{"85":{"position":[[369,8]]},"87":{"position":[[257,8]]}}}],["show",{"_index":1676,"t":{"378":{"position":[[151,4]]},"382":{"position":[[176,4]]},"697":{"position":[[321,4]]}}}],["side",{"_index":2147,"t":{"653":{"position":[[36,4]]}}}],["site",{"_index":1227,"t":{"235":{"position":[[1361,4]]},"645":{"position":[[36,4]]}}}],["size",{"_index":2012,"t":{"540":{"position":[[175,4]]},"668":{"position":[[124,4],[168,4]]},"670":{"position":[[152,4]]}}}],["slice",{"_index":1441,"t":{"295":{"position":[[569,5]]}}}],["slider",{"_index":2124,"t":{"618":{"position":[[345,6],[387,6]]}}}],["slot",{"_index":1037,"t":{"195":{"position":[[19,4],[48,4],[112,4],[146,4],[207,4],[247,4],[470,4],[504,4],[516,4],[576,4]]},"197":{"position":[[31,4]]}}}],["slotnam",{"_index":1040,"t":{"195":{"position":[[53,8]]}}}],["slotscop",{"_index":1041,"t":{"195":{"position":[[63,9]]}}}],["slow",{"_index":1965,"t":{"519":{"position":[[1135,4]]}}}],["smartprogram",{"_index":2294,"t":{"724":{"position":[[224,12]]}}}],["smooth",{"_index":2163,"t":{"661":{"position":[[69,9]]},"668":{"position":[[63,9]]}}}],["someth",{"_index":1677,"t":{"378":{"position":[[156,9]]},"382":{"position":[[181,9]]},"583":{"position":[[170,9]]},"770":{"position":[[180,9],[256,9]]}}}],["sourc",{"_index":1594,"t":{"317":{"position":[[3087,6],[3228,6]]},"458":{"position":[[57,6]]},"782":{"position":[[562,6],[800,6],[1110,6]]}}}],["sourcemap",{"_index":1507,"t":{"315":{"position":[[210,9]]},"448":{"position":[[62,9]]},"768":{"position":[[486,9]]},"778":{"position":[[102,9]]}}}],["span",{"_index":996,"t":{"185":{"position":[[409,4],[427,4]]},"282":{"position":[[271,4],[292,4],[301,4],[324,4]]},"348":{"position":[[370,4],[411,4]]},"735":{"position":[[1,4],[113,4],[131,4],[179,4],[225,4],[281,4],[343,4]]}}}],["spec",{"_index":1380,"t":{"259":{"position":[[107,4]]},"261":{"position":[[641,4]]},"266":{"position":[[482,4]]},"268":{"position":[[54,4]]},"270":{"position":[[741,4]]}}}],["specifi",{"_index":1213,"t":{"235":{"position":[[1120,9]]},"782":{"position":[[827,9],[1170,9]]}}}],["speed",{"_index":1888,"t":{"476":{"position":[[293,5]]}}}],["speedmeasureplugin",{"_index":1887,"t":{"476":{"position":[[268,18],[479,18]]}}}],["splitchunk",{"_index":1540,"t":{"315":{"position":[[740,11]]},"462":{"position":[[236,11]]},"768":{"position":[[948,11]]}}}],["src",{"_index":297,"t":{"23":{"position":[[252,3],[278,3]]},"47":{"position":[[56,3],[158,3]]},"49":{"position":[[45,3],[65,3]]},"59":{"position":[[32,3]]},"85":{"position":[[566,3]]},"87":{"position":[[444,3]]},"94":{"position":[[103,3]]},"100":{"position":[[264,3]]},"115":{"position":[[184,3]]},"117":{"position":[[97,3]]},"137":{"position":[[244,3]]},"144":{"position":[[207,3],[221,3]]},"150":{"position":[[258,3],[284,3]]},"161":{"position":[[293,3],[325,3]]},"177":{"position":[[99,3],[163,3]]},"212":{"position":[[138,3],[178,3]]},"226":{"position":[[32,3]]},"230":{"position":[[185,3]]},"239":{"position":[[89,3]]},"241":{"position":[[41,3]]},"250":{"position":[[118,3],[437,3],[470,3]]},"259":{"position":[[18,3],[135,3]]},"261":{"position":[[503,3]]},"268":{"position":[[121,3]]},"270":{"position":[[601,3]]},"278":{"position":[[4,3],[37,3]]},"280":{"position":[[4,3],[29,3]]},"286":{"position":[[33,3],[148,3]]},"288":{"position":[[23,3],[153,3]]},"290":{"position":[[0,3]]},"293":{"position":[[62,3],[75,3],[94,3],[456,3],[485,3]]},"295":{"position":[[6,3],[17,3]]},"297":{"position":[[37,3],[56,3],[79,3],[338,3]]},"321":{"position":[[551,3],[574,3],[884,3],[905,3]]},"324":{"position":[[18,3]]},"326":{"position":[[35,3]]},"328":{"position":[[135,3]]},"338":{"position":[[25,3],[56,3]]},"342":{"position":[[40,3]]},"346":{"position":[[177,3]]},"354":{"position":[[67,3]]},"360":{"position":[[54,3]]},"364":{"position":[[4,3]]},"380":{"position":[[61,3]]},"382":{"position":[[0,3]]},"396":{"position":[[203,3],[220,3]]},"398":{"position":[[93,3]]},"418":{"position":[[48,3],[341,3]]},"432":{"position":[[384,3],[480,3]]},"456":{"position":[[121,3],[269,3],[584,3],[1075,3]]},"490":{"position":[[149,3]]},"514":{"position":[[21,3]]},"519":{"position":[[262,3],[639,3]]},"521":{"position":[[174,3]]},"527":{"position":[[148,3]]},"529":{"position":[[20,3],[66,3]]},"533":{"position":[[51,3]]},"538":{"position":[[107,3]]},"542":{"position":[[143,3]]},"544":{"position":[[55,3]]},"546":{"position":[[33,3],[182,3],[189,3]]},"575":{"position":[[24,3]]},"585":{"position":[[358,3]]},"587":{"position":[[172,3]]},"589":{"position":[[108,3]]},"593":{"position":[[102,3]]},"610":{"position":[[24,3]]},"612":{"position":[[91,3]]},"614":{"position":[[47,3]]},"618":{"position":[[458,3],[479,3],[523,3],[604,3]]},"620":{"position":[[63,3]]},"622":{"position":[[0,3],[72,3]]},"624":{"position":[[9,3],[61,3],[83,3],[183,3],[212,3]]},"632":{"position":[[27,3]]},"641":{"position":[[16,3]]},"645":{"position":[[147,3]]},"649":{"position":[[153,3]]},"657":{"position":[[213,3],[606,3]]},"661":{"position":[[18,3]]},"663":{"position":[[315,3]]},"668":{"position":[[5,3],[28,3]]},"682":{"position":[[6,3],[68,3]]},"684":{"position":[[118,3]]},"697":{"position":[[5,3],[80,3]]},"699":{"position":[[127,3],[304,3]]},"705":{"position":[[118,3]]},"708":{"position":[[92,3]]},"710":{"position":[[148,3]]},"720":{"position":[[658,3],[866,3]]},"733":{"position":[[267,3],[401,3]]},"735":{"position":[[298,3]]},"762":{"position":[[152,3],[648,3],[661,3]]},"768":{"position":[[173,3]]},"784":{"position":[[125,3]]}}}],["ssg",{"_index":60,"t":{"4":{"position":[[133,3]]},"7":{"position":[[129,3]]},"96":{"position":[[72,3]]},"117":{"position":[[4,3]]},"344":{"position":[[58,3]]},"346":{"position":[[110,3]]},"452":{"position":[[40,3],[50,3],[61,3]]},"454":{"position":[[216,3],[416,3]]},"472":{"position":[[48,3],[76,3]]},"645":{"position":[[24,3],[90,3],[97,3],[409,3]]},"647":{"position":[[81,3]]},"649":{"position":[[4,3],[51,3],[102,3],[498,3]]},"651":{"position":[[127,3]]},"655":{"position":[[2,3]]},"728":{"position":[[218,3]]}}}],["sso",{"_index":380,"t":{"43":{"position":[[14,3]]}}}],["ssr",{"_index":40,"t":{"4":{"position":[[45,3],[122,3]]},"7":{"position":[[125,3]]},"96":{"position":[[66,3]]},"113":{"position":[[396,3]]},"315":{"position":[[282,3]]},"344":{"position":[[54,3]]},"346":{"position":[[104,3],[170,3]]},"450":{"position":[[41,3],[51,3],[62,3]]},"454":{"position":[[210,3],[410,3]]},"653":{"position":[[24,3],[89,3]]},"655":{"position":[[20,3],[167,3]]},"657":{"position":[[3,3],[50,3],[93,3],[588,3]]},"728":{"position":[[228,3]]},"776":{"position":[[157,3],[177,3],[199,3]]}}}],["stage",{"_index":1813,"t":{"444":{"position":[[372,5],[707,5]]}}}],["star",{"_index":476,"t":{"57":{"position":[[461,4]]},"645":{"position":[[292,5],[306,5],[535,5]]},"649":{"position":[[341,5],[355,5],[477,5],[580,5]]}}}],["stark",{"_index":827,"t":{"129":{"position":[[70,5]]},"131":{"position":[[61,5]]}}}],["starrepo",{"_index":475,"t":{"57":{"position":[[427,8]]}}}],["start",{"_index":828,"t":{"129":{"position":[[127,5]]},"131":{"position":[[113,5]]},"384":{"position":[[59,5],[72,5],[82,5],[95,5],[157,5],[189,5]]},"386":{"position":[[27,5]]},"428":{"position":[[34,5]]},"551":{"position":[[66,5]]},"601":{"position":[[57,5]]},"720":{"position":[[92,5],[105,5],[114,5],[134,5],[171,5],[188,5],[314,5]]},"722":{"position":[[49,5]]},"766":{"position":[[36,5]]},"770":{"position":[[308,5],[323,5],[385,5],[397,5],[416,5],[480,5],[492,5]]},"774":{"position":[[151,5]]},"817":{"position":[[238,6],[296,5]]},"819":{"position":[[90,5]]},"823":{"position":[[164,5],[177,5],[186,5],[206,5],[243,5],[260,5],[386,5]]},"825":{"position":[[51,5]]}}}],["stat",{"_index":2390,"t":{"770":{"position":[[238,5]]}}}],["state",{"_index":812,"t":{"115":{"position":[[551,5],[744,5]]},"230":{"position":[[221,5]]},"278":{"position":[[181,5],[187,5],[266,5],[296,5]]},"282":{"position":[[209,5]]},"286":{"position":[[242,5],[284,5],[314,5]]},"293":{"position":[[336,5],[425,5]]},"295":{"position":[[75,5],[95,5],[166,5],[232,5],[286,5],[357,5],[382,5],[470,5],[524,5],[558,5],[618,5],[647,5],[701,5],[722,5],[736,5],[893,5]]},"297":{"position":[[162,5],[375,5]]},"299":{"position":[[25,5],[56,5],[127,5],[223,5],[257,5],[278,5],[309,5],[349,5],[383,5],[407,5],[449,5],[519,5],[645,5],[671,5],[682,5],[703,5]]},"301":{"position":[[143,5]]},"305":{"position":[[203,5],[245,5],[255,5]]}}}],["static",{"_index":779,"t":{"113":{"position":[[642,6]]},"645":{"position":[[29,6]]}}}],["staticdataload",{"_index":2142,"t":{"649":{"position":[[77,16],[130,16],[521,16],[693,16]]}}}],["statu",{"_index":1165,"t":{"226":{"position":[[681,6]]},"235":{"position":[[311,6],[1868,6],[1888,6],[1925,6],[1966,6]]},"239":{"position":[[641,6],[796,6]]},"243":{"position":[[113,6]]},"603":{"position":[[199,6]]}}}],["statuscod",{"_index":782,"t":{"113":{"position":[[702,10],[789,10],[802,10]]}}}],["statusmessag",{"_index":784,"t":{"113":{"position":[[818,13]]}}}],["statustext",{"_index":783,"t":{"113":{"position":[[714,10],[834,10]]},"235":{"position":[[319,10],[1942,10],[2006,10]]}}}],["store",{"_index":1182,"t":{"230":{"position":[[537,5],[551,5],[638,5]]},"272":{"position":[[8,5]]},"274":{"position":[[26,5],[122,5],[146,5],[202,5]]},"280":{"position":[[8,5],[22,5],[33,5]]},"282":{"position":[[44,5],[58,5],[138,5]]},"288":{"position":[[13,5],[114,5],[129,5],[168,5],[252,5],[298,5]]},"290":{"position":[[87,5]]},"293":{"position":[[66,5],[543,5]]},"297":{"position":[[21,5]]},"301":{"position":[[83,5],[97,5],[165,5],[215,5]]},"303":{"position":[[123,5],[147,5],[205,5],[216,5]]},"305":{"position":[[51,5],[65,5],[74,5]]},"315":{"position":[[971,5]]},"321":{"position":[[32,5],[59,5],[155,5],[179,5],[235,5]]}}}],["storeconfig",{"_index":1430,"t":{"293":{"position":[[570,11]]}}}],["storeprovid",{"_index":2423,"t":{"790":{"position":[[134,13],[225,13]]}}}],["stream",{"_index":1236,"t":{"235":{"position":[[1600,6]]}}}],["strict",{"_index":1603,"t":{"319":{"position":[[216,6]]},"364":{"position":[[111,6]]},"368":{"position":[[64,6]]},"372":{"position":[[326,6]]},"605":{"position":[[234,6]]}}}],["strictmod",{"_index":1662,"t":{"368":{"position":[[96,10]]}}}],["string",{"_index":330,"t":{"34":{"position":[[11,6],[19,6]]},"47":{"position":[[136,6]]},"68":{"position":[[17,6]]},"70":{"position":[[22,6]]},"87":{"position":[[582,6]]},"111":{"position":[[390,6]]},"113":{"position":[[887,6],[895,6]]},"120":{"position":[[3,6]]},"122":{"position":[[3,6]]},"157":{"position":[[4,6]]},"159":{"position":[[11,6],[19,6]]},"278":{"position":[[114,6],[126,6]]},"295":{"position":[[222,6],[802,6]]},"328":{"position":[[94,6]]},"332":{"position":[[63,6],[143,6],[476,6]]},"346":{"position":[[84,6]]},"368":{"position":[[18,6]]},"370":{"position":[[403,6]]},"386":{"position":[[70,6],[104,6],[141,6],[180,6],[214,6]]},"388":{"position":[[66,6],[100,6],[137,6],[176,6]]},"418":{"position":[[10,6],[18,6]]},"422":{"position":[[10,6],[18,6],[163,6]]},"424":{"position":[[40,6],[56,6]]},"426":{"position":[[18,6]]},"428":{"position":[[3,6]]},"430":{"position":[[28,6]]},"432":{"position":[[25,6],[33,6]]},"434":{"position":[[3,6]]},"444":{"position":[[33,6],[43,6],[58,6]]},"448":{"position":[[9,6],[21,6],[32,6],[48,6]]},"454":{"position":[[97,6]]},"456":{"position":[[33,6]]},"458":{"position":[[13,6]]},"470":{"position":[[29,6]]},"478":{"position":[[21,6]]},"527":{"position":[[604,6]]},"555":{"position":[[53,6]]},"599":{"position":[[6,6],[58,6]]},"710":{"position":[[107,6]]},"758":{"position":[[122,6]]},"772":{"position":[[191,6]]},"784":{"position":[[163,6],[181,6]]}}}],["stringifi",{"_index":456,"t":{"53":{"position":[[135,9]]},"55":{"position":[[234,9]]},"422":{"position":[[328,9],[587,9],[630,9]]},"519":{"position":[[543,9],[824,9]]},"521":{"position":[[469,9]]},"527":{"position":[[318,9]]},"531":{"position":[[300,9],[1000,9]]},"575":{"position":[[176,9]]}}}],["studio",{"_index":1935,"t":{"486":{"position":[[53,6]]}}}],["style",{"_index":1099,"t":{"212":{"position":[[241,6],[279,6]]},"216":{"position":[[291,5]]},"317":{"position":[[2514,5]]},"380":{"position":[[465,6]]},"540":{"position":[[41,5],[112,5],[196,5]]},"585":{"position":[[306,6],[498,6]]},"663":{"position":[[441,6],[518,6]]},"670":{"position":[[177,5],[191,5],[275,5]]},"720":{"position":[[924,6]]},"733":{"position":[[151,6],[193,6],[309,6],[443,6]]},"735":{"position":[[420,6]]}}}],["stylesheet",{"_index":602,"t":{"85":{"position":[[474,10]]},"87":{"position":[[352,10]]},"585":{"position":[[261,10],[455,10]]}}}],["sublim",{"_index":1937,"t":{"486":{"position":[[82,7]]}}}],["success",{"_index":2101,"t":{"603":{"position":[[208,7]]}}}],["successfulli",{"_index":2440,"t":{"817":{"position":[[164,12],[224,12]]}}}],["sugarss",{"_index":1810,"t":{"444":{"position":[[270,7]]}}}],["support",{"_index":2222,"t":{"672":{"position":[[37,7]]}}}],["surg",{"_index":545,"t":{"82":{"position":[[4,5],[19,5],[47,5],[56,5],[129,5],[140,5],[190,5]]}}}],["suspens",{"_index":359,"t":{"39":{"position":[[42,8]]}}}],["svg",{"_index":1713,"t":{"396":{"position":[[76,3],[84,3]]},"408":{"position":[[446,3],[480,3]]},"754":{"position":[[7,3]]}}}],["swc",{"_index":1364,"t":{"255":{"position":[[47,3]]},"257":{"position":[[276,3],[426,3],[446,3]]},"315":{"position":[[963,3]]},"448":{"position":[[470,3]]}}}],["swiper",{"_index":1109,"t":{"214":{"position":[[7,6],[98,6],[105,6],[163,6]]}}}],["switchtozhcn",{"_index":758,"t":{"111":{"position":[[744,12],[848,12]]}}}],["sx",{"_index":1372,"t":{"257":{"position":[[413,2]]}}}],["syntax",{"_index":1809,"t":{"444":{"position":[[261,6]]}}}],["syntaxfeatur",{"_index":1876,"t":{"464":{"position":[[196,14]]}}}],["t",{"_index":1370,"t":{"257":{"position":[[409,1]]},"317":{"position":[[3131,1]]}}}],["t1ojavfl4dxxa",{"_index":2078,"t":{"589":{"position":[[381,13]]},"684":{"position":[[391,13]]}}}],["tab",{"_index":1895,"t":{"478":{"position":[[213,3],[248,3]]},"618":{"position":[[364,3],[414,3],[423,3]]},"637":{"position":[[211,3]]}}}],["tabbar",{"_index":2233,"t":{"682":{"position":[[52,6]]}}}],["tag",{"_index":1011,"t":{"191":{"position":[[34,3],[66,3],[72,3],[118,3]]},"195":{"position":[[42,3]]}}}],["take",{"_index":1218,"t":{"235":{"position":[[1205,5]]}}}],["taobao",{"_index":1416,"t":{"278":{"position":[[434,6]]},"484":{"position":[[293,6]]}}}],["taoxiaobao",{"_index":1172,"t":{"230":{"position":[[237,10]]}}}],["tarbal",{"_index":2439,"t":{"817":{"position":[[156,7]]}}}],["target",{"_index":1692,"t":{"386":{"position":[[54,6],[62,6],[83,6]]},"388":{"position":[[50,6],[58,6],[79,6]]},"422":{"position":[[154,6]]},"436":{"position":[[181,6]]},"720":{"position":[[142,6],[196,6],[268,6],[322,6]]},"823":{"position":[[214,6],[268,6],[340,6],[394,6]]}}}],["targetdir",{"_index":2404,"t":{"782":{"position":[[190,9]]}}}],["taro",{"_index":2343,"t":{"745":{"position":[[183,4]]}}}],["task",{"_index":1452,"t":{"297":{"position":[[67,5],[181,5],[349,5],[457,5],[500,4],[522,5],[534,4]]},"299":{"position":[[136,5],[147,4],[157,4],[266,5],[284,5],[315,5]]},"778":{"position":[[136,4],[166,4]]},"780":{"position":[[103,5],[137,5]]}}}],["taskconfig",{"_index":1886,"t":{"476":{"position":[[105,10],[117,10]]}}}],["templat",{"_index":2271,"t":{"718":{"position":[[27,8]]},"762":{"position":[[51,8]]},"782":{"position":[[155,8],[175,8]]},"817":{"position":[[97,8]]},"823":{"position":[[48,8]]}}}],["terser",{"_index":1532,"t":{"315":{"position":[[593,6]]}}}],["test",{"_index":1376,"t":{"257":{"position":[[567,4],[607,4]]},"259":{"position":[[97,5],[145,4],[219,4]]},"261":{"position":[[14,7],[39,7],[82,7],[128,7],[231,7],[602,4],[628,5],[683,7],[749,4],[755,4],[867,4],[893,4]]},"266":{"position":[[450,4],[477,4],[551,4],[591,4]]},"268":{"position":[[44,5],[71,4],[131,4],[197,4]]},"270":{"position":[[17,7],[46,7],[194,7],[466,4],[702,4],[728,5],[759,4],[822,7],[888,4],[894,4],[1008,4],[1034,4]]},"476":{"position":[[421,4]]},"682":{"position":[[145,4],[222,4]]},"766":{"position":[[48,4]]},"768":{"position":[[85,4],[1164,4]]},"770":{"position":[[106,4]]},"772":{"position":[[71,4]]},"774":{"position":[[53,4]]},"776":{"position":[[46,4]]},"778":{"position":[[47,4]]},"780":{"position":[[61,4]]},"782":{"position":[[90,4],[289,4],[505,4],[738,4],[1043,4]]},"784":{"position":[[76,4],[283,4]]}}}],["testenviron",{"_index":1392,"t":{"261":{"position":[[435,15]]}}}],["testid",{"_index":1394,"t":{"261":{"position":[[582,6]]},"270":{"position":[[680,6]]}}}],["text",{"_index":606,"t":{"85":{"position":[[549,4]]},"87":{"position":[[427,4]]},"226":{"position":[[670,4]]},"235":{"position":[[1592,4]]},"406":{"position":[[50,4]]},"486":{"position":[[90,4]]},"540":{"position":[[217,4]]},"735":{"position":[[30,4],[47,4],[68,4],[124,4],[148,4],[455,4]]}}}],["theme",{"_index":331,"t":{"34":{"position":[[45,5],[210,5],[245,5]]},"157":{"position":[[216,5]]},"159":{"position":[[45,5],[216,5]]},"161":{"position":[[230,5],[356,5]]},"326":{"position":[[179,5]]},"342":{"position":[[296,5]]},"659":{"position":[[122,5]]}}}],["themepackag",{"_index":878,"t":{"157":{"position":[[194,12]]},"161":{"position":[[208,12]]}}}],["third",{"_index":2237,"t":{"682":{"position":[[201,5],[216,5]]}}}],["throttleinterv",{"_index":1311,"t":{"237":{"position":[[1136,16]]}}}],["time",{"_index":1216,"t":{"235":{"position":[[1176,5]]},"380":{"position":[[413,4]]}}}],["timeout",{"_index":1212,"t":{"235":{"position":[[1111,7],[1224,7],[1263,7],[1300,7]]}}}],["titl",{"_index":591,"t":{"85":{"position":[[328,5],[351,5]]},"87":{"position":[[216,5],[239,5]]},"137":{"position":[[537,5]]},"261":{"position":[[590,5],[834,5]]},"270":{"position":[[688,5],[973,5]]},"286":{"position":[[251,5]]},"290":{"position":[[242,5],[293,5]]},"326":{"position":[[146,5]]},"342":{"position":[[263,5]]},"354":{"position":[[166,5]]},"360":{"position":[[20,5]]},"535":{"position":[[33,5],[276,5],[405,5]]},"544":{"position":[[570,5],[586,5],[658,5],[699,5],[719,5]]},"573":{"position":[[126,5]]},"581":{"position":[[15,5],[124,5]]},"583":{"position":[[162,5]]},"589":{"position":[[10,5]]},"663":{"position":[[819,5]]},"684":{"position":[[20,5]]},"699":{"position":[[187,5],[511,5]]},"792":{"position":[[154,5]]}}}],["titlebarcolor",{"_index":2072,"t":{"589":{"position":[[299,13]]},"684":{"position":[[309,13]]}}}],["titleel",{"_index":2023,"t":{"544":{"position":[[664,12]]}}}],["titlepenetr",{"_index":2081,"t":{"589":{"position":[[417,14]]},"684":{"position":[[427,14]]}}}],["toast",{"_index":1326,"t":{"239":{"position":[[593,5]]}}}],["tobe",{"_index":1382,"t":{"259":{"position":[[192,4]]},"268":{"position":[[169,4]]}}}],["todo",{"_index":482,"t":{"61":{"position":[[1,4]]},"201":{"position":[[1,4]]},"305":{"position":[[91,5],[174,5],[225,5]]},"813":{"position":[[1,4]]}}}],["todolist",{"_index":1476,"t":{"305":{"position":[[120,8]]}}}],["tohavetextcont",{"_index":1397,"t":{"261":{"position":[[843,17]]},"270":{"position":[[982,17]]}}}],["token",{"_index":336,"t":{"34":{"position":[[251,5]]}}}],["tool",{"_index":2283,"t":{"722":{"position":[[190,5]]},"825":{"position":[[148,5],[292,5]]}}}],["tp",{"_index":2076,"t":{"589":{"position":[[374,3]]},"684":{"position":[[384,3]]}}}],["trace",{"_index":1797,"t":{"440":{"position":[[310,5],[361,5]]}}}],["transform",{"_index":918,"t":{"171":{"position":[[97,9]]},"257":{"position":[[386,9],[464,9]]},"317":{"position":[[3069,9],[3249,9]]},"382":{"position":[[228,9]]},"448":{"position":[[98,9],[242,9],[391,9],[485,9]]},"768":{"position":[[665,10]]}}}],["transformplugin",{"_index":2375,"t":{"768":{"position":[[613,16]]}}}],["transformsync",{"_index":1592,"t":{"317":{"position":[[2963,13],[3214,13]]},"448":{"position":[[169,13],[350,13]]}}}],["transparenttitl",{"_index":2070,"t":{"589":{"position":[[271,16]]},"684":{"position":[[281,16]]}}}],["tree",{"_index":276,"t":{"23":{"position":[[107,4]]},"150":{"position":[[111,4]]}}}],["tri",{"_index":542,"t":{"80":{"position":[[178,3]]}}}],["true",{"_index":320,"t":{"25":{"position":[[219,4]]},"47":{"position":[[379,4]]},"55":{"position":[[191,4]]},"59":{"position":[[191,4]]},"113":{"position":[[292,4]]},"115":{"position":[[507,4]]},"124":{"position":[[49,4]]},"152":{"position":[[227,4]]},"161":{"position":[[564,4]]},"199":{"position":[[26,4],[91,4]]},"205":{"position":[[242,4]]},"235":{"position":[[392,4]]},"237":{"position":[[148,4],[534,4],[823,4],[1169,4]]},"301":{"position":[[367,4]]},"303":{"position":[[240,4]]},"305":{"position":[[349,4]]},"315":{"position":[[367,4]]},"317":{"position":[[2764,4]]},"321":{"position":[[259,4]]},"334":{"position":[[244,4]]},"344":{"position":[[43,4]]},"364":{"position":[[119,4]]},"372":{"position":[[263,4],[334,4]]},"380":{"position":[[281,4]]},"424":{"position":[[71,4]]},"430":{"position":[[78,4]]},"436":{"position":[[243,4]]},"438":{"position":[[15,4]]},"440":{"position":[[87,4]]},"442":{"position":[[369,4],[455,4],[559,4]]},"452":{"position":[[30,4]]},"454":{"position":[[378,4],[996,4]]},"462":{"position":[[64,4]]},"466":{"position":[[50,4]]},"468":{"position":[[60,4],[114,4]]},"472":{"position":[[15,4]]},"476":{"position":[[150,4]]},"521":{"position":[[138,4],[542,4],[686,4]]},"531":{"position":[[1328,4]]},"555":{"position":[[67,4]]},"565":{"position":[[17,4]]},"567":{"position":[[19,4]]},"569":{"position":[[19,4]]},"655":{"position":[[172,4]]},"776":{"position":[[168,4],[205,4]]},"778":{"position":[[113,4]]},"792":{"position":[[288,4]]}}}],["try_fil",{"_index":541,"t":{"80":{"position":[[178,9]]}}}],["ts",{"_index":420,"t":{"47":{"position":[[64,2],[166,2]]},"94":{"position":[[111,2]]},"115":{"position":[[192,2]]},"137":{"position":[[252,2]]},"144":{"position":[[215,2],[229,2]]},"179":{"position":[[96,2]]},"226":{"position":[[89,2],[175,2],[271,2],[321,2]]},"230":{"position":[[201,2]]},"255":{"position":[[58,2]]},"259":{"position":[[32,2],[112,2]]},"261":{"position":[[179,2],[219,2],[427,2]]},"266":{"position":[[500,2]]},"268":{"position":[[59,2]]},"278":{"position":[[53,2]]},"280":{"position":[[14,2],[39,2]]},"286":{"position":[[114,2],[175,2]]},"288":{"position":[[102,2],[120,2],[174,2]]},"293":{"position":[[72,2],[91,2],[113,2],[464,2],[493,2]]},"297":{"position":[[53,2],[73,2],[95,2],[355,2]]},"305":{"position":[[277,2]]},"315":{"position":[[25,2]]},"319":{"position":[[558,2]]},"321":{"position":[[559,2],[582,2],[892,2],[913,2]]},"324":{"position":[[26,2]]},"328":{"position":[[143,2]]},"338":{"position":[[33,2],[64,2]]},"346":{"position":[[190,2]]},"356":{"position":[[12,2]]},"358":{"position":[[14,2]]},"364":{"position":[[12,2]]},"432":{"position":[[237,2]]},"470":{"position":[[183,2],[217,2]]},"490":{"position":[[89,2],[340,2]]},"529":{"position":[[28,2],[74,2]]},"546":{"position":[[46,2]]},"593":{"position":[[30,2],[81,2],[95,2],[139,2],[149,2],[341,2],[375,2]]},"595":{"position":[[32,2]]},"682":{"position":[[14,2],[76,2]]},"710":{"position":[[156,2]]},"758":{"position":[[27,2]]},"760":{"position":[[56,2],[119,2]]},"762":{"position":[[168,2],[361,2],[472,2],[604,2],[658,2]]},"768":{"position":[[908,2]]},"770":{"position":[[583,2]]},"782":{"position":[[363,2],[385,2]]},"786":{"position":[[213,2]]}}}],["tschecker",{"_index":1520,"t":{"315":{"position":[[437,9]]}}}],["tscheckeropt",{"_index":2381,"t":{"768":{"position":[[891,16]]}}}],["tsconfig",{"_index":1477,"t":{"305":{"position":[[286,8]]},"490":{"position":[[420,8]]}}}],["tsx",{"_index":445,"t":{"49":{"position":[[61,3],[81,3]]},"59":{"position":[[40,3]]},"100":{"position":[[279,3]]},"117":{"position":[[119,3],[135,3]]},"177":{"position":[[116,3],[180,3]]},"212":{"position":[[193,3]]},"226":{"position":[[259,3]]},"239":{"position":[[97,3]]},"241":{"position":[[49,3]]},"250":{"position":[[126,3],[445,3],[478,3]]},"261":{"position":[[525,3],[646,3]]},"266":{"position":[[515,3]]},"270":{"position":[[623,3],[746,3]]},"286":{"position":[[131,3]]},"288":{"position":[[149,3]]},"290":{"position":[[21,3]]},"315":{"position":[[936,3]]},"319":{"position":[[584,3],[617,3],[644,3],[670,3],[712,3]]},"326":{"position":[[50,3]]},"342":{"position":[[55,3]]},"354":{"position":[[51,3],[78,3]]},"360":{"position":[[67,3]]},"380":{"position":[[76,3]]},"382":{"position":[[15,3]]},"456":{"position":[[531,3],[624,3],[687,3],[729,3],[820,3],[854,3],[1125,3],[1193,3],[1249,3],[1309,3],[1355,3]]},"490":{"position":[[225,3],[242,3],[261,3],[315,3]]},"514":{"position":[[87,3]]},"519":{"position":[[278,3],[655,3]]},"521":{"position":[[190,3]]},"527":{"position":[[164,3]]},"533":{"position":[[64,3]]},"575":{"position":[[40,3]]},"585":{"position":[[374,3]]},"589":{"position":[[124,3]]},"610":{"position":[[51,3]]},"612":{"position":[[99,3]]},"614":{"position":[[63,3]]},"616":{"position":[[77,3]]},"618":{"position":[[70,3],[86,3],[103,3],[240,3],[473,3],[500,3],[544,3],[670,3],[686,3],[711,3],[766,3]]},"620":{"position":[[82,3]]},"622":{"position":[[17,3],[84,3]]},"624":{"position":[[28,3],[77,3],[105,3],[201,3],[236,3]]},"632":{"position":[[43,3]]},"641":{"position":[[43,3],[220,3]]},"643":{"position":[[192,3],[219,3]]},"645":{"position":[[162,3]]},"649":{"position":[[169,3]]},"657":{"position":[[227,3],[620,3]]},"659":{"position":[[107,3]]},"663":{"position":[[370,3],[397,3]]},"670":{"position":[[222,3]]},"684":{"position":[[134,3]]},"697":{"position":[[13,3],[88,3]]},"699":{"position":[[143,3],[320,3]]},"705":{"position":[[126,3]]},"708":{"position":[[108,3]]},"720":{"position":[[666,3]]},"760":{"position":[[86,3],[140,3],[406,3]]},"762":{"position":[[193,3],[673,3]]}}}],["ttf",{"_index":1711,"t":{"396":{"position":[[67,3]]}}}],["txt",{"_index":1739,"t":{"406":{"position":[[55,3]]},"408":{"position":[[352,3]]}}}],["txtcontent",{"_index":1738,"t":{"406":{"position":[[31,10]]}}}],["type",{"_index":431,"t":{"47":{"position":[[220,5]]},"55":{"position":[[266,4]]},"57":{"position":[[447,4]]},"59":{"position":[[95,5]]},"85":{"position":[[543,4]]},"87":{"position":[[421,4]]},"115":{"position":[[246,5]]},"137":{"position":[[199,4],[315,5]]},"139":{"position":[[194,4],[315,5]]},"144":{"position":[[292,5]]},"235":{"position":[[1493,4],[2208,4]]},"239":{"position":[[158,5]]},"241":{"position":[[110,5]]},"250":{"position":[[187,5],[539,5]]},"293":{"position":[[549,5]]},"295":{"position":[[200,4],[769,4]]},"356":{"position":[[39,4]]},"358":{"position":[[41,4]]},"370":{"position":[[48,4],[313,4]]},"372":{"position":[[129,5]]},"540":{"position":[[211,4]]},"585":{"position":[[231,4]]},"599":{"position":[[296,4]]},"605":{"position":[[88,4]]},"690":{"position":[[93,4],[168,4],[296,4]]},"743":{"position":[[49,4],[75,4]]},"758":{"position":[[53,4],[84,5]]},"760":{"position":[[181,4],[212,5],[447,4],[489,5]]},"762":{"position":[[300,4],[338,5],[441,5],[581,5],[684,4],[715,5],[947,4],[989,5]]},"782":{"position":[[666,4],[819,5]]},"786":{"position":[[26,4],[57,5],[229,4],[271,5]]}}}],["typeof",{"_index":1561,"t":{"315":{"position":[[1422,6]]},"344":{"position":[[107,6]]}}}],["typescript",{"_index":35,"t":{"4":{"position":[[8,10]]},"255":{"position":[[21,10]]},"466":{"position":[[26,10]]},"490":{"position":[[437,10]]},"498":{"position":[[0,10]]}}}],["typicod",{"_index":1789,"t":{"436":{"position":[[213,8]]}}}],["ua",{"_index":580,"t":{"85":{"position":[[228,2]]},"87":{"position":[[116,2]]}}}],["ui",{"_index":235,"t":{"17":{"position":[[15,2],[40,2]]},"57":{"position":[[324,2]]},"165":{"position":[[34,2]]},"197":{"position":[[10,2]]},"222":{"position":[[47,2]]},"261":{"position":[[3,2]]},"268":{"position":[[12,2]]},"519":{"position":[[602,2],[717,2],[1167,2],[1308,2]]},"521":{"position":[[259,2],[804,2],[829,2]]}}}],["uid",{"_index":1619,"t":{"330":{"position":[[92,3],[217,3]]},"332":{"position":[[227,3],[396,3],[501,3]]},"712":{"position":[[95,3],[203,3]]}}}],["ul",{"_index":753,"t":{"111":{"position":[[355,2],[528,2]]}}}],["umd",{"_index":1786,"t":{"432":{"position":[[416,3],[516,3]]}}}],["undefin",{"_index":1265,"t":{"237":{"position":[[225,9],[256,9]]},"344":{"position":[[127,9]]},"448":{"position":[[85,9]]},"464":{"position":[[62,9]]},"468":{"position":[[24,9]]},"647":{"position":[[30,9]]}}}],["uni",{"_index":2225,"t":{"675":{"position":[[72,3],[164,3]]},"677":{"position":[[3,3],[87,3],[155,3]]},"747":{"position":[[170,3],[221,3]]}}}],["univers",{"_index":2223,"t":{"675":{"position":[[32,9]]}}}],["unmount",{"_index":854,"t":{"139":{"position":[[405,7]]}}}],["unmout",{"_index":872,"t":{"148":{"position":[[35,6]]}}}],["unpkg",{"_index":1785,"t":{"432":{"position":[[397,5],[493,5]]}}}],["unplugin",{"_index":2376,"t":{"768":{"position":[[630,8]]}}}],["unstabl",{"_index":946,"t":{"179":{"position":[[130,8]]},"751":{"position":[[94,8]]}}}],["unstable_offscreen",{"_index":945,"t":{"179":{"position":[[130,18]]}}}],["unstable_rendersubtreeintocontain",{"_index":2359,"t":{"751":{"position":[[94,35]]}}}],["updat",{"_index":1176,"t":{"230":{"position":[[274,6],[452,6]]},"278":{"position":[[259,6],[418,6]]},"286":{"position":[[277,6]]},"290":{"position":[[233,6]]},"313":{"position":[[685,6]]}}}],["updateag",{"_index":1461,"t":{"299":{"position":[[339,9]]}}}],["updateauth",{"_index":459,"t":{"55":{"position":[[145,10],[289,10]]}}}],["uri",{"_index":544,"t":{"80":{"position":[[189,3],[194,3]]}}}],["url",{"_index":529,"t":{"78":{"position":[[70,3]]},"214":{"position":[[93,3]]},"226":{"position":[[573,3]]},"235":{"position":[[254,3],[356,3],[561,3],[580,3],[618,3],[839,3]]},"237":{"position":[[1466,3],[1615,3]]},"241":{"position":[[460,3],[590,3]]},"293":{"position":[[663,3]]},"295":{"position":[[1109,3]]},"332":{"position":[[131,3],[201,3]]},"348":{"position":[[380,3]]},"400":{"position":[[31,3]]},"404":{"position":[[106,3],[152,3],[167,3]]},"708":{"position":[[82,3]]},"710":{"position":[[270,3],[302,3]]},"770":{"position":[[554,3]]}}}],["urlsearchparam",{"_index":1205,"t":{"235":{"position":[[913,15]]}}}],["us",{"_index":609,"t":{"85":{"position":[[785,3],[855,3]]},"113":{"position":[[630,3],[668,3]]},"235":{"position":[[597,4],[672,4],[1408,5],[2141,5]]},"248":{"position":[[110,5]]},"420":{"position":[[41,3]]},"482":{"position":[[250,3]]},"484":{"position":[[289,3]]},"722":{"position":[[157,3]]},"825":{"position":[[115,3],[259,3]]}}}],["usag",{"_index":1822,"t":{"446":{"position":[[4,5],[79,5]]}}}],["useappcontext",{"_index":1649,"t":{"346":{"position":[[202,13],[275,13]]}}}],["useappdata",{"_index":1635,"t":{"338":{"position":[[0,10],[215,10],[271,10]]},"352":{"position":[[134,10]]},"529":{"position":[[270,10],[304,10],[383,10]]}}}],["useauth",{"_index":452,"t":{"51":{"position":[[35,7]]},"53":{"position":[[36,7],[90,7]]},"55":{"position":[[36,7],[100,7]]},"57":{"position":[[76,7],[204,7]]}}}],["useconfig",{"_index":1639,"t":{"342":{"position":[[0,9],[86,9],[158,9]]},"798":{"position":[[97,9],[175,9]]}}}],["usedata",{"_index":1638,"t":{"340":{"position":[[0,7]]},"519":{"position":[[668,7],[769,7]]},"521":{"position":[[203,7],[311,7],[720,7]]},"527":{"position":[[124,7],[177,7],[263,7]]},"531":{"position":[[130,7],[232,7],[621,7],[745,7],[847,7]]},"575":{"position":[[53,7],[121,7]]},"645":{"position":[[175,7],[243,7]]},"649":{"position":[[113,7],[182,7],[292,7]]},"657":{"position":[[240,7],[633,7]]},"796":{"position":[[97,7],[171,7]]}}}],["useeffect",{"_index":1181,"t":{"230":{"position":[[504,9],[662,9]]},"232":{"position":[[96,9],[325,9]]},"282":{"position":[[9,9],[164,9]]},"290":{"position":[[34,9],[197,9]]},"301":{"position":[[254,9]]},"334":{"position":[[195,9]]},"336":{"position":[[132,9]]},"519":{"position":[[205,9],[301,9],[396,9],[1349,9]]},"792":{"position":[[24,9],[127,9]]},"796":{"position":[[41,9]]},"798":{"position":[[41,9]]}}}],["useinfo",{"_index":1995,"t":{"531":{"position":[[1114,7],[1180,7]]}}}],["useitem",{"_index":1588,"t":{"317":{"position":[[2494,7]]}}}],["useloc",{"_index":745,"t":{"111":{"position":[[128,11],[206,11],[578,11],[691,11]]},"336":{"position":[[17,11],[56,11],[117,11]]},"635":{"position":[[3,11],[40,11],[112,11]]}}}],["uselocal",{"_index":723,"t":{"107":{"position":[[17,9],[203,9],[288,9]]},"111":{"position":[[96,9],[255,9],[554,9],[661,9]]},"115":{"position":[[592,9],[671,9]]}}}],["usemodel",{"_index":1186,"t":{"230":{"position":[[644,8]]},"282":{"position":[[144,8]]},"290":{"position":[[177,8]]},"301":{"position":[[171,8]]}}}],["usemodeleffectsst",{"_index":1466,"t":{"301":{"position":[[3,20],[221,20]]}}}],["usemount",{"_index":1641,"t":{"344":{"position":[[92,10],[253,10],[315,10]]}}}],["usenavig",{"_index":744,"t":{"111":{"position":[[34,11],[73,11],[565,11],[723,11]]},"334":{"position":[[54,11],[104,11],[180,11]]},"630":{"position":[[8,11],[42,11],[108,11]]}}}],["useonc",{"_index":1681,"t":{"380":{"position":[[38,7],[175,7],[374,7]]}}}],["usepageasset",{"_index":2025,"t":{"546":{"position":[[58,13],[127,13]]}}}],["usepagelifecycl",{"_index":2258,"t":{"699":{"position":[[256,16],[333,16],[397,16]]}}}],["useparam",{"_index":1617,"t":{"330":{"position":[[17,9],[53,9],[186,9]]},"639":{"position":[[10,9],[40,9],[149,9]]},"712":{"position":[[57,9]]}}}],["user",{"_index":948,"t":{"179":{"position":[[342,4],[354,4],[499,4],[530,4]]},"226":{"position":[[84,4],[425,4]]},"230":{"position":[[175,4],[196,4],[447,4],[593,4],[654,4],[686,4]]},"232":{"position":[[192,4]]},"235":{"position":[[265,4],[367,4],[473,4],[511,4],[625,4]]},"241":{"position":[[411,4],[467,4],[516,4]]},"278":{"position":[[48,4],[101,4],[219,4]]},"280":{"position":[[84,4],[104,4],[140,4]]},"282":{"position":[[154,4]]},"293":{"position":[[37,4],[86,4],[158,4],[178,4],[254,4],[750,4]]},"297":{"position":[[48,4],[90,4],[258,4],[556,4],[586,4]]},"307":{"position":[[123,4]]},"338":{"position":[[183,4],[302,4]]},"352":{"position":[[165,4],[219,4],[225,4]]},"593":{"position":[[90,4],[144,4]]},"595":{"position":[[27,4],[62,5],[183,5]]},"597":{"position":[[115,5],[195,5],[264,4],[273,5],[303,5]]},"599":{"position":[[119,5],[211,5],[368,5]]},"620":{"position":[[33,4],[73,4]]}}}],["userconfig",{"_index":1400,"t":{"266":{"position":[[255,10],[281,10],[317,10]]},"766":{"position":[[98,10]]}}}],["userdispatch",{"_index":1185,"t":{"230":{"position":[[619,15],[713,15]]},"282":{"position":[[119,15],[217,15]]}}}],["userequest",{"_index":1187,"t":{"232":{"position":[[48,10],[131,10],[292,10]]},"237":{"position":[[3,10],[30,10],[51,10],[505,10],[1271,10],[1353,10],[1453,10],[1578,10],[1694,10]]},"243":{"position":[[26,10]]}}}],["userinfo",{"_index":1992,"t":{"531":{"position":[[210,8],[267,8],[402,8],[450,8],[469,8],[825,8],[886,8],[1161,8]]}}}],["userservic",{"_index":1171,"t":{"230":{"position":[[146,11],[415,11]]},"232":{"position":[[163,11],[303,11]]}}}],["userst",{"_index":1184,"t":{"230":{"position":[[608,9]]},"282":{"position":[[108,9],[277,9],[307,9]]}}}],["usesearchparam",{"_index":1626,"t":{"332":{"position":[[105,15],[160,15],[309,15]]},"637":{"position":[[3,15],[44,15],[147,15]]},"712":{"position":[[28,15],[160,15]]}}}],["usest",{"_index":947,"t":{"179":{"position":[[213,8]]},"380":{"position":[[89,8],[217,8]]},"519":{"position":[[291,8],[384,8]]}}}],["ut",{"_index":706,"t":{"98":{"position":[[312,3]]}}}],["utf",{"_index":577,"t":{"85":{"position":[[198,3]]},"87":{"position":[[86,3]]},"535":{"position":[[135,3]]},"583":{"position":[[150,3]]}}}],["util",{"_index":1378,"t":{"259":{"position":[[22,5]]}}}],["v",{"_index":1915,"t":{"482":{"position":[[282,1]]},"484":{"position":[[161,1]]}}}],["v0",{"_index":1911,"t":{"482":{"position":[[172,2]]}}}],["v14",{"_index":1916,"t":{"482":{"position":[[284,3]]}}}],["v6",{"_index":1691,"t":{"384":{"position":[[180,2]]}}}],["v7",{"_index":1689,"t":{"384":{"position":[[131,2]]}}}],["val",{"_index":1055,"t":{"199":{"position":[[40,3],[105,3]]}}}],["valid",{"_index":2396,"t":{"772":{"position":[[156,10]]}}}],["valu",{"_index":641,"t":{"87":{"position":[[742,5]]},"113":{"position":[[735,5],[920,5],[953,5]]},"776":{"position":[[113,5],[130,5]]}}}],["var",{"_index":875,"t":{"150":{"position":[[330,3]]}}}],["variabl",{"_index":882,"t":{"161":{"position":[[314,9],[373,9]]}}}],["veloc",{"_index":630,"t":{"87":{"position":[[15,8],[548,8]]}}}],["velocitylayout",{"_index":635,"t":{"87":{"position":[[531,14]]}}}],["vendor",{"_index":1539,"t":{"315":{"position":[[718,6]]},"462":{"position":[[14,7],[51,7],[111,7],[120,7],[154,6],[272,7],[320,6]]}}}],["version",{"_index":1701,"t":{"392":{"position":[[23,7]]},"422":{"position":[[314,7],[403,7]]},"484":{"position":[[246,7]]}}}],["video",{"_index":2348,"t":{"747":{"position":[[7,5],[225,5]]}}}],["videocontext",{"_index":2354,"t":{"747":{"position":[[239,12],[285,12]]}}}],["view",{"_index":569,"t":{"85":{"position":[[114,5],[136,5],[651,5],[672,5],[789,5],[818,5]]},"189":{"position":[[5,4],[34,4],[41,4],[81,4],[88,4],[113,4]]},"195":{"position":[[105,4],[132,4],[139,4],[193,4],[200,4],[227,4],[318,4],[331,4],[361,4],[374,4],[413,4],[435,4],[465,4],[492,4],[499,4],[564,4],[571,4],[598,4]]},"228":{"position":[[55,4],[86,4]]},"230":{"position":[[75,4]]},"232":{"position":[[34,4]]},"380":{"position":[[418,4]]},"699":{"position":[[563,4],[571,4]]},"735":{"position":[[81,4],[236,4]]}}}],["viewport",{"_index":588,"t":{"85":{"position":[[285,8]]},"87":{"position":[[173,8]]},"444":{"position":[[226,8]]},"535":{"position":[[207,8]]}}}],["visibilitychang",{"_index":1093,"t":{"210":{"position":[[431,16]]},"374":{"position":[[39,16]]},"376":{"position":[[1,16]]},"378":{"position":[[7,16],[87,16],[168,16]]},"380":{"position":[[121,16],[479,16],[550,16]]},"382":{"position":[[26,16],[106,16],[193,16]]}}}],["visibl",{"_index":950,"t":{"179":{"position":[[415,7],[508,7]]}}}],["visual",{"_index":1934,"t":{"486":{"position":[[46,6]]}}}],["vite",{"_index":275,"t":{"23":{"position":[[96,4]]},"137":{"position":[[658,4]]},"150":{"position":[[100,4]]},"315":{"position":[[940,4],[1130,4]]}}}],["vitej",{"_index":1404,"t":{"270":{"position":[[72,6],[406,6]]}}}],["viteplugin",{"_index":1548,"t":{"315":{"position":[[947,11]]}}}],["vitest",{"_index":1359,"t":{"252":{"position":[[18,6],[70,6]]},"264":{"position":[[8,6]]},"266":{"position":[[15,6],[45,6],[189,6],[208,6],[248,6],[274,6],[310,6],[347,6],[599,6]]},"268":{"position":[[92,6]]},"270":{"position":[[113,6],[155,6],[254,6],[292,6],[319,6],[516,6],[695,6],[780,6],[1001,6]]}}}],["vm",{"_index":632,"t":{"87":{"position":[[37,2],[570,2]]}}}],["void",{"_index":1446,"t":{"295":{"position":[[835,4]]},"456":{"position":[[89,4]]}}}],["vs",{"_index":98,"t":{"4":{"position":[[347,2],[414,2]]}}}],["vscode",{"_index":2220,"t":{"672":{"position":[[4,6]]}}}],["vw",{"_index":1106,"t":{"212":{"position":[[386,2],[412,2]]},"666":{"position":[[245,2],[344,2]]}}}],["w3c",{"_index":2306,"t":{"733":{"position":[[213,3]]}}}],["warn",{"_index":923,"t":{"173":{"position":[[83,7]]},"440":{"position":[[339,4]]}}}],["watch",{"_index":2411,"t":{"784":{"position":[[6,5],[28,5],[93,5],[107,5],[235,5],[300,5],[314,5]]}}}],["waterfal",{"_index":1042,"t":{"195":{"position":[[93,9],[235,9],[286,9],[453,9],[606,9]]}}}],["web",{"_index":391,"t":{"43":{"position":[[75,3]]},"607":{"position":[[50,3]]},"675":{"position":[[95,3]]},"699":{"position":[[288,3]]},"708":{"position":[[68,3]]},"714":{"position":[[32,3],[57,3]]},"720":{"position":[[12,3],[823,3]]},"724":{"position":[[10,3]]},"728":{"position":[[285,3],[304,3]]},"733":{"position":[[44,3]]},"780":{"position":[[18,3]]}}}],["webcompon",{"_index":1036,"t":{"195":{"position":[[3,13]]}}}],["webkit",{"_index":2162,"t":{"661":{"position":[[57,6]]},"668":{"position":[[51,6]]}}}],["webp",{"_index":1706,"t":{"396":{"position":[[32,4]]}}}],["webpack",{"_index":116,"t":{"7":{"position":[[0,7],[147,7]]},"23":{"position":[[88,7]]},"150":{"position":[[92,7]]},"173":{"position":[[46,7]]},"315":{"position":[[862,7],[1141,7],[1182,7],[1301,7],[1388,7],[1483,7],[1553,7],[1763,7],[1778,7],[1798,7],[1816,7]]},"317":{"position":[[154,7],[241,7],[566,7],[653,7],[914,7],[998,7],[1267,7],[1354,7],[1721,7],[1808,7],[1934,7],[2240,7],[2326,7]]},"420":{"position":[[189,7]]},"426":{"position":[[34,7]]},"436":{"position":[[54,7]]},"468":{"position":[[95,7],[131,7]]},"476":{"position":[[12,7],[59,7],[167,7],[208,7],[307,7],[361,7],[436,7]]},"478":{"position":[[83,7]]},"766":{"position":[[166,7],[174,7],[195,7],[218,7],[233,7]]},"768":{"position":[[377,7],[426,7],[505,7],[534,7],[568,7],[1009,7]]}}}],["webpack5",{"_index":36,"t":{"4":{"position":[[19,8]]}}}],["webpackconfig",{"_index":1560,"t":{"315":{"position":[[1398,13],[1429,13],[1494,13],[1635,13]]},"317":{"position":[[251,13],[432,13],[663,13],[703,13],[1008,13],[1048,13],[1364,13],[1549,13],[1818,13],[1859,13],[1882,13],[1988,13],[2045,13],[2336,13],[2377,13]]},"476":{"position":[[90,13],[132,13],[371,13],[447,13],[511,13]]},"768":{"position":[[1257,13],[1277,13],[1320,13]]}}}],["webpackload",{"_index":1554,"t":{"315":{"position":[[1087,14]]},"317":{"position":[[2108,14]]}}}],["webpackplugin",{"_index":1553,"t":{"315":{"position":[[1070,14]]},"317":{"position":[[1614,14],[1913,13]]}}}],["webstorm",{"_index":1936,"t":{"486":{"position":[[69,8]]}}}],["wechat",{"_index":2275,"t":{"720":{"position":[[120,6],[149,6],[246,6],[275,6]]},"722":{"position":[[55,6],[99,6],[161,6]]},"724":{"position":[[126,6]]},"823":{"position":[[192,6],[221,6],[318,6],[347,6]]},"825":{"position":[[57,6],[119,6],[263,6]]},"827":{"position":[[48,6]]}}}],["weex",{"_index":1491,"t":{"310":{"position":[[55,4]]}}}],["whether",{"_index":1225,"t":{"235":{"position":[[1340,7]]}}}],["width",{"_index":589,"t":{"85":{"position":[[304,5],[317,5]]},"87":{"position":[[192,5],[205,5]]},"212":{"position":[[322,5],[339,5]]},"535":{"position":[[226,5],[239,5]]}}}],["window",{"_index":768,"t":{"113":{"position":[[354,6]]},"115":{"position":[[396,6]]},"344":{"position":[[114,7]]},"348":{"position":[[124,6],[388,6]]},"482":{"position":[[51,7],[67,7]]},"682":{"position":[[45,6],[112,6]]}}}],["withcredenti",{"_index":1223,"t":{"235":{"position":[[1313,15],[1426,15]]}}}],["withfullrespons",{"_index":1193,"t":{"235":{"position":[[109,16],[374,16],[1680,16]]},"239":{"position":[[264,16]]}}}],["withlocal",{"_index":737,"t":{"109":{"position":[[3,10],[202,10],[421,10]]}}}],["withmodel",{"_index":1475,"t":{"305":{"position":[[3,9],[80,9]]}}}],["woff",{"_index":1709,"t":{"396":{"position":[[54,4]]}}}],["woff2",{"_index":1710,"t":{"396":{"position":[[60,5]]}}}],["worklet",{"_index":1732,"t":{"404":{"position":[[95,7]]}}}],["workleturl",{"_index":1728,"t":{"404":{"position":[[55,10],[138,10]]}}}],["world",{"_index":1002,"t":{"189":{"position":[[74,5]]},"422":{"position":[[666,5]]},"540":{"position":[[289,5]]},"663":{"position":[[833,5]]},"730":{"position":[[84,5]]}}}],["wrap",{"_index":1896,"t":{"478":{"position":[[217,4],[252,4]]}}}],["www",{"_index":535,"t":{"80":{"position":[[83,3],[122,3],[135,3],[159,3]]}}}],["wx",{"_index":2228,"t":{"677":{"position":[[59,2],[210,2]]}}}],["wz5p3kdm",{"_index":2184,"t":{"663":{"position":[[593,8]]}}}],["x",{"_index":163,"t":{"9":{"position":[[88,1]]},"23":{"position":[[354,1],[367,1]]},"78":{"position":[[32,1]]},"85":{"position":[[226,1]]},"87":{"position":[[114,1]]},"165":{"position":[[87,1]]},"185":{"position":[[324,1],[356,1],[380,1]]},"189":{"position":[[10,1],[46,1],[93,1],[122,1],[146,1],[154,1],[166,1]]},"191":{"position":[[38,1],[76,1],[162,1],[170,1]]},"193":{"position":[[77,1]]},"195":{"position":[[46,1],[110,1],[144,1],[205,1]]},"197":{"position":[[18,1],[23,1],[29,1]]},"199":{"position":[[9,1]]},"235":{"position":[[781,1]]},"310":{"position":[[12,1]]},"315":{"position":[[88,1]]},"317":{"position":[[3135,1]]},"482":{"position":[[36,1]]}}}],["xmlhttprequest",{"_index":1203,"t":{"235":{"position":[[801,14],[2446,14]]},"243":{"position":[[168,14]]}}}],["xxx",{"_index":1961,"t":{"519":{"position":[[470,3],[975,3]]},"521":{"position":[[654,3]]},"523":{"position":[[145,3],[490,3]]},"527":{"position":[[512,3]]},"529":{"position":[[231,3]]},"538":{"position":[[112,3]]},"657":{"position":[[432,3],[815,3]]},"663":{"position":[[259,3]]},"762":{"position":[[112,3]]}}}],["y",{"_index":521,"t":{"78":{"position":[[34,1]]}}}],["yarn",{"_index":1923,"t":{"484":{"position":[[58,4]]}}}],["ye",{"_index":809,"t":{"115":{"position":[[445,3]]},"589":{"position":[[435,3]]},"684":{"position":[[445,3]]}}}],["z",{"_index":522,"t":{"78":{"position":[[36,1]]}}}],["zalmoxisu",{"_index":1483,"t":{"307":{"position":[[189,10]]}}}],["zh",{"_index":695,"t":{"98":{"position":[[216,2],[256,2],[287,2],[326,2],[339,2]]},"100":{"position":[[192,2],[235,2],[311,2]]},"103":{"position":[[105,2]]},"105":{"position":[[111,2]]},"107":{"position":[[367,2],[408,2],[421,2]]},"109":{"position":[[332,2],[373,2],[386,2]]},"111":{"position":[[778,2]]},"113":{"position":[[228,2],[268,2]]},"115":{"position":[[735,2],[762,2],[778,2]]},"117":{"position":[[286,2],[320,2]]}}}],["一一对应",{"_index":719,"t":{"100":{"position":[[287,4]]},"531":{"position":[[671,4]]},"649":{"position":[[667,4]]}}}],["一个",{"_index":343,"t":{"37":{"position":[[39,2]]},"78":{"position":[[29,2]]},"94":{"position":[[11,2]]},"96":{"position":[[113,2]]},"100":{"position":[[26,2],[35,2],[259,2]]},"107":{"position":[[44,2],[64,2]]},"115":{"position":[[113,2],[312,2]]},"129":{"position":[[8,2]]},"131":{"position":[[8,2]]},"237":{"position":[[992,2]]},"252":{"position":[[37,2]]},"259":{"position":[[89,2]]},"261":{"position":[[489,2]]},"270":{"position":[[587,2]]},"295":{"position":[[69,2],[259,2],[293,2],[379,2],[843,2]]},"297":{"position":[[547,2]]},"299":{"position":[[574,2]]},"334":{"position":[[70,2]]},"348":{"position":[[162,2],[440,2]]},"374":{"position":[[5,2]]},"380":{"position":[[35,2]]},"422":{"position":[[679,2]]},"454":{"position":[[247,2]]},"527":{"position":[[52,2]]},"591":{"position":[[43,2]]},"603":{"position":[[9,2]]},"610":{"position":[[39,2],[63,2]]},"614":{"position":[[7,2]]},"618":{"position":[[590,2]]},"626":{"position":[[30,2]]},"641":{"position":[[31,2],[53,2]]},"663":{"position":[[278,2],[284,2],[290,2]]},"701":{"position":[[22,2]]},"720":{"position":[[789,2]]},"735":{"position":[[56,2]]},"758":{"position":[[12,2]]},"760":{"position":[[11,2],[360,2]]},"762":{"position":[[68,2]]},"786":{"position":[[196,2]]}}}],["一些",{"_index":189,"t":{"11":{"position":[[28,2]]},"63":{"position":[[11,2]]},"167":{"position":[[63,2]]},"239":{"position":[[430,2],[616,2]]},"295":{"position":[[1129,2]]},"299":{"position":[[17,2]]},"317":{"position":[[2855,2]]},"394":{"position":[[44,2]]},"442":{"position":[[144,2],[188,2]]},"561":{"position":[[10,2]]},"605":{"position":[[8,2]]},"641":{"position":[[64,2]]},"647":{"position":[[117,2]]},"733":{"position":[[57,2]]},"741":{"position":[[23,2]]}}}],["一份",{"_index":204,"t":{"11":{"position":[[92,2]]},"523":{"position":[[86,2]]}}}],["一体化",{"_index":23,"t":{"2":{"position":[[74,3]]},"4":{"position":[[201,3]]},"7":{"position":[[137,3]]}}}],["一套",{"_index":3,"t":{"2":{"position":[[10,2]]},"183":{"position":[[173,2]]},"222":{"position":[[43,2]]}}}],["一定",{"_index":1335,"t":{"243":{"position":[[187,2],[224,2]]},"446":{"position":[[137,2]]},"733":{"position":[[384,2]]}}}],["一对",{"_index":1767,"t":{"422":{"position":[[651,2]]}}}],["一层",{"_index":2424,"t":{"792":{"position":[[9,2]]}}}],["一张",{"_index":2049,"t":{"573":{"position":[[1,2]]}}}],["一条",{"_index":1847,"t":{"456":{"position":[[765,2]]}}}],["一样",{"_index":1085,"t":{"210":{"position":[[150,2]]},"212":{"position":[[404,2]]},"538":{"position":[[15,2]]},"616":{"position":[[92,2]]},"657":{"position":[[521,2]]}}}],["一次",{"_index":1273,"t":{"237":{"position":[[380,2]]},"295":{"position":[[283,2]]}}}],["一种",{"_index":953,"t":{"181":{"position":[[6,2],[51,2]]},"653":{"position":[[53,2]]}}}],["一类",{"_index":2114,"t":{"616":{"position":[[29,2]]}}}],["一系列",{"_index":2108,"t":{"607":{"position":[[27,3]]},"675":{"position":[[27,3]]}}}],["一组",{"_index":2115,"t":{"616":{"position":[[43,2]]}}}],["一致",{"_index":1061,"t":{"203":{"position":[[116,2]]},"248":{"position":[[21,2]]},"250":{"position":[[88,2]]},"344":{"position":[[193,2]]},"422":{"position":[[694,2]]},"649":{"position":[[40,2]]}}}],["一致性",{"_index":142,"t":{"7":{"position":[[205,3]]},"237":{"position":[[121,3]]}}}],["一般",{"_index":239,"t":{"19":{"position":[[5,2]]},"124":{"position":[[61,2]]},"344":{"position":[[48,2]]},"394":{"position":[[19,2]]},"422":{"position":[[198,2]]},"519":{"position":[[53,2],[195,2]]},"553":{"position":[[428,2]]},"657":{"position":[[153,2]]},"733":{"position":[[77,2]]},"796":{"position":[[10,2]]},"798":{"position":[[10,2]]}}}],["一起",{"_index":821,"t":{"124":{"position":[[76,2]]},"220":{"position":[[93,2]]}}}],["一部分",{"_index":975,"t":{"183":{"position":[[110,3]]}}}],["三个",{"_index":1982,"t":{"521":{"position":[[764,2]]},"618":{"position":[[53,2]]},"699":{"position":[[97,2]]}}}],["三方",{"_index":368,"t":{"41":{"position":[[0,2],[19,2]]},"446":{"position":[[150,2],[325,2]]},"462":{"position":[[144,2],[310,2]]},"768":{"position":[[767,2]]}}}],["三种",{"_index":1399,"t":{"266":{"position":[[242,2]]},"462":{"position":[[74,2]]},"626":{"position":[[9,2]]}}}],["上下文",{"_index":965,"t":{"183":{"position":[[30,3]]},"766":{"position":[[14,3]]},"788":{"position":[[18,3]]}}}],["上传",{"_index":558,"t":{"82":{"position":[[180,2]]},"89":{"position":[[68,2],[75,2]]},"827":{"position":[[107,2]]}}}],["上空",{"_index":1579,"t":{"317":{"position":[[1607,2]]}}}],["上述",{"_index":1259,"t":{"237":{"position":[[93,2]]},"319":{"position":[[336,2]]},"328":{"position":[[189,2]]},"356":{"position":[[126,2]]},"358":{"position":[[132,2]]},"396":{"position":[[88,2]]},"476":{"position":[[183,2]]},"589":{"position":[[7,2]]},"710":{"position":[[202,2]]},"768":{"position":[[1083,2]]}}}],["上面",{"_index":700,"t":{"98":{"position":[[275,2]]},"115":{"position":[[1,2]]},"597":{"position":[[179,2]]},"690":{"position":[[445,2]]},"762":{"position":[[834,2]]}}}],["下来",{"_index":1991,"t":{"531":{"position":[[54,2]]}}}],["下载",{"_index":1940,"t":{"488":{"position":[[34,2]]}}}],["下降",{"_index":967,"t":{"183":{"position":[[42,2]]}}}],["下面",{"_index":831,"t":{"133":{"position":[[16,2]]},"440":{"position":[[380,2]]},"442":{"position":[[169,2]]},"482":{"position":[[95,2]]},"527":{"position":[[49,2]]},"618":{"position":[[27,2],[322,2]]}}}],["不了",{"_index":488,"t":{"63":{"position":[[41,2]]}}}],["不仅",{"_index":2136,"t":{"645":{"position":[[101,2]]}}}],["不会",{"_index":820,"t":{"124":{"position":[[23,2]]},"237":{"position":[[829,2],[929,2],[1008,2]]},"332":{"position":[[99,2]]},"348":{"position":[[185,2]]},"442":{"position":[[64,2]]},"618":{"position":[[250,2]]},"624":{"position":[[130,2]]},"657":{"position":[[70,2]]},"666":{"position":[[336,2]]},"699":{"position":[[298,2]]},"737":{"position":[[15,2]]}}}],["不再",{"_index":308,"t":{"23":{"position":[[394,2]]},"313":{"position":[[443,2]]},"315":{"position":[[1125,2],[1157,2],[1773,2]]},"317":{"position":[[2841,2]]},"460":{"position":[[3,2]]}}}],["不到",{"_index":866,"t":{"146":{"position":[[52,2]]}}}],["不变",{"_index":1744,"t":{"408":{"position":[[404,2]]},"462":{"position":[[174,2]]}}}],["不可",{"_index":1980,"t":{"521":{"position":[[733,2]]}}}],["不同",{"_index":141,"t":{"7":{"position":[[200,2]]},"100":{"position":[[387,2]]},"117":{"position":[[43,2]]},"165":{"position":[[47,2]]},"250":{"position":[[50,2],[298,2],[304,2]]},"276":{"position":[[3,2]]},"319":{"position":[[260,2]]},"344":{"position":[[72,2],[78,2]]},"422":{"position":[[204,2],[211,2]]},"519":{"position":[[1102,2]]},"531":{"position":[[36,2],[48,2],[712,2]]},"535":{"position":[[532,2]]},"553":{"position":[[305,2]]},"618":{"position":[[361,2]]},"655":{"position":[[6,2]]},"663":{"position":[[208,2]]}}}],["不够",{"_index":1338,"t":{"246":{"position":[[19,2]]}}}],["不容",{"_index":2033,"t":{"551":{"position":[[92,2]]}}}],["不必",{"_index":2087,"t":{"591":{"position":[[52,2]]}}}],["不想",{"_index":1880,"t":{"472":{"position":[[24,2]]},"618":{"position":[[567,2]]},"641":{"position":[[68,2]]}}}],["不是",{"_index":253,"t":{"19":{"position":[[99,2]]},"133":{"position":[[2,2]]},"173":{"position":[[3,2]]},"181":{"position":[[49,2]]},"235":{"position":[[75,2]]},"237":{"position":[[982,2]]},"344":{"position":[[104,2]]},"376":{"position":[[24,2]]},"519":{"position":[[1317,2]]},"544":{"position":[[50,2]]},"655":{"position":[[24,2]]},"737":{"position":[[43,2]]}}}],["不止",{"_index":125,"t":{"7":{"position":[[68,2]]}}}],["不稳定性",{"_index":937,"t":{"177":{"position":[[91,4]]}}}],["不能",{"_index":799,"t":{"115":{"position":[[142,2]]},"328":{"position":[[173,2]]},"348":{"position":[[95,2]]},"456":{"position":[[570,2]]},"559":{"position":[[10,2]]},"649":{"position":[[12,2]]},"710":{"position":[[186,2]]}}}],["不要",{"_index":1141,"t":{"220":{"position":[[128,2]]}}}],["不配",{"_index":1332,"t":{"241":{"position":[[239,2]]}}}],["与其",{"_index":2145,"t":{"649":{"position":[[665,2]]}}}],["丑陋",{"_index":2170,"t":{"663":{"position":[[123,2]]}}}],["专用",{"_index":2444,"t":{"823":{"position":[[5,2]]}}}],["业务",{"_index":44,"t":{"4":{"position":[[70,2],[162,2],[447,2]]},"7":{"position":[[78,2],[106,2]]},"43":{"position":[[28,2]]},"181":{"position":[[27,2]]},"237":{"position":[[157,2]]},"490":{"position":[[184,2]]},"519":{"position":[[66,2],[131,2],[1035,2]]}}}],["丢失",{"_index":1122,"t":{"216":{"position":[[93,2]]}}}],["两个",{"_index":726,"t":{"107":{"position":[[51,2]]},"117":{"position":[[87,2]]},"293":{"position":[[52,2],[470,2]]},"297":{"position":[[5,2]]},"663":{"position":[[49,2]]}}}],["两种",{"_index":409,"t":{"43":{"position":[[247,2]]},"155":{"position":[[62,2]]},"228":{"position":[[14,2]]},"257":{"position":[[226,2]]},"384":{"position":[[11,2]]},"519":{"position":[[1100,2]]},"555":{"position":[[28,2]]},"716":{"position":[[2,2]]},"733":{"position":[[10,2]]},"743":{"position":[[13,2]]}}}],["两者",{"_index":2336,"t":{"743":{"position":[[183,2]]}}}],["严格",{"_index":1661,"t":{"368":{"position":[[84,2]]}}}],["中",{"_index":227,"t":{"15":{"position":[[156,1]]},"23":{"position":[[9,1],[232,1],[267,1]]},"25":{"position":[[51,1]]},"43":{"position":[[45,1],[50,1],[71,1],[81,1],[154,1]]},"45":{"position":[[51,1]]},"47":{"position":[[67,1]]},"49":{"position":[[34,1]]},"51":{"position":[[12,1],[52,1]]},"63":{"position":[[61,1]]},"65":{"position":[[63,1]]},"85":{"position":[[1135,1],[1205,1]]},"98":{"position":[[69,1]]},"100":{"position":[[14,1]]},"107":{"position":[[13,1],[119,1]]},"109":{"position":[[118,1]]},"113":{"position":[[336,1],[407,1],[440,1]]},"115":{"position":[[6,1],[31,1],[73,1],[159,1],[559,1]]},"137":{"position":[[7,1]]},"139":{"position":[[7,1]]},"144":{"position":[[218,1]]},"146":{"position":[[88,1]]},"150":{"position":[[9,1],[236,1],[273,1]]},"152":{"position":[[53,1]]},"161":{"position":[[308,1]]},"165":{"position":[[89,1]]},"177":{"position":[[122,1]]},"183":{"position":[[140,1]]},"191":{"position":[[223,1]]},"203":{"position":[[132,1]]},"205":{"position":[[48,1]]},"210":{"position":[[134,1]]},"214":{"position":[[60,1]]},"216":{"position":[[37,1]]},"218":{"position":[[8,1],[39,1],[72,1],[106,1]]},"220":{"position":[[20,1]]},"224":{"position":[[79,1]]},"228":{"position":[[23,1],[63,1]]},"230":{"position":[[122,1],[479,1],[693,1]]},"239":{"position":[[5,1],[80,1]]},"241":{"position":[[10,1]]},"250":{"position":[[449,1]]},"257":{"position":[[563,1]]},"261":{"position":[[278,1]]},"266":{"position":[[547,1]]},"268":{"position":[[20,1]]},"270":{"position":[[310,1]]},"274":{"position":[[52,1]]},"276":{"position":[[9,1],[22,1]]},"280":{"position":[[17,1]]},"284":{"position":[[17,1]]},"293":{"position":[[467,1]]},"295":{"position":[[330,1]]},"305":{"position":[[35,1]]},"307":{"position":[[2,1],[104,1]]},"315":{"position":[[19,1],[70,1],[1124,1]]},"321":{"position":[[85,1],[376,1],[562,1],[718,1],[895,1]]},"338":{"position":[[36,1]]},"340":{"position":[[26,1]]},"344":{"position":[[65,1],[75,1],[155,1]]},"348":{"position":[[64,1],[107,1],[175,1],[197,1]]},"354":{"position":[[31,1],[64,1]]},"358":{"position":[[107,1]]},"360":{"position":[[71,1]]},"384":{"position":[[34,1],[118,1]]},"396":{"position":[[280,1]]},"400":{"position":[[105,1]]},"404":{"position":[[5,1]]},"408":{"position":[[165,1],[369,1]]},"410":{"position":[[41,1]]},"415":{"position":[[32,1]]},"422":{"position":[[180,1],[370,1]]},"462":{"position":[[164,1],[330,1]]},"470":{"position":[[161,1]]},"502":{"position":[[47,1]]},"514":{"position":[[101,1]]},"519":{"position":[[107,1],[585,1],[1263,1],[1296,1]]},"521":{"position":[[799,1]]},"523":{"position":[[80,1]]},"529":{"position":[[31,1],[263,1]]},"531":{"position":[[659,1]]},"540":{"position":[[65,1]]},"542":{"position":[[223,1]]},"548":{"position":[[78,1]]},"551":{"position":[[31,1],[74,1]]},"553":{"position":[[28,1],[132,1],[142,1],[302,1],[462,1]]},"555":{"position":[[9,1]]},"557":{"position":[[55,1]]},"559":{"position":[[30,1],[93,1]]},"575":{"position":[[14,1]]},"591":{"position":[[24,1],[38,1]]},"593":{"position":[[319,1]]},"595":{"position":[[11,1]]},"612":{"position":[[34,1],[45,1],[103,1],[246,1]]},"618":{"position":[[32,1],[284,1]]},"632":{"position":[[192,1]]},"645":{"position":[[339,1],[362,1],[445,1]]},"655":{"position":[[18,1],[57,1]]},"657":{"position":[[13,1]]},"661":{"position":[[35,1]]},"663":{"position":[[47,1],[955,1]]},"666":{"position":[[23,1],[62,1],[224,1]]},"668":{"position":[[148,1]]},"672":{"position":[[14,1]]},"677":{"position":[[38,1]]},"682":{"position":[[17,1]]},"684":{"position":[[17,1]]},"690":{"position":[[19,1],[56,1],[279,1],[420,1],[449,1]]},"697":{"position":[[17,1]]},"699":{"position":[[15,1],[252,1],[294,1]]},"701":{"position":[[35,1],[104,1],[118,1],[168,1]]},"705":{"position":[[61,1],[72,1],[130,1],[273,1]]},"720":{"position":[[60,1],[515,1],[670,1],[712,1],[779,1],[840,1],[944,1]]},"728":{"position":[[37,1],[62,1]]},"733":{"position":[[52,1],[123,1]]},"737":{"position":[[4,1]]},"745":{"position":[[5,1],[145,1]]},"747":{"position":[[128,1]]},"749":{"position":[[5,1],[47,1],[73,1]]},"760":{"position":[[630,1]]},"762":{"position":[[850,1],[1132,1]]},"766":{"position":[[134,1],[161,1]]},"772":{"position":[[23,1]]},"807":{"position":[[8,1]]},"823":{"position":[[127,1]]}}}],["中国",{"_index":709,"t":{"98":{"position":[[335,2]]}}}],["中文",{"_index":708,"t":{"98":{"position":[[332,2],[345,2]]},"111":{"position":[[868,2]]}}}],["中途",{"_index":2389,"t":{"770":{"position":[[55,2]]}}}],["中间件",{"_index":773,"t":{"113":{"position":[[501,3]]},"124":{"position":[[73,3]]},"605":{"position":[[10,3]]},"768":{"position":[[725,3]]}}}],["丰富",{"_index":70,"t":{"4":{"position":[[180,2]]},"675":{"position":[[82,2]]},"733":{"position":[[359,2]]},"756":{"position":[[34,2]]}}}],["串行",{"_index":1954,"t":{"519":{"position":[[89,2]]}}}],["临时",{"_index":1948,"t":{"516":{"position":[[72,2]]}}}],["为主",{"_index":243,"t":{"19":{"position":[[16,2],[67,2]]}}}],["为了",{"_index":199,"t":{"11":{"position":[[74,2]]},"37":{"position":[[0,2]]},"115":{"position":[[132,2]]},"315":{"position":[[0,2]]},"319":{"position":[[112,2],[291,2]]},"413":{"position":[[0,2]]},"442":{"position":[[31,2]]},"663":{"position":[[186,2]]},"720":{"position":[[853,2]]},"768":{"position":[[217,2]]}}}],["主",{"_index":824,"t":{"129":{"position":[[19,1]]},"538":{"position":[[163,1]]},"587":{"position":[[20,1]]}}}],["主体",{"_index":2054,"t":{"579":{"position":[[2,2]]}}}],["主动",{"_index":1523,"t":{"315":{"position":[[495,2]]},"321":{"position":[[15,2],[302,2],[650,2]]},"446":{"position":[[350,2]]},"464":{"position":[[191,2]]}}}],["主机名",{"_index":1694,"t":{"386":{"position":[[228,3]]}}}],["主流",{"_index":274,"t":{"23":{"position":[[83,2]]},"150":{"position":[[87,2]]},"272":{"position":[[36,2]]}}}],["主要",{"_index":386,"t":{"43":{"position":[[41,2]]},"146":{"position":[[27,2]]},"228":{"position":[[11,2]]},"743":{"position":[[29,2]]},"780":{"position":[[11,2]]},"788":{"position":[[26,2]]}}}],["主题",{"_index":293,"t":{"23":{"position":[[214,2]]},"30":{"position":[[27,2]]},"32":{"position":[[27,2]]},"34":{"position":[[51,2]]},"150":{"position":[[218,2]]},"157":{"position":[[32,2]]},"159":{"position":[[51,2]]},"161":{"position":[[279,2]]},"276":{"position":[[26,2]]},"313":{"position":[[260,2]]},"809":{"position":[[17,2]]},"811":{"position":[[19,2]]}}}],["之一",{"_index":394,"t":{"43":{"position":[[96,2]]}}}],["之上",{"_index":72,"t":{"4":{"position":[[213,2]]}}}],["之前",{"_index":144,"t":{"9":{"position":[[11,2]]},"107":{"position":[[169,2]]},"109":{"position":[[168,2]]},"167":{"position":[[2,2]]},"210":{"position":[[148,2]]},"220":{"position":[[123,2]]},"348":{"position":[[233,2]]},"553":{"position":[[149,2],[172,2]]}}}],["之后",{"_index":890,"t":{"163":{"position":[[70,2]]}}}],["之外",{"_index":1669,"t":{"372":{"position":[[14,2]]},"579":{"position":[[6,2]]},"616":{"position":[[427,2]]}}}],["之类",{"_index":2156,"t":{"659":{"position":[[52,2]]}}}],["之间",{"_index":2328,"t":{"743":{"position":[[17,2]]}}}],["也就是说",{"_index":2311,"t":{"735":{"position":[[104,4]]}}}],["书写",{"_index":958,"t":{"181":{"position":[[37,2]]}}}],["了解",{"_index":1139,"t":{"220":{"position":[[101,2]]}}}],["事件",{"_index":902,"t":{"163":{"position":[[232,2]]},"210":{"position":[[26,2]]},"220":{"position":[[10,2],[22,2],[83,2],[117,2],[153,2]]},"686":{"position":[[14,2],[31,2]]},"690":{"position":[[411,2]]},"697":{"position":[[74,2]]},"699":{"position":[[43,2],[106,2],[115,2],[281,2]]},"726":{"position":[[14,2],[31,2]]},"770":{"position":[[17,2]]},"784":{"position":[[34,2],[241,2]]}}}],["二",{"_index":2320,"t":{"735":{"position":[[374,1]]}}}],["二次",{"_index":1824,"t":{"446":{"position":[[154,2]]},"521":{"position":[[46,2]]}}}],["二者",{"_index":1972,"t":{"519":{"position":[[1298,2]]}}}],["云",{"_index":515,"t":{"78":{"position":[[7,1]]}}}],["交互",{"_index":1147,"t":{"222":{"position":[[50,2]]}}}],["产物",{"_index":353,"t":{"37":{"position":[[99,2]]},"39":{"position":[[4,2]]},"89":{"position":[[47,2]]},"434":{"position":[[22,2]]},"438":{"position":[[22,2]]},"454":{"position":[[220,2],[420,2],[688,2],[866,2]]},"460":{"position":[[88,2]]},"472":{"position":[[22,2]]},"490":{"position":[[53,2]]},"502":{"position":[[43,2]]},"508":{"position":[[46,2]]},"516":{"position":[[26,2]]},"519":{"position":[[1202,2]]},"649":{"position":[[685,2]]},"657":{"position":[[963,2]]},"722":{"position":[[76,2],[145,2]]},"768":{"position":[[658,2],[838,2]]},"821":{"position":[[13,2],[34,2]]},"825":{"position":[[103,2],[247,2]]},"827":{"position":[[28,2],[55,2]]}}}],["产生",{"_index":1052,"t":{"197":{"position":[[7,2]]},"647":{"position":[[49,2]]},"663":{"position":[[118,2]]},"708":{"position":[[78,2]]}}}],["享受",{"_index":101,"t":{"4":{"position":[[367,2]]},"163":{"position":[[74,2]]}}}],["仅",{"_index":1021,"t":{"193":{"position":[[0,1]]},"214":{"position":[[14,1]]},"295":{"position":[[352,1]]},"348":{"position":[[170,1]]},"360":{"position":[[49,1]]},"426":{"position":[[65,1]]},"428":{"position":[[29,1]]},"438":{"position":[[29,1]]},"456":{"position":[[783,1]]},"468":{"position":[[93,1]]},"670":{"position":[[109,1]]},"699":{"position":[[48,1]]},"703":{"position":[[41,1]]},"714":{"position":[[44,1]]},"720":{"position":[[780,1]]}}}],["介绍",{"_index":387,"t":{"43":{"position":[[43,2]]},"714":{"position":[[45,2]]}}}],["仍然",{"_index":1799,"t":{"442":{"position":[[158,2],[394,2]]}}}],["从而",{"_index":1128,"t":{"218":{"position":[[89,2]]}}}],["付出",{"_index":135,"t":{"7":{"position":[[163,2]]}}}],["代理",{"_index":1134,"t":{"220":{"position":[[26,2]]},"436":{"position":[[44,2]]}}}],["代理服务",{"_index":2378,"t":{"768":{"position":[[737,4]]}}}],["代码",{"_index":49,"t":{"4":{"position":[[83,2]]},"19":{"position":[[1,2],[25,2],[107,2]]},"23":{"position":[[48,2],[136,2]]},"37":{"position":[[29,2]]},"63":{"position":[[2,2]]},"74":{"position":[[2,2]]},"150":{"position":[[52,2],[140,2]]},"183":{"position":[[36,2]]},"250":{"position":[[9,2]]},"380":{"position":[[163,2]]},"422":{"position":[[178,2],[213,2],[368,2],[542,2]]},"440":{"position":[[59,2],[64,2],[81,2],[107,2],[123,2]]},"442":{"position":[[85,2]]},"446":{"position":[[161,2],[321,2]]},"448":{"position":[[112,2]]},"490":{"position":[[20,2]]},"540":{"position":[[70,2]]},"544":{"position":[[47,2]]},"559":{"position":[[91,2]]},"595":{"position":[[16,2]]},"597":{"position":[[57,2]]},"605":{"position":[[39,2]]},"647":{"position":[[64,2],[95,2]]},"663":{"position":[[307,2]]},"675":{"position":[[147,2]]},"690":{"position":[[42,2]]}}}],["令",{"_index":2319,"t":{"735":{"position":[[278,1]]}}}],["以上",{"_index":137,"t":{"7":{"position":[[176,2]]},"23":{"position":[[334,2]]},"163":{"position":[[245,2]]},"384":{"position":[[135,2]]},"482":{"position":[[39,2]]},"815":{"position":[[33,2]]}}}],["以下",{"_index":305,"t":{"23":{"position":[[357,2]]},"43":{"position":[[103,2]]},"76":{"position":[[18,2]]},"80":{"position":[[28,2]]},"96":{"position":[[237,2]]},"98":{"position":[[12,2]]},"100":{"position":[[295,2]]},"115":{"position":[[167,2]]},"117":{"position":[[62,2]]},"161":{"position":[[23,2]]},"163":{"position":[[145,2]]},"187":{"position":[[0,2]]},"243":{"position":[[48,2]]},"268":{"position":[[35,2]]},"303":{"position":[[54,2]]},"317":{"position":[[36,2],[2891,2]]},"396":{"position":[[7,2]]},"456":{"position":[[372,2],[777,2]]},"523":{"position":[[411,2]]},"535":{"position":[[382,2]]},"593":{"position":[[51,2]]},"595":{"position":[[14,2]]},"601":{"position":[[18,2]]},"605":{"position":[[34,2]]},"618":{"position":[[127,2]]},"663":{"position":[[299,2]]},"688":{"position":[[12,2]]},"690":{"position":[[59,2]]},"703":{"position":[[39,2]]},"720":{"position":[[33,2],[63,2]]},"728":{"position":[[9,2]]},"760":{"position":[[44,2]]},"768":{"position":[[263,2]]},"817":{"position":[[5,2]]},"819":{"position":[[66,2]]},"821":{"position":[[2,2]]},"827":{"position":[[12,2]]}}}],["以下内容",{"_index":762,"t":{"113":{"position":[[85,4]]},"257":{"position":[[37,4]]},"261":{"position":[[185,4],[281,4]]},"266":{"position":[[39,4]]},"270":{"position":[[132,4],[313,4]]},"573":{"position":[[55,4]]}}}],["以便",{"_index":465,"t":{"57":{"position":[[24,2]]},"107":{"position":[[179,2]]},"109":{"position":[[178,2]]},"252":{"position":[[80,2]]}}}],["以及",{"_index":21,"t":{"2":{"position":[[68,2]]},"4":{"position":[[126,2]]},"7":{"position":[[187,2]]},"23":{"position":[[218,2]]},"150":{"position":[[222,2]]},"173":{"position":[[33,2],[91,2]]},"210":{"position":[[12,2],[164,2]]},"424":{"position":[[90,2]]},"442":{"position":[[94,2]]},"446":{"position":[[148,2]]},"470":{"position":[[176,2]]},"492":{"position":[[17,2]]},"593":{"position":[[334,2]]},"659":{"position":[[83,2]]},"714":{"position":[[67,2]]}}}],["以后",{"_index":2097,"t":{"601":{"position":[[9,2]]},"819":{"position":[[61,2]]}}}],["以此",{"_index":415,"t":{"47":{"position":[[36,2]]}}}],["任一",{"_index":688,"t":{"96":{"position":[[174,2]]}}}],["任何",{"_index":230,"t":{"15":{"position":[[171,2]]},"96":{"position":[[111,2]]},"146":{"position":[[54,2]]},"210":{"position":[[362,2]]},"252":{"position":[[35,2]]},"440":{"position":[[48,2]]},"622":{"position":[[45,2]]}}}],["任务",{"_index":2392,"t":{"770":{"position":[[344,2]]},"778":{"position":[[5,2],[183,2]]},"780":{"position":[[4,2],[13,2]]}}}],["任意",{"_index":237,"t":{"17":{"position":[[30,2]]},"338":{"position":[[195,2]]}}}],["优于",{"_index":889,"t":{"163":{"position":[[53,2]]}}}],["优先",{"_index":2148,"t":{"657":{"position":[[32,2],[592,2]]}}}],["优先级",{"_index":1018,"t":{"191":{"position":[[189,3]]},"553":{"position":[[369,3]]}}}],["优化",{"_index":150,"t":{"9":{"position":[[29,2]]},"96":{"position":[[87,2]]},"183":{"position":[[125,2]]},"442":{"position":[[92,2]]},"607":{"position":[[37,2]]},"618":{"position":[[129,2],[274,2]]}}}],["优点",{"_index":2168,"t":{"663":{"position":[[81,2]]}}}],["会",{"_index":167,"t":{"9":{"position":[[102,1],[120,1],[148,1]]},"23":{"position":[[126,1],[177,1]]},"37":{"position":[[36,1],[70,1],[94,1]]},"39":{"position":[[79,1]]},"43":{"position":[[90,1]]},"63":{"position":[[8,1]]},"74":{"position":[[12,1]]},"94":{"position":[[60,1]]},"100":{"position":[[286,1],[394,1]]},"107":{"position":[[108,1]]},"109":{"position":[[41,1],[107,1]]},"113":{"position":[[28,1]]},"117":{"position":[[40,1],[342,1]]},"150":{"position":[[130,1],[181,1]]},"177":{"position":[[88,1]]},"210":{"position":[[117,1]]},"212":{"position":[[81,1],[113,1],[367,1],[406,1]]},"216":{"position":[[88,1]]},"218":{"position":[[73,1]]},"220":{"position":[[160,1]]},"222":{"position":[[8,1]]},"237":{"position":[[302,1],[440,1],[1177,1],[1227,1]]},"248":{"position":[[26,1]]},"250":{"position":[[58,1]]},"303":{"position":[[19,1]]},"315":{"position":[[1165,1]]},"332":{"position":[[7,1]]},"344":{"position":[[20,1]]},"382":{"position":[[269,1]]},"396":{"position":[[97,1]]},"408":{"position":[[91,1],[373,1]]},"422":{"position":[[418,1],[473,1],[509,1]]},"442":{"position":[[103,1]]},"444":{"position":[[585,1]]},"460":{"position":[[46,1],[68,1]]},"478":{"position":[[223,1],[280,1]]},"484":{"position":[[15,1]]},"486":{"position":[[21,1]]},"502":{"position":[[36,1]]},"510":{"position":[[12,1]]},"512":{"position":[[25,1]]},"514":{"position":[[95,1]]},"519":{"position":[[116,1],[198,1],[234,1],[1021,1],[1275,1],[1301,1]]},"521":{"position":[[8,1]]},"523":{"position":[[408,1]]},"527":{"position":[[652,1]]},"538":{"position":[[160,1]]},"548":{"position":[[67,1]]},"553":{"position":[[36,1]]},"557":{"position":[[16,1]]},"561":{"position":[[7,1]]},"581":{"position":[[2,1]]},"583":{"position":[[7,1]]},"585":{"position":[[23,1]]},"587":{"position":[[15,1],[33,1]]},"593":{"position":[[152,1]]},"610":{"position":[[2,1],[58,1]]},"612":{"position":[[15,1]]},"616":{"position":[[416,1]]},"618":{"position":[[160,1],[223,1]]},"622":{"position":[[24,1],[54,1]]},"641":{"position":[[13,1]]},"647":{"position":[[85,1],[97,1]]},"649":{"position":[[689,1]]},"657":{"position":[[89,1],[124,1],[585,1],[967,1]]},"661":{"position":[[39,1]]},"666":{"position":[[233,1],[240,1]]},"668":{"position":[[143,1]]},"699":{"position":[[99,1]]},"705":{"position":[[42,1]]},"728":{"position":[[39,1]]},"733":{"position":[[55,1]]},"735":{"position":[[99,1],[189,1]]},"743":{"position":[[215,1]]},"749":{"position":[[25,1],[66,1]]},"751":{"position":[[86,1]]},"770":{"position":[[38,1]]},"819":{"position":[[98,1],[136,1]]}}}],["传入",{"_index":814,"t":{"115":{"position":[[562,2]]},"146":{"position":[[1,2]]},"237":{"position":[[1304,2],[1397,2],[1522,2]]},"257":{"position":[[189,2]]},"266":{"position":[[201,2]]},"295":{"position":[[316,2]]},"527":{"position":[[555,2]]},"531":{"position":[[108,2]]}}}],["传染性",{"_index":1119,"t":{"216":{"position":[[23,3]]}}}],["传给",{"_index":1988,"t":{"527":{"position":[[666,2]]}}}],["传统",{"_index":1046,"t":{"195":{"position":[[277,2]]},"519":{"position":[[40,2]]},"645":{"position":[[352,2]]},"653":{"position":[[95,2]]}}}],["传递",{"_index":1268,"t":{"237":{"position":[[303,2]]},"523":{"position":[[84,2]]},"548":{"position":[[24,2]]},"724":{"position":[[27,2]]}}}],["但是",{"_index":907,"t":{"165":{"position":[[74,2]]},"183":{"position":[[11,2]]},"189":{"position":[[138,2]]},"210":{"position":[[77,2]]},"587":{"position":[[31,2]]},"589":{"position":[[40,2]]},"618":{"position":[[564,2]]},"684":{"position":[[50,2]]},"690":{"position":[[25,2]]},"705":{"position":[[25,2]]},"735":{"position":[[171,2]]},"745":{"position":[[139,2]]},"747":{"position":[[114,2]]}}}],["位",{"_index":1045,"t":{"195":{"position":[[273,1]]},"666":{"position":[[297,1]]}}}],["位于",{"_index":1997,"t":{"533":{"position":[[48,2]]},"616":{"position":[[307,2],[347,2]]}}}],["低",{"_index":238,"t":{"19":{"position":[[0,1],[106,1]]},"553":{"position":[[373,1]]}}}],["体积",{"_index":347,"t":{"37":{"position":[[78,2]]},"39":{"position":[[14,2]]},"41":{"position":[[8,2]]},"386":{"position":[[390,2]]},"388":{"position":[[221,2]]},"442":{"position":[[87,2]]},"460":{"position":[[51,2]]},"462":{"position":[[376,2]]},"675":{"position":[[149,2]]},"733":{"position":[[243,2],[378,2]]}}}],["体系",{"_index":114,"t":{"4":{"position":[[462,2]]},"675":{"position":[[11,2]]}}}],["体验",{"_index":155,"t":{"9":{"position":[[44,2]]},"442":{"position":[[45,2]]},"448":{"position":[[478,2]]},"454":{"position":[[884,2]]},"476":{"position":[[51,2]]},"486":{"position":[[28,2]]},"519":{"position":[[178,2]]},"585":{"position":[[351,2]]},"587":{"position":[[248,2]]},"618":{"position":[[143,2],[315,2]]},"626":{"position":[[66,2]]},"653":{"position":[[138,2]]},"675":{"position":[[152,2]]}}}],["作",{"_index":2338,"t":{"743":{"position":[[193,1]]}}}],["作为",{"_index":1435,"t":{"295":{"position":[[322,2],[900,2]]},"319":{"position":[[621,2]]},"364":{"position":[[15,2]]},"406":{"position":[[15,2]]},"408":{"position":[[9,2]]},"413":{"position":[[38,2]]},"593":{"position":[[35,2]]},"612":{"position":[[283,2]]},"616":{"position":[[326,2],[359,2]]},"622":{"position":[[88,2]]},"666":{"position":[[42,2]]},"705":{"position":[[310,2]]},"749":{"position":[[33,2]]}}}],["作用",{"_index":1016,"t":{"191":{"position":[[177,2]]}}}],["作用域",{"_index":1039,"t":{"195":{"position":[[32,3]]}}}],["使用",{"_index":175,"t":{"9":{"position":[[134,2]]},"15":{"position":[[14,2],[118,2]]},"17":{"position":[[45,2]]},"19":{"position":[[23,2]]},"23":{"position":[[14,2],[58,2],[237,2],[371,2]]},"57":{"position":[[379,2]]},"76":{"position":[[16,2]]},"89":{"position":[[32,2]]},"96":{"position":[[193,2],[224,2]]},"107":{"position":[[14,2]]},"109":{"position":[[0,2]]},"111":{"position":[[2,2],[58,2],[70,2]]},"113":{"position":[[504,2]]},"124":{"position":[[78,2]]},"150":{"position":[[14,2],[62,2],[241,2]]},"163":{"position":[[7,2],[142,2],[242,2]]},"165":{"position":[[30,2],[52,2],[64,2],[94,2]]},"167":{"position":[[4,2]]},"175":{"position":[[66,2]]},"179":{"position":[[14,2]]},"185":{"position":[[36,2],[213,2]]},"191":{"position":[[224,2]]},"197":{"position":[[40,2]]},"203":{"position":[[92,2]]},"205":{"position":[[277,2]]},"210":{"position":[[152,2],[348,2],[427,2]]},"212":{"position":[[82,2]]},"214":{"position":[[24,2],[136,2]]},"216":{"position":[[40,2],[77,2],[104,2]]},"218":{"position":[[46,2],[146,2]]},"220":{"position":[[130,2]]},"224":{"position":[[11,2]]},"230":{"position":[[8,2]]},"235":{"position":[[23,2],[156,2],[429,2]]},"237":{"position":[[0,2],[118,2],[377,2],[1043,2],[1256,2],[1680,2]]},"241":{"position":[[243,2],[335,2],[392,2],[484,2]]},"250":{"position":[[302,2]]},"255":{"position":[[18,2],[43,2]]},"261":{"position":[[10,2]]},"284":{"position":[[18,2],[26,2]]},"295":{"position":[[331,2],[404,2]]},"299":{"position":[[40,2],[554,2]]},"305":{"position":[[36,2]]},"313":{"position":[[481,2]]},"315":{"position":[[22,2]]},"317":{"position":[[1577,2]]},"321":{"position":[[6,2],[293,2],[643,2]]},"328":{"position":[[148,2],[183,2]]},"338":{"position":[[52,2]]},"340":{"position":[[37,2]]},"344":{"position":[[88,2],[199,2],[238,2]]},"348":{"position":[[241,2]]},"350":{"position":[[29,2]]},"360":{"position":[[72,2],[75,2]]},"382":{"position":[[225,2]]},"386":{"position":[[150,2]]},"388":{"position":[[146,2]]},"408":{"position":[[149,2]]},"422":{"position":[[373,2],[579,2],[622,2]]},"446":{"position":[[89,2],[241,2]]},"456":{"position":[[144,2],[643,2]]},"460":{"position":[[7,2]]},"464":{"position":[[176,2]]},"482":{"position":[[44,2],[60,2],[233,2]]},"484":{"position":[[188,2],[277,2]]},"486":{"position":[[2,2]]},"488":{"position":[[11,2]]},"508":{"position":[[8,2]]},"512":{"position":[[17,2]]},"521":{"position":[[150,2]]},"531":{"position":[[21,2]]},"533":{"position":[[22,2]]},"540":{"position":[[15,2]]},"548":{"position":[[33,2]]},"551":{"position":[[32,2],[75,2]]},"553":{"position":[[185,2]]},"555":{"position":[[16,2],[44,2]]},"585":{"position":[[78,2]]},"599":{"position":[[255,2]]},"605":{"position":[[6,2]]},"612":{"position":[[8,2]]},"618":{"position":[[582,2]]},"624":{"position":[[164,2]]},"628":{"position":[[1,2]]},"630":{"position":[[5,2]]},"632":{"position":[[5,2]]},"635":{"position":[[0,2]]},"637":{"position":[[0,2]]},"639":{"position":[[7,2]]},"649":{"position":[[14,2]]},"657":{"position":[[594,2]]},"659":{"position":[[9,2],[39,2]]},"663":{"position":[[17,2],[66,2]]},"666":{"position":[[35,2],[63,2],[324,2]]},"675":{"position":[[157,2]]},"677":{"position":[[39,2]]},"682":{"position":[[241,2]]},"688":{"position":[[22,2]]},"690":{"position":[[22,2],[63,2],[284,2]]},"692":{"position":[[2,2]]},"697":{"position":[[18,2]]},"701":{"position":[[119,2]]},"705":{"position":[[35,2]]},"710":{"position":[[161,2],[196,2],[241,2]]},"712":{"position":[[25,2]]},"714":{"position":[[77,2]]},"720":{"position":[[841,2],[945,2],[965,2]]},"722":{"position":[[128,2]]},"728":{"position":[[72,2],[150,2],[168,2],[266,2],[330,2]]},"730":{"position":[[18,2]]},"735":{"position":[[274,2],[321,2]]},"743":{"position":[[39,2],[138,2],[171,2],[200,2],[222,2]]},"749":{"position":[[26,2],[67,2],[89,2]]},"751":{"position":[[7,2],[89,2]]},"754":{"position":[[4,2]]},"762":{"position":[[231,2]]},"794":{"position":[[8,2]]},"796":{"position":[[28,2]]},"798":{"position":[[28,2]]},"817":{"position":[[63,2]]},"825":{"position":[[86,2],[230,2]]},"827":{"position":[[80,2]]}}}],["例",{"_index":546,"t":{"82":{"position":[[11,1],[101,1]]},"257":{"position":[[286,1]]},"266":{"position":[[344,1]]},"278":{"position":[[34,1]]},"482":{"position":[[113,1]]},"589":{"position":[[82,1]]},"666":{"position":[[143,1]]},"684":{"position":[[92,1]]},"710":{"position":[[251,1]]},"827":{"position":[[8,1]]}}}],["例如",{"_index":493,"t":{"63":{"position":[[73,2]]},"239":{"position":[[23,2]]},"380":{"position":[[18,2]]},"440":{"position":[[126,2],[355,2]]},"478":{"position":[[133,2]]},"519":{"position":[[1066,2]]},"538":{"position":[[50,2]]},"551":{"position":[[0,2]]},"614":{"position":[[43,2]]},"618":{"position":[[24,2],[319,2]]},"620":{"position":[[29,2]]},"690":{"position":[[45,2]]},"722":{"position":[[20,2]]},"776":{"position":[[152,2]]},"825":{"position":[[22,2]]}}}],["例子",{"_index":690,"t":{"96":{"position":[[239,2]]}}}],["依旧",{"_index":1083,"t":{"210":{"position":[[143,2]]}}}],["依次",{"_index":538,"t":{"80":{"position":[[116,2]]},"82":{"position":[[146,2]]}}}],["依然",{"_index":164,"t":{"9":{"position":[[90,2]]}}}],["依赖",{"_index":109,"t":{"4":{"position":[[433,2]]},"41":{"position":[[2,2],[21,2]]},"63":{"position":[[9,2]]},"115":{"position":[[90,2]]},"261":{"position":[[69,2]]},"270":{"position":[[4,2]]},"313":{"position":[[663,2],[674,2]]},"315":{"position":[[1775,2]]},"442":{"position":[[146,2],[578,2]]},"446":{"position":[[152,2],[222,2],[327,2]]},"448":{"position":[[500,2]]},"462":{"position":[[146,2],[172,2],[312,2]]},"492":{"position":[[10,2]]},"519":{"position":[[1181,2]]},"521":{"position":[[93,2]]},"535":{"position":[[435,2],[471,2]]},"591":{"position":[[55,2]]},"645":{"position":[[382,2]]},"649":{"position":[[714,2]]},"657":{"position":[[995,2]]},"720":{"position":[[357,2],[398,2]]},"768":{"position":[[769,2]]},"819":{"position":[[8,2],[38,2],[57,2]]},"823":{"position":[[17,2]]}}}],["依赖于",{"_index":1438,"t":{"295":{"position":[[353,3]]},"519":{"position":[[63,3]]},"521":{"position":[[70,3],[163,3]]},"645":{"position":[[345,3],[424,3]]}}}],["侧",{"_index":1986,"t":{"527":{"position":[[138,1]]},"647":{"position":[[110,1]]},"649":{"position":[[383,1]]},"657":{"position":[[108,1]]}}}],["便于",{"_index":200,"t":{"11":{"position":[[76,2]]},"464":{"position":[[93,2]]}}}],["便捷",{"_index":1565,"t":{"315":{"position":[[1573,2]]},"394":{"position":[[59,2]]},"402":{"position":[[23,2]]}}}],["保护",{"_index":797,"t":{"115":{"position":[[134,2]]}}}],["保持",{"_index":1741,"t":{"408":{"position":[[118,2]]},"657":{"position":[[178,2]]}}}],["保持一致",{"_index":1190,"t":{"235":{"position":[[36,4]]},"293":{"position":[[745,4]]},"436":{"position":[[78,4]]},"612":{"position":[[272,4]]},"703":{"position":[[20,4]]},"705":{"position":[[299,4]]},"708":{"position":[[86,4]]},"710":{"position":[[317,4]]}}}],["保留",{"_index":1471,"t":{"303":{"position":[[20,2]]},"462":{"position":[[232,2]]},"478":{"position":[[153,2]]},"624":{"position":[[152,2]]},"666":{"position":[[292,2]]}}}],["保证",{"_index":140,"t":{"7":{"position":[[198,2]]},"237":{"position":[[114,2]]},"442":{"position":[[33,2],[99,2]]},"591":{"position":[[125,2]]},"659":{"position":[[313,2]]},"815":{"position":[[2,2]]}}}],["信",{"_index":654,"t":{"89":{"position":[[119,1]]},"488":{"position":[[41,1]]},"675":{"position":[[100,1]]},"677":{"position":[[53,1]]},"679":{"position":[[13,1]]},"690":{"position":[[151,1],[393,1]]},"701":{"position":[[46,1],[336,1]]},"722":{"position":[[30,1],[67,1]]},"724":{"position":[[124,1]]},"728":{"position":[[161,1],[198,1]]},"825":{"position":[[32,1]]},"827":{"position":[[3,1],[20,1]]}}}],["信任",{"_index":1346,"t":{"248":{"position":[[62,2]]}}}],["信息",{"_index":556,"t":{"82":{"position":[[175,2]]},"137":{"position":[[240,2],[490,2]]},"276":{"position":[[37,2]]},"328":{"position":[[18,2]]},"336":{"position":[[43,2]]},"352":{"position":[[0,2]]},"456":{"position":[[956,2]]},"492":{"position":[[21,2]]},"519":{"position":[[1145,2]]},"527":{"position":[[649,2]]},"535":{"position":[[401,2],[419,2]]},"573":{"position":[[138,2]]},"583":{"position":[[5,2]]},"610":{"position":[[21,2]]},"614":{"position":[[147,2]]},"632":{"position":[[185,2]]},"635":{"position":[[27,2]]},"637":{"position":[[31,2]]},"728":{"position":[[56,2],[293,2]]},"766":{"position":[[17,2]]},"770":{"position":[[559,2]]},"788":{"position":[[23,2],[82,2],[98,2]]},"817":{"position":[[129,2]]}}}],["修复",{"_index":169,"t":{"9":{"position":[[105,2]]}}}],["修改",{"_index":742,"t":{"109":{"position":[[74,2]]},"237":{"position":[[412,2]]},"266":{"position":[[330,2]]},"282":{"position":[[206,2]]},"315":{"position":[[1480,2],[1547,2],[1576,2],[1582,2]]},"317":{"position":[[1944,2],[2640,2]]},"319":{"position":[[4,2],[287,2]]},"332":{"position":[[54,2],[126,2],[465,2]]},"368":{"position":[[53,2]]},"444":{"position":[[527,2],[679,2]]},"476":{"position":[[56,2]]},"516":{"position":[[32,2],[38,2]]},"551":{"position":[[4,2]]},"637":{"position":[[22,2]]},"651":{"position":[[24,2]]},"670":{"position":[[110,2],[199,2]]},"756":{"position":[[76,2]]},"762":{"position":[[75,2]]},"768":{"position":[[43,2],[243,2]]},"776":{"position":[[0,2],[164,2]]},"782":{"position":[[6,2]]}}}],["借助",{"_index":1564,"t":{"315":{"position":[[1564,2]]},"317":{"position":[[3180,2]]},"448":{"position":[[316,2]]},"476":{"position":[[31,2]]}}}],["值",{"_index":661,"t":{"92":{"position":[[42,1]]},"107":{"position":[[53,1],[133,1]]},"109":{"position":[[132,1]]},"113":{"position":[[350,1],[421,1]]},"115":{"position":[[105,1],[486,1],[574,1]]},"117":{"position":[[28,1]]},"122":{"position":[[59,1]]},"212":{"position":[[402,1]]},"299":{"position":[[577,1]]},"332":{"position":[[364,1]]},"422":{"position":[[191,1],[525,1]]},"430":{"position":[[115,1]]},"458":{"position":[[93,1]]},"478":{"position":[[161,1]]},"760":{"position":[[356,1]]},"762":{"position":[[817,1]]}}}],["假如",{"_index":817,"t":{"117":{"position":[[139,2]]},"618":{"position":[[451,2]]}}}],["假设",{"_index":663,"t":{"94":{"position":[[0,2]]},"100":{"position":[[41,2],[254,2]]},"115":{"position":[[108,2]]},"259":{"position":[[0,2]]},"261":{"position":[[482,2]]},"270":{"position":[[581,2]]},"293":{"position":[[31,2]]},"332":{"position":[[193,2]]},"595":{"position":[[133,2]]},"762":{"position":[[60,2]]}}}],["偏好",{"_index":683,"t":{"96":{"position":[[98,2]]},"107":{"position":[[174,2]]},"109":{"position":[[173,2]]},"115":{"position":[[15,2],[145,2]]},"124":{"position":[[33,2]]}}}],["做",{"_index":279,"t":{"23":{"position":[[127,1]]},"115":{"position":[[166,1]]},"150":{"position":[[131,1]]},"210":{"position":[[135,1],[361,1]]},"239":{"position":[[429,1],[588,1],[615,1]]},"607":{"position":[[25,1]]},"618":{"position":[[272,1]]},"735":{"position":[[261,1]]},"770":{"position":[[62,1]]}}}],["做出",{"_index":1950,"t":{"519":{"position":[[14,2]]}}}],["做到",{"_index":1556,"t":{"315":{"position":[[1172,2]]},"531":{"position":[[722,2]]},"618":{"position":[[401,2]]}}}],["做好",{"_index":2139,"t":{"647":{"position":[[13,2],[132,2]]}}}],["停止",{"_index":1271,"t":{"237":{"position":[[363,2],[831,2]]}}}],["像",{"_index":1084,"t":{"210":{"position":[[147,1]]},"408":{"position":[[316,1]]},"440":{"position":[[379,1]]},"538":{"position":[[1,1]]}}}],["像素",{"_index":2204,"t":{"666":{"position":[[167,2],[195,2],[216,2]]}}}],["允许",{"_index":1651,"t":{"348":{"position":[[33,2]]}}}],["元",{"_index":1944,"t":{"492":{"position":[[36,1]]},"535":{"position":[[400,1]]}}}],["元素",{"_index":1075,"t":{"210":{"position":[[32,2],[453,2]]},"352":{"position":[[71,2]]},"374":{"position":[[7,2],[66,2]]},"380":{"position":[[8,2]]},"382":{"position":[[223,2],[255,2]]},"531":{"position":[[644,2]]},"540":{"position":[[63,2]]},"735":{"position":[[10,2],[25,2],[167,2]]},"745":{"position":[[25,2],[149,2]]},"747":{"position":[[20,2]]}}}],["兄弟",{"_index":1006,"t":{"189":{"position":[[179,2]]}}}],["先",{"_index":1582,"t":{"317":{"position":[[1947,1]]},"521":{"position":[[66,1]]},"531":{"position":[[724,1],[731,1]]},"747":{"position":[[144,1]]}}}],["先于",{"_index":2061,"t":{"585":{"position":[[39,2]]}}}],["先行",{"_index":2089,"t":{"591":{"position":[[92,2]]}}}],["兜底",{"_index":2144,"t":{"649":{"position":[[503,2]]}}}],["入",{"_index":1367,"t":{"257":{"position":[[222,1]]},"266":{"position":[[238,1]]},"293":{"position":[[741,1]]},"295":{"position":[[324,1],[902,1]]},"307":{"position":[[102,1]]},"527":{"position":[[583,1]]},"649":{"position":[[621,1]]},"792":{"position":[[382,1]]}}}],["入口",{"_index":836,"t":{"137":{"position":[[231,2]]},"139":{"position":[[222,2]]},"144":{"position":[[204,2]]},"319":{"position":[[2,2],[274,2]]},"328":{"position":[[132,2]]},"356":{"position":[[98,2]]},"366":{"position":[[2,2]]},"372":{"position":[[2,2]]},"490":{"position":[[348,2]]},"506":{"position":[[3,2],[46,2]]},"529":{"position":[[17,2]]},"533":{"position":[[46,2]]},"614":{"position":[[12,2]]},"710":{"position":[[145,2]]},"760":{"position":[[64,2]]},"762":{"position":[[176,2],[248,2]]},"768":{"position":[[334,2]]},"788":{"position":[[58,2]]}}}],["入门",{"_index":202,"t":{"11":{"position":[[80,2]]}}}],["全",{"_index":289,"t":{"23":{"position":[[199,1],[268,1],[336,1],[398,1]]},"150":{"position":[[203,1],[274,1]]},"161":{"position":[[602,1]]},"315":{"position":[[652,1]]},"442":{"position":[[160,1],[398,1]]}}}],["全套",{"_index":2321,"t":{"735":{"position":[[380,2]]}}}],["全局",{"_index":547,"t":{"82":{"position":[[14,2]]},"137":{"position":[[446,2]]},"214":{"position":[[53,2]]},"226":{"position":[[66,2]]},"239":{"position":[[15,2],[224,2],[589,2]]},"276":{"position":[[18,2]]},"278":{"position":[[19,2],[27,2]]},"338":{"position":[[15,2]]},"490":{"position":[[268,2],[295,2]]},"506":{"position":[[15,2]]},"510":{"position":[[0,2]]},"542":{"position":[[265,2]]},"587":{"position":[[45,2]]},"616":{"position":[[40,2],[328,2],[392,2],[410,2]]},"661":{"position":[[7,2]]},"663":{"position":[[57,2],[68,2],[101,2],[171,2]]},"668":{"position":[[22,2]]},"733":{"position":[[119,2]]},"790":{"position":[[8,2]]}}}],["全局变量",{"_index":1758,"t":{"422":{"position":[[182,4],[610,4]]}}}],["全自动",{"_index":919,"t":{"173":{"position":[[5,3]]}}}],["共享",{"_index":1409,"t":{"276":{"position":[[10,2]]}}}],["共有",{"_index":2201,"t":{"666":{"position":[[157,2]]},"716":{"position":[[0,2]]}}}],["共用",{"_index":2116,"t":{"616":{"position":[[47,2]]}}}],["关于",{"_index":266,"t":{"23":{"position":[[25,2]]},"150":{"position":[[27,2]]},"370":{"position":[[21,2]]},"720":{"position":[[938,2]]}}}],["关注",{"_index":384,"t":{"43":{"position":[[35,2]]}}}],["关系",{"_index":1007,"t":{"189":{"position":[[183,2]]},"666":{"position":[[256,2]]}}}],["关闭",{"_index":375,"t":{"41":{"position":[[56,2]]},"113":{"position":[[69,2]]},"315":{"position":[[752,2]]},"458":{"position":[[80,2]]},"462":{"position":[[413,2]]},"466":{"position":[[23,2]]},"472":{"position":[[61,2]]},"601":{"position":[[22,2],[36,2]]}}}],["其中",{"_index":764,"t":{"113":{"position":[[309,2]]},"454":{"position":[[599,2]]},"616":{"position":[[265,2]]},"645":{"position":[[328,2]]},"720":{"position":[[691,2]]}}}],["其他",{"_index":286,"t":{"23":{"position":[[180,2]]},"82":{"position":[[201,2]]},"150":{"position":[[184,2]]},"239":{"position":[[339,2]]},"241":{"position":[[208,2],[324,2]]},"315":{"position":[[1737,2]]},"422":{"position":[[189,2]]},"432":{"position":[[73,2]]},"458":{"position":[[89,2]]},"484":{"position":[[30,2]]},"529":{"position":[[259,2]]},"538":{"position":[[4,2]]},"579":{"position":[[10,2]]},"616":{"position":[[376,2]]},"699":{"position":[[113,2]]}}}],["其它",{"_index":232,"t":{"15":{"position":[[189,2]]},"212":{"position":[[101,2]]},"538":{"position":[[40,2]]},"557":{"position":[[49,2]]}}}],["具体",{"_index":249,"t":{"19":{"position":[[39,2]]},"208":{"position":[[29,2]]},"248":{"position":[[72,2]]},"527":{"position":[[99,2],[577,2],[673,2]]},"573":{"position":[[69,2]]},"614":{"position":[[38,2]]},"616":{"position":[[117,2]]},"663":{"position":[[236,2]]},"770":{"position":[[571,2]]}}}],["具体做法",{"_index":1976,"t":{"521":{"position":[[104,4]]}}}],["具备",{"_index":192,"t":{"11":{"position":[[41,2]]}}}],["具有",{"_index":1118,"t":{"216":{"position":[[21,2]]}}}],["兼容",{"_index":618,"t":{"85":{"position":[[1057,2]]},"165":{"position":[[101,2]]},"203":{"position":[[37,2]]},"210":{"position":[[136,2],[355,2]]},"446":{"position":[[192,2],[331,2]]},"551":{"position":[[90,2]]},"647":{"position":[[68,2]]},"735":{"position":[[243,2]]}}}],["兼容性",{"_index":1746,"t":{"415":{"position":[[3,3]]},"442":{"position":[[96,3]]},"733":{"position":[[248,3]]}}}],["内",{"_index":1305,"t":{"237":{"position":[[1006,1]]},"295":{"position":[[1175,1]]},"338":{"position":[[199,1]]},"538":{"position":[[33,1]]},"585":{"position":[[37,1],[337,1]]},"587":{"position":[[232,1]]},"630":{"position":[[2,1]]},"632":{"position":[[2,1]]},"657":{"position":[[170,1]]}}}],["内容",{"_index":472,"t":{"57":{"position":[[268,2]]},"100":{"position":[[404,2]]},"107":{"position":[[190,2]]},"109":{"position":[[189,2]]},"319":{"position":[[648,2]]},"330":{"position":[[211,2]]},"338":{"position":[[293,2]]},"352":{"position":[[156,2]]},"430":{"position":[[105,2]]},"442":{"position":[[120,2]]},"450":{"position":[[57,2]]},"452":{"position":[[56,2]]},"454":{"position":[[650,2],[703,2]]},"456":{"position":[[519,2]]},"521":{"position":[[100,2],[171,2],[731,2]]},"531":{"position":[[32,2]]},"538":{"position":[[47,2]]},"575":{"position":[[20,2]]},"579":{"position":[[4,2],[31,2]]},"589":{"position":[[95,2]]},"618":{"position":[[427,2]]},"643":{"position":[[180,2]]},"645":{"position":[[63,2],[131,2],[142,2],[341,2],[375,2]]},"684":{"position":[[105,2]]},"701":{"position":[[156,2]]},"712":{"position":[[197,2]]},"766":{"position":[[138,2],[163,2]]},"788":{"position":[[49,2]]}}}],["内置",{"_index":1333,"t":{"241":{"position":[[245,2]]},"315":{"position":[[602,2],[727,2],[880,2],[1167,2],[1549,2]]},"317":{"position":[[2839,2],[2866,2]]},"368":{"position":[[148,2]]},"376":{"position":[[26,2]]},"394":{"position":[[4,2]]},"396":{"position":[[2,2]]},"402":{"position":[[2,2]]},"418":{"position":[[67,2]]},"424":{"position":[[80,2]]},"444":{"position":[[294,2],[529,2],[588,2]]},"448":{"position":[[465,2]]},"462":{"position":[[71,2]]},"464":{"position":[[79,2]]},"548":{"position":[[7,2]]},"553":{"position":[[7,2]]},"561":{"position":[[8,2]]},"690":{"position":[[5,2]]},"733":{"position":[[12,2],[224,2],[350,2],[355,2]]},"737":{"position":[[53,2]]},"766":{"position":[[229,2]]},"780":{"position":[[9,2]]}}}],["内联",{"_index":1068,"t":{"205":{"position":[[258,2],[296,2]]},"214":{"position":[[19,2],[176,2]]},"216":{"position":[[42,2],[79,2]]},"400":{"position":[[95,2]]},"540":{"position":[[68,2]]},"544":{"position":[[45,2]]}}}],["内部",{"_index":1058,"t":{"203":{"position":[[71,2]]},"334":{"position":[[86,2]]},"519":{"position":[[58,2]]}}}],["再次",{"_index":733,"t":{"107":{"position":[[146,2]]},"109":{"position":[[145,2]]},"303":{"position":[[32,2]]},"657":{"position":[[72,2]]}}}],["冗余",{"_index":1826,"t":{"446":{"position":[[163,2]]}}}],["写",{"_index":800,"t":{"115":{"position":[[149,1]]},"212":{"position":[[392,1]]},"250":{"position":[[19,1]]},"456":{"position":[[1095,1]]},"733":{"position":[[56,1]]}}}],["写入",{"_index":811,"t":{"115":{"position":[[535,2]]},"261":{"position":[[183,2]]},"270":{"position":[[130,2]]},"595":{"position":[[12,2]]},"701":{"position":[[160,2]]}}}],["写法",{"_index":1369,"t":{"257":{"position":[[228,2]]},"266":{"position":[[244,2]]},"299":{"position":[[12,2],[569,2]]},"319":{"position":[[125,2]]},"519":{"position":[[1104,2]]},"597":{"position":[[182,2]]},"659":{"position":[[65,2],[87,2]]},"672":{"position":[[53,2]]},"735":{"position":[[251,2]]}}}],["冰",{"_index":1,"t":{"2":{"position":[[1,1]]},"13":{"position":[[10,1]]},"15":{"position":[[104,1]]},"17":{"position":[[1,1]]},"19":{"position":[[52,1],[97,1]]},"126":{"position":[[11,1]]}}}],["冲突",{"_index":2175,"t":{"663":{"position":[[192,2]]}}}],["决定",{"_index":2315,"t":{"735":{"position":[[220,2]]}}}],["准入",{"_index":443,"t":{"49":{"position":[[37,2]]}}}],["准备",{"_index":2268,"t":{"714":{"position":[[86,2]]}}}],["减少",{"_index":986,"t":{"183":{"position":[[191,2]]}}}],["几个",{"_index":2038,"t":{"553":{"position":[[364,2]]}}}],["几步",{"_index":2274,"t":{"720":{"position":[[35,2]]}}}],["几种",{"_index":396,"t":{"43":{"position":[[105,2]]}}}],["出",{"_index":973,"t":{"183":{"position":[[90,1]]},"214":{"position":[[175,1]]},"607":{"position":[[43,1]]}}}],["出现",{"_index":351,"t":{"37":{"position":[[95,2]]},"41":{"position":[[34,2]]},"94":{"position":[[61,2]]},"146":{"position":[[120,2]]},"189":{"position":[[135,2]]},"216":{"position":[[89,2]]},"220":{"position":[[161,2]]},"344":{"position":[[226,2]]},"354":{"position":[[40,2]]},"374":{"position":[[11,2]]},"460":{"position":[[69,2],[90,2]]},"624":{"position":[[132,2]]}}}],["出错",{"_index":1328,"t":{"239":{"position":[[721,2]]}}}],["函数",{"_index":728,"t":{"107":{"position":[[71,2],[101,2]]},"109":{"position":[[66,2]]},"146":{"position":[[19,2]]},"148":{"position":[[31,2],[67,2]]},"205":{"position":[[279,2]]},"214":{"position":[[138,2]]},"216":{"position":[[106,2]]},"237":{"position":[[1533,2]]},"259":{"position":[[12,2]]},"278":{"position":[[244,2],[343,2]]},"295":{"position":[[269,2],[390,2],[400,2],[856,2]]},"299":{"position":[[9,2],[566,2]]},"330":{"position":[[27,2]]},"334":{"position":[[66,2],[79,2]]},"348":{"position":[[164,2],[183,2]]},"523":{"position":[[13,2]]},"599":{"position":[[257,2]]},"770":{"position":[[30,2]]}}}],["函数调用",{"_index":1499,"t":{"313":{"position":[[488,4]]}}}],["分",{"_index":2039,"t":{"555":{"position":[[20,1]]}}}],["分别",{"_index":1856,"t":{"462":{"position":[[80,2]]},"531":{"position":[[703,2]]},"553":{"position":[[376,2]]},"768":{"position":[[472,2]]},"776":{"position":[[136,2]]}}}],["分割",{"_index":340,"t":{"37":{"position":[[27,2]]}}}],["分包",{"_index":903,"t":{"163":{"position":[[235,2]]},"315":{"position":[[730,2]]},"462":{"position":[[76,2],[415,2]]},"686":{"position":[[76,2]]},"726":{"position":[[76,2]]},"768":{"position":[[962,2]]}}}],["分层",{"_index":1941,"t":{"490":{"position":[[22,2]]}}}],["分析",{"_index":1697,"t":{"386":{"position":[[394,2]]},"388":{"position":[[225,2]]},"768":{"position":[[840,2]]}}}],["分析器",{"_index":2016,"t":{"542":{"position":[[256,3]]}}}],["分离",{"_index":2084,"t":{"591":{"position":[[19,2]]},"618":{"position":[[289,2]]}}}],["分配",{"_index":1846,"t":{"456":{"position":[[763,2]]}}}],["切换",{"_index":736,"t":{"107":{"position":[[361,2]]},"109":{"position":[[326,2]]},"111":{"position":[[54,2],[865,2]]},"115":{"position":[[540,2],[567,2],[774,2]]},"163":{"position":[[60,2]]},"175":{"position":[[51,2]]},"177":{"position":[[38,2]]},"183":{"position":[[33,2]]},"303":{"position":[[10,2],[27,2]]},"484":{"position":[[175,2]]},"591":{"position":[[111,2]]},"618":{"position":[[411,2]]}}}],["切面",{"_index":1148,"t":{"222":{"position":[[68,2]]}}}],["列出",{"_index":2264,"t":{"703":{"position":[[42,2]]},"728":{"position":[[155,2]]}}}],["列表",{"_index":856,"t":{"142":{"position":[[40,2]]},"187":{"position":[[16,2]]},"208":{"position":[[31,2]]},"374":{"position":[[22,2]]}}}],["创建",{"_index":107,"t":{"4":{"position":[[401,2]]},"129":{"position":[[6,2]]},"131":{"position":[[6,2]]},"133":{"position":[[8,2]]},"288":{"position":[[126,2]]},"328":{"position":[[170,2]]},"616":{"position":[[27,2]]},"618":{"position":[[2,2],[569,2],[588,2]]},"620":{"position":[[50,2]]},"710":{"position":[[183,2]]},"716":{"position":[[6,2]]},"718":{"position":[[85,2]]},"747":{"position":[[145,2]]},"817":{"position":[[135,2]]},"823":{"position":[[10,2]]}}}],["创造",{"_index":977,"t":{"183":{"position":[[130,2]]}}}],["初始",{"_index":454,"t":{"51":{"position":[[67,2]]},"278":{"position":[[178,2]]},"295":{"position":[[92,2]]},"535":{"position":[[10,2]]},"569":{"position":[[10,2]]}}}],["初始化",{"_index":424,"t":{"47":{"position":[[92,3]]},"85":{"position":[[0,3]]},"237":{"position":[[560,3]]},"280":{"position":[[18,3]]},"303":{"position":[[42,3]]},"328":{"position":[[167,3]]},"710":{"position":[[180,3]]},"720":{"position":[[774,3]]}}}],["初始状态",{"_index":1428,"t":{"293":{"position":[[479,4]]}}}],["初期",{"_index":1336,"t":{"246":{"position":[[4,2]]}}}],["删除",{"_index":1583,"t":{"317":{"position":[[1948,2]]},"386":{"position":[[415,2]]}}}],["判断",{"_index":450,"t":{"51":{"position":[[18,2]]},"57":{"position":[[218,2]]},"191":{"position":[[221,2]]},"205":{"position":[[290,2]]},"344":{"position":[[139,2],[208,2]]},"442":{"position":[[410,2]]},"555":{"position":[[85,2]]},"647":{"position":[[17,2],[136,2]]}}}],["利用",{"_index":1859,"t":{"462":{"position":[[182,2],[337,2]]},"618":{"position":[[262,2]]},"645":{"position":[[406,2]]}}}],["别名",{"_index":1751,"t":{"418":{"position":[[225,2]]}}}],["前",{"_index":408,"t":{"43":{"position":[[246,1]]},"139":{"position":[[398,1]]},"148":{"position":[[25,1]]},"224":{"position":[[13,1]]},"239":{"position":[[409,1]]},"480":{"position":[[9,1]]},"482":{"position":[[6,1]]},"538":{"position":[[152,1]]},"587":{"position":[[29,1]]},"756":{"position":[[107,1]]},"770":{"position":[[331,1],[381,1]]}}}],["前后",{"_index":196,"t":{"11":{"position":[[65,2]]},"591":{"position":[[16,2]]}}}],["前端",{"_index":6,"t":{"2":{"position":[[22,2],[71,2]]},"4":{"position":[[189,2],[269,2]]},"7":{"position":[[134,2]]},"11":{"position":[[33,2],[82,2],[95,2]]},"13":{"position":[[5,2],[38,2]]},"47":{"position":[[28,2]]},"74":{"position":[[0,2]]},"87":{"position":[[763,2]]},"126":{"position":[[24,2],[79,2]]},"129":{"position":[[11,2]]},"144":{"position":[[44,2],[149,2]]},"222":{"position":[[3,2]]},"246":{"position":[[26,2]]},"250":{"position":[[7,2]]},"482":{"position":[[2,2]]},"486":{"position":[[11,2]]},"591":{"position":[[48,2],[76,2]]},"679":{"position":[[5,2]]}}}],["前端开发",{"_index":188,"t":{"11":{"position":[[19,4]]},"591":{"position":[[34,4]]}}}],["前缀",{"_index":499,"t":{"68":{"position":[[10,2]]},"100":{"position":[[334,2]]},"559":{"position":[[46,2]]},"690":{"position":[[407,2],[430,2]]}}}],["前置",{"_index":2064,"t":{"585":{"position":[[87,2]]},"587":{"position":[[5,2]]}}}],["前者",{"_index":905,"t":{"165":{"position":[[50,2]]}}}],["前面",{"_index":1842,"t":{"456":{"position":[[568,2]]}}}],["副作用",{"_index":1413,"t":{"278":{"position":[[339,3]]},"295":{"position":[[396,3],[852,3]]},"699":{"position":[[102,3]]}}}],["功能",{"_index":91,"t":{"4":{"position":[[307,2]]},"113":{"position":[[66,2],[489,2]]},"117":{"position":[[8,2]]},"167":{"position":[[72,2]]},"173":{"position":[[15,2]]},"310":{"position":[[40,2]]},"352":{"position":[[63,2]]},"436":{"position":[[46,2]]},"548":{"position":[[29,2]]},"751":{"position":[[53,2]]}}}],["加入",{"_index":761,"t":{"113":{"position":[[83,2]]},"257":{"position":[[35,2],[564,2]]},"261":{"position":[[279,2]]},"266":{"position":[[37,2],[548,2]]},"270":{"position":[[311,2]]},"444":{"position":[[577,2]]},"553":{"position":[[447,2]]}}}],["加载",{"_index":325,"t":{"28":{"position":[[34,2]]},"41":{"position":[[48,2]]},"146":{"position":[[84,2],[118,2]]},"155":{"position":[[43,2],[71,2],[85,2]]},"163":{"position":[[237,2]]},"301":{"position":[[44,2]]},"396":{"position":[[119,2]]},"420":{"position":[[214,2]]},"424":{"position":[[86,2]]},"462":{"position":[[226,2],[365,2]]},"519":{"position":[[7,2],[33,2],[77,2],[142,2],[1046,2],[1239,2],[1272,2]]},"521":{"position":[[795,2]]},"529":{"position":[[9,2],[57,2]]},"553":{"position":[[10,2],[40,2]]},"577":{"position":[[4,2]]},"585":{"position":[[54,2],[89,2],[340,2]]},"587":{"position":[[7,2],[43,2],[237,2]]},"607":{"position":[[30,2]]},"612":{"position":[[292,2]]},"614":{"position":[[152,2]]},"618":{"position":[[164,2],[175,2],[224,2],[313,2],[405,2],[437,2]]},"626":{"position":[[27,2]]},"645":{"position":[[396,2]]},"686":{"position":[[78,2]]},"705":{"position":[[319,2]]},"726":{"position":[[78,2]]},"809":{"position":[[14,2]]},"811":{"position":[[16,2]]}}}],["务必",{"_index":1804,"t":{"442":{"position":[[404,2]]},"714":{"position":[[96,2]]}}}],["动态",{"_index":1611,"t":{"326":{"position":[[29,2]]},"330":{"position":[[31,2]]},"599":{"position":[[273,2]]},"620":{"position":[[22,2]]},"639":{"position":[[1,2]]},"653":{"position":[[72,2]]},"703":{"position":[[33,2]]}}}],["动态数据",{"_index":1973,"t":{"521":{"position":[[73,4]]},"645":{"position":[[427,4]]}}}],["努力",{"_index":187,"t":{"11":{"position":[[15,2]]}}}],["包",{"_index":75,"t":{"4":{"position":[[227,1]]},"37":{"position":[[101,1]]},"39":{"position":[[24,1],[84,1]]},"157":{"position":[[34,1]]},"199":{"position":[[139,1]]},"484":{"position":[[33,1]]},"523":{"position":[[357,1],[385,1]]},"675":{"position":[[139,1]]},"733":{"position":[[158,1]]}}}],["包含",{"_index":395,"t":{"43":{"position":[[101,2]]},"47":{"position":[[82,2]]},"100":{"position":[[15,2],[330,2]]},"107":{"position":[[49,2]]},"109":{"position":[[42,2]]},"117":{"position":[[70,2]]},"122":{"position":[[41,2]]},"346":{"position":[[15,2]]},"484":{"position":[[16,2]]},"527":{"position":[[590,2]]},"546":{"position":[[20,2]]},"573":{"position":[[53,2]]},"579":{"position":[[65,2]]},"766":{"position":[[8,2]]},"788":{"position":[[12,2]]}}}],["包括",{"_index":677,"t":{"96":{"position":[[42,2]]},"165":{"position":[[121,2]]},"173":{"position":[[38,2]]},"506":{"position":[[23,2]]},"733":{"position":[[362,2]]},"762":{"position":[[73,2]]},"768":{"position":[[261,2]]},"788":{"position":[[28,2]]}}}],["包裹",{"_index":739,"t":{"109":{"position":[[18,2]]},"348":{"position":[[93,2]]},"521":{"position":[[161,2]]},"792":{"position":[[11,2]]}}}],["化",{"_index":136,"t":{"7":{"position":[[174,1]]}}}],["匹配",{"_index":667,"t":{"94":{"position":[[66,2]]},"146":{"position":[[50,2]]},"173":{"position":[[61,2]]},"261":{"position":[[193,2]]},"270":{"position":[[140,2]]},"330":{"position":[[36,2]]},"344":{"position":[[231,2]]},"454":{"position":[[623,2],[653,2]]},"456":{"position":[[171,2]]},"622":{"position":[[50,2]]},"659":{"position":[[319,2]]}}}],["区分",{"_index":1760,"t":{"422":{"position":[[202,2]]},"542":{"position":[[33,2]]}}}],["区块",{"_index":111,"t":{"4":{"position":[[438,2]]},"531":{"position":[[38,2]]}}}],["区域",{"_index":1672,"t":{"374":{"position":[[16,2]]}}}],["十分",{"_index":2313,"t":{"735":{"position":[[211,2]]},"751":{"position":[[55,2]]}}}],["升级",{"_index":185,"t":{"9":{"position":[[203,2]]},"310":{"position":[[0,2]]},"313":{"position":[[665,2]]},"456":{"position":[[933,2]]},"675":{"position":[[154,2]]}}}],["协同",{"_index":2174,"t":{"663":{"position":[[181,2]]}}}],["协同工作",{"_index":656,"t":{"89":{"position":[[125,4]]}}}],["协议",{"_index":1145,"t":{"222":{"position":[[22,2]]}}}],["单",{"_index":619,"t":{"85":{"position":[[1059,1]]},"303":{"position":[[1,1]]},"462":{"position":[[199,1]]}}}],["单一",{"_index":1330,"t":{"241":{"position":[[32,2]]}}}],["单个",{"_index":857,"t":{"142":{"position":[[43,2]]}}}],["单位",{"_index":1101,"t":{"212":{"position":[[333,2],[377,2],[399,2]]},"237":{"position":[[779,2],[1070,2],[1116,2]]},"666":{"position":[[16,2],[49,2],[315,2]]}}}],["单元测试",{"_index":1362,"t":{"252":{"position":[[86,4]]},"255":{"position":[[34,4]]},"257":{"position":[[638,4]]}}}],["单向",{"_index":2434,"t":{"805":{"position":[[4,2]]}}}],["单独",{"_index":361,"t":{"39":{"position":[[81,2]]},"224":{"position":[[16,2]]},"701":{"position":[[24,2]]}}}],["博客",{"_index":511,"t":{"76":{"position":[[3,2]]}}}],["即可",{"_index":299,"t":{"23":{"position":[[274,2]]},"49":{"position":[[41,2]]},"82":{"position":[[184,2]]},"89":{"position":[[73,2],[108,2]]},"150":{"position":[[280,2]]},"161":{"position":[[611,2]]},"177":{"position":[[150,2]]},"239":{"position":[[85,2]]},"250":{"position":[[294,2]]},"301":{"position":[[28,2]]},"317":{"position":[[1611,2]]},"408":{"position":[[168,2]]},"418":{"position":[[96,2]]},"466":{"position":[[55,2]]},"523":{"position":[[90,2]]},"591":{"position":[[120,2]]},"595":{"position":[[189,2]]},"659":{"position":[[321,2]]},"722":{"position":[[17,2]]},"817":{"position":[[44,2]]},"825":{"position":[[19,2]]}}}],["即将",{"_index":815,"t":{"115":{"position":[[564,2]]},"694":{"position":[[0,2]]}}}],["卸载",{"_index":855,"t":{"139":{"position":[[429,2]]},"148":{"position":[[59,2]]}}}],["历史",{"_index":160,"t":{"9":{"position":[[71,2]]}}}],["压缩",{"_index":1792,"t":{"438":{"position":[[20,2]]},"440":{"position":[[62,2]]},"768":{"position":[[783,2],[803,2]]}}}],["原",{"_index":1473,"t":{"303":{"position":[[36,1]]},"315":{"position":[[63,1]]},"319":{"position":[[239,1],[326,1]]},"456":{"position":[[926,1]]},"462":{"position":[[234,1]]}}}],["原先",{"_index":161,"t":{"9":{"position":[[75,2]]}}}],["原图",{"_index":2355,"t":{"749":{"position":[[28,2]]}}}],["原始",{"_index":131,"t":{"7":{"position":[[143,2]]}}}],["原有",{"_index":1742,"t":{"408":{"position":[[120,2]]}}}],["原生",{"_index":897,"t":{"163":{"position":[[148,2],[181,2],[191,2],[196,2]]},"218":{"position":[[10,2]]},"220":{"position":[[57,2],[151,2]]},"334":{"position":[[41,2]]},"352":{"position":[[19,2]]},"612":{"position":[[29,2]]},"632":{"position":[[207,2]]},"659":{"position":[[11,2]]},"666":{"position":[[7,2]]},"677":{"position":[[44,2]]},"686":{"position":[[5,2],[22,2],[36,2],[63,2]]},"690":{"position":[[52,2]]},"697":{"position":[[65,2]]},"705":{"position":[[56,2]]},"708":{"position":[[27,2]]},"710":{"position":[[224,2]]},"712":{"position":[[5,2]]},"726":{"position":[[5,2],[22,2],[36,2],[63,2]]},"747":{"position":[[137,2]]}}}],["参",{"_index":1368,"t":{"257":{"position":[[223,1]]},"266":{"position":[[239,1]]},"293":{"position":[[742,1]]},"295":{"position":[[325,1],[903,1]]},"307":{"position":[[103,1]]},"527":{"position":[[584,1]]},"649":{"position":[[622,1]]},"792":{"position":[[383,1]]}}}],["参数",{"_index":848,"t":{"137":{"position":[[714,2]]},"212":{"position":[[56,2]]},"222":{"position":[[90,2]]},"226":{"position":[[439,2]]},"235":{"position":[[126,2]]},"237":{"position":[[86,2],[132,2],[300,2],[334,2],[594,2],[634,2],[753,2]]},"239":{"position":[[341,2]]},"241":{"position":[[210,2],[326,2]]},"243":{"position":[[10,2]]},"266":{"position":[[341,2]]},"295":{"position":[[319,2],[373,2]]},"307":{"position":[[73,2]]},"332":{"position":[[41,2]]},"384":{"position":[[8,2],[37,2],[121,2]]},"454":{"position":[[405,2],[671,2],[849,2]]},"456":{"position":[[541,2],[555,2],[658,2]]},"468":{"position":[[149,2]]},"521":{"position":[[766,2]]},"542":{"position":[[20,2]]},"548":{"position":[[26,2]]},"639":{"position":[[27,2]]},"708":{"position":[[64,2]]},"710":{"position":[[306,2]]},"712":{"position":[[20,2]]},"724":{"position":[[39,2]]},"766":{"position":[[81,2]]},"770":{"position":[[574,2]]},"774":{"position":[[11,2]]},"792":{"position":[[261,2]]}}}],["参数信息",{"_index":1618,"t":{"330":{"position":[[38,4]]}}}],["参考",{"_index":624,"t":{"85":{"position":[[1098,2]]},"89":{"position":[[112,2]]},"96":{"position":[[235,2]]},"142":{"position":[[56,2]]},"163":{"position":[[168,2],[253,2]]},"199":{"position":[[50,2],[130,2],[145,2]]},"208":{"position":[[35,2]]},"235":{"position":[[1765,2]]},"246":{"position":[[47,2]]},"248":{"position":[[75,2]]},"307":{"position":[[167,2]]},"315":{"position":[[1197,2],[1743,2]]},"317":{"position":[[34,2]]},"319":{"position":[[280,2]]},"321":{"position":[[280,2],[630,2],[958,2]]},"340":{"position":[[40,2]]},"350":{"position":[[33,2]]},"360":{"position":[[79,2]]},"370":{"position":[[37,2]]},"415":{"position":[[50,2]]},"442":{"position":[[167,2]]},"450":{"position":[[59,2]]},"452":{"position":[[58,2]]},"478":{"position":[[72,2]]},"603":{"position":[[250,2]]},"605":{"position":[[32,2]]},"663":{"position":[[912,2]]},"682":{"position":[[258,2]]},"701":{"position":[[329,2]]},"762":{"position":[[8,2]]},"770":{"position":[[580,2]]},"788":{"position":[[53,2]]}}}],["及其",{"_index":2003,"t":{"535":{"position":[[445,2]]},"649":{"position":[[710,2]]},"657":{"position":[[991,2]]},"724":{"position":[[62,2],[160,2]]}}}],["友好",{"_index":982,"t":{"183":{"position":[[158,2]]}}}],["反而",{"_index":285,"t":{"23":{"position":[[175,2]]},"150":{"position":[[179,2]]}}}],["反馈",{"_index":233,"t":{"15":{"position":[[193,2]]},"21":{"position":[[0,2]]},"478":{"position":[[446,2]]}}}],["发布",{"_index":510,"t":{"74":{"position":[[72,2]]},"78":{"position":[[21,2]]},"89":{"position":[[106,2],[130,2],[141,2]]},"762":{"position":[[90,2],[1110,2]]},"827":{"position":[[109,2]]}}}],["发现",{"_index":2312,"t":{"735":{"position":[[175,2]]}}}],["发起",{"_index":1300,"t":{"237":{"position":[[913,2],[933,2],[977,2],[1012,2],[1178,2]]},"250":{"position":[[65,2]]},"519":{"position":[[60,2],[127,2],[216,2],[246,2],[1031,2],[1111,2],[1360,2]]},"531":{"position":[[8,2]]}}}],["发送",{"_index":1324,"t":{"239":{"position":[[405,2]]},"380":{"position":[[20,2]]},"523":{"position":[[11,2],[57,2]]},"782":{"position":[[937,2]]}}}],["发送者",{"_index":1775,"t":{"424":{"position":[[95,3]]}}}],["取",{"_index":2018,"t":{"544":{"position":[[63,1]]},"756":{"position":[[109,1]]}}}],["取值",{"_index":2037,"t":{"553":{"position":[[325,2]]}}}],["取消",{"_index":1167,"t":{"226":{"position":[[706,2]]},"237":{"position":[[350,2]]}}}],["受",{"_index":1969,"t":{"519":{"position":[[1208,1]]},"653":{"position":[[113,1]]},"728":{"position":[[0,1]]}}}],["变",{"_index":2181,"t":{"663":{"position":[[223,1]]}}}],["变化",{"_index":1078,"t":{"210":{"position":[[38,2]]},"237":{"position":[[1224,2]]}}}],["变成",{"_index":1716,"t":{"396":{"position":[[156,2]]}}}],["变更",{"_index":1498,"t":{"313":{"position":[[485,2]]},"382":{"position":[[249,2]]}}}],["变量",{"_index":1763,"t":{"422":{"position":[[380,2],[705,2]]},"557":{"position":[[71,2]]},"768":{"position":[[353,2]]}}}],["口",{"_index":1696,"t":{"386":{"position":[[265,1]]}}}],["口号",{"_index":2048,"t":{"571":{"position":[[19,2]]}}}],["另外",{"_index":345,"t":{"37":{"position":[[66,2]]},"394":{"position":[[39,2]]},"408":{"position":[[314,2]]},"540":{"position":[[0,2]]}}}],["只是",{"_index":2212,"t":{"670":{"position":[[2,2]]}}}],["只有",{"_index":1312,"t":{"237":{"position":[[1157,2]]},"618":{"position":[[520,2]]},"733":{"position":[[229,2]]}}}],["只能",{"_index":1420,"t":{"284":{"position":[[7,2]]},"456":{"position":[[761,2]]},"735":{"position":[[62,2],[137,2]]}}}],["只要",{"_index":2161,"t":{"659":{"position":[[311,2]]}}}],["叫",{"_index":2364,"t":{"760":{"position":[[23,1]]}}}],["可以",{"_index":68,"t":{"4":{"position":[[164,2],[319,2],[342,2],[449,2]]},"7":{"position":[[116,2],[182,2]]},"9":{"position":[[199,2]]},"13":{"position":[[41,2]]},"15":{"position":[[29,2],[158,2],[177,2]]},"17":{"position":[[26,2]]},"23":{"position":[[10,2]]},"39":{"position":[[9,2]]},"51":{"position":[[30,2],[63,2]]},"57":{"position":[[12,2]]},"78":{"position":[[65,2]]},"80":{"position":[[44,2]]},"96":{"position":[[170,2],[233,2]]},"109":{"position":[[69,2]]},"115":{"position":[[309,2],[474,2]]},"139":{"position":[[224,2]]},"150":{"position":[[10,2]]},"155":{"position":[[95,2]]},"163":{"position":[[72,2],[109,2],[164,2]]},"165":{"position":[[92,2]]},"167":{"position":[[47,2]]},"179":{"position":[[10,2]]},"183":{"position":[[86,2],[119,2]]},"185":{"position":[[211,2]]},"189":{"position":[[131,2]]},"191":{"position":[[215,2]]},"203":{"position":[[156,2]]},"205":{"position":[[2,2],[275,2]]},"208":{"position":[[33,2]]},"210":{"position":[[28,2],[145,2]]},"214":{"position":[[134,2]]},"216":{"position":[[102,2]]},"237":{"position":[[14,2],[463,2]]},"239":{"position":[[411,2],[586,2]]},"241":{"position":[[15,2]]},"246":{"position":[[28,2]]},"257":{"position":[[632,2]]},"261":{"position":[[899,2]]},"268":{"position":[[184,2]]},"270":{"position":[[1040,2]]},"293":{"position":[[452,2]]},"295":{"position":[[845,2]]},"305":{"position":[[13,2]]},"307":{"position":[[33,2],[76,2]]},"310":{"position":[[14,2]]},"315":{"position":[[735,2],[1195,2],[1570,2],[1809,2]]},"317":{"position":[[32,2]]},"326":{"position":[[24,2]]},"332":{"position":[[463,2]]},"334":{"position":[[72,2]]},"356":{"position":[[122,2]]},"358":{"position":[[128,2]]},"362":{"position":[[26,2]]},"374":{"position":[[33,2]]},"380":{"position":[[29,2]]},"396":{"position":[[275,2]]},"404":{"position":[[34,2]]},"408":{"position":[[37,2],[129,2]]},"430":{"position":[[65,2],[84,2]]},"440":{"position":[[159,2],[276,2],[377,2]]},"442":{"position":[[165,2],[449,2],[587,2]]},"446":{"position":[[63,2],[346,2]]},"448":{"position":[[513,2]]},"454":{"position":[[257,2],[392,2],[674,2],[852,2]]},"456":{"position":[[368,2],[896,2]]},"462":{"position":[[420,2]]},"464":{"position":[[189,2]]},"472":{"position":[[34,2]]},"476":{"position":[[203,2]]},"478":{"position":[[150,2]]},"519":{"position":[[1079,2]]},"521":{"position":[[39,2],[62,2]]},"523":{"position":[[38,2]]},"529":{"position":[[12,2],[265,2]]},"531":{"position":[[79,2],[701,2],[720,2]]},"535":{"position":[[528,2]]},"538":{"position":[[18,2]]},"542":{"position":[[0,2]]},"544":{"position":[[67,2]]},"551":{"position":[[25,2]]},"553":{"position":[[113,2],[262,2]]},"557":{"position":[[27,2]]},"559":{"position":[[34,2]]},"573":{"position":[[7,2],[51,2]]},"579":{"position":[[34,2]]},"581":{"position":[[10,2]]},"583":{"position":[[15,2]]},"591":{"position":[[50,2],[78,2],[123,2]]},"593":{"position":[[190,2]]},"597":{"position":[[100,2]]},"599":{"position":[[253,2]]},"601":{"position":[[14,2],[80,2]]},"603":{"position":[[28,2]]},"605":{"position":[[30,2]]},"616":{"position":[[25,2]]},"618":{"position":[[13,2],[279,2],[336,2],[399,2],[580,2],[721,2]]},"620":{"position":[[42,2]]},"622":{"position":[[67,2]]},"624":{"position":[[116,2],[162,2]]},"626":{"position":[[24,2]]},"630":{"position":[[3,2]]},"632":{"position":[[3,2]]},"641":{"position":[[281,2]]},"643":{"position":[[14,2]]},"645":{"position":[[414,2]]},"649":{"position":[[47,2]]},"653":{"position":[[129,2]]},"657":{"position":[[531,2]]},"666":{"position":[[53,2],[104,2],[320,2]]},"672":{"position":[[0,2]]},"675":{"position":[[49,2]]},"677":{"position":[[22,2],[81,2]]},"697":{"position":[[1,2]]},"701":{"position":[[107,2]]},"710":{"position":[[26,2],[237,2]]},"712":{"position":[[23,2]]},"718":{"position":[[90,2]]},"724":{"position":[[0,2]]},"733":{"position":[[23,2]]},"745":{"position":[[8,2]]},"747":{"position":[[28,2]]},"756":{"position":[[46,2],[52,2]]},"766":{"position":[[206,2]]},"768":{"position":[[470,2],[1098,2]]},"770":{"position":[[46,2],[336,2],[430,2],[532,2],[566,2],[578,2]]},"786":{"position":[[5,2]]},"788":{"position":[[51,2]]},"792":{"position":[[254,2]]},"821":{"position":[[152,2]]},"823":{"position":[[106,2]]},"827":{"position":[[78,2]]}}}],["可变",{"_index":1436,"t":{"295":{"position":[[333,2]]}}}],["可用",{"_index":165,"t":{"9":{"position":[[93,2]]},"386":{"position":[[437,2]]},"388":{"position":[[243,2]]}}}],["可能",{"_index":176,"t":{"9":{"position":[[146,2]]},"15":{"position":[[80,2]]},"37":{"position":[[92,2]]},"41":{"position":[[32,2]]},"63":{"position":[[6,2],[37,2]]},"177":{"position":[[86,2]]},"220":{"position":[[158,2]]},"246":{"position":[[11,2]]},"344":{"position":[[224,2]]},"382":{"position":[[267,2]]},"422":{"position":[[686,2]]},"446":{"position":[[233,2]]},"460":{"position":[[66,2]]},"563":{"position":[[16,2]]},"565":{"position":[[13,2]]},"567":{"position":[[15,2]]},"569":{"position":[[15,2]]},"620":{"position":[[18,2]]},"663":{"position":[[108,2]]},"735":{"position":[[187,2]]}}}],["可见",{"_index":1076,"t":{"210":{"position":[[35,2],[455,2]]},"374":{"position":[[14,2],[72,2]]},"380":{"position":[[12,2]]}}}],["可视化",{"_index":27,"t":{"2":{"position":[[87,3]]},"4":{"position":[[398,3],[424,3]]},"19":{"position":[[9,3]]}}}],["可读性",{"_index":966,"t":{"183":{"position":[[38,3]]}}}],["各个",{"_index":2259,"t":{"701":{"position":[[0,2]]}}}],["各种",{"_index":41,"t":{"4":{"position":[[49,2],[172,2]]},"492":{"position":[[8,2]]}}}],["各自",{"_index":1985,"t":{"527":{"position":[[40,2]]}}}],["各路",{"_index":2004,"t":{"535":{"position":[[507,2]]},"618":{"position":[[147,2]]}}}],["各项",{"_index":2391,"t":{"770":{"position":[[340,2]]}}}],["合并",{"_index":458,"t":{"55":{"position":[[133,2]]},"315":{"position":[[1833,2]]}}}],["合成",{"_index":1132,"t":{"220":{"position":[[8,2]]}}}],["同一",{"_index":1017,"t":{"191":{"position":[[180,2]]}}}],["同一个",{"_index":1451,"t":{"297":{"position":[[17,3]]},"456":{"position":[[754,3]]},"519":{"position":[[1094,3]]},"531":{"position":[[70,3]]}}}],["同名",{"_index":1057,"t":{"199":{"position":[[132,2]]}}}],["同时",{"_index":25,"t":{"2":{"position":[[83,2]]},"9":{"position":[[35,2],[121,2]]},"11":{"position":[[9,2]]},"51":{"position":[[60,2]]},"107":{"position":[[106,2]]},"191":{"position":[[175,2]]},"203":{"position":[[102,2]]},"332":{"position":[[45,2]]},"372":{"position":[[17,2]]},"442":{"position":[[615,2]]},"456":{"position":[[773,2]]},"531":{"position":[[6,2]]},"548":{"position":[[68,2]]},"616":{"position":[[387,2]]},"618":{"position":[[453,2]]},"659":{"position":[[291,2]]},"663":{"position":[[630,2]]},"768":{"position":[[660,2]]}}}],["同构",{"_index":2149,"t":{"657":{"position":[[180,2],[307,2]]}}}],["同样",{"_index":1403,"t":{"268":{"position":[[0,2]]},"735":{"position":[[20,2],[141,2]]},"792":{"position":[[239,2]]},"827":{"position":[[57,2]]}}}],["同步",{"_index":2090,"t":{"591":{"position":[[130,2]]},"745":{"position":[[21,2]]}}}],["同源",{"_index":1342,"t":{"248":{"position":[[33,2]]}}}],["同理",{"_index":1107,"t":{"212":{"position":[[389,2]]}}}],["同类产品",{"_index":561,"t":{"82":{"position":[[203,4]]}}}],["名",{"_index":550,"t":{"82":{"position":[[76,1]]},"85":{"position":[[16,1]]},"478":{"position":[[279,1]]},"778":{"position":[[170,1]]}}}],["名为",{"_index":916,"t":{"171":{"position":[[20,2]]},"780":{"position":[[15,2]]}}}],["名称",{"_index":1331,"t":{"241":{"position":[[234,2]]},"478":{"position":[[62,2]]},"492":{"position":[[26,2]]},"701":{"position":[[39,2]]},"724":{"position":[[74,2],[172,2]]},"758":{"position":[[199,2]]},"780":{"position":[[6,2]]}}}],["后台",{"_index":388,"t":{"43":{"position":[[46,2],[72,2]]},"89":{"position":[[93,2]]}}}],["后续",{"_index":1534,"t":{"315":{"position":[[626,2]]},"770":{"position":[[41,2]]}}}],["后缀",{"_index":1737,"t":{"406":{"position":[[8,2]]},"456":{"position":[[1096,2]]},"659":{"position":[[317,2]]}}}],["后者",{"_index":906,"t":{"165":{"position":[[62,2]]}}}],["否则",{"_index":1121,"t":{"216":{"position":[[86,2]]},"220":{"position":[[156,2]]},"422":{"position":[[675,2]]}}}],["含",{"_index":115,"t":{"4":{"position":[[465,1]]}}}],["启动",{"_index":532,"t":{"80":{"position":[[46,2]]},"82":{"position":[[126,2]]},"386":{"position":[[0,2]]},"591":{"position":[[173,2]]},"595":{"position":[[125,2],[135,2]]},"756":{"position":[[105,2]]},"770":{"position":[[525,2],[550,2]]},"774":{"position":[[4,2]]},"819":{"position":[[71,2],[79,2]]}}}],["启用",{"_index":503,"t":{"72":{"position":[[7,2]]},"214":{"position":[[30,2]]},"305":{"position":[[358,2]]},"368":{"position":[[146,2]]},"420":{"position":[[197,2]]},"424":{"position":[[78,2]]},"464":{"position":[[213,2]]},"565":{"position":[[8,2]]},"567":{"position":[[8,2]]},"569":{"position":[[8,2]]},"591":{"position":[[183,2]]},"655":{"position":[[28,2]]}}}],["呈现",{"_index":1984,"t":{"523":{"position":[[409,2]]}}}],["周期",{"_index":2394,"t":{"770":{"position":[[564,2]]}}}],["命令",{"_index":506,"t":{"74":{"position":[[26,2]]},"89":{"position":[[17,2]]},"98":{"position":[[14,2]]},"426":{"position":[[76,2]]},"601":{"position":[[20,2]]},"720":{"position":[[41,2],[74,2]]},"722":{"position":[[15,2],[112,2]]},"724":{"position":[[23,2]]},"766":{"position":[[33,2],[72,2]]},"770":{"position":[[12,2],[51,2],[320,2],[370,2],[413,2],[464,2]]},"774":{"position":[[169,2]]},"817":{"position":[[7,2]]},"819":{"position":[[68,2]]},"821":{"position":[[4,2]]},"823":{"position":[[133,2]]},"825":{"position":[[17,2],[70,2],[214,2]]},"827":{"position":[[14,2]]}}}],["命令行",{"_index":644,"t":{"89":{"position":[[27,3]]},"171":{"position":[[0,3]]},"384":{"position":[[5,3],[115,3]]},"551":{"position":[[28,3]]},"774":{"position":[[1,3]]},"817":{"position":[[56,3]]}}}],["命名",{"_index":2172,"t":{"663":{"position":[[164,2],[211,2],[227,2]]},"690":{"position":[[439,2]]}}}],["响应",{"_index":1191,"t":{"235":{"position":[[54,2]]},"239":{"position":[[54,2]]},"666":{"position":[[44,2]]}}}],["哪些",{"_index":1778,"t":{"432":{"position":[[50,2]]},"442":{"position":[[576,2]]}}}],["唯一",{"_index":1286,"t":{"237":{"position":[[692,2]]}}}],["商家",{"_index":842,"t":{"137":{"position":[[545,2]]}}}],["器",{"_index":1387,"t":{"261":{"position":[[195,1]]},"270":{"position":[[142,1]]},"305":{"position":[[362,1]]}}}],["回来",{"_index":1975,"t":{"521":{"position":[[84,2]]}}}],["回调",{"_index":1086,"t":{"210":{"position":[[178,2]]}}}],["因为",{"_index":1261,"t":{"237":{"position":[[153,2],[189,2]]},"248":{"position":[[27,2]]},"299":{"position":[[487,2]]},"344":{"position":[[160,2]]},"649":{"position":[[28,2]]}}}],["因此",{"_index":236,"t":{"17":{"position":[[21,2]]},"19":{"position":[[94,2]]},"23":{"position":[[187,2],[392,2]]},"115":{"position":[[162,2]]},"150":{"position":[[191,2]]},"210":{"position":[[103,2]]},"216":{"position":[[28,2]]},"299":{"position":[[514,2]]},"418":{"position":[[82,2]]},"422":{"position":[[545,2]]},"612":{"position":[[68,2]]},"647":{"position":[[93,2],[112,2]]},"657":{"position":[[150,2]]},"663":{"position":[[116,2]]},"666":{"position":[[318,2]]},"705":{"position":[[95,2]]},"728":{"position":[[94,2]]},"733":{"position":[[75,2]]},"735":{"position":[[216,2]]},"743":{"position":[[190,2]]},"745":{"position":[[292,2]]},"751":{"position":[[61,2]]}}}],["团队",{"_index":211,"t":{"13":{"position":[[11,2]]},"126":{"position":[[12,2]]}}}],["围绕",{"_index":8,"t":{"2":{"position":[[29,2]]}}}],["国际化",{"_index":674,"t":{"96":{"position":[[17,3],[32,3],[55,3],[176,3],[189,3],[195,3],[226,3],[249,3]]},"98":{"position":[[294,3]]},"100":{"position":[[0,3],[28,3]]},"113":{"position":[[45,3]]},"276":{"position":[[29,3]]}}}],["图",{"_index":895,"t":{"163":{"position":[[102,1]]}}}],["图标",{"_index":1942,"t":{"490":{"position":[[142,2]]}}}],["图片",{"_index":659,"t":{"92":{"position":[[12,2]]},"396":{"position":[[16,2]]}}}],["地",{"_index":957,"t":{"181":{"position":[[36,1]]},"220":{"position":[[100,1]]}}}],["地址",{"_index":715,"t":{"100":{"position":[[12,2]]},"237":{"position":[[1308,2]]},"248":{"position":[[5,2],[12,2]]},"250":{"position":[[85,2]]},"396":{"position":[[114,2]]},"404":{"position":[[21,2]]},"456":{"position":[[381,2],[546,2],[565,2]]},"542":{"position":[[30,2]]},"591":{"position":[[118,2]]},"610":{"position":[[67,2]]},"618":{"position":[[516,2],[745,2]]},"641":{"position":[[57,2]]},"786":{"position":[[193,2]]}}}],["地方",{"_index":245,"t":{"19":{"position":[[21,2]]}}}],["场景",{"_index":85,"t":{"4":{"position":[[276,2],[317,2]]},"13":{"position":[[7,2]]},"19":{"position":[[47,2]]},"23":{"position":[[159,2]]},"41":{"position":[[29,2]]},"43":{"position":[[5,2],[48,2]]},"51":{"position":[[3,2]]},"115":{"position":[[115,2]]},"150":{"position":[[163,2]]},"161":{"position":[[16,2]]},"163":{"position":[[94,2]]},"226":{"position":[[377,2],[441,2]]},"241":{"position":[[5,2]]},"295":{"position":[[920,2]]},"315":{"position":[[919,2]]},"317":{"position":[[29,2]]},"360":{"position":[[77,2]]},"402":{"position":[[11,2]]},"446":{"position":[[134,2],[230,2]]},"456":{"position":[[365,2],[639,2],[877,2]]},"462":{"position":[[409,2]]},"555":{"position":[[18,2]]},"618":{"position":[[121,2]]},"620":{"position":[[15,2]]},"643":{"position":[[11,2]]},"677":{"position":[[17,2]]},"728":{"position":[[188,2]]}}}],["均",{"_index":703,"t":{"98":{"position":[[305,1]]},"319":{"position":[[257,1]]},"442":{"position":[[432,1]]},"446":{"position":[[281,1]]},"488":{"position":[[9,1]]},"519":{"position":[[1300,1]]},"589":{"position":[[97,1]]},"684":{"position":[[107,1]]},"701":{"position":[[6,1]]},"714":{"position":[[29,1]]}}}],["型",{"_index":1660,"t":{"356":{"position":[[118,1]]},"358":{"position":[[124,1]]},"585":{"position":[[60,1]]}}}],["埋",{"_index":1680,"t":{"380":{"position":[[24,1]]}}}],["域",{"_index":1344,"t":{"248":{"position":[[40,1],[68,1],[96,1]]},"542":{"position":[[263,1]]}}}],["域名",{"_index":1340,"t":{"248":{"position":[[15,2],[64,2]]},"250":{"position":[[63,2],[75,2]]}}}],["基于",{"_index":4,"t":{"2":{"position":[[12,2]]},"4":{"position":[[411,2]]},"7":{"position":[[141,2]]},"235":{"position":[[8,2]]},"237":{"position":[[41,2]]},"272":{"position":[[21,2]]},"476":{"position":[[164,2]]},"519":{"position":[[156,2]]},"751":{"position":[[65,2]]},"756":{"position":[[9,2]]},"768":{"position":[[249,2],[809,2]]},"805":{"position":[[2,2]]}}}],["基本",{"_index":2262,"t":{"703":{"position":[[10,2]]}}}],["基本一致",{"_index":2052,"t":{"573":{"position":[[46,4]]}}}],["基础",{"_index":19,"t":{"2":{"position":[[64,2]]},"4":{"position":[[287,2]]},"7":{"position":[[12,2]]},"11":{"position":[[30,2],[60,2]]},"181":{"position":[[65,2]]},"235":{"position":[[139,2]]},"404":{"position":[[1,2]]},"456":{"position":[[907,2]]},"462":{"position":[[293,2],[368,2]]},"527":{"position":[[55,2]]},"553":{"position":[[159,2]]},"756":{"position":[[42,2]]}}}],["基础知识",{"_index":205,"t":{"11":{"position":[[97,4]]}}}],["增加",{"_index":146,"t":{"9":{"position":[[17,2]]},"384":{"position":[[140,2]]},"442":{"position":[[406,2]]},"559":{"position":[[44,2]]},"593":{"position":[[22,2]]},"622":{"position":[[69,2]]},"655":{"position":[[59,2]]},"756":{"position":[[134,2]]}}}],["声明",{"_index":818,"t":{"120":{"position":[[14,2]]},"122":{"position":[[10,2]]},"406":{"position":[[10,2]]},"492":{"position":[[0,2]]},"521":{"position":[[713,2]]},"527":{"position":[[38,2]]},"531":{"position":[[692,2]]},"579":{"position":[[53,2]]},"589":{"position":[[61,2],[104,2]]},"657":{"position":[[564,2]]},"684":{"position":[[71,2],[114,2]]},"699":{"position":[[32,2]]}}}],["处理",{"_index":678,"t":{"96":{"position":[[50,2]]},"210":{"position":[[138,2],[406,2]]},"214":{"position":[[181,2]]},"216":{"position":[[83,2]]},"220":{"position":[[149,2]]},"239":{"position":[[434,2]]},"278":{"position":[[329,2]]},"295":{"position":[[847,2]]},"299":{"position":[[15,2]]},"394":{"position":[[7,2],[34,2],[49,2]]},"396":{"position":[[12,2],[106,2],[153,2]]},"402":{"position":[[33,2]]},"404":{"position":[[30,2]]},"422":{"position":[[601,2],[644,2]]},"456":{"position":[[136,2]]},"519":{"position":[[1164,2]]},"521":{"position":[[751,2]]},"523":{"position":[[15,2],[335,2]]},"605":{"position":[[14,2]]},"677":{"position":[[97,2]]},"690":{"position":[[423,2],[472,2]]},"741":{"position":[[39,2]]}}}],["处理函数",{"_index":1137,"t":{"220":{"position":[[86,4]]}}}],["备注",{"_index":1501,"t":{"315":{"position":[[98,2]]}}}],["复制",{"_index":525,"t":{"78":{"position":[[57,2]]}}}],["复制到",{"_index":530,"t":{"80":{"position":[[14,3]]},"408":{"position":[[381,3]]},"502":{"position":[[38,3]]}}}],["复杂",{"_index":891,"t":{"163":{"position":[[92,2]]},"241":{"position":[[3,2]]},"272":{"position":[[53,2]]},"299":{"position":[[19,2]]},"319":{"position":[[356,2]]},"663":{"position":[[201,2]]}}}],["复用",{"_index":30,"t":{"2":{"position":[[95,2]]},"7":{"position":[[192,2]]},"57":{"position":[[36,2]]},"163":{"position":[[90,2]]},"193":{"position":[[40,2]]},"657":{"position":[[90,2]]}}}],["外",{"_index":1095,"t":{"212":{"position":[[99,1]]},"404":{"position":[[10,1]]},"616":{"position":[[342,1],[382,1]]}}}],["外层",{"_index":2421,"t":{"790":{"position":[[4,2]]}}}],["外部",{"_index":2007,"t":{"538":{"position":[[155,2]]}}}],["多",{"_index":84,"t":{"4":{"position":[[275,1],[316,1],[409,1]]},"9":{"position":[[21,1],[187,1]]},"41":{"position":[[24,1],[37,1]]},"146":{"position":[[131,1]]},"163":{"position":[[78,1]]},"199":{"position":[[143,1]]},"235":{"position":[[147,1]]},"237":{"position":[[160,1],[1679,1]]},"307":{"position":[[164,1]]},"310":{"position":[[36,1]]},"313":{"position":[[259,1]]},"321":{"position":[[277,1],[624,1],[952,1]]},"384":{"position":[[139,1]]},"415":{"position":[[46,1]]},"422":{"position":[[648,1]]},"448":{"position":[[499,1]]},"450":{"position":[[49,1]]},"452":{"position":[[48,1]]},"460":{"position":[[93,1]]},"468":{"position":[[148,1]]},"663":{"position":[[179,1],[224,1],[895,1]]}}}],["多个",{"_index":352,"t":{"37":{"position":[[97,2]]},"237":{"position":[[467,2],[485,2]]},"241":{"position":[[19,2]]},"460":{"position":[[71,2]]},"531":{"position":[[10,2],[62,2],[610,2]]},"573":{"position":[[20,2]]},"649":{"position":[[631,2]]},"766":{"position":[[192,2]]}}}],["多功能",{"_index":102,"t":{"4":{"position":[[371,3]]}}}],["多样",{"_index":2314,"t":{"735":{"position":[[213,2]]}}}],["多样性",{"_index":2317,"t":{"735":{"position":[[254,3]]}}}],["多次",{"_index":1004,"t":{"189":{"position":[[133,2]]}}}],["多种",{"_index":54,"t":{"4":{"position":[[107,2]]},"446":{"position":[[44,2]]},"675":{"position":[[117,2]]}}}],["多端",{"_index":2224,"t":{"675":{"position":[[66,2]]}}}],["多页",{"_index":623,"t":{"85":{"position":[[1093,2]]}}}],["大",{"_index":284,"t":{"23":{"position":[[171,1]]},"39":{"position":[[7,1]]},"150":{"position":[[175,1]]},"462":{"position":[[205,1]]}}}],["大于",{"_index":1019,"t":{"191":{"position":[[192,2]]}}}],["大会",{"_index":1861,"t":{"462":{"position":[[195,2]]}}}],["大型",{"_index":822,"t":{"126":{"position":[[16,2]]}}}],["大多数",{"_index":282,"t":{"23":{"position":[[156,3]]},"47":{"position":[[0,3]]},"150":{"position":[[160,3]]},"418":{"position":[[86,3]]},"733":{"position":[[256,3],[365,3]]}}}],["大小",{"_index":294,"t":{"23":{"position":[[222,2]]},"41":{"position":[[10,2]]},"150":{"position":[[226,2]]},"161":{"position":[[586,2]]},"462":{"position":[[378,2]]},"478":{"position":[[172,2]]}}}],["大幅度降低",{"_index":896,"t":{"163":{"position":[[111,5]]}}}],["大部分",{"_index":912,"t":{"167":{"position":[[55,3]]},"203":{"position":[[96,3]]},"222":{"position":[[0,3]]},"250":{"position":[[0,3]]},"319":{"position":[[252,3]]},"714":{"position":[[21,3]]}}}],["大量",{"_index":103,"t":{"4":{"position":[[378,2]]},"13":{"position":[[14,2]]},"183":{"position":[[13,2]]},"317":{"position":[[6,2]]},"446":{"position":[[237,2],[273,2]]},"456":{"position":[[919,2]]},"464":{"position":[[82,2]]}}}],["天然",{"_index":1957,"t":{"519":{"position":[[168,2]]},"666":{"position":[[306,2]]}}}],["太",{"_index":283,"t":{"23":{"position":[[170,1]]},"150":{"position":[[174,1]]}}}],["失效",{"_index":1688,"t":{"382":{"position":[[270,2]]},"472":{"position":[[80,2]]}}}],["失败",{"_index":1327,"t":{"239":{"position":[[666,2]]},"521":{"position":[[822,2]]}}}],["如下",{"_index":333,"t":{"34":{"position":[[58,2]]},"57":{"position":[[381,2]]},"113":{"position":[[321,2]]},"159":{"position":[[58,2]]},"226":{"position":[[28,2],[293,2]]},"235":{"position":[[160,2],[1790,2]]},"259":{"position":[[14,2]]},"286":{"position":[[144,2]]},"315":{"position":[[78,2],[1199,2]]},"319":{"position":[[361,2]]},"404":{"position":[[38,2]]},"444":{"position":[[107,2]]},"454":{"position":[[261,2]]},"484":{"position":[[73,2]]},"490":{"position":[[34,2]]},"514":{"position":[[17,2]]},"519":{"position":[[1120,2]]},"521":{"position":[[108,2]]},"535":{"position":[[14,2]]},"540":{"position":[[107,2]]},"553":{"position":[[198,2]]},"561":{"position":[[38,2]]},"597":{"position":[[59,2]]},"610":{"position":[[72,2]]},"612":{"position":[[135,2]]},"645":{"position":[[137,2]]},"651":{"position":[[20,2]]},"655":{"position":[[61,2]]},"663":{"position":[[242,2]]},"677":{"position":[[102,2]]},"701":{"position":[[41,2]]},"705":{"position":[[162,2]]},"724":{"position":[[76,2],[174,2]]},"762":{"position":[[107,2]]},"770":{"position":[[297,2]]},"782":{"position":[[19,2]]},"817":{"position":[[127,2]]}}}],["如何",{"_index":197,"t":{"11":{"position":[[68,2]]},"480":{"position":[[10,2]]}}}],["如果",{"_index":172,"t":{"9":{"position":[[114,2]]},"15":{"position":[[66,2],[166,2]]},"23":{"position":[[209,2]]},"37":{"position":[[54,2]]},"39":{"position":[[0,2]]},"41":{"position":[[17,2]]},"76":{"position":[[0,2]]},"87":{"position":[[707,2]]},"92":{"position":[[0,2]]},"96":{"position":[[217,2]]},"113":{"position":[[10,2],[73,2]]},"124":{"position":[[43,2]]},"133":{"position":[[0,2]]},"150":{"position":[[213,2]]},"155":{"position":[[81,2]]},"161":{"position":[[261,2]]},"163":{"position":[[137,2],[240,2]]},"214":{"position":[[27,2]]},"216":{"position":[[31,2]]},"218":{"position":[[130,2]]},"237":{"position":[[357,2],[447,2],[970,2]]},"241":{"position":[[237,2]]},"250":{"position":[[73,2]]},"255":{"position":[[16,2]]},"297":{"position":[[3,2]]},"299":{"position":[[516,2]]},"303":{"position":[[24,2]]},"307":{"position":[[56,2]]},"315":{"position":[[1177,2],[1792,2]]},"317":{"position":[[16,2],[1573,2],[2869,2]]},"319":{"position":[[350,2]]},"344":{"position":[[196,2]]},"348":{"position":[[116,2]]},"356":{"position":[[107,2]]},"358":{"position":[[113,2]]},"400":{"position":[[68,2]]},"404":{"position":[[12,2]]},"418":{"position":[[219,2]]},"430":{"position":[[45,2]]},"442":{"position":[[129,2],[383,2],[413,2],[570,2]]},"444":{"position":[[507,2]]},"446":{"position":[[259,2],[317,2]]},"448":{"position":[[481,2]]},"454":{"position":[[240,2]]},"460":{"position":[[81,2]]},"462":{"position":[[190,2],[229,2],[403,2]]},"464":{"position":[[179,2]]},"472":{"position":[[20,2]]},"484":{"position":[[169,2]]},"519":{"position":[[1314,2]]},"521":{"position":[[52,2]]},"529":{"position":[[0,2]]},"531":{"position":[[0,2],[60,2],[677,2]]},"544":{"position":[[0,2]]},"553":{"position":[[93,2]]},"593":{"position":[[169,2]]},"605":{"position":[[0,2]]},"616":{"position":[[305,2],[345,2],[385,2]]},"618":{"position":[[554,2]]},"622":{"position":[[34,2]]},"624":{"position":[[145,2]]},"641":{"position":[[60,2],[249,2]]},"657":{"position":[[47,2],[502,2]]},"670":{"position":[[0,2],[168,2]]},"677":{"position":[[71,2]]},"735":{"position":[[109,2]]},"768":{"position":[[1081,2]]},"792":{"position":[[235,2]]}}}],["如若",{"_index":2042,"t":{"559":{"position":[[20,2]]}}}],["媒体",{"_index":2324,"t":{"737":{"position":[[29,2]]}}}],["子",{"_index":829,"t":{"131":{"position":[[14,1]]},"191":{"position":[[218,1]]},"354":{"position":[[34,1]]},"616":{"position":[[294,1],[351,1]]}}}],["字",{"_index":859,"t":{"142":{"position":[[53,1]]},"243":{"position":[[88,1],[156,1]]},"346":{"position":[[17,1]]},"456":{"position":[[950,1]]},"682":{"position":[[60,1],[251,1]]},"701":{"position":[[135,1],[153,1]]},"762":{"position":[[242,1]]},"772":{"position":[[29,1],[253,1]]},"774":{"position":[[195,1]]}}}],["字体",{"_index":486,"t":{"63":{"position":[[21,2],[75,2]]},"92":{"position":[[15,2]]},"396":{"position":[[48,2]]}}}],["字符",{"_index":1690,"t":{"384":{"position":[[148,2]]}}}],["字符串",{"_index":1462,"t":{"299":{"position":[[500,3]]},"406":{"position":[[17,3]]},"422":{"position":[[530,3],[615,3]]},"555":{"position":[[88,3]]},"624":{"position":[[127,3]]}}}],["字节",{"_index":2227,"t":{"675":{"position":[[111,2]]},"724":{"position":[[193,2]]}}}],["存储",{"_index":1278,"t":{"237":{"position":[[482,2]]}}}],["存在",{"_index":292,"t":{"23":{"position":[[212,2]]},"150":{"position":[[216,2]]},"161":{"position":[[277,2]]},"177":{"position":[[89,2]]},"183":{"position":[[194,2]]},"216":{"position":[[38,2]]},"218":{"position":[[23,2]]},"243":{"position":[[85,2],[153,2],[189,2],[226,2]]},"315":{"position":[[1179,2]]},"317":{"position":[[2871,2]]},"446":{"position":[[235,2]]},"462":{"position":[[405,2]]},"616":{"position":[[389,2]]},"618":{"position":[[455,2]]},"701":{"position":[[7,2]]},"741":{"position":[[13,2]]},"743":{"position":[[20,2]]}}}],["存放",{"_index":793,"t":{"115":{"position":[[20,2]]},"276":{"position":[[15,2]]},"408":{"position":[[327,2]]},"500":{"position":[[0,2]]},"502":{"position":[[2,2]]},"504":{"position":[[2,2]]},"512":{"position":[[0,2]]},"641":{"position":[[271,2]]},"701":{"position":[[19,2]]}}}],["它们",{"_index":702,"t":{"98":{"position":[[303,2]]},"165":{"position":[[26,2]]}}}],["安装",{"_index":310,"t":{"25":{"position":[[0,2]]},"45":{"position":[[0,2]]},"65":{"position":[[0,2]]},"82":{"position":[[16,2]]},"98":{"position":[[16,2]]},"152":{"position":[[0,2]]},"175":{"position":[[84,2]]},"224":{"position":[[18,2]]},"261":{"position":[[67,2]]},"270":{"position":[[2,2]]},"274":{"position":[[0,2]]},"321":{"position":[[17,2],[304,2],[652,2]]},"376":{"position":[[35,2]]},"480":{"position":[[12,2]]},"482":{"position":[[9,2],[105,2],[200,2],[269,2]]},"484":{"position":[[0,2],[63,2],[148,2],[233,2]]},"672":{"position":[[17,2]]},"720":{"position":[[361,2]]},"733":{"position":[[130,2]]},"766":{"position":[[190,2]]},"815":{"position":[[5,2]]},"819":{"position":[[4,2],[36,2],[55,2]]},"823":{"position":[[15,2]]}}}],["完全",{"_index":922,"t":{"173":{"position":[[59,2]]},"444":{"position":[[511,2]]}}}],["完善",{"_index":2226,"t":{"675":{"position":[[84,2]]}}}],["完成",{"_index":95,"t":{"4":{"position":[[328,2]]},"43":{"position":[[25,2]]},"74":{"position":[[6,2],[37,2]]},"89":{"position":[[19,2]]},"144":{"position":[[186,2]]},"205":{"position":[[37,2]]},"257":{"position":[[627,2]]},"313":{"position":[[661,2]]},"328":{"position":[[165,2]]},"344":{"position":[[37,2]]},"348":{"position":[[51,2],[231,2]]},"519":{"position":[[238,2]]},"521":{"position":[[15,2]]},"523":{"position":[[22,2],[55,2]]},"591":{"position":[[104,2]]},"601":{"position":[[7,2]]},"701":{"position":[[148,2]]},"710":{"position":[[178,2]]},"722":{"position":[[108,2]]},"760":{"position":[[609,2]]},"770":{"position":[[34,2]]},"819":{"position":[[59,2]]},"825":{"position":[[66,2],[210,2]]}}}],["完整",{"_index":858,"t":{"142":{"position":[[49,2]]},"222":{"position":[[61,2]]},"235":{"position":[[1758,2],[1771,2]]},"408":{"position":[[379,2]]},"603":{"position":[[244,2]]}}}],["完毕",{"_index":2273,"t":{"718":{"position":[[87,2]]}}}],["完美",{"_index":679,"t":{"96":{"position":[[61,2]]}}}],["官",{"_index":512,"t":{"76":{"position":[[6,1]]},"208":{"position":[[41,1]]}}}],["官方",{"_index":63,"t":{"4":{"position":[[148,2],[381,2]]},"15":{"position":[[43,2],[105,2]]},"82":{"position":[[196,2]]},"96":{"position":[[7,2]]},"315":{"position":[[1566,2]]},"663":{"position":[[928,2]]},"758":{"position":[[21,2]]}}}],["定义",{"_index":571,"t":{"85":{"position":[[127,2]]},"226":{"position":[[64,2],[149,2]]},"230":{"position":[[125,2],[589,2]]},"278":{"position":[[17,2],[25,2],[168,2],[228,2],[327,2]]},"286":{"position":[[23,2],[89,2],[135,2]]},"288":{"position":[[78,2]]},"295":{"position":[[46,2],[82,2]]},"307":{"position":[[60,2]]},"346":{"position":[[59,2]]},"356":{"position":[[100,2]]},"358":{"position":[[108,2]]},"372":{"position":[[8,2]]},"422":{"position":[[377,2]]},"456":{"position":[[661,2]]},"519":{"position":[[625,2],[1231,2]]},"521":{"position":[[113,2],[517,2]]},"527":{"position":[[89,2],[568,2]]},"529":{"position":[[32,2]]},"531":{"position":[[660,2]]},"544":{"position":[[96,2]]},"649":{"position":[[55,2],[74,2],[628,2]]},"657":{"position":[[535,2]]},"661":{"position":[[14,2]]}}}],["定义数据",{"_index":1156,"t":{"226":{"position":[[287,4]]},"340":{"position":[[27,4]]}}}],["定制",{"_index":96,"t":{"4":{"position":[[330,2],[455,2]]},"23":{"position":[[216,2]]},"150":{"position":[[220,2]]},"161":{"position":[[281,2]]},"315":{"position":[[1013,2],[1190,2],[1206,2],[1795,2]]},"317":{"position":[[27,2],[2873,2]]},"362":{"position":[[35,2]]},"476":{"position":[[27,2],[205,2]]},"478":{"position":[[53,2],[433,2]]},"728":{"position":[[232,2]]},"756":{"position":[[70,2],[74,2],[96,2]]},"758":{"position":[[237,2],[313,2]]},"760":{"position":[[69,2],[95,2],[339,2]]},"762":{"position":[[200,2]]},"764":{"position":[[3,2]]},"768":{"position":[[690,2],[1093,2]]},"786":{"position":[[7,2]]},"792":{"position":[[312,2]]}}}],["实体",{"_index":978,"t":{"183":{"position":[[132,2]]}}}],["实例",{"_index":931,"t":{"175":{"position":[[62,2]]},"235":{"position":[[150,2]]},"241":{"position":[[35,2],[232,2],[257,2]]},"297":{"position":[[27,2]]},"766":{"position":[[182,2],[241,2]]}}}],["实现",{"_index":67,"t":{"4":{"position":[[159,2]]},"87":{"position":[[761,2]]},"199":{"position":[[52,2]]},"208":{"position":[[11,2]]},"210":{"position":[[69,2]]},"220":{"position":[[119,2]]},"222":{"position":[[101,2]]},"237":{"position":[[465,2]]},"250":{"position":[[296,2]]},"305":{"position":[[15,2]]},"380":{"position":[[33,2],[57,2]]},"448":{"position":[[110,2]]},"519":{"position":[[605,2],[720,2]]},"521":{"position":[[262,2]]},"527":{"position":[[101,2],[579,2]]},"531":{"position":[[114,2]]},"535":{"position":[[530,2]]},"548":{"position":[[15,2]]},"573":{"position":[[71,2]]},"614":{"position":[[40,2]]},"616":{"position":[[119,2]]},"632":{"position":[[203,2]]},"649":{"position":[[95,2]]},"657":{"position":[[556,2]]},"710":{"position":[[28,2]]},"743":{"position":[[161,2]]},"751":{"position":[[27,2],[77,2]]},"782":{"position":[[428,2],[656,2],[942,2]]}}}],["实践",{"_index":46,"t":{"4":{"position":[[75,2]]},"7":{"position":[[85,2]]},"13":{"position":[[19,2]]},"315":{"position":[[634,2],[732,2]]},"663":{"position":[[956,2]]}}}],["实际",{"_index":1262,"t":{"237":{"position":[[155,2]]},"239":{"position":[[1,2]]},"250":{"position":[[78,2]]},"446":{"position":[[66,2]]},"612":{"position":[[268,2]]},"705":{"position":[[295,2]]},"710":{"position":[[313,2]]}}}],["实验",{"_index":941,"t":{"179":{"position":[[29,2]]}}}],["实验性",{"_index":936,"t":{"177":{"position":[[79,3]]},"768":{"position":[[369,3]]}}}],["审核",{"_index":653,"t":{"89":{"position":[[103,2]]}}}],["容器",{"_index":1956,"t":{"519":{"position":[[122,2],[1062,2]]},"535":{"position":[[495,2]]},"733":{"position":[[393,2]]}}}],["容易",{"_index":2177,"t":{"663":{"position":[[204,2]]}}}],["宽",{"_index":2197,"t":{"666":{"position":[[122,1]]},"749":{"position":[[18,1],[31,1],[38,1],[62,1],[77,1],[107,1]]}}}],["宽度",{"_index":2194,"t":{"666":{"position":[[110,2],[147,2]]}}}],["富",{"_index":892,"t":{"163":{"position":[[97,1]]}}}],["对",{"_index":147,"t":{"9":{"position":[[22,1],[161,1]]},"15":{"position":[[47,1]]},"49":{"position":[[2,1]]},"183":{"position":[[153,1]]},"203":{"position":[[54,1]]},"214":{"position":[[63,1]]},"220":{"position":[[14,1]]},"237":{"position":[[21,1]]},"239":{"position":[[10,1],[413,1],[604,1]]},"402":{"position":[[28,1]]},"418":{"position":[[227,1]]},"422":{"position":[[510,1]]},"442":{"position":[[84,1],[104,1],[601,1]]},"456":{"position":[[166,1]]},"476":{"position":[[10,1]]},"506":{"position":[[10,1]]},"519":{"position":[[2,1]]},"618":{"position":[[266,1]]},"682":{"position":[[39,1]]},"728":{"position":[[119,1]]},"768":{"position":[[35,1],[685,1]]},"776":{"position":[[147,1]]}}}],["对于",{"_index":156,"t":{"9":{"position":[[47,2],[69,2]]},"43":{"position":[[0,2]]},"57":{"position":[[0,2]]},"161":{"position":[[0,2],[582,2]]},"163":{"position":[[123,2]]},"167":{"position":[[0,2]]},"210":{"position":[[412,2]]},"295":{"position":[[393,2]]},"317":{"position":[[4,2]]},"394":{"position":[[42,2]]},"402":{"position":[[0,2]]},"422":{"position":[[549,2],[604,2],[700,2]]},"456":{"position":[[354,2],[869,2],[917,2]]},"464":{"position":[[103,2]]},"612":{"position":[[0,2]]},"624":{"position":[[6,2]]},"643":{"position":[[0,2]]},"661":{"position":[[0,2]]},"663":{"position":[[0,2]]},"677":{"position":[[0,2]]},"705":{"position":[[27,2]]},"768":{"position":[[648,2]]},"772":{"position":[[255,2]]},"774":{"position":[[197,2]]},"778":{"position":[[181,2]]}}}],["对应",{"_index":220,"t":{"15":{"position":[[86,2]]},"80":{"position":[[20,2]]},"89":{"position":[[34,2],[85,2]]},"96":{"position":[[102,2]]},"100":{"position":[[33,2],[324,2],[400,2]]},"107":{"position":[[183,2]]},"109":{"position":[[182,2]]},"113":{"position":[[42,2]]},"117":{"position":[[47,2]]},"124":{"position":[[37,2]]},"144":{"position":[[17,2]]},"171":{"position":[[61,2]]},"250":{"position":[[67,2]]},"313":{"position":[[101,2]]},"332":{"position":[[467,2]]},"370":{"position":[[127,2]]},"422":{"position":[[375,2]]},"432":{"position":[[224,2]]},"446":{"position":[[72,2],[98,2]]},"454":{"position":[[618,2],[646,2]]},"488":{"position":[[13,2]]},"531":{"position":[[635,2]]},"575":{"position":[[0,2]]},"591":{"position":[[68,2],[113,2]]},"616":{"position":[[282,2]]},"618":{"position":[[369,2]]},"663":{"position":[[288,2]]},"690":{"position":[[264,2]]},"701":{"position":[[37,2]]},"712":{"position":[[0,2]]},"722":{"position":[[12,2],[130,2]]},"737":{"position":[[45,2]]},"747":{"position":[[147,2]]},"762":{"position":[[832,2]]},"825":{"position":[[14,2],[88,2],[232,2]]},"827":{"position":[[82,2]]}}}],["对比",{"_index":414,"t":{"47":{"position":[[34,2]]},"195":{"position":[[275,2],[445,2]]},"519":{"position":[[1118,2]]}}}],["对象",{"_index":422,"t":{"47":{"position":[[76,2],[80,2]]},"115":{"position":[[557,2]]},"191":{"position":[[130,2]]},"212":{"position":[[130,2]]},"218":{"position":[[104,2]]},"237":{"position":[[1408,2]]},"239":{"position":[[251,2]]},"241":{"position":[[37,2]]},"243":{"position":[[42,2]]},"295":{"position":[[71,2]]},"299":{"position":[[21,2]]},"317":{"position":[[1609,2]]},"348":{"position":[[142,2]]},"521":{"position":[[781,2]]},"605":{"position":[[26,2]]}}}],["对齐",{"_index":2266,"t":{"714":{"position":[[38,2]]}}}],["导入",{"_index":1111,"t":{"214":{"position":[[68,2]]},"328":{"position":[[146,2]]},"356":{"position":[[130,2]]},"358":{"position":[[136,2]]},"418":{"position":[[103,2]]},"710":{"position":[[159,2]]}}}],["导出",{"_index":421,"t":{"47":{"position":[[68,2]]},"203":{"position":[[104,2]]},"295":{"position":[[67,2]]},"321":{"position":[[563,2],[896,2]]},"338":{"position":[[37,2]]},"364":{"position":[[159,2]]},"372":{"position":[[140,2]]},"519":{"position":[[1013,2]]},"523":{"position":[[386,2]]},"527":{"position":[[23,2],[105,2]]},"529":{"position":[[35,2]]},"573":{"position":[[63,2],[78,2],[106,2]]},"579":{"position":[[38,2]]},"589":{"position":[[45,2]]},"612":{"position":[[106,2]]},"614":{"position":[[35,2]]},"616":{"position":[[114,2]]},"657":{"position":[[14,2],[970,2]]},"682":{"position":[[20,2]]},"684":{"position":[[55,2]]},"697":{"position":[[41,2]]},"705":{"position":[[133,2]]},"720":{"position":[[671,2]]},"762":{"position":[[244,2],[875,2]]}}}],["导致",{"_index":372,"t":{"41":{"position":[[44,2]]},"183":{"position":[[27,2]]},"218":{"position":[[44,2]]},"248":{"position":[[37,2]]},"462":{"position":[[197,2]]},"472":{"position":[[73,2]]}}}],["封装",{"_index":464,"t":{"57":{"position":[[17,2]]},"203":{"position":[[67,2]]},"235":{"position":[[19,2]]},"237":{"position":[[62,2]]},"239":{"position":[[20,2]]},"328":{"position":[[193,2]]},"523":{"position":[[64,2]]},"710":{"position":[[206,2]]}}}],["将",{"_index":490,"t":{"63":{"position":[[55,1]]},"78":{"position":[[45,1]]},"100":{"position":[[285,1],[393,1]]},"113":{"position":[[27,1]]},"117":{"position":[[12,1],[341,1]]},"148":{"position":[[27,1],[63,1]]},"155":{"position":[[97,1]]},"193":{"position":[[26,1]]},"203":{"position":[[129,1]]},"214":{"position":[[154,1]]},"220":{"position":[[82,1]]},"237":{"position":[[70,1]]},"315":{"position":[[1164,1],[1166,1]]},"317":{"position":[[1593,1]]},"396":{"position":[[195,1]]},"406":{"position":[[12,1]]},"422":{"position":[[177,1],[508,1]]},"430":{"position":[[67,1]]},"442":{"position":[[102,1]]},"448":{"position":[[512,1]]},"456":{"position":[[503,1]]},"462":{"position":[[131,1],[297,1]]},"468":{"position":[[65,1]]},"472":{"position":[[72,1]]},"519":{"position":[[591,1],[1241,1]]},"531":{"position":[[35,1]]},"553":{"position":[[433,1]]},"612":{"position":[[282,1]]},"616":{"position":[[325,1],[358,1]]},"618":{"position":[[281,1],[338,1],[360,1],[429,1]]},"622":{"position":[[23,1],[53,1]]},"643":{"position":[[167,1]]},"645":{"position":[[422,1]]},"657":{"position":[[31,1],[69,1]]},"663":{"position":[[229,1]]},"666":{"position":[[234,1],[338,1]]},"701":{"position":[[158,1]]},"705":{"position":[[309,1]]},"720":{"position":[[0,1]]},"807":{"position":[[2,1]]},"827":{"position":[[105,1]]}}}],["小于",{"_index":1722,"t":{"400":{"position":[[74,2]]}}}],["小数",{"_index":2209,"t":{"666":{"position":[[298,2]]}}}],["少量",{"_index":244,"t":{"19":{"position":[[19,2]]}}}],["就",{"_index":528,"t":{"78":{"position":[[64,1]]},"80":{"position":[[43,1]]},"94":{"position":[[59,1]]},"115":{"position":[[141,1],[521,1]]},"185":{"position":[[210,1]]},"248":{"position":[[25,1]]},"257":{"position":[[631,1]]},"261":{"position":[[898,1]]},"270":{"position":[[1039,1]]},"307":{"position":[[32,1]]},"396":{"position":[[274,1]]},"538":{"position":[[0,1]]},"618":{"position":[[398,1],[720,1]]},"626":{"position":[[23,1]]},"645":{"position":[[421,1]]}}}],["就是",{"_index":1769,"t":{"422":{"position":[[677,2]]}}}],["尺寸",{"_index":883,"t":{"161":{"position":[[592,2]]},"400":{"position":[[72,2]]},"745":{"position":[[28,2],[151,2]]}}}],["尽可能",{"_index":139,"t":{"7":{"position":[[195,3]]}}}],["尽量",{"_index":1140,"t":{"220":{"position":[[126,2]]}}}],["局部",{"_index":2213,"t":{"670":{"position":[[26,2]]}}}],["屏幕",{"_index":1298,"t":{"237":{"position":[[894,2],[963,2]]},"666":{"position":[[108,2],[120,2],[145,2]]}}}],["展示",{"_index":477,"t":{"59":{"position":[[10,2]]},"87":{"position":[[688,2]]},"239":{"position":[[599,2]]},"468":{"position":[[76,2]]},"521":{"position":[[800,2],[825,2]]}}}],["属于",{"_index":1450,"t":{"297":{"position":[[15,2]]},"531":{"position":[[68,2]]}}}],["属性",{"_index":1100,"t":{"212":{"position":[[329,2]]},"218":{"position":[[62,2],[141,2],[171,2]]},"426":{"position":[[62,2]]},"581":{"position":[[21,2]]},"583":{"position":[[26,2]]},"668":{"position":[[173,2]]},"670":{"position":[[183,2],[197,2]]},"684":{"position":[[14,2]]},"737":{"position":[[34,2],[41,2],[55,2]]}}}],["嵌套",{"_index":1843,"t":{"456":{"position":[[634,2],[663,2]]},"531":{"position":[[23,2]]},"607":{"position":[[20,2]]},"616":{"position":[[291,2],[333,2],[367,2],[417,2]]},"618":{"position":[[19,2],[57,2],[116,2],[267,2],[296,2],[559,2],[572,2]]},"659":{"position":[[85,2]]},"672":{"position":[[51,2]]},"735":{"position":[[64,2],[77,2],[139,2],[190,2]]}}}],["工具",{"_index":181,"t":{"9":{"position":[[180,2]]},"17":{"position":[[8,2]]},"23":{"position":[[85,2]]},"89":{"position":[[43,2],[59,2]]},"150":{"position":[[89,2]]},"167":{"position":[[31,2]]},"173":{"position":[[1,2],[10,2]]},"315":{"position":[[1568,2]]},"408":{"position":[[27,2]]},"448":{"position":[[510,2]]},"476":{"position":[[43,2]]},"488":{"position":[[19,2],[32,2],[45,2],[56,2]]},"603":{"position":[[24,2]]},"722":{"position":[[139,2]]},"728":{"position":[[144,2]]},"768":{"position":[[255,2]]},"825":{"position":[[97,2],[241,2]]},"827":{"position":[[91,2]]}}}],["工程",{"_index":287,"t":{"23":{"position":[[182,2]]},"150":{"position":[[186,2]]},"167":{"position":[[58,2]]},"171":{"position":[[14,2],[18,2],[79,2]]},"173":{"position":[[64,2]]},"444":{"position":[[582,2]]},"525":{"position":[[2,2]]},"593":{"position":[[194,2]]},"618":{"position":[[445,2]]},"701":{"position":[[14,2]]},"758":{"position":[[239,2]]},"760":{"position":[[71,2]]},"762":{"position":[[77,2]]},"764":{"position":[[5,2]]},"766":{"position":[[185,2]]},"768":{"position":[[20,2],[253,2]]}}}],["巨大",{"_index":2337,"t":{"743":{"position":[[187,2]]}}}],["差异",{"_index":908,"t":{"165":{"position":[[119,2],[127,2],[134,2],[142,2]]},"203":{"position":[[99,2]]},"220":{"position":[[121,2]]},"235":{"position":[[41,2]]},"237":{"position":[[65,2]]},"519":{"position":[[1116,2]]},"553":{"position":[[109,2]]},"714":{"position":[[64,2]]},"741":{"position":[[19,2],[35,2]]},"743":{"position":[[24,2],[185,2]]}}}],["差异化",{"_index":2005,"t":{"535":{"position":[[545,3]]},"542":{"position":[[38,3]]},"579":{"position":[[25,3]]},"618":{"position":[[226,3]]},"626":{"position":[[41,3]]}}}],["已有",{"_index":997,"t":{"187":{"position":[[11,2]]},"720":{"position":[[1,2]]},"728":{"position":[[282,2]]}}}],["已知",{"_index":170,"t":{"9":{"position":[[107,2]]}}}],["已经",{"_index":979,"t":{"183":{"position":[[142,2]]},"210":{"position":[[402,2]]},"823":{"position":[[128,2]]}}}],["布局",{"_index":862,"t":{"144":{"position":[[20,2]]},"382":{"position":[[247,2]]},"490":{"position":[[270,2]]},"573":{"position":[[22,2],[37,2]]},"575":{"position":[[7,2]]},"616":{"position":[[50,2],[83,2],[287,2],[299,2],[330,2],[364,2],[394,2],[404,2],[412,2],[423,2]]},"618":{"position":[[8,2],[355,2]]},"703":{"position":[[28,2]]}}}],["希望",{"_index":206,"t":{"11":{"position":[[102,2]]},"155":{"position":[[83,2]]},"317":{"position":[[1575,2]]},"404":{"position":[[15,2]]},"408":{"position":[[69,2],[116,2]]},"430":{"position":[[47,2]]},"442":{"position":[[415,2]]},"454":{"position":[[242,2]]},"460":{"position":[[84,2]]},"464":{"position":[[181,2]]},"523":{"position":[[4,2]]},"527":{"position":[[664,2]]},"544":{"position":[[27,2]]},"605":{"position":[[4,2]]},"624":{"position":[[147,2]]},"792":{"position":[[237,2]]}}}],["带",{"_index":1028,"t":{"193":{"position":[[50,1]]},"430":{"position":[[55,1]]},"456":{"position":[[572,1]]},"768":{"position":[[606,1]]}}}],["带来",{"_index":1489,"t":{"310":{"position":[[16,2],[33,2]]},"612":{"position":[[16,2]]},"699":{"position":[[100,2]]},"705":{"position":[[43,2]]}}}],["带路",{"_index":1654,"t":{"352":{"position":[[58,2]]}}}],["帮",{"_index":1091,"t":{"210":{"position":[[404,1]]}}}],["帮助",{"_index":208,"t":{"11":{"position":[[105,2]]},"43":{"position":[[237,2]]},"126":{"position":[[62,2]]},"181":{"position":[[25,2]]},"390":{"position":[[2,2]]},"603":{"position":[[30,2]]}}}],["常常",{"_index":2302,"t":{"733":{"position":[[53,2]]}}}],["常用",{"_index":1197,"t":{"235":{"position":[[427,2]]},"237":{"position":[[1254,2]]},"315":{"position":[[538,2]]},"366":{"position":[[13,2]]},"410":{"position":[[9,2]]},"418":{"position":[[69,2]]}}}],["常见",{"_index":397,"t":{"43":{"position":[[107,2]]},"317":{"position":[[2857,2]]},"618":{"position":[[326,2]]}}}],["常规",{"_index":1958,"t":{"519":{"position":[[182,2],[1329,2]]},"649":{"position":[[385,2]]}}}],["平",{"_index":1060,"t":{"203":{"position":[[74,1]]},"741":{"position":[[28,1]]}}}],["平台",{"_index":383,"t":{"43":{"position":[[23,2]]},"137":{"position":[[547,2]]},"724":{"position":[[60,2],[83,2],[158,2],[181,2]]},"728":{"position":[[192,2]]}}}],["平滑",{"_index":911,"t":{"167":{"position":[[51,2]]}}}],["并不需要",{"_index":296,"t":{"23":{"position":[[233,4]]},"150":{"position":[[237,4]]},"733":{"position":[[85,4]]}}}],["并且",{"_index":166,"t":{"9":{"position":[[97,2]]},"47":{"position":[[101,2]]},"115":{"position":[[75,2]]},"161":{"position":[[275,2]]},"310":{"position":[[31,2]]},"315":{"position":[[1138,2]]},"408":{"position":[[399,2]]},"454":{"position":[[880,2]]},"456":{"position":[[1091,2]]},"618":{"position":[[408,2]]},"666":{"position":[[326,2]]}}}],["并行",{"_index":1277,"t":{"237":{"position":[[471,2]]},"519":{"position":[[147,2],[1051,2]]},"618":{"position":[[162,2],[403,2]]}}}],["广泛",{"_index":980,"t":{"183":{"position":[[145,2]]}}}],["库",{"_index":83,"t":{"4":{"position":[[273,1]]},"96":{"position":[[121,1],[138,1],[180,1]]},"603":{"position":[[26,1]]},"728":{"position":[[291,1],[310,1]]}}}],["应",{"_index":1967,"t":{"519":{"position":[[1161,1]]}}}],["应用",{"_index":9,"t":{"2":{"position":[[31,2],[52,2]]},"4":{"position":[[109,2],[209,2]]},"15":{"position":[[0,2]]},"17":{"position":[[3,2]]},"43":{"position":[[79,2]]},"76":{"position":[[11,2]]},"85":{"position":[[8,2],[1061,2],[1095,2]]},"94":{"position":[[30,2]]},"96":{"position":[[26,2],[185,2],[219,2]]},"103":{"position":[[22,2]]},"105":{"position":[[23,2]]},"120":{"position":[[17,2]]},"122":{"position":[[13,2]]},"126":{"position":[[72,2]]},"129":{"position":[[16,2],[20,2]]},"131":{"position":[[11,2],[15,2]]},"137":{"position":[[1,2],[168,2],[175,2],[229,2],[236,2],[444,2],[488,2]]},"139":{"position":[[1,2],[168,2],[174,2],[220,2],[394,2],[427,2]]},"142":{"position":[[38,2],[46,2]]},"144":{"position":[[15,2],[48,2]]},"146":{"position":[[57,2]]},"148":{"position":[[21,2],[57,2]]},"165":{"position":[[19,2]]},"222":{"position":[[5,2]]},"239":{"position":[[65,2]]},"241":{"position":[[8,2]]},"303":{"position":[[3,2]]},"305":{"position":[[280,2]]},"319":{"position":[[0,2],[272,2]]},"328":{"position":[[0,2],[130,2]]},"338":{"position":[[13,2]]},"344":{"position":[[63,2]]},"346":{"position":[[2,2]]},"356":{"position":[[102,2],[120,2]]},"358":{"position":[[126,2]]},"362":{"position":[[9,2],[20,2],[37,2]]},"364":{"position":[[17,2],[161,2]]},"366":{"position":[[0,2],[11,2]]},"372":{"position":[[0,2],[10,2]]},"386":{"position":[[189,2]]},"388":{"position":[[185,2]]},"480":{"position":[[7,2]]},"482":{"position":[[4,2]]},"486":{"position":[[13,2]]},"490":{"position":[[10,2],[346,2]]},"492":{"position":[[2,2]]},"494":{"position":[[0,2]]},"506":{"position":[[11,2],[44,2]]},"519":{"position":[[192,2],[1234,2]]},"529":{"position":[[3,2],[15,2],[285,2]]},"607":{"position":[[54,2]]},"610":{"position":[[16,2]]},"618":{"position":[[124,2]]},"645":{"position":[[123,2],[360,2]]},"668":{"position":[[146,2]]},"675":{"position":[[68,2]]},"686":{"position":[[7,2]]},"697":{"position":[[67,2]]},"699":{"position":[[292,2]]},"710":{"position":[[143,2]]},"714":{"position":[[36,2],[61,2]]},"716":{"position":[[19,2]]},"720":{"position":[[16,2],[827,2]]},"724":{"position":[[14,2]]},"726":{"position":[[7,2]]},"760":{"position":[[623,2]]},"768":{"position":[[332,2]]},"788":{"position":[[42,2],[56,2],[76,2]]},"790":{"position":[[1,2]]}}}],["应该",{"_index":1437,"t":{"295":{"position":[[349,2]]},"408":{"position":[[452,2]]},"612":{"position":[[251,2]]},"690":{"position":[[280,2]]},"705":{"position":[[278,2]]}}}],["底层",{"_index":1653,"t":{"352":{"position":[[16,2]]},"632":{"position":[[201,2]]},"708":{"position":[[21,2]]},"756":{"position":[[7,2]]},"768":{"position":[[251,2]]}}}],["延迟",{"_index":2065,"t":{"585":{"position":[[338,2]]}}}],["延迟时间",{"_index":1288,"t":{"237":{"position":[[724,4]]}}}],["建",{"_index":520,"t":{"78":{"position":[[28,1]]}}}],["建议",{"_index":256,"t":{"21":{"position":[[3,2]]},"87":{"position":[[725,2]]},"460":{"position":[[5,2]]},"553":{"position":[[431,2]]},"659":{"position":[[37,2]]},"733":{"position":[[101,2]]},"766":{"position":[[188,2]]}}}],["建设",{"_index":132,"t":{"7":{"position":[[155,2]]},"183":{"position":[[202,2]]}}}],["开发",{"_index":79,"t":{"4":{"position":[[253,2],[266,2],[283,2],[337,2],[476,2]]},"9":{"position":[[66,2]]},"15":{"position":[[133,2]]},"74":{"position":[[4,2]]},"94":{"position":[[5,2]]},"144":{"position":[[197,2]]},"161":{"position":[[14,2]]},"246":{"position":[[2,2],[15,2]]},"386":{"position":[[4,2],[15,2],[223,2],[259,2]]},"446":{"position":[[270,2]]},"476":{"position":[[49,2]]},"480":{"position":[[5,2],[16,2]]},"482":{"position":[[0,2]]},"486":{"position":[[15,2]]},"519":{"position":[[162,2]]},"538":{"position":[[2,2]]},"551":{"position":[[16,2]]},"553":{"position":[[168,2]]},"571":{"position":[[13,2]]},"573":{"position":[[42,2]]},"591":{"position":[[22,2],[94,2],[102,2],[132,2]]},"601":{"position":[[5,2]]},"612":{"position":[[78,2]]},"663":{"position":[[45,2],[183,2]]},"675":{"position":[[64,2]]},"705":{"position":[[105,2]]},"714":{"position":[[88,2]]},"722":{"position":[[3,2],[25,2]]},"724":{"position":[[7,2],[17,2],[54,2]]},"730":{"position":[[10,2]]},"758":{"position":[[32,2]]},"760":{"position":[[607,2]]},"762":{"position":[[66,2]]},"786":{"position":[[218,2]]},"801":{"position":[[6,2]]},"815":{"position":[[39,2]]},"825":{"position":[[3,2],[27,2]]}}}],["开发工具",{"_index":76,"t":{"4":{"position":[[228,4]]}}}],["开发者",{"_index":209,"t":{"11":{"position":[[108,3]]},"17":{"position":[[23,3]]},"43":{"position":[[30,3]]},"163":{"position":[[19,3]]},"181":{"position":[[29,3]]},"183":{"position":[[154,3]]},"252":{"position":[[44,3]]},"362":{"position":[[23,3]]},"394":{"position":[[24,3],[65,3]]},"446":{"position":[[60,3],[86,3]]},"464":{"position":[[95,3]]},"488":{"position":[[16,3],[42,3]]},"523":{"position":[[1,3]]},"675":{"position":[[21,3],[46,3]]},"682":{"position":[[0,3]]},"722":{"position":[[125,3]]},"728":{"position":[[141,3]]},"733":{"position":[[82,3]]},"735":{"position":[[267,3]]},"756":{"position":[[49,3]]},"764":{"position":[[21,3]]},"768":{"position":[[221,3]]},"825":{"position":[[83,3],[227,3]]}}}],["开发阶段",{"_index":1787,"t":{"436":{"position":[[39,4]]},"442":{"position":[[40,4]]},"768":{"position":[[719,4]]}}}],["开启",{"_index":326,"t":{"30":{"position":[[23,2]]},"32":{"position":[[23,2]]},"96":{"position":[[30,2]]},"113":{"position":[[77,2]]},"117":{"position":[[1,2]]},"205":{"position":[[256,2],[266,2],[294,2]]},"235":{"position":[[128,2]]},"315":{"position":[[497,2],[669,2]]},"344":{"position":[[51,2]]},"368":{"position":[[74,2]]},"386":{"position":[[291,2],[380,2]]},"388":{"position":[[211,2]]},"446":{"position":[[302,2],[371,2]]},"450":{"position":[[38,2]]},"452":{"position":[[37,2]]},"466":{"position":[[44,2]]},"472":{"position":[[52,2]]},"645":{"position":[[87,2]]},"655":{"position":[[36,2]]},"657":{"position":[[0,2]]},"768":{"position":[[836,2],[1045,2]]},"776":{"position":[[174,2]]}}}],["开头",{"_index":2031,"t":{"548":{"position":[[59,2]]},"561":{"position":[[35,2]]},"620":{"position":[[48,2]]}}}],["开始",{"_index":307,"t":{"23":{"position":[[369,2]]},"252":{"position":[[84,2]]},"257":{"position":[[634,2]]},"456":{"position":[[1084,2]]},"521":{"position":[[20,2]]},"714":{"position":[[52,2]]}}}],["开箱",{"_index":34,"t":{"4":{"position":[[3,2]]},"7":{"position":[[118,2]]},"13":{"position":[[43,2]]},"252":{"position":[[57,2]]},"310":{"position":[[45,2]]},"591":{"position":[[146,2]]},"675":{"position":[[122,2]]}}}],["异常",{"_index":1267,"t":{"237":{"position":[[249,2]]},"542":{"position":[[267,2]]},"647":{"position":[[53,2]]}}}],["异步",{"_index":423,"t":{"47":{"position":[[88,2]]},"137":{"position":[[495,2]]},"295":{"position":[[910,2],[1131,2]]},"462":{"position":[[132,2],[298,2]]},"521":{"position":[[716,2]]},"531":{"position":[[695,2]]},"544":{"position":[[60,2]]},"587":{"position":[[235,2]]},"745":{"position":[[160,2],[313,2]]}}}],["式",{"_index":519,"t":{"78":{"position":[[20,1]]},"115":{"position":[[561,1]]},"299":{"position":[[11,1],[568,1]]},"319":{"position":[[322,1],[329,1],[483,1]]},"456":{"position":[[358,1],[903,1],[929,1]]},"512":{"position":[[21,1]]},"607":{"position":[[12,1]]},"612":{"position":[[12,1]]},"643":{"position":[[4,1]]},"666":{"position":[[46,1]]},"690":{"position":[[438,1]]},"705":{"position":[[21,1],[39,1]]},"708":{"position":[[75,1]]},"749":{"position":[[102,1]]}}}],["引入",{"_index":122,"t":{"7":{"position":[[55,2]]},"15":{"position":[[84,2]]},"23":{"position":[[37,2],[52,2],[131,2],[140,2],[166,2],[178,2],[201,2],[270,2],[340,2],[387,2],[400,2]]},"150":{"position":[[41,2],[56,2],[135,2],[144,2],[170,2],[182,2],[205,2],[276,2]]},"161":{"position":[[600,2]]},"163":{"position":[[179,2],[210,2]]},"177":{"position":[[123,2]]},"183":{"position":[[107,2]]},"203":{"position":[[139,2]]},"205":{"position":[[8,2]]},"210":{"position":[[372,2]]},"348":{"position":[[438,2]]},"376":{"position":[[51,2]]},"394":{"position":[[68,2]]},"396":{"position":[[281,2]]},"406":{"position":[[20,2]]},"408":{"position":[[321,2]]},"432":{"position":[[77,2]]},"446":{"position":[[96,2],[175,2],[255,2],[285,2],[352,2]]},"510":{"position":[[13,2]]},"514":{"position":[[103,2]]},"519":{"position":[[1176,2]]},"535":{"position":[[379,2]]},"661":{"position":[[42,2]]},"720":{"position":[[881,2]]},"733":{"position":[[33,2]]},"735":{"position":[[378,2]]},"762":{"position":[[826,2]]}}}],["引号",{"_index":1768,"t":{"422":{"position":[[653,2]]}}}],["引用",{"_index":1025,"t":{"193":{"position":[[28,2]]},"214":{"position":[[155,2]]},"408":{"position":[[166,2]]},"422":{"position":[[551,2]]}}}],["强",{"_index":2088,"t":{"591":{"position":[[54,1]]},"733":{"position":[[251,1]]}}}],["强制",{"_index":1699,"t":{"386":{"position":[[413,2]]},"472":{"position":[[59,2]]}}}],["强大",{"_index":61,"t":{"4":{"position":[[140,2]]},"185":{"position":[[216,2]]}}}],["当前",{"_index":447,"t":{"49":{"position":[[238,2],[438,2]]},"53":{"position":[[113,2]]},"55":{"position":[[214,2]]},"59":{"position":[[268,2]]},"100":{"position":[[18,2]]},"103":{"position":[[20,2]]},"107":{"position":[[56,2],[77,2],[135,2],[164,2]]},"109":{"position":[[76,2],[134,2],[163,2]]},"113":{"position":[[12,2],[31,2]]},"237":{"position":[[352,2],[870,2],[1000,2]]},"250":{"position":[[61,2]]},"286":{"position":[[3,2]]},"288":{"position":[[3,2]]},"295":{"position":[[887,2]]},"330":{"position":[[112,2]]},"332":{"position":[[10,2],[128,2],[195,2],[355,2]]},"336":{"position":[[31,2]]},"344":{"position":[[141,2]]},"374":{"position":[[70,2]]},"527":{"position":[[612,2],[637,2]]},"542":{"position":[[23,2]]},"546":{"position":[[2,2]]},"622":{"position":[[36,2]]},"626":{"position":[[37,2]]},"639":{"position":[[22,2],[86,2]]},"641":{"position":[[273,2]]},"649":{"position":[[22,2]]},"766":{"position":[[29,2]]}}}],["形式",{"_index":332,"t":{"34":{"position":[[56,2]]},"159":{"position":[[56,2]]},"205":{"position":[[281,2]]},"214":{"position":[[140,2]]},"216":{"position":[[108,2]]},"514":{"position":[[15,2]]},"523":{"position":[[413,2]]},"599":{"position":[[260,2]]}}}],["形成",{"_index":2178,"t":{"663":{"position":[[206,2]]}}}],["影响",{"_index":1823,"t":{"446":{"position":[[142,2]]},"538":{"position":[[178,2]]},"653":{"position":[[124,2]]},"772":{"position":[[260,2]]},"774":{"position":[[202,2]]}}}],["往往",{"_index":248,"t":{"19":{"position":[[34,2]]}}}],["待",{"_index":1974,"t":{"521":{"position":[[81,1]]}}}],["很多",{"_index":118,"t":{"7":{"position":[[35,2],[104,2]]}}}],["很大",{"_index":2327,"t":{"741":{"position":[[16,2]]}}}],["得知",{"_index":734,"t":{"107":{"position":[[162,2]]},"109":{"position":[[161,2]]}}}],["循环",{"_index":1012,"t":{"191":{"position":[[128,2],[142,2],[187,2],[198,2]]}}}],["微",{"_index":22,"t":{"2":{"position":[[70,1]]},"4":{"position":[[188,1]]},"7":{"position":[[133,1]]},"13":{"position":[[37,1]]},"89":{"position":[[118,1]]},"126":{"position":[[23,1],[78,1]]},"129":{"position":[[10,1]]},"131":{"position":[[10,1]]},"137":{"position":[[235,1],[443,1],[487,1]]},"139":{"position":[[173,1],[393,1],[426,1]]},"142":{"position":[[37,1],[45,1]]},"144":{"position":[[43,1],[148,1]]},"146":{"position":[[56,1]]},"148":{"position":[[20,1],[56,1]]},"488":{"position":[[40,1]]},"675":{"position":[[99,1]]},"677":{"position":[[52,1]]},"679":{"position":[[12,1]]},"690":{"position":[[150,1],[392,1]]},"701":{"position":[[45,1],[335,1]]},"722":{"position":[[29,1],[66,1]]},"724":{"position":[[123,1]]},"728":{"position":[[160,1],[197,1]]},"825":{"position":[[31,1]]},"827":{"position":[[2,1],[19,1]]}}}],["德文",{"_index":714,"t":{"98":{"position":[[369,2]]}}}],["必要",{"_index":1616,"t":{"328":{"position":[[197,2]]},"710":{"position":[[210,2]]}}}],["必选",{"_index":2053,"t":{"573":{"position":[[74,2]]},"758":{"position":[[232,2]]},"760":{"position":[[59,2]]}}}],["必须",{"_index":819,"t":{"122":{"position":[[39,2]]},"144":{"position":[[25,2],[132,2]]},"189":{"position":[[142,2]]},"226":{"position":[[74,2]]},"299":{"position":[[552,2]]},"344":{"position":[[176,2]]},"408":{"position":[[411,2]]},"710":{"position":[[308,2]]},"747":{"position":[[142,2]]},"749":{"position":[[99,2]]},"760":{"position":[[357,2]]}}}],["快",{"_index":956,"t":{"181":{"position":[[35,1]]},"521":{"position":[[32,1]]},"724":{"position":[[237,1]]}}}],["快捷",{"_index":1555,"t":{"315":{"position":[[1152,2]]},"768":{"position":[[1085,2]]}}}],["快速",{"_index":201,"t":{"11":{"position":[[78,2]]},"96":{"position":[[28,2]]},"126":{"position":[[74,2]]},"129":{"position":[[4,2]]},"131":{"position":[[4,2]]},"252":{"position":[[82,2]]},"456":{"position":[[898,2]]},"603":{"position":[[34,2]]},"675":{"position":[[62,2],[127,2]]},"714":{"position":[[50,2]]}}}],["忽略",{"_index":1008,"t":{"189":{"position":[[195,2]]},"218":{"position":[[75,2]]},"319":{"position":[[477,2]]},"456":{"position":[[118,2],[266,2]]},"470":{"position":[[49,2],[151,2]]},"593":{"position":[[309,2]]},"641":{"position":[[290,2]]}}}],["性",{"_index":1077,"t":{"210":{"position":[[37,1]]}}}],["性能",{"_index":154,"t":{"9":{"position":[[42,2]]},"37":{"position":[[10,2]]},"193":{"position":[[66,2]]},"310":{"position":[[25,2]]},"448":{"position":[[520,2]]},"519":{"position":[[176,2]]},"538":{"position":[[182,2]]},"585":{"position":[[349,2]]},"587":{"position":[[246,2]]},"607":{"position":[[44,2]]},"618":{"position":[[141,2]]},"626":{"position":[[64,2]]},"653":{"position":[[116,2],[136,2]]}}}],["情况",{"_index":226,"t":{"15":{"position":[[140,2]]},"47":{"position":[[3,2]]},"63":{"position":[[29,2]]},"94":{"position":[[76,2]]},"107":{"position":[[90,2]]},"109":{"position":[[89,2]]},"113":{"position":[[54,2]]},"237":{"position":[[433,2]]},"250":{"position":[[3,2]]},"299":{"position":[[529,2]]},"315":{"position":[[76,2]]},"317":{"position":[[2885,2]]},"344":{"position":[[234,2]]},"394":{"position":[[21,2]]},"402":{"position":[[14,2]]},"422":{"position":[[697,2]]},"442":{"position":[[28,2]]},"446":{"position":[[68,2]]},"462":{"position":[[177,2]]},"472":{"position":[[55,2]]},"476":{"position":[[197,2]]},"478":{"position":[[187,2]]},"521":{"position":[[2,2],[34,2]]},"531":{"position":[[617,2]]},"557":{"position":[[2,2]]},"559":{"position":[[2,2]]},"624":{"position":[[2,2]]},"641":{"position":[[2,2]]},"653":{"position":[[121,2]]},"657":{"position":[[155,2]]},"733":{"position":[[79,2],[259,2]]},"756":{"position":[[65,2]]}}}],["想",{"_index":1472,"t":{"303":{"position":[[26,1]]},"440":{"position":[[111,1]]},"544":{"position":[[2,1]]},"553":{"position":[[165,1]]},"618":{"position":[[557,1]]},"670":{"position":[[4,1]]},"770":{"position":[[61,1]]}}}],["想要",{"_index":1794,"t":{"440":{"position":[[128,2],[357,2]]},"519":{"position":[[1320,2]]}}}],["意义",{"_index":255,"t":{"19":{"position":[[103,2]]},"23":{"position":[[172,2]]},"150":{"position":[[176,2]]}}}],["意味着",{"_index":2279,"t":{"720":{"position":[[833,3]]}}}],["感兴趣",{"_index":184,"t":{"9":{"position":[[193,3]]}}}],["慢",{"_index":374,"t":{"41":{"position":[[53,1]]}}}],["成",{"_index":1578,"t":{"317":{"position":[[1605,1]]},"454":{"position":[[246,1]]},"456":{"position":[[138,1]]},"460":{"position":[[106,1]]},"462":{"position":[[424,1]]},"573":{"position":[[30,1]]},"618":{"position":[[60,1]]},"622":{"position":[[28,1]]},"624":{"position":[[141,1]]},"641":{"position":[[73,1],[295,1]]}}}],["成功",{"_index":1280,"t":{"237":{"position":[[588,2]]},"239":{"position":[[583,2]]},"482":{"position":[[271,2]]},"484":{"position":[[150,2],[235,2]]},"657":{"position":[[56,2]]},"817":{"position":[[137,2]]}}}],["成本",{"_index":129,"t":{"7":{"position":[[110,2],[167,2]]},"163":{"position":[[116,2]]}}}],["我们",{"_index":73,"t":{"4":{"position":[[216,2]]},"9":{"position":[[99,2]]},"11":{"position":[[11,2],[87,2]]},"15":{"position":[[196,2]]},"51":{"position":[[28,2]]},"57":{"position":[[10,2]]},"74":{"position":[[10,2],[41,2]]},"82":{"position":[[0,2]]},"98":{"position":[[3,2]]},"100":{"position":[[256,2]]},"117":{"position":[[59,2]]},"126":{"position":[[31,2]]},"167":{"position":[[19,2]]},"237":{"position":[[987,2]]},"241":{"position":[[12,2]]},"293":{"position":[[33,2],[450,2]]},"315":{"position":[[1162,2]]},"380":{"position":[[3,2],[27,2]]},"408":{"position":[[65,2],[127,2]]},"446":{"position":[[297,2]]},"464":{"position":[[170,2]]},"519":{"position":[[587,2]]},"601":{"position":[[78,2]]},"603":{"position":[[32,2]]},"618":{"position":[[277,2],[718,2]]},"649":{"position":[[10,2],[45,2]]},"663":{"position":[[13,2]]},"675":{"position":[[18,2]]},"733":{"position":[[99,2]]},"735":{"position":[[173,2],[218,2]]},"745":{"position":[[6,2]]},"760":{"position":[[613,2]]}}}],["或者",{"_index":179,"t":{"9":{"position":[[157,2]]},"74":{"position":[[70,2]]},"111":{"position":[[31,2]]},"214":{"position":[[130,2]]},"239":{"position":[[602,2]]},"374":{"position":[[74,2]]},"422":{"position":[[192,2],[646,2]]},"432":{"position":[[240,2]]},"446":{"position":[[323,2],[369,2]]},"456":{"position":[[924,2]]},"482":{"position":[[76,2]]},"492":{"position":[[12,2]]},"663":{"position":[[282,2]]},"782":{"position":[[4,2]]},"817":{"position":[[48,2]]}}}],["所以",{"_index":224,"t":{"15":{"position":[[136,2]]}}}],["所在",{"_index":662,"t":{"92":{"position":[[50,2]]},"171":{"position":[[35,2]]}}}],["所有",{"_index":64,"t":{"4":{"position":[[150,2]]},"103":{"position":[[27,2]]},"177":{"position":[[154,2]]},"208":{"position":[[14,2]]},"319":{"position":[[479,2]]},"350":{"position":[[17,2]]},"410":{"position":[[18,2]]},"440":{"position":[[95,2]]},"456":{"position":[[280,2]]},"462":{"position":[[216,2]]},"484":{"position":[[258,2]]},"502":{"position":[[31,2]]},"546":{"position":[[7,2]]},"557":{"position":[[6,2]]},"616":{"position":[[336,2]]},"663":{"position":[[94,2]]},"668":{"position":[[149,2]]},"690":{"position":[[0,2]]},"733":{"position":[[89,2],[388,2]]},"780":{"position":[[2,2]]},"792":{"position":[[1,2]]}}}],["扁平",{"_index":2128,"t":{"618":{"position":[[592,2]]}}}],["手",{"_index":2295,"t":{"724":{"position":[[238,1]]}}}],["手动",{"_index":914,"t":{"167":{"position":[[78,2]]},"173":{"position":[[29,2]]},"210":{"position":[[370,2]]},"237":{"position":[[164,2],[293,2],[542,2]]},"655":{"position":[[34,2]]},"733":{"position":[[103,2]]},"743":{"position":[[93,2]]}}}],["才",{"_index":971,"t":{"183":{"position":[[85,1]]},"237":{"position":[[1176,1]]},"305":{"position":[[356,1]]},"519":{"position":[[245,1]]},"657":{"position":[[123,1]]},"770":{"position":[[37,1]]}}}],["才能",{"_index":774,"t":{"113":{"position":[[506,2]]},"124":{"position":[[80,2]]}}}],["打入",{"_index":1857,"t":{"462":{"position":[[150,2],[316,2]]}}}],["打包",{"_index":1779,"t":{"432":{"position":[[55,2]]},"454":{"position":[[244,2]]},"460":{"position":[[86,2]]}}}],["打开",{"_index":628,"t":{"85":{"position":[[1206,2]]},"89":{"position":[[45,2]]},"212":{"position":[[14,2]]},"386":{"position":[[322,2]]},"722":{"position":[[141,2]]},"819":{"position":[[101,2]]},"825":{"position":[[99,2],[243,2]]},"827":{"position":[[93,2]]}}}],["执行",{"_index":504,"t":{"74":{"position":[[13,2]]},"89":{"position":[[0,2]]},"98":{"position":[[10,2]]},"139":{"position":[[234,2],[399,2],[432,2]]},"148":{"position":[[28,2],[64,2]]},"237":{"position":[[329,2],[393,2],[544,2],[1234,2]]},"313":{"position":[[678,2]]},"328":{"position":[[21,2],[178,2]]},"348":{"position":[[198,2]]},"422":{"position":[[209,2]]},"428":{"position":[[31,2]]},"454":{"position":[[237,2],[855,2]]},"456":{"position":[[775,2],[787,2]]},"519":{"position":[[81,2]]},"538":{"position":[[175,2]]},"657":{"position":[[44,2],[205,2]]},"710":{"position":[[191,2]]},"722":{"position":[[10,2],[36,2],[80,2]]},"766":{"position":[[74,2]]},"770":{"position":[[32,2],[39,2],[329,2],[379,2],[422,2],[437,2],[473,2]]},"817":{"position":[[3,2]]},"819":{"position":[[64,2]]},"821":{"position":[[0,2]]},"825":{"position":[[12,2],[38,2]]},"827":{"position":[[10,2]]}}}],["扩展",{"_index":69,"t":{"4":{"position":[[170,2]]},"7":{"position":[[32,2],[185,2]]},"181":{"position":[[13,2],[69,2]]},"261":{"position":[[191,2]]},"270":{"position":[[138,2]]},"326":{"position":[[31,2]]},"372":{"position":[[25,2]]},"659":{"position":[[69,2]]},"675":{"position":[[1,2]]},"728":{"position":[[194,2]]},"756":{"position":[[117,2]]},"764":{"position":[[24,2]]},"774":{"position":[[166,2]]}}}],["找到",{"_index":648,"t":{"89":{"position":[[65,2]]}}}],["承担",{"_index":1670,"t":{"372":{"position":[[20,2]]}}}],["承载",{"_index":1604,"t":{"319":{"position":[[267,2]]}}}],["抖",{"_index":1308,"t":{"237":{"position":[[1065,1],[1085,1]]}}}],["抛出",{"_index":1266,"t":{"237":{"position":[[246,2]]}}}],["报错",{"_index":1282,"t":{"237":{"position":[[628,2]]}}}],["抹",{"_index":1059,"t":{"203":{"position":[[73,1]]},"741":{"position":[[27,1]]}}}],["抽象",{"_index":2125,"t":{"618":{"position":[[352,2],[376,2]]},"768":{"position":[[258,2]]}}}],["担心",{"_index":2192,"t":{"666":{"position":[[73,2]]}}}],["拆",{"_index":357,"t":{"39":{"position":[[23,1],[83,1]]},"675":{"position":[[138,1]]}}}],["拆分",{"_index":349,"t":{"37":{"position":[[82,2]]},"41":{"position":[[14,2]]},"460":{"position":[[55,2]]},"462":{"position":[[382,2]]}}}],["拉",{"_index":2017,"t":{"544":{"position":[[62,1]]},"756":{"position":[[108,1]]}}}],["拒绝接受",{"_index":796,"t":{"115":{"position":[[120,4]]}}}],["拓展",{"_index":1658,"t":{"356":{"position":[[114,2]]},"358":{"position":[[120,2]]}}}],["拖拽",{"_index":241,"t":{"19":{"position":[[12,2]]}}}],["拦截",{"_index":1319,"t":{"239":{"position":[[49,2]]}}}],["拦截器",{"_index":1321,"t":{"239":{"position":[[347,3]]},"243":{"position":[[3,3]]}}}],["括号",{"_index":964,"t":{"183":{"position":[[17,2]]}}}],["拼接",{"_index":1765,"t":{"422":{"position":[[533,2]]}}}],["拼装",{"_index":110,"t":{"4":{"position":[[436,2]]}}}],["持续",{"_index":168,"t":{"9":{"position":[[103,2]]}}}],["挂载",{"_index":853,"t":{"139":{"position":[[396,2]]},"148":{"position":[[23,2]]},"794":{"position":[[134,2]]}}}],["指",{"_index":240,"t":{"19":{"position":[[7,1]]},"100":{"position":[[6,1]]},"113":{"position":[[8,1]]},"645":{"position":[[54,1]]}}}],["指令",{"_index":960,"t":{"181":{"position":[[71,2]]},"183":{"position":[[51,2],[135,2]]},"187":{"position":[[14,2]]},"189":{"position":[[192,2]]},"197":{"position":[[36,2]]}}}],["指南",{"_index":2263,"t":{"703":{"position":[[13,2]]},"705":{"position":[[0,2]]}}}],["指向",{"_index":2418,"t":{"786":{"position":[[188,2]]}}}],["指定",{"_index":474,"t":{"57":{"position":[[321,2]]},"319":{"position":[[538,2]]},"346":{"position":[[139,2]]},"374":{"position":[[64,2]]},"384":{"position":[[3,2],[35,2],[119,2]]},"386":{"position":[[77,2],[111,2],[148,2],[187,2],[221,2],[257,2]]},"388":{"position":[[73,2],[107,2],[144,2],[183,2]]},"404":{"position":[[6,2],[44,2],[160,2],[164,2]]},"406":{"position":[[74,2],[78,2]]},"420":{"position":[[186,2]]},"446":{"position":[[354,2]]},"454":{"position":[[424,2],[701,2]]},"456":{"position":[[521,2],[952,2]]},"553":{"position":[[303,2]]},"612":{"position":[[61,2],[130,2]]},"620":{"position":[[24,2]]},"643":{"position":[[182,2]]},"657":{"position":[[518,2]]},"705":{"position":[[88,2],[157,2]]},"720":{"position":[[707,2]]},"817":{"position":[[61,2]]}}}],["按",{"_index":267,"t":{"23":{"position":[[35,1],[50,1],[128,1],[138,1],[164,1]]},"28":{"position":[[32,1]]},"150":{"position":[[39,1],[54,1],[132,1],[142,1],[168,1]]},"155":{"position":[[41,1]]},"315":{"position":[[667,1]]},"430":{"position":[[102,1]]},"446":{"position":[[65,1],[85,1]]},"454":{"position":[[870,1]]},"462":{"position":[[224,1],[363,1]]},"587":{"position":[[233,1]]},"618":{"position":[[435,1]]},"651":{"position":[[19,1]]},"675":{"position":[[135,1]]},"809":{"position":[[12,1]]},"811":{"position":[[14,1]]}}}],["按照",{"_index":643,"t":{"89":{"position":[[25,2]]},"133":{"position":[[14,2]]},"519":{"position":[[1327,2]]},"690":{"position":[[31,2],[57,2]]},"817":{"position":[[38,2]]}}}],["按钮",{"_index":403,"t":{"43":{"position":[[158,2]]},"89":{"position":[[71,2]]},"690":{"position":[[133,2],[252,2],[374,2]]}}}],["挑选",{"_index":2304,"t":{"733":{"position":[[105,2]]}}}],["捕获",{"_index":1665,"t":{"368":{"position":[[155,2]]}}}],["掉",{"_index":810,"t":{"115":{"position":[[524,1]]},"210":{"position":[[408,1]]}}}],["排除",{"_index":1115,"t":{"214":{"position":[[173,2]]}}}],["接上",{"_index":1064,"t":{"203":{"position":[[159,2]]}}}],["接下来",{"_index":991,"t":{"185":{"position":[[207,3]]}}}],["接入",{"_index":128,"t":{"7":{"position":[[108,2]]},"126":{"position":[[76,2]]},"255":{"position":[[41,2]]},"675":{"position":[[129,2]]}}}],["接受",{"_index":981,"t":{"183":{"position":[[147,2]]},"649":{"position":[[619,2]]},"708":{"position":[[57,2]]},"766":{"position":[[77,2]]}}}],["接口",{"_index":405,"t":{"43":{"position":[[176,2],[195,2],[255,2]]},"241":{"position":[[416,2],[507,2]]},"246":{"position":[[9,2],[44,2]]},"248":{"position":[[10,2],[50,2]]},"250":{"position":[[17,2],[83,2]]},"338":{"position":[[307,2]]},"344":{"position":[[191,2]]},"352":{"position":[[170,2]]},"521":{"position":[[28,2],[56,2]]},"591":{"position":[[59,2],[73,2],[100,2],[116,2]]},"595":{"position":[[193,2]]},"599":{"position":[[277,2]]},"601":{"position":[[3,2]]},"649":{"position":[[18,2]]}}}],["接收",{"_index":1981,"t":{"521":{"position":[[762,2]]}}}],["接着",{"_index":527,"t":{"78":{"position":[[62,2]]}}}],["控制",{"_index":416,"t":{"47":{"position":[[38,2]]},"49":{"position":[[11,2]]},"57":{"position":[[31,2]]},"315":{"position":[[546,2]]},"334":{"position":[[74,2],[88,2]]},"344":{"position":[[69,2]]}}}],["推荐",{"_index":158,"t":{"9":{"position":[[52,2]]},"23":{"position":[[56,2],[189,2]]},"76":{"position":[[14,2]]},"78":{"position":[[0,2]]},"111":{"position":[[0,2]]},"150":{"position":[[60,2],[193,2]]},"161":{"position":[[19,2],[287,2]]},"210":{"position":[[425,2]]},"218":{"position":[[144,2]]},"248":{"position":[[46,2]]},"255":{"position":[[39,2]]},"261":{"position":[[8,2]]},"276":{"position":[[0,2]]},"299":{"position":[[38,2]]},"313":{"position":[[668,2]]},"315":{"position":[[20,2],[1105,2]]},"317":{"position":[[2889,2]]},"319":{"position":[[123,2],[332,2],[359,2]]},"328":{"position":[[186,2]]},"356":{"position":[[73,2]]},"358":{"position":[[77,2]]},"364":{"position":[[133,2]]},"396":{"position":[[193,2]]},"413":{"position":[[19,2]]},"415":{"position":[[8,2]]},"422":{"position":[[717,2]]},"446":{"position":[[299,2]]},"454":{"position":[[225,2]]},"462":{"position":[[397,2]]},"464":{"position":[[174,2]]},"476":{"position":[[74,2]]},"482":{"position":[[42,2]]},"484":{"position":[[45,2],[54,2],[186,2],[275,2]]},"486":{"position":[[0,2],[65,2],[78,2]]},"514":{"position":[[10,2]]},"519":{"position":[[589,2]]},"531":{"position":[[19,2]]},"585":{"position":[[76,2],[329,2]]},"587":{"position":[[225,2]]},"659":{"position":[[7,2]]},"663":{"position":[[15,2]]},"668":{"position":[[0,2]]},"670":{"position":[[22,2]]},"710":{"position":[[199,2]]},"758":{"position":[[23,2]]},"760":{"position":[[0,2]]},"762":{"position":[[208,2]]},"786":{"position":[[209,2]]}}}],["描述",{"_index":1946,"t":{"508":{"position":[[18,2]]}}}],["提交",{"_index":652,"t":{"89":{"position":[[101,2]]},"516":{"position":[[90,2]]}}}],["提供",{"_index":14,"t":{"2":{"position":[[49,2]]},"4":{"position":[[219,2],[242,2],[285,2],[294,2]]},"7":{"position":[[9,2]]},"9":{"position":[[172,2]]},"37":{"position":[[5,2]]},"43":{"position":[[214,2]]},"63":{"position":[[47,2]]},"96":{"position":[[9,2]]},"126":{"position":[[20,2],[33,2]]},"137":{"position":[[695,2]]},"155":{"position":[[60,2]]},"163":{"position":[[23,2]]},"167":{"position":[[21,2]]},"175":{"position":[[26,2]]},"177":{"position":[[7,2]]},"179":{"position":[[26,2]]},"195":{"position":[[28,2]]},"197":{"position":[[0,2],[13,2]]},"203":{"position":[[2,2]]},"222":{"position":[[40,2]]},"252":{"position":[[55,2]]},"272":{"position":[[34,2]]},"319":{"position":[[293,2],[312,2]]},"362":{"position":[[30,2]]},"372":{"position":[[178,2]]},"402":{"position":[[20,2]]},"446":{"position":[[41,2]]},"454":{"position":[[882,2]]},"476":{"position":[[185,2]]},"490":{"position":[[14,2]]},"585":{"position":[[66,2]]},"591":{"position":[[143,2]]},"626":{"position":[[7,2]]},"675":{"position":[[24,2],[80,2],[141,2]]},"708":{"position":[[45,2]]},"710":{"position":[[10,2]]},"728":{"position":[[19,2],[75,2],[104,2]]},"733":{"position":[[7,2]]},"745":{"position":[[302,2]]},"747":{"position":[[178,2]]},"756":{"position":[[32,2]]},"764":{"position":[[9,2]]},"801":{"position":[[0,2]]},"803":{"position":[[0,2]]},"805":{"position":[[0,2]]},"807":{"position":[[0,2]]},"809":{"position":[[0,2]]},"811":{"position":[[0,2]]}}}],["提到",{"_index":792,"t":{"115":{"position":[[7,2]]},"705":{"position":[[7,2]]}}}],["提前",{"_index":1953,"t":{"519":{"position":[[26,2]]},"527":{"position":[[654,2]]},"645":{"position":[[59,2],[125,2],[434,2]]}}}],["提升",{"_index":152,"t":{"9":{"position":[[37,2]]},"310":{"position":[[28,2]]},"448":{"position":[[474,2]]},"476":{"position":[[45,2]]},"519":{"position":[[1086,2]]}}}],["提取",{"_index":497,"t":{"68":{"position":[[0,2]]},"70":{"position":[[0,2]]}}}],["提审",{"_index":657,"t":{"89":{"position":[[138,2]]}}}],["提案",{"_index":1873,"t":{"464":{"position":[[163,2]]}}}],["提示",{"_index":645,"t":{"89":{"position":[[30,2]]},"96":{"position":[[214,2]]},"305":{"position":[[274,2]]},"315":{"position":[[9,2]]},"319":{"position":[[120,2]]},"324":{"position":[[14,2]]},"348":{"position":[[71,2]]},"364":{"position":[[174,2]]},"368":{"position":[[43,2]]},"370":{"position":[[0,2],[104,2]]},"374":{"position":[[80,2]]},"384":{"position":[[0,2]]},"400":{"position":[[65,2]]},"413":{"position":[[9,2]]},"476":{"position":[[0,2]]},"533":{"position":[[0,2]]},"542":{"position":[[209,2]]},"591":{"position":[[0,2]]},"618":{"position":[[448,2]]},"645":{"position":[[0,2]]},"649":{"position":[[597,2]]},"653":{"position":[[0,2]]},"714":{"position":[[81,2]]},"722":{"position":[[120,2]]},"743":{"position":[[216,2]]},"758":{"position":[[42,2]]},"762":{"position":[[0,2]]},"817":{"position":[[40,2]]},"825":{"position":[[78,2],[222,2]]}}}],["提醒",{"_index":2282,"t":{"722":{"position":[[123,2]]},"825":{"position":[[81,2],[225,2]]}}}],["提高",{"_index":1027,"t":{"193":{"position":[[47,2]]}}}],["插件",{"_index":62,"t":{"4":{"position":[[143,2],[157,2],[168,2],[323,2],[335,2],[355,2],[422,2]]},"7":{"position":[[62,2],[172,2]]},"23":{"position":[[245,2]]},"25":{"position":[[2,2],[54,2]]},"43":{"position":[[234,2]]},"45":{"position":[[2,2],[54,2]]},"63":{"position":[[45,2]]},"65":{"position":[[2,2],[66,2]]},"72":{"position":[[9,2]]},"96":{"position":[[20,2],[198,2]]},"98":{"position":[[18,2],[72,2]]},"100":{"position":[[45,2]]},"117":{"position":[[141,2]]},"126":{"position":[[38,2]]},"137":{"position":[[10,2]]},"139":{"position":[[10,2]]},"150":{"position":[[251,2]]},"152":{"position":[[2,2],[56,2]]},"161":{"position":[[620,2]]},"163":{"position":[[207,2]]},"173":{"position":[[54,2]]},"181":{"position":[[1,2]]},"185":{"position":[[34,2]]},"205":{"position":[[10,2]]},"212":{"position":[[40,2]]},"224":{"position":[[41,2],[82,2]]},"274":{"position":[[2,2],[55,2]]},"295":{"position":[[0,2]]},"307":{"position":[[0,2]]},"313":{"position":[[103,2],[479,2]]},"315":{"position":[[1016,2],[1751,2]]},"317":{"position":[[1879,2],[1942,2],[1950,2],[2882,2]]},"319":{"position":[[263,2]]},"321":{"position":[[88,2],[379,2],[721,2]]},"326":{"position":[[27,2]]},"372":{"position":[[176,2]]},"474":{"position":[[51,2]]},"476":{"position":[[444,2]]},"492":{"position":[[14,2]]},"557":{"position":[[53,2]]},"672":{"position":[[45,2]]},"686":{"position":[[71,2]]},"701":{"position":[[116,2]]},"720":{"position":[[351,2],[368,2],[518,2]]},"726":{"position":[[71,2]]},"756":{"position":[[26,2]]},"758":{"position":[[7,2],[197,2]]},"760":{"position":[[13,2],[62,2],[618,2]]},"762":{"position":[[3,2],[70,2],[100,2],[174,2],[227,2],[246,2],[1108,2],[1123,2]]},"764":{"position":[[12,2]]},"768":{"position":[[642,2],[646,2]]},"770":{"position":[[59,2]]},"786":{"position":[[0,2]]}}}],["插入",{"_index":2006,"t":{"538":{"position":[[34,2],[153,2]]},"585":{"position":[[7,2],[25,2]]},"587":{"position":[[17,2]]},"770":{"position":[[57,2]]}}}],["插槽",{"_index":1038,"t":{"195":{"position":[[30,2]]}}}],["搭建",{"_index":242,"t":{"19":{"position":[[14,2]]}}}],["搭配",{"_index":97,"t":{"4":{"position":[[344,2]]},"338":{"position":[[22,2]]},"340":{"position":[[19,2]]},"342":{"position":[[19,2]]}}}],["操作",{"_index":28,"t":{"2":{"position":[[90,2]]},"19":{"position":[[82,2]]},"43":{"position":[[147,2],[186,2]]},"47":{"position":[[43,2]]},"51":{"position":[[23,2]]},"57":{"position":[[2,2]]},"295":{"position":[[1133,2]]},"299":{"position":[[53,2],[549,2]]},"591":{"position":[[169,2]]},"770":{"position":[[43,2],[64,2]]},"817":{"position":[[42,2]]}}}],["操作系统",{"_index":2034,"t":{"551":{"position":[[94,4]]}}}],["支付宝",{"_index":2288,"t":{"724":{"position":[[99,3]]}}}],["支持",{"_index":56,"t":{"4":{"position":[[114,2]]},"15":{"position":[[69,2]]},"23":{"position":[[104,2]]},"59":{"position":[[0,2]]},"96":{"position":[[23,2],[46,2],[63,2],[90,2],[247,2]]},"103":{"position":[[24,2]]},"120":{"position":[[19,2]]},"150":{"position":[[108,2]]},"175":{"position":[[43,2]]},"181":{"position":[[3,2]]},"203":{"position":[[18,2]]},"214":{"position":[[15,2]]},"235":{"position":[[144,2]]},"248":{"position":[[60,2]]},"257":{"position":[[187,2],[224,2]]},"266":{"position":[[199,2],[240,2]]},"270":{"position":[[560,2]]},"293":{"position":[[11,2]]},"299":{"position":[[498,2],[538,2]]},"313":{"position":[[266,2],[445,2]]},"315":{"position":[[74,2],[650,2],[859,2],[1018,2],[1127,2],[1159,2]]},"317":{"position":[[2843,2]]},"326":{"position":[[11,2],[19,2]]},"330":{"position":[[8,2]]},"332":{"position":[[52,2]]},"334":{"position":[[8,2]]},"336":{"position":[[8,2]]},"344":{"position":[[8,2]]},"348":{"position":[[8,2]]},"350":{"position":[[8,2]]},"354":{"position":[[8,2]]},"360":{"position":[[8,2],[50,2]]},"366":{"position":[[9,2]]},"368":{"position":[[51,2]]},"370":{"position":[[8,2]]},"372":{"position":[[6,2]]},"374":{"position":[[88,2]]},"410":{"position":[[7,2]]},"420":{"position":[[8,2]]},"426":{"position":[[8,2]]},"430":{"position":[[8,2]]},"432":{"position":[[8,2]]},"436":{"position":[[8,2]]},"450":{"position":[[8,2]]},"452":{"position":[[8,2]]},"454":{"position":[[8,2]]},"456":{"position":[[8,2],[938,2]]},"458":{"position":[[69,2],[84,2]]},"460":{"position":[[37,2]]},"464":{"position":[[90,2],[183,2]]},"468":{"position":[[105,2],[119,2]]},"470":{"position":[[8,2]]},"519":{"position":[[1056,2]]},"527":{"position":[[19,2],[553,2],[680,2]]},"533":{"position":[[8,2]]},"553":{"position":[[21,2]]},"579":{"position":[[57,2]]},"589":{"position":[[5,2]]},"591":{"position":[[8,2],[160,2]]},"597":{"position":[[2,2]]},"599":{"position":[[3,2]]},"614":{"position":[[140,2]]},"616":{"position":[[8,2]]},"620":{"position":[[8,2]]},"645":{"position":[[8,2]]},"653":{"position":[[8,2]]},"659":{"position":[[71,2],[293,2]]},"663":{"position":[[645,2]]},"666":{"position":[[9,2],[308,2]]},"670":{"position":[[174,2]]},"672":{"position":[[49,2]]},"675":{"position":[[92,2],[133,2]]},"684":{"position":[[5,2]]},"688":{"position":[[10,2]]},"694":{"position":[[2,2]]},"703":{"position":[[26,2]]},"714":{"position":[[7,2]]},"720":{"position":[[21,2]]},"724":{"position":[[52,2],[147,2],[152,2]]},"730":{"position":[[7,2]]},"733":{"position":[[386,2]]},"739":{"position":[[2,2]]},"754":{"position":[[2,2]]},"756":{"position":[[85,2],[115,2]]},"768":{"position":[[683,2]]},"770":{"position":[[290,2]]},"772":{"position":[[185,2]]},"774":{"position":[[163,2]]},"782":{"position":[[0,2],[11,2]]},"784":{"position":[[0,2]]}}}],["收敛",{"_index":1154,"t":{"226":{"position":[[17,2]]},"317":{"position":[[13,2]]}}}],["改为",{"_index":640,"t":{"87":{"position":[[727,2]]},"237":{"position":[[145,2],[178,2]]}}}],["改变",{"_index":1412,"t":{"278":{"position":[[230,2]]},"295":{"position":[[261,2]]}}}],["改造",{"_index":833,"t":{"133":{"position":[[23,2]]},"210":{"position":[[364,2]]},"720":{"position":[[18,2]]}}}],["放到",{"_index":1990,"t":{"531":{"position":[[46,2]]}}}],["放在",{"_index":1718,"t":{"396":{"position":[[200,2]]},"408":{"position":[[39,2],[135,2],[418,2]]}}}],["效果",{"_index":1864,"t":{"462":{"position":[[256,2]]},"519":{"position":[[1323,2]]}}}],["效率",{"_index":1030,"t":{"193":{"position":[[57,2]]},"446":{"position":[[146,2]]}}}],["敬请期待",{"_index":2248,"t":{"694":{"position":[[5,4]]}}}],["数字",{"_index":1463,"t":{"299":{"position":[[504,2]]}}}],["数据",{"_index":52,"t":{"4":{"position":[[98,2]]},"43":{"position":[[263,2]]},"47":{"position":[[22,2],[98,2],[294,2]]},"51":{"position":[[57,2],[72,2]]},"53":{"position":[[119,2]]},"55":{"position":[[129,2]]},"222":{"position":[[58,2],[78,2]]},"226":{"position":[[68,2],[154,2]]},"230":{"position":[[21,2],[53,2],[113,2]]},"232":{"position":[[10,2],[74,2],[348,2]]},"235":{"position":[[57,2]]},"237":{"position":[[218,2]]},"293":{"position":[[625,2]]},"321":{"position":[[287,2],[295,2]]},"338":{"position":[[17,2],[311,2]]},"340":{"position":[[14,2],[44,2]]},"352":{"position":[[174,2]]},"424":{"position":[[83,2]]},"490":{"position":[[74,2]]},"492":{"position":[[37,2]]},"519":{"position":[[5,2],[31,2],[49,2],[112,2],[218,2],[230,2],[596,2],[630,2],[863,2],[1016,2],[1074,2],[1107,2],[1237,2],[1270,2],[1335,2],[1362,2]]},"521":{"position":[[11,2],[26,2],[54,2],[82,2],[95,2],[146,2],[166,2],[777,2],[793,2]]},"527":{"position":[[43,2],[61,2],[94,2],[144,2],[572,2],[675,2]]},"529":{"position":[[7,2],[55,2],[288,2]]},"531":{"position":[[12,2],[41,2],[64,2],[110,2],[612,2],[632,2],[663,2],[715,2],[728,2]]},"569":{"position":[[12,2]]},"573":{"position":[[97,2]]},"577":{"position":[[2,2]]},"591":{"position":[[31,2],[71,2],[90,2]]},"595":{"position":[[197,2]]},"599":{"position":[[279,2]]},"601":{"position":[[90,2]]},"603":{"position":[[21,2],[43,2]]},"605":{"position":[[19,2]]},"614":{"position":[[150,2]]},"618":{"position":[[156,2]]},"645":{"position":[[348,2],[384,2]]},"649":{"position":[[25,2],[60,2],[126,2],[387,2],[505,2],[633,2]]},"657":{"position":[[172,2],[310,2],[524,2],[709,2],[838,2]]},"728":{"position":[[46,2],[64,2],[107,2],[132,2],[190,2]]},"796":{"position":[[7,2]]}}}],["数据服务",{"_index":1945,"t":{"500":{"position":[[19,4]]}}}],["数据流",{"_index":2435,"t":{"805":{"position":[[6,3]]}}}],["数据管理",{"_index":2436,"t":{"805":{"position":[[10,4]]}}}],["数据类型",{"_index":1766,"t":{"422":{"position":[[553,4]]}}}],["数组",{"_index":725,"t":{"107":{"position":[[46,2]]},"122":{"position":[[37,2]]},"191":{"position":[[133,2]]},"237":{"position":[[336,2]]},"531":{"position":[[103,2],[639,2],[642,2]]},"612":{"position":[[53,2]]},"649":{"position":[[624,2]]},"705":{"position":[[80,2]]},"720":{"position":[[703,2]]},"792":{"position":[[387,2]]}}}],["整个",{"_index":524,"t":{"78":{"position":[[46,2]]},"235":{"position":[[77,2],[93,2]]},"362":{"position":[[18,2]]},"519":{"position":[[84,2]]},"618":{"position":[[256,2]]},"661":{"position":[[2,2]]},"756":{"position":[[88,2]]}}}],["整体",{"_index":1189,"t":{"235":{"position":[[26,2]]}}}],["整理",{"_index":203,"t":{"11":{"position":[[89,2]]}}}],["文件",{"_index":309,"t":{"23":{"position":[[407,2]]},"63":{"position":[[23,2],[77,2]]},"70":{"position":[[3,2]]},"80":{"position":[[57,2]]},"117":{"position":[[355,2]]},"177":{"position":[[120,2]]},"212":{"position":[[79,2],[110,2]]},"257":{"position":[[31,2]]},"266":{"position":[[33,2]]},"288":{"position":[[19,2]]},"295":{"position":[[41,2],[56,2],[61,2]]},"315":{"position":[[28,2],[60,2],[715,2]]},"384":{"position":[[32,2]]},"396":{"position":[[50,2],[80,2]]},"400":{"position":[[103,2]]},"408":{"position":[[62,2],[133,2],[416,2],[450,2]]},"415":{"position":[[30,2]]},"430":{"position":[[103,2]]},"432":{"position":[[254,2]]},"442":{"position":[[62,2]]},"444":{"position":[[574,2]]},"454":{"position":[[426,2],[620,2],[648,2]]},"456":{"position":[[133,2],[167,2]]},"470":{"position":[[58,2],[174,2],[186,2]]},"500":{"position":[[8,2]]},"502":{"position":[[34,2]]},"506":{"position":[[5,2]]},"510":{"position":[[16,2]]},"512":{"position":[[30,2]]},"548":{"position":[[41,2]]},"553":{"position":[[18,2],[26,2],[64,2],[130,2],[300,2],[366,2],[445,2]]},"557":{"position":[[46,2]]},"593":{"position":[[33,2],[45,2],[165,2],[173,2],[332,2],[344,2]]},"595":{"position":[[9,2]]},"610":{"position":[[56,2]]},"612":{"position":[[254,2]]},"614":{"position":[[14,2]]},"622":{"position":[[21,2]]},"624":{"position":[[37,2],[55,2],[177,2]]},"641":{"position":[[48,2]]},"659":{"position":[[315,2]]},"661":{"position":[[33,2],[45,2]]},"663":{"position":[[294,2]]},"666":{"position":[[60,2]]},"701":{"position":[[33,2]]},"705":{"position":[[281,2]]},"760":{"position":[[46,2]]},"768":{"position":[[336,2]]},"782":{"position":[[247,2]]},"786":{"position":[[191,2]]}}}],["文件名",{"_index":1070,"t":{"205":{"position":[[286,3]]},"396":{"position":[[92,3]]},"408":{"position":[[72,3],[84,3],[122,3],[401,3]]},"616":{"position":[[55,3]]},"618":{"position":[[595,3]]},"620":{"position":[[52,3]]},"663":{"position":[[246,3],[252,3]]},"768":{"position":[[601,3]]}}}],["文件大小",{"_index":1894,"t":{"478":{"position":[[180,4]]}}}],["文件夹",{"_index":523,"t":{"78":{"position":[[39,3]]},"616":{"position":[[352,3]]},"618":{"position":[[4,3]]}}}],["文件尺寸",{"_index":1862,"t":{"462":{"position":[[200,4]]}}}],["文件目录",{"_index":498,"t":{"68":{"position":[[6,4]]},"762":{"position":[[103,4]]}}}],["文本",{"_index":893,"t":{"163":{"position":[[98,2]]}}}],["文档",{"_index":88,"t":{"4":{"position":[[298,2],[312,2],[444,2],[478,2]]},"43":{"position":[[39,2],[267,2]]},"89":{"position":[[114,2]]},"146":{"position":[[136,2]]},"163":{"position":[[1,2],[171,2],[263,2]]},"246":{"position":[[49,2]]},"313":{"position":[[416,2]]},"319":{"position":[[282,2]]},"340":{"position":[[48,2]]},"350":{"position":[[47,2]]},"360":{"position":[[91,2]]},"415":{"position":[[66,2]]},"450":{"position":[[66,2]]},"452":{"position":[[65,2]]},"581":{"position":[[6,2]]},"583":{"position":[[11,2]]},"603":{"position":[[261,2]]},"663":{"position":[[909,2],[930,2]]},"675":{"position":[[172,2]]},"701":{"position":[[331,2]]},"714":{"position":[[103,2]]},"720":{"position":[[963,2]]},"728":{"position":[[170,2]]}}}],["新",{"_index":157,"t":{"9":{"position":[[49,1]]},"115":{"position":[[570,1]]},"181":{"position":[[53,1]]},"183":{"position":[[129,1]]},"237":{"position":[[437,1]]},"299":{"position":[[576,1]]},"315":{"position":[[16,1],[1121,1]]},"422":{"position":[[540,1]]},"618":{"position":[[420,1]]}}}],["新增",{"_index":1110,"t":{"214":{"position":[[61,2]]},"315":{"position":[[42,2]]},"444":{"position":[[553,2]]}}}],["新建",{"_index":564,"t":{"85":{"position":[[12,2],[133,2],[634,2]]},"87":{"position":[[11,2]]},"257":{"position":[[12,2]]},"259":{"position":[[87,2]]},"261":{"position":[[165,2]]},"266":{"position":[[12,2]]},"270":{"position":[[110,2]]},"286":{"position":[[10,2]]},"288":{"position":[[10,2]]},"593":{"position":[[9,2]]},"760":{"position":[[9,2],[42,2]]}}}],["新版",{"_index":1570,"t":{"315":{"position":[[1739,2],[1749,2],[1759,2]]},"317":{"position":[[0,2]]},"319":{"position":[[303,2]]}}}],["方便",{"_index":1704,"t":{"394":{"position":[[63,2]]},"663":{"position":[[84,2]]},"764":{"position":[[19,2]]}}}],["方便使用",{"_index":2046,"t":{"561":{"position":[[16,4]]}}}],["方式",{"_index":94,"t":{"4":{"position":[[326,2]]},"15":{"position":[[191,2]]},"23":{"position":[[385,2]]},"76":{"position":[[21,2]]},"161":{"position":[[25,2]]},"163":{"position":[[37,2]]},"222":{"position":[[73,2]]},"228":{"position":[[16,2]]},"235":{"position":[[158,2],[431,2]]},"237":{"position":[[1258,2],[1682,2]]},"246":{"position":[[39,2]]},"295":{"position":[[336,2]]},"299":{"position":[[50,2]]},"313":{"position":[[483,2]]},"315":{"position":[[1204,2],[1831,2]]},"317":{"position":[[2893,2]]},"319":{"position":[[363,2]]},"328":{"position":[[181,2],[191,2]]},"350":{"position":[[31,2]]},"356":{"position":[[95,2],[128,2]]},"358":{"position":[[100,2],[134,2]]},"362":{"position":[[14,2]]},"364":{"position":[[157,2]]},"384":{"position":[[13,2]]},"394":{"position":[[36,2],[61,2]]},"396":{"position":[[117,2]]},"402":{"position":[[26,2]]},"404":{"position":[[24,2],[40,2]]},"422":{"position":[[536,2],[726,2]]},"432":{"position":[[75,2]]},"442":{"position":[[172,2],[593,2]]},"446":{"position":[[57,2]]},"456":{"position":[[374,2]]},"476":{"position":[[70,2]]},"519":{"position":[[227,2],[1331,2]]},"531":{"position":[[106,2]]},"540":{"position":[[102,2]]},"551":{"position":[[105,2]]},"589":{"position":[[102,2]]},"618":{"position":[[301,2]]},"626":{"position":[[11,2]]},"643":{"position":[[32,2]]},"653":{"position":[[85,2]]},"657":{"position":[[528,2]]},"668":{"position":[[141,2]]},"670":{"position":[[31,2]]},"675":{"position":[[159,2]]},"684":{"position":[[112,2]]},"690":{"position":[[61,2]]},"710":{"position":[[194,2],[204,2]]},"716":{"position":[[4,2]]},"762":{"position":[[223,2]]},"792":{"position":[[324,2]]}}}],["方案",{"_index":31,"t":{"2":{"position":[[98,2]]},"4":{"position":[[51,2],[90,2],[185,2],[204,2]]},"19":{"position":[[3,2],[32,2],[109,2]]},"161":{"position":[[4,2],[265,2]]},"222":{"position":[[63,2]]},"310":{"position":[[64,2]]},"313":{"position":[[474,2]]},"315":{"position":[[604,2]]},"321":{"position":[[12,2],[299,2],[639,2],[647,2]]},"510":{"position":[[23,2]]},"591":{"position":[[157,2]]},"659":{"position":[[29,2],[58,2]]},"663":{"position":[[33,2]]},"803":{"position":[[6,2]]},"805":{"position":[[14,2]]}}}],["方法",{"_index":738,"t":{"109":{"position":[[16,2]]},"111":{"position":[[17,2],[48,2]]},"137":{"position":[[497,2]]},"199":{"position":[[126,2]]},"218":{"position":[[125,2]]},"220":{"position":[[80,2]]},"230":{"position":[[109,2],[484,2],[710,2]]},"241":{"position":[[399,2],[501,2]]},"257":{"position":[[158,2]]},"266":{"position":[[168,2]]},"295":{"position":[[276,2],[328,2],[347,2],[863,2],[1177,2]]},"324":{"position":[[1,2]]},"326":{"position":[[1,2]]},"340":{"position":[[33,2]]},"344":{"position":[[18,2]]},"422":{"position":[[599,2],[642,2]]},"523":{"position":[[389,2]]},"527":{"position":[[132,2]]},"529":{"position":[[49,2],[281,2]]},"544":{"position":[[92,2]]},"597":{"position":[[52,2],[92,2],[106,2]]},"649":{"position":[[64,2]]},"657":{"position":[[29,2],[598,2]]},"699":{"position":[[296,2]]},"712":{"position":[[17,2]]},"735":{"position":[[316,2],[372,2]]},"747":{"position":[[49,2],[139,2]]},"782":{"position":[[939,2]]}}}],["无法",{"_index":913,"t":{"167":{"position":[[65,2]]},"173":{"position":[[18,2],[57,2]]},"218":{"position":[[91,2]]},"284":{"position":[[21,2]]},"297":{"position":[[31,2]]},"299":{"position":[[496,2]]},"476":{"position":[[192,2]]},"612":{"position":[[18,2]]},"647":{"position":[[56,2]]},"705":{"position":[[45,2]]},"728":{"position":[[313,2]]},"741":{"position":[[37,2]]},"751":{"position":[[87,2]]}}}],["无线",{"_index":2188,"t":{"666":{"position":[[20,2]]}}}],["无论",{"_index":2138,"t":{"645":{"position":[[378,2]]}}}],["无论是",{"_index":212,"t":{"13":{"position":[[22,3]]},"243":{"position":[[0,3]]}}}],["无需",{"_index":121,"t":{"7":{"position":[[52,2]]},"43":{"position":[[33,2]]},"161":{"position":[[614,2]]},"210":{"position":[[359,2],[368,2]]},"394":{"position":[[27,2]]},"462":{"position":[[96,2]]}}}],["日志",{"_index":1526,"t":{"315":{"position":[[548,2]]}}}],["旧",{"_index":217,"t":{"15":{"position":[[71,1]]},"237":{"position":[[443,1]]}}}],["时",{"_index":278,"t":{"23":{"position":[[122,1]]},"43":{"position":[[137,1],[197,1]]},"49":{"position":[[250,1],[450,1]]},"57":{"position":[[263,1],[318,1]]},"59":{"position":[[8,1]]},"63":{"position":[[36,1],[54,1]]},"72":{"position":[[4,1]]},"107":{"position":[[153,1]]},"109":{"position":[[152,1]]},"146":{"position":[[15,1],[61,1],[124,1]]},"150":{"position":[[126,1]]},"163":{"position":[[219,1]]},"165":{"position":[[139,1]]},"175":{"position":[[53,1]]},"177":{"position":[[40,1]]},"183":{"position":[[82,1]]},"191":{"position":[[185,1]]},"193":{"position":[[37,1]]},"203":{"position":[[174,1]]},"212":{"position":[[58,1],[335,1]]},"237":{"position":[[590,1],[630,1],[810,1],[907,1],[1174,1],[1210,1]]},"243":{"position":[[83,1],[151,1]]},"248":{"position":[[23,1]]},"250":{"position":[[54,1]]},"295":{"position":[[315,1]]},"303":{"position":[[12,1],[39,1]]},"317":{"position":[[20,1]]},"328":{"position":[[150,1]]},"344":{"position":[[223,1]]},"370":{"position":[[123,1],[185,1]]},"372":{"position":[[24,1]]},"374":{"position":[[18,1],[26,1]]},"382":{"position":[[259,1]]},"408":{"position":[[151,1],[410,1]]},"422":{"position":[[176,1],[506,1],[618,1],[704,1]]},"426":{"position":[[78,1]]},"428":{"position":[[40,1]]},"440":{"position":[[66,1],[91,1],[157,1],[376,1]]},"454":{"position":[[690,1],[868,1]]},"456":{"position":[[781,1]]},"478":{"position":[[51,1]]},"506":{"position":[[19,1]]},"516":{"position":[[66,1]]},"519":{"position":[[215,1],[1030,1],[1359,1]]},"521":{"position":[[127,1],[148,1],[531,1],[718,1],[824,1]]},"523":{"position":[[36,1]]},"531":{"position":[[100,1],[700,1]]},"548":{"position":[[23,1],[75,1]]},"555":{"position":[[23,1],[27,1],[46,1],[80,1]]},"559":{"position":[[15,1],[43,1],[90,1]]},"599":{"position":[[281,1]]},"612":{"position":[[83,1]]},"618":{"position":[[418,1],[518,1]]},"645":{"position":[[17,1],[58,1],[419,1]]},"647":{"position":[[9,1],[47,1],[89,1],[129,1]]},"649":{"position":[[8,1],[38,1],[106,1],[626,1],[687,1]]},"657":{"position":[[121,1],[965,1]]},"663":{"position":[[185,1]]},"684":{"position":[[13,1]]},"705":{"position":[[110,1]]},"710":{"position":[[163,1]]},"714":{"position":[[93,1]]},"720":{"position":[[356,1],[397,1]]},"722":{"position":[[8,1],[34,1],[78,1]]},"728":{"position":[[214,1]]},"730":{"position":[[15,1]]},"737":{"position":[[57,1]]},"743":{"position":[[89,1],[213,1]]},"749":{"position":[[20,1],[64,1],[98,1]]},"756":{"position":[[121,1]]},"758":{"position":[[317,1]]},"760":{"position":[[99,1],[343,1]]},"762":{"position":[[84,1],[204,1],[253,1]]},"766":{"position":[[12,1],[76,1]]},"768":{"position":[[351,1]]},"770":{"position":[[16,1]]},"786":{"position":[[4,1],[14,1],[187,1]]},"825":{"position":[[10,1],[36,1]]}}}],["时会",{"_index":794,"t":{"115":{"position":[[60,2]]},"193":{"position":[[6,2]]},"299":{"position":[[31,2]]},"591":{"position":[[179,2]]}}}],["时候",{"_index":664,"t":{"94":{"position":[[8,2]]},"107":{"position":[[103,2]]},"115":{"position":[[88,2],[545,2]]},"328":{"position":[[200,2]]},"418":{"position":[[89,2]]},"710":{"position":[[213,2]]}}}],["时机",{"_index":1679,"t":{"380":{"position":[[15,2]]},"519":{"position":[[35,2],[252,2],[1113,2]]}}}],["时间",{"_index":1304,"t":{"237":{"position":[[994,2],[1002,2]]}}}],["明确",{"_index":1805,"t":{"442":{"position":[[572,2]]}}}],["映射",{"_index":1752,"t":{"418":{"position":[[240,2]]},"610":{"position":[[60,2]]},"641":{"position":[[50,2]]},"735":{"position":[[17,2],[119,2],[143,2],[231,2],[450,2]]},"743":{"position":[[194,2]]},"768":{"position":[[500,2]]}}}],["是否",{"_index":451,"t":{"51":{"position":[[20,2]]},"57":{"position":[[220,2]]},"72":{"position":[[5,2]]},"205":{"position":[[254,2],[292,2]]},"237":{"position":[[812,2],[909,2]]},"239":{"position":[[237,2]]},"344":{"position":[[143,2]]},"346":{"position":[[137,2],[166,2]]},"368":{"position":[[72,2],[144,2]]},"374":{"position":[[9,2],[27,2],[68,2]]},"424":{"position":[[76,2]]},"450":{"position":[[36,2]]},"452":{"position":[[35,2]]},"482":{"position":[[267,2]]},"484":{"position":[[146,2],[231,2]]},"565":{"position":[[6,2]]},"567":{"position":[[6,2]]},"569":{"position":[[6,2]]},"645":{"position":[[380,2]]},"768":{"position":[[604,2],[779,2],[960,2],[980,2],[1043,2]]}}}],["显",{"_index":813,"t":{"115":{"position":[[560,1]]},"749":{"position":[[101,1]]}}}],["显示",{"_index":473,"t":{"57":{"position":[[319,2]]},"94":{"position":[[69,2]]},"100":{"position":[[308,2],[349,2],[373,2],[395,2]]},"237":{"position":[[712,2],[905,2]]},"386":{"position":[[435,2]]},"388":{"position":[[241,2]]},"579":{"position":[[28,2]]},"581":{"position":[[3,2]]},"583":{"position":[[8,2]]},"735":{"position":[[101,2]]}}}],["显著",{"_index":888,"t":{"163":{"position":[[51,2]]}}}],["普通",{"_index":2008,"t":{"540":{"position":[[29,2]]},"645":{"position":[[116,2]]}}}],["暂",{"_index":1496,"t":{"313":{"position":[[264,1]]},"724":{"position":[[145,1]]},"739":{"position":[[0,1]]},"754":{"position":[[0,1]]}}}],["暂时",{"_index":2300,"t":{"728":{"position":[[311,2]]}}}],["暗色",{"_index":327,"t":{"30":{"position":[[25,2]]}}}],["暴露",{"_index":2019,"t":{"544":{"position":[[89,2]]},"548":{"position":[[70,2]]}}}],["曝光",{"_index":1674,"t":{"374":{"position":[[29,2]]},"380":{"position":[[22,2]]}}}],["更",{"_index":93,"t":{"4":{"position":[[315,1],[370,1],[408,1]]},"7":{"position":[[74,1]]},"9":{"position":[[20,1],[186,1]]},"43":{"position":[[241,1]]},"57":{"position":[[26,1]]},"146":{"position":[[130,1]]},"163":{"position":[[77,1]]},"179":{"position":[[56,1]]},"181":{"position":[[34,1]]},"183":{"position":[[157,1],[167,1]]},"185":{"position":[[215,1]]},"199":{"position":[[142,1]]},"235":{"position":[[1757,1]]},"237":{"position":[[159,1],[191,1],[1678,1]]},"307":{"position":[[163,1]]},"310":{"position":[[35,1]]},"315":{"position":[[1572,1]]},"321":{"position":[[276,1],[623,1],[951,1]]},"415":{"position":[[45,1]]},"450":{"position":[[48,1]]},"452":{"position":[[47,1]]},"468":{"position":[[147,1]]},"653":{"position":[[126,1]]},"663":{"position":[[894,1]]},"675":{"position":[[132,1],[143,1]]}}}],["更优",{"_index":183,"t":{"9":{"position":[[184,2]]}}}],["更加",{"_index":1749,"t":{"418":{"position":[[98,2]]},"422":{"position":[[715,2]]},"663":{"position":[[230,2]]}}}],["更好",{"_index":177,"t":{"9":{"position":[[150,2]]},"96":{"position":[[79,2]]},"272":{"position":[[49,2]]},"315":{"position":[[4,2]]},"319":{"position":[[295,2]]},"486":{"position":[[23,2]]},"519":{"position":[[173,2]]},"585":{"position":[[346,2]]},"587":{"position":[[243,2]]},"607":{"position":[[46,2]]},"618":{"position":[[138,2],[310,2]]},"626":{"position":[[61,2]]},"653":{"position":[[133,2]]}}}],["更新",{"_index":180,"t":{"9":{"position":[[175,2]]},"51":{"position":[[65,2]]},"55":{"position":[[114,2],[302,2]]},"107":{"position":[[75,2],[109,2]]},"109":{"position":[[108,2]]},"115":{"position":[[62,2]]},"295":{"position":[[339,2],[1180,2]]},"454":{"position":[[892,2]]}}}],["更爽",{"_index":955,"t":{"181":{"position":[[32,2]]}}}],["替代",{"_index":1497,"t":{"313":{"position":[[476,2]]},"460":{"position":[[28,2]]}}}],["替换",{"_index":1062,"t":{"203":{"position":[[141,2]]},"422":{"position":[[523,2],[607,2]]}}}],["替换成",{"_index":1759,"t":{"422":{"position":[[186,3]]}}}],["最优",{"_index":338,"t":{"37":{"position":[[7,2]]},"315":{"position":[[1174,2]]}}}],["最佳",{"_index":45,"t":{"4":{"position":[[73,2]]},"7":{"position":[[83,2]]},"13":{"position":[[17,2]]},"315":{"position":[[630,2]]}}}],["最后",{"_index":1389,"t":{"261":{"position":[[258,2],[879,2]]},"270":{"position":[[288,2],[1020,2]]}}}],["最大",{"_index":1951,"t":{"519":{"position":[[21,2]]}}}],["最小",{"_index":1902,"t":{"480":{"position":[[14,2]]}}}],["最快",{"_index":2120,"t":{"618":{"position":[[170,2]]}}}],["最终",{"_index":425,"t":{"47":{"position":[[105,2]]},"212":{"position":[[380,2]]},"230":{"position":[[80,2]]},"232":{"position":[[39,2]]},"422":{"position":[[416,2],[471,2]]},"523":{"position":[[403,2]]},"770":{"position":[[346,2]]}}}],["有助于",{"_index":2015,"t":{"542":{"position":[[251,3]]}}}],["有效",{"_index":1858,"t":{"462":{"position":[[180,2],[335,2]]}}}],["有时候",{"_index":1678,"t":{"380":{"position":[[0,3]]}}}],["有用",{"_index":2096,"t":{"599":{"position":[[283,2]]}}}],["服务",{"_index":517,"t":{"78":{"position":[[13,2]]},"82":{"position":[[135,2]]},"222":{"position":[[27,2]]},"386":{"position":[[358,2]]},"454":{"position":[[894,2]]},"551":{"position":[[18,2]]},"591":{"position":[[191,2]]},"593":{"position":[[43,2],[163,2],[185,2]]},"595":{"position":[[7,2],[129,2]]},"601":{"position":[[30,2],[44,2]]},"768":{"position":[[858,2]]},"770":{"position":[[523,2]]},"784":{"position":[[12,2]]}}}],["服务器",{"_index":509,"t":{"74":{"position":[[67,3]]},"80":{"position":[[17,3],[59,3]]},"386":{"position":[[6,3],[225,3]]},"653":{"position":[[15,3]]},"821":{"position":[[167,3]]}}}],["服务器端",{"_index":1695,"t":{"386":{"position":[[261,4]]},"571":{"position":[[15,4]]}}}],["服务器资源",{"_index":1745,"t":{"408":{"position":[[420,5]]}}}],["服务端",{"_index":57,"t":{"4":{"position":[[116,3]]},"47":{"position":[[15,3],[85,3]]},"107":{"position":[[156,3]]},"109":{"position":[[155,3]]},"222":{"position":[[55,3]]},"235":{"position":[[51,3]]},"239":{"position":[[724,3]]},"243":{"position":[[73,3],[143,3]]},"653":{"position":[[56,3]]},"728":{"position":[[222,3]]},"768":{"position":[[650,3]]}}}],["期望",{"_index":1866,"t":{"462":{"position":[[411,2]]}}}],["未",{"_index":1143,"t":{"220":{"position":[[163,1]]},"243":{"position":[[146,1]]},"328":{"position":[[164,1]]},"446":{"position":[[239,1]]},"710":{"position":[[177,1]]},"724":{"position":[[146,1]]}}}],["本",{"_index":385,"t":{"43":{"position":[[38,1]]},"163":{"position":[[0,1],[170,1]]},"382":{"position":[[261,1]]},"714":{"position":[[41,1],[100,1]]}}}],["本地",{"_index":502,"t":{"72":{"position":[[0,2]]},"94":{"position":[[3,2]]},"246":{"position":[[52,2]]},"386":{"position":[[2,2],[13,2]]},"490":{"position":[[70,2]]},"500":{"position":[[13,2]]},"551":{"position":[[14,2]]},"553":{"position":[[106,2],[166,2]]},"591":{"position":[[175,2]]}}}],["本地化",{"_index":492,"t":{"63":{"position":[[67,3]]},"728":{"position":[[251,3]]},"807":{"position":[[14,3]]}}}],["本文",{"_index":1900,"t":{"480":{"position":[[0,2]]}}}],["本来",{"_index":2310,"t":{"735":{"position":[[13,2]]}}}],["本质",{"_index":969,"t":{"183":{"position":[[68,2]]},"758":{"position":[[9,2]]}}}],["本身",{"_index":2217,"t":{"670":{"position":[[172,2]]}}}],["机制",{"_index":1133,"t":{"220":{"position":[[12,2]]},"663":{"position":[[73,2]]}}}],["权",{"_index":379,"t":{"43":{"position":[[9,1]]},"756":{"position":[[137,1]]}}}],["权限",{"_index":389,"t":{"43":{"position":[[52,2],[83,2],[110,2],[120,2],[132,2],[142,2],[149,2],[166,2],[178,2],[192,2],[202,2],[252,2],[257,2]]},"47":{"position":[[6,2],[20,2],[32,2],[47,2],[96,2],[292,2]]},"49":{"position":[[9,2],[39,2],[253,2],[453,2]]},"51":{"position":[[25,2],[55,2],[70,2]]},"53":{"position":[[117,2]]},"55":{"position":[[116,2],[304,2]]},"57":{"position":[[5,2],[19,2],[33,2],[223,2],[261,2],[316,2]]},"59":{"position":[[6,2],[296,2]]},"321":{"position":[[637,2],[645,2],[899,2],[960,2]]},"372":{"position":[[33,2]]},"728":{"position":[[240,2]]},"803":{"position":[[2,2]]}}}],["条件",{"_index":1020,"t":{"191":{"position":[[194,2],[219,2]]},"317":{"position":[[3109,2]]}}}],["来自",{"_index":2020,"t":{"544":{"position":[[94,2]]}}}],["来说",{"_index":2109,"t":{"612":{"position":[[5,2]]},"705":{"position":[[32,2]]},"751":{"position":[[51,2]]}}}],["极大",{"_index":1255,"t":{"237":{"position":[[16,2]]}}}],["极少数",{"_index":1465,"t":{"299":{"position":[[532,3]]}}}],["极致",{"_index":295,"t":{"23":{"position":[[224,2]]},"150":{"position":[[228,2]]},"161":{"position":[[590,2]]},"442":{"position":[[90,2]]},"675":{"position":[[144,2]]}}}],["构建",{"_index":15,"t":{"2":{"position":[[55,2]]},"4":{"position":[[130,2]]},"7":{"position":[[15,2],[60,2],[71,2]]},"9":{"position":[[178,2]]},"13":{"position":[[25,2]]},"23":{"position":[[120,2]]},"39":{"position":[[2,2]]},"63":{"position":[[50,2]]},"74":{"position":[[32,2],[35,2]]},"80":{"position":[[1,2]]},"82":{"position":[[89,2]]},"89":{"position":[[21,2]]},"150":{"position":[[124,2]]},"165":{"position":[[130,2]]},"216":{"position":[[46,2]]},"250":{"position":[[290,2]]},"310":{"position":[[18,2]]},"386":{"position":[[392,2],[417,2]]},"388":{"position":[[0,2],[223,2]]},"396":{"position":[[151,2]]},"408":{"position":[[25,2],[375,2]]},"410":{"position":[[12,2]]},"415":{"position":[[0,2]]},"430":{"position":[[49,2]]},"434":{"position":[[20,2]]},"454":{"position":[[677,2],[872,2]]},"476":{"position":[[20,2],[179,2],[188,2]]},"478":{"position":[[37,2],[225,2],[271,2]]},"490":{"position":[[51,2],[394,2]]},"494":{"position":[[3,2],[13,2]]},"502":{"position":[[41,2]]},"516":{"position":[[24,2],[34,2]]},"519":{"position":[[1200,2]]},"523":{"position":[[405,2]]},"548":{"position":[[18,2]]},"555":{"position":[[21,2]]},"557":{"position":[[21,2],[51,2]]},"607":{"position":[[41,2]]},"618":{"position":[[17,2]]},"645":{"position":[[15,2],[56,2],[417,2]]},"647":{"position":[[60,2],[87,2]]},"649":{"position":[[673,2]]},"657":{"position":[[951,2]]},"718":{"position":[[99,2]]},"722":{"position":[[64,2]]},"728":{"position":[[212,2]]},"756":{"position":[[80,2],[90,2]]},"758":{"position":[[241,2]]},"760":{"position":[[73,2],[626,2]]},"762":{"position":[[1128,2]]},"766":{"position":[[10,2],[112,2]]},"768":{"position":[[319,2],[407,2],[884,2]]},"770":{"position":[[14,2],[318,2],[342,2],[368,2],[411,2],[434,2],[462,2]]},"821":{"position":[[7,2],[19,2]]},"827":{"position":[[17,2]]}}}],["枚举",{"_index":1855,"t":{"458":{"position":[[91,2]]}}}],["某个",{"_index":400,"t":{"43":{"position":[[128,2]]},"51":{"position":[[8,2]]},"616":{"position":[[349,2]]},"670":{"position":[[7,2]]}}}],["某些",{"_index":369,"t":{"41":{"position":[[27,2]]},"43":{"position":[[156,2]]},"49":{"position":[[3,2]]},"51":{"position":[[1,2]]},"63":{"position":[[27,2]]},"241":{"position":[[1,2]]},"593":{"position":[[171,2]]},"620":{"position":[[13,2]]},"756":{"position":[[110,2]]}}}],["查找",{"_index":539,"t":{"80":{"position":[[118,2]]}}}],["查看",{"_index":92,"t":{"4":{"position":[[310,2],[333,2],[406,2],[442,2],[472,2]]},"15":{"position":[[31,2]]},"109":{"position":[[71,2]]},"259":{"position":[[224,2]]},"261":{"position":[[901,2]]},"268":{"position":[[202,2]]},"270":{"position":[[1042,2]]},"390":{"position":[[0,2]]},"392":{"position":[[0,2]]},"484":{"position":[[256,2]]}}}],["查询",{"_index":2325,"t":{"737":{"position":[[31,2]]}}}],["标准",{"_index":705,"t":{"98":{"position":[[308,2]]},"454":{"position":[[222,2],[233,2]]},"666":{"position":[[31,2]]},"741":{"position":[[5,2],[11,2]]},"768":{"position":[[639,2]]}}}],["标注",{"_index":2297,"t":{"728":{"position":[[42,2]]}}}],["标签",{"_index":1125,"t":{"218":{"position":[[12,2]]},"535":{"position":[[454,2]]},"542":{"position":[[221,2]]},"544":{"position":[[39,2]]},"585":{"position":[[20,2],[35,2]]},"692":{"position":[[10,2]]},"720":{"position":[[815,2],[850,2],[953,2],[973,2]]},"730":{"position":[[26,2]]},"733":{"position":[[238,2],[375,2]]},"735":{"position":[[206,2],[249,2],[444,2]]},"743":{"position":[[5,2]]},"749":{"position":[[35,2]]}}}],["标记",{"_index":1977,"t":{"521":{"position":[[128,2],[532,2]]}}}],["标识",{"_index":1131,"t":{"218":{"position":[[166,2]]},"237":{"position":[[694,2]]},"565":{"position":[[2,2]]},"567":{"position":[[2,2]]},"569":{"position":[[2,2]]},"571":{"position":[[2,2]]}}}],["标识符",{"_index":707,"t":{"98":{"position":[[318,3]]},"422":{"position":[[681,3]]}}}],["标题",{"_index":2001,"t":{"535":{"position":[[417,2]]},"581":{"position":[[0,2]]}}}],["样式",{"_index":280,"t":{"23":{"position":[[134,2],[162,2],[193,2],[220,2],[272,2],[338,2],[389,2]]},"28":{"position":[[36,2]]},"150":{"position":[[138,2],[166,2],[197,2],[224,2],[278,2]]},"155":{"position":[[45,2],[66,2],[78,2],[93,2]]},"161":{"position":[[2,2],[263,2],[584,2],[609,2]]},"205":{"position":[[260,2],[298,2]]},"214":{"position":[[65,2],[178,2]]},"216":{"position":[[44,2],[81,2],[91,2]]},"315":{"position":[[1589,2]]},"400":{"position":[[101,2]]},"478":{"position":[[277,2]]},"490":{"position":[[297,2]]},"510":{"position":[[3,2],[21,2]]},"659":{"position":[[33,2]]},"661":{"position":[[9,2]]},"663":{"position":[[10,2],[43,2],[78,2],[88,2],[97,2],[106,2],[190,2],[221,2],[292,2]]},"666":{"position":[[58,2]]},"668":{"position":[[24,2],[101,2]]},"670":{"position":[[18,2],[129,2]]},"720":{"position":[[817,2],[857,2],[883,2]]},"733":{"position":[[20,2],[59,2],[72,2],[96,2],[114,2],[121,2],[226,2],[240,2],[352,2],[357,2]]},"735":{"position":[[276,2],[294,2],[333,2],[387,2]]},"749":{"position":[[71,2]]},"809":{"position":[[10,2]]},"811":{"position":[[12,2]]}}}],["核心",{"_index":675,"t":{"96":{"position":[[38,2]]},"165":{"position":[[117,2]]},"208":{"position":[[22,2]]}}}],["根",{"_index":760,"t":{"113":{"position":[[20,1]]},"319":{"position":[[540,1]]},"368":{"position":[[8,1]]}}}],["根据",{"_index":112,"t":{"4":{"position":[[451,2]]},"37":{"position":[[71,2]]},"41":{"position":[[6,2]]},"51":{"position":[[14,2]]},"113":{"position":[[29,2]]},"117":{"position":[[13,2]]},"205":{"position":[[284,2]]},"237":{"position":[[858,2]]},"250":{"position":[[59,2]]},"362":{"position":[[28,2]]},"440":{"position":[[278,2]]},"460":{"position":[[47,2]]},"462":{"position":[[372,2]]},"512":{"position":[[28,2]]},"610":{"position":[[3,2]]},"666":{"position":[[106,2]]},"733":{"position":[[25,2],[37,2]]}}}],["根目录",{"_index":1365,"t":{"257":{"position":[[8,3]]},"261":{"position":[[161,3]]},"266":{"position":[[8,3]]},"270":{"position":[[106,3]]},"386":{"position":[[192,3]]},"388":{"position":[[188,3]]},"408":{"position":[[395,3],[425,3]]},"444":{"position":[[549,3]]},"760":{"position":[[5,3]]},"766":{"position":[[94,3]]}}}],["格式",{"_index":427,"t":{"47":{"position":[[109,2]]},"663":{"position":[[255,2]]}}}],["格式化",{"_index":1159,"t":{"226":{"position":[[511,3]]},"237":{"position":[[665,3]]},"239":{"position":[[618,3]]}}}],["框架",{"_index":11,"t":{"2":{"position":[[35,2]]},"4":{"position":[[211,2]]},"7":{"position":[[47,2]]},"15":{"position":[[2,2]]},"17":{"position":[[5,2]]},"19":{"position":[[72,2]]},"129":{"position":[[14,2]]},"137":{"position":[[173,2]]},"144":{"position":[[13,2]]},"165":{"position":[[23,2]]},"203":{"position":[[0,2]]},"226":{"position":[[0,2]]},"237":{"position":[[116,2]]},"252":{"position":[[41,2]]},"317":{"position":[[2,2],[2837,2]]},"319":{"position":[[298,2]]},"324":{"position":[[7,2]]},"356":{"position":[[24,2]]},"364":{"position":[[0,2]]},"394":{"position":[[0,2],[54,2]]},"396":{"position":[[0,2]]},"402":{"position":[[18,2]]},"408":{"position":[[11,2]]},"446":{"position":[[39,2]]},"462":{"position":[[69,2],[393,2]]},"510":{"position":[[8,2]]},"519":{"position":[[0,2],[118,2],[1023,2]]},"565":{"position":[[4,2]]},"567":{"position":[[4,2]]},"569":{"position":[[4,2]]},"585":{"position":[[64,2]]},"610":{"position":[[0,2]]},"618":{"position":[[220,2],[264,2],[431,2]]},"661":{"position":[[37,2]]},"756":{"position":[[37,2],[55,2],[78,2]]},"764":{"position":[[0,2]]},"768":{"position":[[17,2]]},"786":{"position":[[9,2],[183,2]]},"788":{"position":[[14,2]]}}}],["桌面",{"_index":174,"t":{"9":{"position":[[130,2]]}}}],["桥",{"_index":1063,"t":{"203":{"position":[[158,1]]}}}],["检查",{"_index":2382,"t":{"768":{"position":[[913,2],[941,2]]}}}],["检测",{"_index":1877,"t":{"466":{"position":[[39,2]]},"468":{"position":[[47,2]]}}}],["概念",{"_index":959,"t":{"181":{"position":[[55,2],[73,2]]},"183":{"position":[[150,2],[183,2]]},"195":{"position":[[24,2]]},"703":{"position":[[8,2]]}}}],["槽",{"_index":1044,"t":{"195":{"position":[[272,1]]}}}],["模块",{"_index":81,"t":{"4":{"position":[[264,2]]},"37":{"position":[[76,2]]},"214":{"position":[[171,2]]},"216":{"position":[[49,2],[74,2]]},"418":{"position":[[105,2]]},"432":{"position":[[52,2]]},"454":{"position":[[254,2],[889,2]]},"456":{"position":[[141,2]]},"460":{"position":[[49,2]]},"462":{"position":[[374,2]]},"670":{"position":[[12,2]]},"714":{"position":[[101,2]]},"758":{"position":[[18,2]]},"762":{"position":[[824,2]]},"782":{"position":[[44,2],[243,2],[425,2]]},"786":{"position":[[202,2]]}}}],["模块化",{"_index":2182,"t":{"663":{"position":[[274,3]]}}}],["模型",{"_index":1169,"t":{"228":{"position":[[21,2]]},"230":{"position":[[120,2],[482,2],[598,2],[691,2]]},"295":{"position":[[264,2],[279,2],[850,2],[889,2],[915,2],[1163,2]]}}}],["模式",{"_index":55,"t":{"4":{"position":[[111,2]]},"165":{"position":[[103,2]]},"210":{"position":[[357,2]]},"212":{"position":[[97,2],[364,2]]},"214":{"position":[[21,2]]},"216":{"position":[[18,2],[65,2]]},"237":{"position":[[1086,2],[1132,2]]},"315":{"position":[[1135,2]]},"346":{"position":[[94,2]]},"368":{"position":[[86,2]]},"386":{"position":[[115,2]]},"388":{"position":[[111,2]]},"458":{"position":[[36,2],[106,2]]},"468":{"position":[[103,2]]},"519":{"position":[[45,2],[160,2]]},"553":{"position":[[307,2]]},"563":{"position":[[13,2]]},"645":{"position":[[74,2]]},"653":{"position":[[105,2]]}}}],["模拟",{"_index":434,"t":{"47":{"position":[[288,2]]},"246":{"position":[[42,2]]},"293":{"position":[[619,2]]},"490":{"position":[[72,2]]},"500":{"position":[[15,2]]},"591":{"position":[[88,2]]},"603":{"position":[[41,2]]},"728":{"position":[[48,2],[109,2]]}}}],["模拟能力",{"_index":2298,"t":{"728":{"position":[[134,4]]}}}],["模板",{"_index":104,"t":{"4":{"position":[[383,2],[468,2]]},"129":{"position":[[2,2]]},"131":{"position":[[2,2]]},"133":{"position":[[6,2]]},"183":{"position":[[115,2]]},"490":{"position":[[327,2]]},"508":{"position":[[5,2]]},"533":{"position":[[40,2]]},"535":{"position":[[12,2],[542,2]]},"579":{"position":[[22,2]]},"762":{"position":[[5,2]]},"817":{"position":[[66,2]]},"823":{"position":[[8,2]]}}}],["模版",{"_index":1782,"t":{"432":{"position":[[244,2]]},"782":{"position":[[8,2]]}}}],["次",{"_index":1269,"t":{"237":{"position":[[328,1]]}}}],["欢迎",{"_index":1898,"t":{"478":{"position":[[437,2]]}}}],["正则",{"_index":1800,"t":{"442":{"position":[[184,2],[591,2]]}}}],["正常",{"_index":228,"t":{"15":{"position":[[160,2]]},"163":{"position":[[166,2]]},"647":{"position":[[58,2]]},"710":{"position":[[239,2]]}}}],["此基础",{"_index":117,"t":{"7":{"position":[[28,3]]}}}],["此外",{"_index":222,"t":{"15":{"position":[[100,2]]},"212":{"position":[[317,2]]},"553":{"position":[[258,2]]}}}],["此时",{"_index":1123,"t":{"216":{"position":[[99,2]]},"246":{"position":[[24,2]]},"248":{"position":[[44,2]]},"601":{"position":[[12,2]]},"677":{"position":[[69,2]]},"819":{"position":[[96,2]]}}}],["此类",{"_index":247,"t":{"19":{"position":[[30,2]]}}}],["步骤",{"_index":832,"t":{"133":{"position":[[19,2]]},"699":{"position":[[123,2]]}}}],["段",{"_index":860,"t":{"142":{"position":[[54,1]]},"243":{"position":[[89,1],[157,1]]},"346":{"position":[[18,1]]},"456":{"position":[[951,1]]},"682":{"position":[[61,1],[252,1]]},"701":{"position":[[136,1],[154,1]]},"762":{"position":[[243,1]]},"772":{"position":[[30,1],[254,1]]},"774":{"position":[[196,1]]}}}],["每一项",{"_index":2113,"t":{"612":{"position":[[248,3]]},"705":{"position":[[275,3]]}}}],["每个",{"_index":341,"t":{"37":{"position":[[32,2]]},"78":{"position":[[24,2]]},"241":{"position":[[24,2]]},"295":{"position":[[59,2]]},"641":{"position":[[251,2]]},"770":{"position":[[562,2]]}}}],["每次",{"_index":1303,"t":{"237":{"position":[[972,2]]}}}],["比如",{"_index":193,"t":{"11":{"position":[[45,2]]},"17":{"position":[[48,2]]},"98":{"position":[[322,2]]},"113":{"position":[[511,2]]},"117":{"position":[[57,2]]},"157":{"position":[[36,2]]},"276":{"position":[[24,2]]},"310":{"position":[[43,2]]},"348":{"position":[[114,2]]},"372":{"position":[[31,2]]},"374":{"position":[[20,2]]},"396":{"position":[[122,2]]},"408":{"position":[[47,2],[342,2],[431,2]]},"432":{"position":[[80,2]]},"492":{"position":[[24,2]]},"519":{"position":[[1341,2]]},"544":{"position":[[25,2]]},"593":{"position":[[48,2]]},"599":{"position":[[29,2]]},"618":{"position":[[187,2]]},"620":{"position":[[60,2]]},"756":{"position":[[101,2],[125,2]]},"760":{"position":[[21,2]]}}}],["比较",{"_index":1933,"t":{"486":{"position":[[33,2]]},"521":{"position":[[30,2]]}}}],["毫无疑问",{"_index":186,"t":{"11":{"position":[[0,4]]}}}],["毫秒",{"_index":1294,"t":{"237":{"position":[[782,2],[1073,2],[1119,2]]}}}],["污染",{"_index":2166,"t":{"663":{"position":[[59,2],[173,2]]}}}],["没",{"_index":1337,"t":{"246":{"position":[[14,1]]}}}],["没有",{"_index":401,"t":{"43":{"position":[[130,2],[190,2]]},"59":{"position":[[294,2]]},"161":{"position":[[588,2]]},"163":{"position":[[140,2]]},"210":{"position":[[95,2]]},"212":{"position":[[331,2]]},"218":{"position":[[40,2]]},"622":{"position":[[43,2]]},"677":{"position":[[11,2]]},"728":{"position":[[296,2]]}}}],["泛",{"_index":1659,"t":{"356":{"position":[[117,1]]},"358":{"position":[[123,1]]}}}],["注入",{"_index":1771,"t":{"422":{"position":[[728,2]]},"557":{"position":[[18,2]]},"768":{"position":[[346,2]]}}}],["注册",{"_index":901,"t":{"163":{"position":[[223,2]]},"529":{"position":[[53,2]]},"531":{"position":[[56,2]]},"697":{"position":[[76,2]]},"699":{"position":[[36,2],[110,2]]},"770":{"position":[[27,2]]},"782":{"position":[[423,2],[651,2],[918,2]]}}}],["注意",{"_index":729,"t":{"107":{"position":[[85,2]]},"109":{"position":[[84,2]]},"122":{"position":[[23,2]]},"299":{"position":[[484,2]]},"382":{"position":[[219,2]]},"422":{"position":[[500,2]]},"521":{"position":[[695,2]]},"538":{"position":[[134,2]]},"553":{"position":[[357,2]]},"555":{"position":[[36,2],[83,2]]},"612":{"position":[[236,2]]},"682":{"position":[[235,2]]},"690":{"position":[[29,2],[388,2]]},"703":{"position":[[51,2]]},"705":{"position":[[263,2]]},"710":{"position":[[299,2]]}}}],["注意事项",{"_index":2280,"t":{"720":{"position":[[956,4]]}}}],["流",{"_index":2127,"t":{"618":{"position":[[374,1],[397,1]]}}}],["流程",{"_index":1116,"t":{"214":{"position":[[183,2]]}}}],["流行",{"_index":685,"t":{"96":{"position":[[123,2]]},"486":{"position":[[35,2]]}}}],["测试",{"_index":1360,"t":{"252":{"position":[[39,2]]},"259":{"position":[[5,2],[226,2]]},"261":{"position":[[6,2],[487,2],[903,2]]},"268":{"position":[[2,2],[15,2],[204,2]]},"270":{"position":[[585,2],[1044,2]]}}}],["测试环境",{"_index":1964,"t":{"519":{"position":[[1123,4]]}}}],["测试用例",{"_index":1379,"t":{"259":{"position":[[91,4]]},"261":{"position":[[622,4]]},"268":{"position":[[38,4]]},"270":{"position":[[722,4]]}}}],["浏览器",{"_index":218,"t":{"15":{"position":[[73,3]]},"85":{"position":[[1202,3]]},"220":{"position":[[15,3]]},"248":{"position":[[29,3]]},"250":{"position":[[55,3]]},"348":{"position":[[172,3]]},"386":{"position":[[324,3]]},"446":{"position":[[186,3],[265,3],[342,3]]},"559":{"position":[[25,3]]},"595":{"position":[[150,3]]},"647":{"position":[[119,3]]},"649":{"position":[[380,3]]},"653":{"position":[[98,3]]},"657":{"position":[[105,3]]},"666":{"position":[[221,3]]},"733":{"position":[[15,3],[66,3]]},"735":{"position":[[328,3],[382,3]]},"749":{"position":[[22,3]]},"768":{"position":[[654,3]]},"819":{"position":[[103,3]]}}}],["消失",{"_index":1675,"t":{"374":{"position":[[76,2]]}}}],["消费",{"_index":1168,"t":{"228":{"position":[[0,2]]},"338":{"position":[[202,2]]},"521":{"position":[[144,2],[737,2]]},"527":{"position":[[142,2]]},"531":{"position":[[698,2]]},"647":{"position":[[1,2],[115,2]]}}}],["涉及",{"_index":393,"t":{"43":{"position":[[91,2]]},"317":{"position":[[21,2]]},"356":{"position":[[109,2]]},"358":{"position":[[115,2]]}}}],["淘宝",{"_index":1932,"t":{"484":{"position":[[279,2]]},"724":{"position":[[103,2]]}}}],["混乱",{"_index":2173,"t":{"663":{"position":[[166,2],[232,2]]}}}],["混用",{"_index":2238,"t":{"686":{"position":[[73,2]]},"726":{"position":[[73,2]]}}}],["添加",{"_index":314,"t":{"25":{"position":[[52,2]]},"45":{"position":[[52,2]]},"65":{"position":[[64,2]]},"80":{"position":[[26,2]]},"98":{"position":[[70,2]]},"137":{"position":[[8,2]]},"139":{"position":[[8,2]]},"152":{"position":[[54,2]]},"224":{"position":[[80,2]]},"257":{"position":[[272,2]]},"274":{"position":[[53,2]]},"303":{"position":[[52,2]]},"305":{"position":[[301,2]]},"317":{"position":[[1877,2],[1955,2],[2403,2]]},"319":{"position":[[607,2]]},"321":{"position":[[86,2],[377,2],[719,2]]},"422":{"position":[[649,2]]},"432":{"position":[[247,2]]},"444":{"position":[[88,2]]},"474":{"position":[[49,2]]},"476":{"position":[[433,2]]},"506":{"position":[[28,2]]},"540":{"position":[[66,2]]},"542":{"position":[[224,2]]},"641":{"position":[[285,2]]},"720":{"position":[[636,2]]},"733":{"position":[[116,2]]},"756":{"position":[[141,2]]},"760":{"position":[[620,2]]},"762":{"position":[[1125,2]]},"772":{"position":[[24,2]]},"774":{"position":[[6,2]]},"778":{"position":[[0,2]]},"782":{"position":[[42,2],[241,2]]},"784":{"position":[[25,2]]},"790":{"position":[[6,2]]},"792":{"position":[[7,2],[252,2],[256,2]]}}}],["清楚",{"_index":1138,"t":{"220":{"position":[[98,2]]}}}],["清空",{"_index":1821,"t":{"444":{"position":[[586,2]]}}}],["渲染",{"_index":58,"t":{"4":{"position":[[119,2]]},"57":{"position":[[266,2]]},"85":{"position":[[628,2]]},"144":{"position":[[27,2],[41,2],[134,2],[146,2]]},"193":{"position":[[4,2],[35,2],[55,2]]},"319":{"position":[[632,2]]},"344":{"position":[[76,2],[156,2],[174,2],[188,2]]},"346":{"position":[[92,2]]},"348":{"position":[[65,2],[176,2],[235,2]]},"352":{"position":[[56,2]]},"354":{"position":[[26,2],[32,2]]},"362":{"position":[[16,2]]},"370":{"position":[[189,2],[332,2]]},"519":{"position":[[242,2],[1311,2]]},"521":{"position":[[22,2],[48,2],[67,2],[91,2]]},"531":{"position":[[732,2]]},"535":{"position":[[492,2],[548,2]]},"542":{"position":[[41,2]]},"544":{"position":[[20,2]]},"575":{"position":[[17,2]]},"587":{"position":[[36,2]]},"607":{"position":[[33,2]]},"618":{"position":[[246,2],[254,2],[440,2],[550,2]]},"622":{"position":[[55,2]]},"626":{"position":[[55,2]]},"645":{"position":[[18,2],[72,2],[402,2]]},"647":{"position":[[51,2]]},"653":{"position":[[18,2],[83,2],[102,2]]},"657":{"position":[[54,2]]},"666":{"position":[[250,2]]},"728":{"position":[[215,2],[225,2]]},"792":{"position":[[322,2]]},"794":{"position":[[3,2],[23,2]]}}}],["渲染器",{"_index":2358,"t":{"751":{"position":[[34,3]]}}}],["源",{"_index":1929,"t":{"484":{"position":[[184,1],[262,1],[283,1]]}}}],["源码",{"_index":251,"t":{"19":{"position":[[63,2]]},"37":{"position":[[62,2]]},"203":{"position":[[130,2]]},"396":{"position":[[278,2]]},"408":{"position":[[319,2]]},"490":{"position":[[156,2]]},"504":{"position":[[4,2]]},"768":{"position":[[496,2],[678,2],[686,2]]},"786":{"position":[[205,2]]}}}],["滚动",{"_index":1673,"t":{"374":{"position":[[24,2]]}}}],["滞后",{"_index":1959,"t":{"519":{"position":[[257,2]]}}}],["满足",{"_index":976,"t":{"183":{"position":[[121,2]]},"402":{"position":[[7,2]]},"456":{"position":[[362,2]]},"476":{"position":[[194,2]]},"643":{"position":[[8,2]]},"756":{"position":[[60,2]]},"768":{"position":[[1091,2]]}}}],["潜在",{"_index":987,"t":{"183":{"position":[[197,2]]}}}],["瀑布",{"_index":2126,"t":{"618":{"position":[[372,2],[395,2]]}}}],["灵活",{"_index":962,"t":{"183":{"position":[[8,2]]}}}],["点",{"_index":759,"t":{"111":{"position":[[863,1]]},"173":{"position":[[17,1]]},"235":{"position":[[43,1]]},"237":{"position":[[67,1]]},"380":{"position":[[25,1]]},"703":{"position":[[53,1]]},"714":{"position":[[66,1]]},"794":{"position":[[136,1]]}}}],["热",{"_index":1837,"t":{"454":{"position":[[891,1]]}}}],["焦点",{"_index":1299,"t":{"237":{"position":[[900,2]]}}}],["然后",{"_index":413,"t":{"47":{"position":[[25,2]]},"78":{"position":[[43,2]]},"80":{"position":[[41,2]]},"89":{"position":[[81,2]]},"94":{"position":[[44,2]]},"98":{"position":[[50,2]]},"250":{"position":[[46,2]]},"257":{"position":[[546,2]]},"261":{"position":[[156,2]]},"266":{"position":[[530,2]]},"270":{"position":[[101,2]]},"396":{"position":[[272,2]]},"760":{"position":[[35,2]]},"817":{"position":[[36,2]]}}}],["父",{"_index":1656,"t":{"354":{"position":[[28,1]]}}}],["版本",{"_index":145,"t":{"9":{"position":[[14,2]]},"23":{"position":[[349,2]]},"78":{"position":[[26,2]]},"175":{"position":[[120,2]]},"315":{"position":[[17,2],[1122,2]]},"392":{"position":[[11,2]]},"430":{"position":[[62,2]]},"482":{"position":[[29,2],[92,2],[211,2]]},"492":{"position":[[29,2]]},"553":{"position":[[449,2]]},"745":{"position":[[315,2]]},"766":{"position":[[203,2]]},"815":{"position":[[25,2]]}}}],["物料",{"_index":29,"t":{"2":{"position":[[93,2]]},"4":{"position":[[460,2],[474,2]]},"15":{"position":[[114,2],[145,2]]},"19":{"position":[[75,2]]}}}],["物理",{"_index":2203,"t":{"666":{"position":[[165,2],[193,2],[214,2]]}}}],["特别",{"_index":2040,"t":{"555":{"position":[[34,2],[60,2]]},"690":{"position":[[386,2]]}}}],["特定",{"_index":1726,"t":{"402":{"position":[[9,2]]},"649":{"position":[[57,2]]}}}],["特性",{"_index":676,"t":{"96":{"position":[[40,2]]},"179":{"position":[[31,2]]},"183":{"position":[[117,2]]}}}],["特有",{"_index":2141,"t":{"647":{"position":[[122,2]]}}}],["特殊",{"_index":1702,"t":{"394":{"position":[[46,2]]},"462":{"position":[[407,2]]},"616":{"position":[[31,2]]}}}],["状态",{"_index":50,"t":{"4":{"position":[[93,2]]},"7":{"position":[[97,2]]},"13":{"position":[[31,2]]},"146":{"position":[[63,2],[99,2],[126,2]]},"177":{"position":[[49,2]]},"230":{"position":[[3,2]]},"237":{"position":[[24,2],[278,2],[490,2]]},"239":{"position":[[731,2]]},"243":{"position":[[80,2]]},"272":{"position":[[39,2],[56,2]]},"276":{"position":[[13,2],[20,2]]},"278":{"position":[[21,2],[31,2],[240,2]]},"284":{"position":[[5,2]]},"293":{"position":[[6,2]]},"295":{"position":[[266,2],[341,2],[1182,2]]},"301":{"position":[[46,2],[65,2]]},"303":{"position":[[16,2],[47,2]]},"305":{"position":[[38,2]]},"321":{"position":[[0,2],[8,2],[282,2]]},"350":{"position":[[24,2]]}}}],["独有",{"_index":2267,"t":{"714":{"position":[[72,2]]}}}],["独立",{"_index":344,"t":{"37":{"position":[[41,2]]},"126":{"position":[[36,2]]},"408":{"position":[[94,2]]}}}],["环境",{"_index":215,"t":{"15":{"position":[[60,2]]},"94":{"position":[[25,2]]},"113":{"position":[[35,2],[314,2]]},"124":{"position":[[57,2]]},"220":{"position":[[18,2]]},"250":{"position":[[52,2],[300,2]]},"386":{"position":[[113,2]]},"388":{"position":[[9,2],[109,2]]},"422":{"position":[[206,2]]},"442":{"position":[[408,2]]},"480":{"position":[[18,2]]},"519":{"position":[[1212,2]]},"548":{"position":[[76,2]]},"557":{"position":[[23,2]]},"559":{"position":[[28,2]]},"647":{"position":[[134,2]]},"675":{"position":[[119,2],[136,2]]},"722":{"position":[[73,2]]},"728":{"position":[[4,2]]},"768":{"position":[[321,2]]},"815":{"position":[[41,2]]},"821":{"position":[[11,2]]},"827":{"position":[[26,2]]}}}],["环境变量",{"_index":1525,"t":{"315":{"position":[[542,4]]},"422":{"position":[[721,4]]},"490":{"position":[[363,4]]},"496":{"position":[[2,4],[10,4]]},"548":{"position":[[11,4],[46,4],[62,4]]},"551":{"position":[[34,4],[99,4]]},"553":{"position":[[32,4],[98,4],[311,4]]},"555":{"position":[[11,4],[39,4]]},"557":{"position":[[11,4]]},"559":{"position":[[5,4],[39,4]]},"561":{"position":[[12,4]]},"647":{"position":[[125,4]]}}}],["环节",{"_index":2086,"t":{"591":{"position":[[45,2]]}}}],["现代",{"_index":1827,"t":{"446":{"position":[[263,2]]}}}],["现在",{"_index":716,"t":{"100":{"position":[[43,2]]},"259":{"position":[[2,2]]},"261":{"position":[[484,2]]},"268":{"position":[[182,2]]},"270":{"position":[[583,2]]},"762":{"position":[[62,2]]}}}],["现有",{"_index":1517,"t":{"315":{"position":[[403,2]]}}}],["瓶颈",{"_index":1830,"t":{"448":{"position":[[522,2]]}}}],["甚至",{"_index":2171,"t":{"663":{"position":[[138,2]]}}}],["生产",{"_index":665,"t":{"94":{"position":[[23,2]]},"124":{"position":[[55,2]]},"388":{"position":[[7,2]]},"722":{"position":[[71,2]]},"821":{"position":[[9,2]]},"827":{"position":[[24,2]]}}}],["生命周期",{"_index":849,"t":{"139":{"position":[[230,4]]},"163":{"position":[[227,4]]},"332":{"position":[[27,4]]},"519":{"position":[[1259,4],[1292,4]]},"686":{"position":[[9,4],[26,4]]},"697":{"position":[[70,4]]},"699":{"position":[[39,4]]},"726":{"position":[[9,4],[26,4]]},"756":{"position":[[92,4]]},"770":{"position":[[293,4]]}}}],["生态",{"_index":887,"t":{"163":{"position":[[49,2],[87,2],[107,2]]}}}],["生成",{"_index":342,"t":{"37":{"position":[[37,2]]},"96":{"position":[[53,2]]},"100":{"position":[[293,2]]},"117":{"position":[[41,2],[343,2]]},"171":{"position":[[59,2]]},"408":{"position":[[92,2]]},"422":{"position":[[538,2]]},"430":{"position":[[107,2]]},"472":{"position":[[26,2],[69,2]]},"478":{"position":[[65,2]]},"508":{"position":[[38,2]]},"512":{"position":[[32,2]]},"516":{"position":[[69,2]]},"603":{"position":[[13,2],[36,2]]},"610":{"position":[[14,2]]},"624":{"position":[[43,2]]},"645":{"position":[[61,2],[127,2],[436,2]]},"653":{"position":[[74,2]]},"768":{"position":[[982,2]]},"782":{"position":[[2,2],[46,2],[245,2]]},"821":{"position":[[38,2]]},"827":{"position":[[61,2]]}}}],["生效",{"_index":559,"t":{"82":{"position":[[182,2]]},"113":{"position":[[508,2]]},"124":{"position":[[82,2]]},"332":{"position":[[101,2]]},"426":{"position":[[79,2]]},"428":{"position":[[41,2]]},"438":{"position":[[40,2]]},"442":{"position":[[617,2]]},"456":{"position":[[784,2]]},"663":{"position":[[103,2]]},"699":{"position":[[300,2]]},"737":{"position":[[17,2]]},"768":{"position":[[662,2]]}}}],["用于",{"_index":721,"t":{"103":{"position":[[16,2]]},"105":{"position":[[19,2]]},"107":{"position":[[73,2]]},"120":{"position":[[12,2]]},"137":{"position":[[441,2]]},"142":{"position":[[33,2]]},"144":{"position":[[39,2]]},"177":{"position":[[33,2]]},"193":{"position":[[45,2]]},"226":{"position":[[15,2]]},"324":{"position":[[3,2]]},"326":{"position":[[3,2]]},"328":{"position":[[12,2]]},"332":{"position":[[121,2]]},"334":{"position":[[82,2]]},"344":{"position":[[67,2]]},"352":{"position":[[54,2]]},"354":{"position":[[24,2]]},"356":{"position":[[20,2]]},"358":{"position":[[22,2]]},"386":{"position":[[10,2]]},"422":{"position":[[200,2]]},"444":{"position":[[86,2]]},"456":{"position":[[116,2]]},"500":{"position":[[11,2]]},"502":{"position":[[0,2]]},"504":{"position":[[0,2]]},"506":{"position":[[8,2]]},"508":{"position":[[36,2]]},"563":{"position":[[0,2]]},"565":{"position":[[0,2]]},"567":{"position":[[0,2]]},"569":{"position":[[0,2]]},"571":{"position":[[0,2]]},"587":{"position":[[41,2]]},"649":{"position":[[495,2]]},"758":{"position":[[235,2],[311,2]]},"760":{"position":[[67,2],[93,2],[337,2]]},"770":{"position":[[48,2]]}}}],["用以",{"_index":2278,"t":{"720":{"position":[[705,2]]}}}],["用到",{"_index":1350,"t":{"250":{"position":[[12,2]]}}}],["用户",{"_index":398,"t":{"43":{"position":[[124,2],[169,2],[182,2],[239,2]]},"49":{"position":[[240,2],[440,2]]},"53":{"position":[[115,2]]},"55":{"position":[[216,2]]},"107":{"position":[[166,2]]},"109":{"position":[[165,2]]},"115":{"position":[[10,2],[118,2]]},"124":{"position":[[31,2]]},"163":{"position":[[134,2]]},"167":{"position":[[16,2],[76,2]]},"173":{"position":[[27,2]]},"205":{"position":[[0,2]]},"276":{"position":[[35,2]]},"278":{"position":[[29,2]]},"476":{"position":[[47,2],[201,2]]},"605":{"position":[[2,2]]},"612":{"position":[[85,2]]},"649":{"position":[[34,2]]},"705":{"position":[[112,2]]},"743":{"position":[[198,2],[218,2]]},"749":{"position":[[86,2]]},"766":{"position":[[109,2]]},"772":{"position":[[1,2]]},"776":{"position":[[2,2],[139,2]]}}}],["用来",{"_index":863,"t":{"144":{"position":[[144,2]]}}}],["用法",{"_index":1315,"t":{"237":{"position":[[1299,2],[1392,2],[1517,2]]},"321":{"position":[[278,2],[628,2],[956,2]]},"733":{"position":[[263,2],[397,2]]},"735":{"position":[[209,2]]}}}],["由于",{"_index":1108,"t":{"214":{"position":[[0,2]]},"328":{"position":[[152,2]]},"464":{"position":[[160,2]]},"540":{"position":[[3,2]]},"663":{"position":[[169,2]]},"666":{"position":[[304,2]]},"710":{"position":[[165,2]]},"714":{"position":[[15,2]]}}}],["痛点",{"_index":2165,"t":{"663":{"position":[[51,2]]}}}],["登录",{"_index":382,"t":{"43":{"position":[[21,2]]}}}],["白名单",{"_index":1126,"t":{"218":{"position":[[25,3]]}}}],["百度",{"_index":2292,"t":{"724":{"position":[[215,2]]}}}],["的话",{"_index":1643,"t":{"344":{"position":[[210,2]]}}}],["监听",{"_index":1074,"t":{"210":{"position":[[30,2]]},"699":{"position":[[279,2]]},"770":{"position":[[10,2]]}}}],["监测",{"_index":1671,"t":{"374":{"position":[[3,2],[62,2]]}}}],["目前",{"_index":877,"t":{"155":{"position":[[48,2]]},"177":{"position":[[76,2]]},"252":{"position":[[53,2]]},"293":{"position":[[8,2]]},"319":{"position":[[270,2]]},"438":{"position":[[25,2]]},"486":{"position":[[31,2]]},"488":{"position":[[0,2]]},"659":{"position":[[67,2]]},"699":{"position":[[46,2]]},"724":{"position":[[42,2]]},"770":{"position":[[288,2]]}}}],["目录",{"_index":47,"t":{"4":{"position":[[78,2]]},"7":{"position":[[92,2]]},"78":{"position":[[55,2]]},"80":{"position":[[22,2]]},"82":{"position":[[91,2]]},"89":{"position":[[49,2]]},"117":{"position":[[65,2]]},"171":{"position":[[38,2],[67,2]]},"226":{"position":[[13,2],[24,2]]},"230":{"position":[[40,2]]},"232":{"position":[[29,2]]},"278":{"position":[[15,2]]},"286":{"position":[[7,2],[20,2]]},"288":{"position":[[7,2]]},"295":{"position":[[37,2]]},"315":{"position":[[39,2],[632,2]]},"319":{"position":[[345,2]]},"396":{"position":[[215,2]]},"408":{"position":[[7,2],[20,2],[42,2],[145,2],[338,2],[367,2]]},"434":{"position":[[26,2],[39,2]]},"456":{"position":[[294,2],[595,2]]},"470":{"position":[[159,2],[170,2]]},"490":{"position":[[12,2],[30,2],[55,2],[110,2],[158,2]]},"502":{"position":[[24,2],[28,2],[45,2]]},"504":{"position":[[7,2]]},"512":{"position":[[7,2]]},"514":{"position":[[7,2],[13,2]]},"516":{"position":[[6,2],[28,2],[51,2],[74,2],[78,2]]},"593":{"position":[[6,2],[18,2],[54,2],[128,2],[317,2],[328,2]]},"610":{"position":[[8,2],[34,2]]},"612":{"position":[[264,2]]},"616":{"position":[[20,2],[316,2],[372,2]]},"618":{"position":[[574,2]]},"622":{"position":[[10,2]]},"641":{"position":[[26,2],[269,2]]},"663":{"position":[[302,2]]},"705":{"position":[[291,2]]},"722":{"position":[[147,2]]},"760":{"position":[[15,2],[39,2]]},"768":{"position":[[411,2],[467,2],[888,2]]},"782":{"position":[[48,2]]},"819":{"position":[[18,2]]},"821":{"position":[[48,2],[162,2]]},"825":{"position":[[105,2],[249,2]]},"827":{"position":[[71,2],[102,2]]}}}],["目录名",{"_index":2129,"t":{"620":{"position":[[56,3]]},"760":{"position":[[18,3]]}}}],["直接",{"_index":265,"t":{"23":{"position":[[12,2]]},"43":{"position":[[171,2]]},"57":{"position":[[264,2]]},"150":{"position":[[12,2]]},"161":{"position":[[598,2]]},"179":{"position":[[12,2]]},"193":{"position":[[38,2]]},"205":{"position":[[4,2]]},"232":{"position":[[59,2]]},"237":{"position":[[410,2]]},"315":{"position":[[1107,2],[1811,2]]},"422":{"position":[[371,2]]},"476":{"position":[[54,2]]},"521":{"position":[[735,2]]},"595":{"position":[[147,2]]},"666":{"position":[[55,2],[322,2]]},"677":{"position":[[24,2]]},"690":{"position":[[20,2]]},"699":{"position":[[118,2]]},"718":{"position":[[92,2]]},"728":{"position":[[315,2]]},"730":{"position":[[16,2]]},"735":{"position":[[376,2]]},"743":{"position":[[220,2]]},"747":{"position":[[30,2]]}}}],["相关",{"_index":837,"t":{"137":{"position":[[238,2]]},"139":{"position":[[228,2]]},"144":{"position":[[46,2]]},"315":{"position":[[679,2],[877,2],[1149,2]]},"366":{"position":[[16,2]]},"372":{"position":[[148,2]]},"440":{"position":[[79,2],[105,2]]},"450":{"position":[[55,2]]},"452":{"position":[[54,2]]},"519":{"position":[[1170,2]]},"649":{"position":[[712,2]]},"657":{"position":[[993,2]]},"703":{"position":[[6,2]]},"710":{"position":[[229,2]]},"728":{"position":[[33,2],[87,2],[166,2]]},"770":{"position":[[536,2]]},"788":{"position":[[16,2]]}}}],["相对",{"_index":500,"t":{"70":{"position":[[6,2]]},"456":{"position":[[563,2],[579,2]]},"618":{"position":[[287,2]]},"751":{"position":[[38,2]]}}}],["相对路径",{"_index":1351,"t":{"250":{"position":[[23,4]]}}}],["相应",{"_index":904,"t":{"163":{"position":[[267,2]]},"701":{"position":[[140,2]]},"722":{"position":[[118,2]]},"825":{"position":[[76,2],[220,2]]}}}],["相比",{"_index":143,"t":{"9":{"position":[[9,2]]},"626":{"position":[[34,2]]},"653":{"position":[[93,2]]},"724":{"position":[[5,2]]}}}],["省略",{"_index":2095,"t":{"597":{"position":[[102,2]]}}}],["看到",{"_index":2093,"t":{"595":{"position":[[191,2]]},"624":{"position":[[118,2]]},"724":{"position":[[2,2]]},"817":{"position":[[125,2]]},"819":{"position":[[137,2]]},"823":{"position":[[108,2]]}}}],["真实",{"_index":974,"t":{"183":{"position":[[91,2]]},"218":{"position":[[94,2]]},"220":{"position":[[139,2]]}}}],["知识",{"_index":190,"t":{"11":{"position":[[35,2],[84,2]]}}}],["知道",{"_index":1806,"t":{"442":{"position":[[574,2]]}}}],["码",{"_index":1329,"t":{"239":{"position":[[733,1]]},"243":{"position":[[82,1]]}}}],["研发",{"_index":10,"t":{"2":{"position":[[33,2],[102,2]]},"4":{"position":[[289,2]]},"19":{"position":[[65,2],[89,2]]},"165":{"position":[[21,2]]}}}],["确保",{"_index":1120,"t":{"216":{"position":[[70,2]]},"482":{"position":[[21,2]]},"519":{"position":[[1185,2]]},"815":{"position":[[17,2]]}}}],["确定",{"_index":1166,"t":{"226":{"position":[[699,2]]},"612":{"position":[[20,2]]},"705":{"position":[[47,2]]},"768":{"position":[[317,2]]}}}],["确实",{"_index":2154,"t":{"657":{"position":[[504,2]]}}}],["确有",{"_index":2063,"t":{"585":{"position":[[83,2]]}}}],["确认",{"_index":552,"t":{"82":{"position":[[148,2]]},"167":{"position":[[80,2]]},"173":{"position":[[31,2]]}}}],["示例",{"_index":89,"t":{"4":{"position":[[301,2]]},"43":{"position":[[58,2]]},"85":{"position":[[1055,2],[1142,2],[1151,2]]},"87":{"position":[[686,2]]},"96":{"position":[[201,2]]},"175":{"position":[[0,2]]},"195":{"position":[[77,2]]},"241":{"position":[[337,2]]},"252":{"position":[[0,2]]},"272":{"position":[[0,2]]},"344":{"position":[[240,2]]},"348":{"position":[[243,2]]},"380":{"position":[[161,2]]},"444":{"position":[[105,2]]},"484":{"position":[[71,2]]},"519":{"position":[[635,2]]},"525":{"position":[[0,2]]},"527":{"position":[[65,2]]},"529":{"position":[[62,2],[291,2]]},"531":{"position":[[117,2]]},"540":{"position":[[105,2]]},"551":{"position":[[72,2]]},"553":{"position":[[67,2],[196,2]]},"581":{"position":[[28,2]]},"583":{"position":[[33,2]]},"597":{"position":[[55,2]]},"605":{"position":[[37,2]]},"610":{"position":[[70,2]]},"612":{"position":[[133,2]]},"618":{"position":[[30,2],[443,2]]},"645":{"position":[[447,2]]},"657":{"position":[[209,2],[602,2]]},"677":{"position":[[100,2]]},"690":{"position":[[447,2]]},"705":{"position":[[160,2]]}}}],["社区",{"_index":273,"t":{"23":{"position":[[81,2],[145,2]]},"150":{"position":[[85,2],[149,2]]},"163":{"position":[[47,2],[105,2]]},"183":{"position":[[138,2]]}}}],["禁止",{"_index":1530,"t":{"315":{"position":[[578,2]]},"386":{"position":[[318,2]]}}}],["禁用",{"_index":801,"t":{"115":{"position":[[173,2],[522,2]]},"386":{"position":[[350,2]]}}}],["移动",{"_index":148,"t":{"9":{"position":[[23,2],[126,2]]},"43":{"position":[[2,2]]},"310":{"position":[[37,2]]},"382":{"position":[[257,2]]},"618":{"position":[[329,2]]}}}],["移除",{"_index":930,"t":{"175":{"position":[[57,2]]},"177":{"position":[[44,2]]},"317":{"position":[[2539,2]]},"440":{"position":[[46,2],[67,2],[93,2],[112,2],[130,2],[292,2],[359,2]]},"649":{"position":[[690,2]]},"657":{"position":[[968,2]]},"784":{"position":[[232,2]]}}}],["程序",{"_index":649,"t":{"89":{"position":[[78,2],[98,2],[136,2]]},"163":{"position":[[131,2],[151,2],[205,2]]},"195":{"position":[[448,2]]},"310":{"position":[[62,2]]},"330":{"position":[[4,2]]},"332":{"position":[[4,2],[48,2]]},"334":{"position":[[4,2],[39,2]]},"336":{"position":[[4,2]]},"344":{"position":[[4,2]]},"348":{"position":[[4,2]]},"350":{"position":[[4,2]]},"352":{"position":[[5,2]]},"354":{"position":[[4,2]]},"360":{"position":[[4,2]]},"368":{"position":[[47,2]]},"370":{"position":[[4,2],[24,2]]},"374":{"position":[[84,2]]},"420":{"position":[[4,2]]},"426":{"position":[[4,2]]},"430":{"position":[[4,2]]},"432":{"position":[[4,2]]},"436":{"position":[[4,2]]},"450":{"position":[[4,2]]},"452":{"position":[[4,2]]},"454":{"position":[[4,2]]},"456":{"position":[[4,2]]},"460":{"position":[[33,2]]},"470":{"position":[[4,2]]},"519":{"position":[[1210,2]]},"533":{"position":[[4,2]]},"589":{"position":[[1,2],[68,2],[79,2],[87,2]]},"591":{"position":[[4,2]]},"612":{"position":[[3,2],[32,2],[81,2],[286,2]]},"616":{"position":[[4,2]]},"620":{"position":[[4,2]]},"632":{"position":[[190,2]]},"645":{"position":[[4,2]]},"653":{"position":[[4,2],[70,2]]},"666":{"position":[[302,2]]},"675":{"position":[[102,2],[108,2],[114,2]]},"677":{"position":[[36,2],[42,2],[55,2]]},"679":{"position":[[3,2],[15,2]]},"682":{"position":[[41,2],[261,2]]},"684":{"position":[[1,2],[78,2],[89,2],[97,2]]},"686":{"position":[[3,2],[20,2],[39,2]]},"688":{"position":[[8,2]]},"690":{"position":[[3,2],[50,2],[78,2],[153,2],[396,2]]},"701":{"position":[[3,2],[48,2],[74,2],[338,2],[350,2]]},"703":{"position":[[1,2],[45,2]]},"705":{"position":[[30,2],[59,2],[108,2],[313,2]]},"708":{"position":[[8,2],[25,2]]},"710":{"position":[[31,2],[222,2],[248,2]]},"712":{"position":[[3,2]]},"714":{"position":[[18,2],[48,2],[70,2],[91,2]]},"716":{"position":[[17,2]]},"720":{"position":[[710,2],[720,2],[942,2]]},"722":{"position":[[6,2],[32,2],[69,2]]},"724":{"position":[[20,2],[58,2],[81,2],[156,2],[179,2]]},"726":{"position":[[3,2],[20,2],[39,2]]},"728":{"position":[[2,2],[26,2],[60,2],[121,2],[128,2],[163,2],[177,2],[200,2],[327,2]]},"730":{"position":[[13,2]]},"733":{"position":[[391,2]]},"735":{"position":[[42,2]]},"737":{"position":[[2,2],[48,2]]},"741":{"position":[[9,2]]},"743":{"position":[[9,2],[169,2]]},"745":{"position":[[143,2],[166,2]]},"747":{"position":[[126,2],[161,2]]},"749":{"position":[[45,2]]},"801":{"position":[[3,2]]},"823":{"position":[[3,2]]},"825":{"position":[[8,2],[34,2]]},"827":{"position":[[5,2],[22,2]]}}}],["程序代码",{"_index":655,"t":{"89":{"position":[[121,4]]}}}],["程序开发",{"_index":646,"t":{"89":{"position":[[38,4],[54,4]]},"370":{"position":[[40,4]]},"488":{"position":[[3,4],[27,4],[51,4]]},"701":{"position":[[111,4]]},"714":{"position":[[10,4]]},"720":{"position":[[24,4],[347,4],[364,4]]},"722":{"position":[[134,4]]},"825":{"position":[[92,4],[236,4]]},"827":{"position":[[86,4]]}}}],["程序管理",{"_index":651,"t":{"89":{"position":[[89,4]]}}}],["程序运行",{"_index":2277,"t":{"720":{"position":[[393,4]]}}}],["程度",{"_index":1528,"t":{"315":{"position":[[554,2]]},"446":{"position":[[139,2]]}}}],["稳定",{"_index":1339,"t":{"246":{"position":[[21,2]]}}}],["空",{"_index":1051,"t":{"197":{"position":[[2,1]]}}}],["空值",{"_index":2140,"t":{"647":{"position":[[15,2]]}}}],["空白",{"_index":668,"t":{"94":{"position":[[71,2]]}}}],["窗口",{"_index":2442,"t":{"819":{"position":[[106,2]]}}}],["立即",{"_index":1615,"t":{"328":{"position":[[176,2]]},"710":{"position":[[189,2]]}}}],["站点",{"_index":2137,"t":{"645":{"position":[[108,2]]}}}],["章节",{"_index":791,"t":{"115":{"position":[[4,2]]},"268":{"position":[[17,2]]},"703":{"position":[[18,2]]},"705":{"position":[[5,2]]},"714":{"position":[[42,2]]},"718":{"position":[[101,2]]},"728":{"position":[[35,2]]}}}],["端",{"_index":149,"t":{"9":{"position":[[25,1],[128,1],[132,1]]},"11":{"position":[[67,1]]},"43":{"position":[[4,1]]},"222":{"position":[[26,1]]},"246":{"position":[[8,1]]},"248":{"position":[[49,1]]},"250":{"position":[[16,1]]},"293":{"position":[[624,1]]},"310":{"position":[[39,1]]},"330":{"position":[[6,1]]},"332":{"position":[[6,1],[50,1]]},"334":{"position":[[6,1]]},"336":{"position":[[6,1]]},"344":{"position":[[6,1],[74,1],[154,1],[173,1],[187,1]]},"348":{"position":[[6,1],[63,1],[196,1]]},"350":{"position":[[6,1]]},"352":{"position":[[7,1]]},"354":{"position":[[6,1]]},"360":{"position":[[6,1]]},"368":{"position":[[49,1]]},"370":{"position":[[6,1]]},"374":{"position":[[86,1]]},"420":{"position":[[6,1]]},"426":{"position":[[6,1]]},"430":{"position":[[6,1]]},"432":{"position":[[6,1]]},"436":{"position":[[6,1]]},"450":{"position":[[6,1]]},"452":{"position":[[6,1]]},"454":{"position":[[6,1],[687,1],[865,1]]},"456":{"position":[[6,1]]},"460":{"position":[[35,1]]},"470":{"position":[[6,1]]},"533":{"position":[[6,1]]},"589":{"position":[[3,1]]},"591":{"position":[[6,1],[18,1],[58,1],[99,1]]},"601":{"position":[[2,1],[86,1]]},"616":{"position":[[6,1]]},"618":{"position":[[331,1]]},"620":{"position":[[6,1]]},"645":{"position":[[6,1]]},"647":{"position":[[79,1]]},"649":{"position":[[17,1]]},"653":{"position":[[6,1],[101,1]]},"657":{"position":[[43,1],[68,1],[134,1],[192,1],[202,1],[517,1]]},"666":{"position":[[22,1]]},"677":{"position":[[76,1]]},"679":{"position":[[17,1]]},"684":{"position":[[3,1]]},"690":{"position":[[398,1]]},"701":{"position":[[5,1]]},"703":{"position":[[3,1],[47,1]]},"708":{"position":[[72,1]]},"714":{"position":[[20,1]]},"728":{"position":[[28,1],[329,1]]},"747":{"position":[[27,1]]},"768":{"position":[[657,1]]}}}],["端口",{"_index":1341,"t":{"248":{"position":[[18,2]]},"553":{"position":[[180,2],[193,2]]},"595":{"position":[[138,2]]},"768":{"position":[[870,2]]}}}],["端口号",{"_index":2032,"t":{"551":{"position":[[21,3]]}}}],["端的",{"_index":2146,"t":{"649":{"position":[[683,2]]},"657":{"position":[[707,2],[836,2],[961,2]]},"710":{"position":[[33,2]]},"728":{"position":[[130,2]]},"733":{"position":[[48,2]]}}}],["符合",{"_index":1263,"t":{"237":{"position":[[192,2]]},"243":{"position":[[46,2]]},"299":{"position":[[525,2]]}}}],["第一个",{"_index":1432,"t":{"293":{"position":[[738,3]]},"456":{"position":[[538,3]]},"645":{"position":[[331,3]]}}}],["第一次",{"_index":1642,"t":{"344":{"position":[[162,3]]}}}],["第一项",{"_index":2111,"t":{"612":{"position":[[56,3],[279,3]]},"705":{"position":[[83,3],[306,3]]}}}],["第三个",{"_index":1844,"t":{"456":{"position":[[645,3]]}}}],["第三方",{"_index":346,"t":{"37":{"position":[[73,3]]}}}],["第二个",{"_index":1841,"t":{"456":{"position":[[552,3]]},"792":{"position":[[258,3]]}}}],["等",{"_index":18,"t":{"2":{"position":[[63,1],[77,1],[97,1]]},"4":{"position":[[102,1],[206,1],[274,1],[306,1],[440,1]]},"7":{"position":[[101,1]]},"11":{"position":[[72,1]]},"17":{"position":[[63,1]]},"19":{"position":[[84,1]]},"23":{"position":[[101,1]]},"63":{"position":[[25,1],[79,1]]},"74":{"position":[[59,1]]},"76":{"position":[[8,1]]},"82":{"position":[[174,1]]},"92":{"position":[[17,1]]},"96":{"position":[[166,1]]},"150":{"position":[[105,1]]},"163":{"position":[[103,1]]},"212":{"position":[[328,1]]},"222":{"position":[[97,1]]},"276":{"position":[[39,1]]},"295":{"position":[[919,1]]},"310":{"position":[[66,1]]},"328":{"position":[[25,1]]},"382":{"position":[[238,1]]},"446":{"position":[[341,1]]},"448":{"position":[[509,1]]},"476":{"position":[[42,1]]},"492":{"position":[[35,1]]},"506":{"position":[[40,1]]},"544":{"position":[[16,1],[86,1]]},"573":{"position":[[137,1]]},"589":{"position":[[36,1]]},"591":{"position":[[168,1]]},"663":{"position":[[159,1]]},"675":{"position":[[116,1]]},"677":{"position":[[66,1]]},"682":{"position":[[59,1]]},"684":{"position":[[46,1]]},"690":{"position":[[394,1]]},"724":{"position":[[108,1]]},"728":{"position":[[281,1]]},"735":{"position":[[95,1],[164,1],[205,1],[441,1]]},"747":{"position":[[19,1]]},"770":{"position":[[558,1]]}}}],["等同于",{"_index":1735,"t":{"404":{"position":[[156,3]]},"406":{"position":[[70,3]]},"468":{"position":[[110,3]]},"597":{"position":[[176,3]]}}}],["等待",{"_index":557,"t":{"82":{"position":[[178,2]]},"521":{"position":[[9,2]]},"645":{"position":[[390,2]]}}}],["等等",{"_index":417,"t":{"47":{"position":[[45,2]]},"239":{"position":[[56,2]]}}}],["等级",{"_index":1796,"t":{"440":{"position":[[287,2],[306,2]]}}}],["答疑",{"_index":262,"t":{"21":{"position":[[48,2]]}}}],["策略",{"_index":1343,"t":{"248":{"position":[[35,2]]},"462":{"position":[[78,2],[93,2],[128,2],[213,2],[262,2],[280,2],[290,2],[353,2],[399,2]]}}}],["简化",{"_index":1150,"t":{"222":{"position":[[85,2]]},"237":{"position":[[19,2]]},"315":{"position":[[362,2]]},"768":{"position":[[219,2]]}}}],["简单",{"_index":407,"t":{"43":{"position":[[242,2]]},"183":{"position":[[168,2]]},"226":{"position":[[375,2]]},"299":{"position":[[509,2]]},"418":{"position":[[100,2]]},"456":{"position":[[871,2]]}}}],["简称",{"_index":2135,"t":{"645":{"position":[[21,2]]},"653":{"position":[[21,2]]}}}],["管理",{"_index":51,"t":{"4":{"position":[[95,2],[431,2]]},"7":{"position":[[99,2]]},"13":{"position":[[33,2]]},"43":{"position":[[54,2],[85,2],[112,2],[244,2],[259,2]]},"47":{"position":[[8,2]]},"222":{"position":[[82,2]]},"230":{"position":[[5,2],[27,2]]},"232":{"position":[[16,2]]},"237":{"position":[[27,2]]},"272":{"position":[[41,2],[51,2],[58,2]]},"305":{"position":[[40,2]]},"321":{"position":[[2,2],[10,2],[284,2],[962,2]]},"482":{"position":[[84,2]]},"484":{"position":[[197,2]]},"553":{"position":[[451,2]]},"728":{"position":[[242,2]]},"803":{"position":[[4,2]]}}}],["管理工具",{"_index":1920,"t":{"484":{"position":[[34,4]]}}}],["类",{"_index":462,"t":{"57":{"position":[[4,1]]}}}],["类似",{"_index":985,"t":{"183":{"position":[[181,2]]},"195":{"position":[[0,2]]},"422":{"position":[[528,2]]},"508":{"position":[[34,2]]}}}],["类型",{"_index":321,"t":{"28":{"position":[[0,2]]},"30":{"position":[[0,2]]},"32":{"position":[[0,2]]},"34":{"position":[[0,2]]},"43":{"position":[[114,2],[249,2]]},"68":{"position":[[13,2]]},"70":{"position":[[18,2]]},"72":{"position":[[12,2]]},"120":{"position":[[0,2]]},"122":{"position":[[0,2]]},"124":{"position":[[0,2]]},"137":{"position":[[170,2]]},"139":{"position":[[170,2]]},"142":{"position":[[8,2]]},"144":{"position":[[0,2]]},"148":{"position":[[7,2],[43,2]]},"155":{"position":[[0,2],[64,2]]},"157":{"position":[[0,2]]},"159":{"position":[[0,2]]},"191":{"position":[[148,2]]},"243":{"position":[[50,2]]},"299":{"position":[[511,2]]},"315":{"position":[[7,2]]},"319":{"position":[[118,2]]},"324":{"position":[[12,2]]},"326":{"position":[[16,2]]},"356":{"position":[[28,2],[104,2],[112,2],[133,2]]},"358":{"position":[[30,2],[110,2],[118,2],[139,2]]},"364":{"position":[[172,2]]},"368":{"position":[[15,2],[108,2],[160,2]]},"370":{"position":[[56,2],[59,2],[112,2],[166,2],[196,2],[400,2]]},"386":{"position":[[46,2]]},"388":{"position":[[42,2]]},"413":{"position":[[7,2]]},"418":{"position":[[0,2]]},"420":{"position":[[15,2]]},"422":{"position":[[0,2]]},"424":{"position":[[0,2]]},"426":{"position":[[15,2]]},"428":{"position":[[0,2]]},"430":{"position":[[15,2]]},"432":{"position":[[15,2]]},"434":{"position":[[0,2]]},"436":{"position":[[15,2]]},"438":{"position":[[0,2]]},"440":{"position":[[0,2]]},"442":{"position":[[0,2]]},"444":{"position":[[0,2]]},"446":{"position":[[0,2]]},"448":{"position":[[0,2]]},"450":{"position":[[15,2]]},"452":{"position":[[15,2]]},"454":{"position":[[15,2]]},"456":{"position":[[15,2]]},"458":{"position":[[0,2]]},"462":{"position":[[0,2]]},"464":{"position":[[0,2]]},"466":{"position":[[0,2],[37,2]]},"468":{"position":[[0,2]]},"470":{"position":[[15,2]]},"472":{"position":[[0,2]]},"474":{"position":[[0,2]]},"476":{"position":[[78,2]]},"478":{"position":[[0,2]]},"527":{"position":[[678,2]]},"555":{"position":[[30,2],[48,2],[91,2]]},"599":{"position":[[26,2],[65,2],[105,2],[195,2]]},"688":{"position":[[16,2]]},"758":{"position":[[40,2]]},"768":{"position":[[911,2]]},"770":{"position":[[576,2],[586,2]]},"772":{"position":[[187,2]]},"782":{"position":[[653,2]]}}}],["类型定义",{"_index":1657,"t":{"356":{"position":[[15,4]]},"358":{"position":[[17,4]]}}}],["精简",{"_index":1893,"t":{"478":{"position":[[164,2],[282,2]]},"751":{"position":[[57,2]]}}}],["糖",{"_index":983,"t":{"183":{"position":[[163,1]]}}}],["系",{"_index":2287,"t":{"724":{"position":[[97,1]]}}}],["系统",{"_index":823,"t":{"126":{"position":[[18,2]]},"756":{"position":[[28,2]]}}}],["索引",{"_index":1014,"t":{"191":{"position":[[144,2]]}}}],["紧凑",{"_index":328,"t":{"32":{"position":[[25,2]]}}}],["紧密",{"_index":899,"t":{"163":{"position":[[157,2]]}}}],["繁冗",{"_index":123,"t":{"7":{"position":[[57,2]]}}}],["繁琐",{"_index":1457,"t":{"299":{"position":[[35,2]]}}}],["约定",{"_index":419,"t":{"47":{"position":[[52,2],[103,2]]},"226":{"position":[[2,2]]},"230":{"position":[[19,2],[51,2]]},"232":{"position":[[8,2]]},"278":{"position":[[0,2]]},"280":{"position":[[0,2]]},"286":{"position":[[0,2]]},"288":{"position":[[0,2]]},"295":{"position":[[2,2]]},"319":{"position":[[320,2],[481,2]]},"456":{"position":[[356,2],[901,2]]},"490":{"position":[[27,2]]},"512":{"position":[[19,2]]},"519":{"position":[[17,2]]},"573":{"position":[[92,2],[120,2]]},"591":{"position":[[65,2]]},"607":{"position":[[10,2]]},"612":{"position":[[10,2]]},"616":{"position":[[58,2]]},"643":{"position":[[2,2]]},"663":{"position":[[250,2]]},"705":{"position":[[19,2],[37,2]]},"708":{"position":[[73,2]]}}}],["级",{"_index":288,"t":{"23":{"position":[[198,1]]},"150":{"position":[[202,1]]},"226":{"position":[[153,1]]},"293":{"position":[[5,1]]},"346":{"position":[[4,1]]},"519":{"position":[[1236,1],[1269,1]]},"527":{"position":[[60,1]]},"529":{"position":[[5,1],[287,1]]},"579":{"position":[[62,1]]},"585":{"position":[[2,1]]},"587":{"position":[[2,1]]},"614":{"position":[[146,1]]},"616":{"position":[[363,1],[403,1],[422,1]]},"663":{"position":[[4,1],[8,1]]}}}],["级别",{"_index":1863,"t":{"462":{"position":[[220,2],[359,2]]}}}],["纯",{"_index":1092,"t":{"210":{"position":[[414,1]]},"278":{"position":[[243,1]]},"295":{"position":[[389,1]]}}}],["组件",{"_index":78,"t":{"4":{"position":[[251,2],[281,2],[296,2]]},"17":{"position":[[18,2],[43,2]]},"23":{"position":[[22,2],[33,2],[191,2]]},"28":{"position":[[30,2]]},"39":{"position":[[19,2],[77,2]]},"43":{"position":[[161,2]]},"49":{"position":[[19,2]]},"51":{"position":[[10,2],[50,2]]},"57":{"position":[[21,2]]},"59":{"position":[[12,2]]},"63":{"position":[[0,2]]},"107":{"position":[[11,2]]},"109":{"position":[[28,2],[31,2]]},"111":{"position":[[29,2]]},"137":{"position":[[709,2]]},"144":{"position":[[22,2]]},"150":{"position":[[24,2],[37,2],[195,2]]},"155":{"position":[[39,2],[58,2]]},"157":{"position":[[28,2]]},"163":{"position":[[201,2],[220,2]]},"165":{"position":[[113,2]]},"175":{"position":[[46,2],[60,2]]},"177":{"position":[[30,2],[47,2],[83,2],[146,2],[159,2]]},"179":{"position":[[6,2],[48,2],[61,2]]},"197":{"position":[[3,2]]},"205":{"position":[[56,2]]},"210":{"position":[[422,2]]},"261":{"position":[[0,2],[499,2],[619,2]]},"268":{"position":[[30,2]]},"270":{"position":[[597,2],[719,2]]},"276":{"position":[[7,2]]},"284":{"position":[[15,2]]},"326":{"position":[[9,2]]},"334":{"position":[[25,2],[84,2]]},"338":{"position":[[197,2]]},"340":{"position":[[12,2],[24,2]]},"342":{"position":[[14,2]]},"344":{"position":[[81,2]]},"348":{"position":[[11,2],[30,2],[67,2],[91,2],[111,2],[118,2],[179,2],[238,2],[442,2]]},"350":{"position":[[11,2],[21,2]]},"352":{"position":[[14,2],[32,2],[51,2]]},"354":{"position":[[11,2],[62,2]]},"358":{"position":[[105,2]]},"360":{"position":[[11,2],[47,2]]},"374":{"position":[[59,2]]},"376":{"position":[[21,2],[28,2]]},"382":{"position":[[262,2]]},"408":{"position":[[163,2]]},"456":{"position":[[560,2],[759,2]]},"462":{"position":[[222,2],[361,2]]},"490":{"position":[[186,2],[208,2],[272,2]]},"512":{"position":[[4,2]]},"514":{"position":[[5,2],[91,2],[99,2]]},"519":{"position":[[56,2],[200,2],[713,2],[1344,2]]},"521":{"position":[[159,2],[255,2],[749,2],[760,2]]},"527":{"position":[[4,2],[15,2],[136,2],[670,2]]},"529":{"position":[[261,2]]},"531":{"position":[[52,2],[75,2]]},"535":{"position":[[384,2],[502,2],[510,2]]},"538":{"position":[[13,2],[31,2]]},"544":{"position":[[17,2],[87,2],[98,2]]},"573":{"position":[[13,2],[24,2],[34,2],[39,2],[66,2]]},"575":{"position":[[4,2],[9,2]]},"585":{"position":[[335,2]]},"587":{"position":[[230,2]]},"614":{"position":[[2,2],[138,2]]},"616":{"position":[[34,2],[85,2],[90,2],[280,2],[289,2],[295,2],[301,2],[340,2],[380,2],[396,2],[406,2],[414,2],[425,2]]},"618":{"position":[[10,2],[55,2],[150,2],[232,2],[357,2],[381,2],[548,2],[773,2]]},"622":{"position":[[47,2],[61,2]]},"630":{"position":[[0,2]]},"632":{"position":[[0,2],[17,2],[199,2],[220,2]]},"639":{"position":[[5,2]]},"641":{"position":[[66,2],[76,2],[278,2],[298,2]]},"645":{"position":[[373,2]]},"649":{"position":[[72,2],[108,2]]},"657":{"position":[[11,2],[562,2]]},"663":{"position":[[6,2],[286,2]]},"668":{"position":[[98,2],[159,2]]},"670":{"position":[[16,2],[170,2]]},"686":{"position":[[68,2]]},"688":{"position":[[19,2]]},"690":{"position":[[7,2],[66,2]]},"699":{"position":[[250,2]]},"703":{"position":[[30,2]]},"708":{"position":[[18,2],[40,2]]},"726":{"position":[[68,2]]},"728":{"position":[[289,2],[308,2]]},"735":{"position":[[36,2],[53,2],[96,2]]},"737":{"position":[[50,2]]},"743":{"position":[[11,2],[34,2],[129,2],[234,2]]},"747":{"position":[[133,2]]},"751":{"position":[[84,2]]},"756":{"position":[[132,2],[145,2]]},"792":{"position":[[5,2],[250,2]]},"794":{"position":[[110,2]]},"796":{"position":[[4,2]]},"798":{"position":[[4,2]]},"809":{"position":[[8,2]]},"811":{"position":[[10,2]]}}}],["组织",{"_index":127,"t":{"7":{"position":[[94,2]]},"226":{"position":[[26,2]]},"319":{"position":[[343,2]]},"519":{"position":[[225,2]]},"531":{"position":[[28,2]]},"618":{"position":[[304,2]]}}}],["组装",{"_index":2051,"t":{"573":{"position":[[27,2]]}}}],["细粒度",{"_index":466,"t":{"57":{"position":[[27,3]]},"179":{"position":[[57,3]]}}}],["终端",{"_index":693,"t":{"98":{"position":[[8,2]]},"817":{"position":[[1,2]]}}}],["经常",{"_index":392,"t":{"43":{"position":[[88,2]]},"484":{"position":[[171,2]]}}}],["经过",{"_index":1714,"t":{"396":{"position":[[98,2],[149,2]]},"728":{"position":[[298,2]]}}}],["经验",{"_index":2301,"t":{"733":{"position":[[39,2]]}}}],["绑定",{"_index":1029,"t":{"193":{"position":[[51,2]]},"197":{"position":[[15,2]]},"220":{"position":[[90,2]]},"690":{"position":[[409,2]]}}}],["结合",{"_index":26,"t":{"2":{"position":[[85,2]]},"23":{"position":[[143,2]]},"150":{"position":[[147,2]]},"163":{"position":[[153,2]]},"230":{"position":[[0,2]]},"250":{"position":[[288,2]]},"540":{"position":[[74,2]]},"677":{"position":[[83,2]]}}}],["结尾",{"_index":1094,"t":{"212":{"position":[[76,2]]},"553":{"position":[[442,2]]}}}],["结束",{"_index":2393,"t":{"770":{"position":[[424,2],[475,2]]}}}],["结构",{"_index":816,"t":{"117":{"position":[[67,2]]},"144":{"position":[[50,2],[152,2]]},"183":{"position":[[99,2]]},"243":{"position":[[149,2]]},"319":{"position":[[347,2]]},"490":{"position":[[24,2],[32,2]]},"533":{"position":[[42,2]]},"593":{"position":[[56,2]]},"610":{"position":[[10,2]]},"618":{"position":[[576,2]]},"663":{"position":[[304,2]]}}}],["结果",{"_index":1284,"t":{"237":{"position":[[670,2]]},"259":{"position":[[228,2]]},"261":{"position":[[905,2]]},"268":{"position":[[206,2]]},"270":{"position":[[1046,2]]},"422":{"position":[[691,2]]},"462":{"position":[[342,2]]},"657":{"position":[[98,2]]},"770":{"position":[[439,2]]}}}],["给出",{"_index":1703,"t":{"394":{"position":[[56,2]]},"722":{"position":[[116,2]]},"825":{"position":[[74,2],[218,2]]}}}],["绝大部分",{"_index":1065,"t":{"203":{"position":[[161,4]]}}}],["绝对路径",{"_index":2365,"t":{"760":{"position":[[362,4]]}}}],["统一",{"_index":381,"t":{"43":{"position":[[19,2]]},"183":{"position":[[171,2]]},"222":{"position":[[75,2]]},"230":{"position":[[25,2],[57,2]]},"232":{"position":[[14,2]]},"239":{"position":[[17,2],[39,2],[432,2]]},"315":{"position":[[699,2]]},"321":{"position":[[565,2]]},"462":{"position":[[148,2],[314,2]]},"519":{"position":[[125,2]]},"523":{"position":[[8,2],[62,2],[333,2]]},"661":{"position":[[12,2]]},"663":{"position":[[218,2]]},"666":{"position":[[33,2]]},"728":{"position":[[70,2]]},"756":{"position":[[127,2]]},"784":{"position":[[2,2]]}}}],["继续",{"_index":1296,"t":{"237":{"position":[[814,2]]}}}],["维度",{"_index":339,"t":{"37":{"position":[[25,2]]}}}],["维护",{"_index":1996,"t":{"533":{"position":[[29,2]]},"616":{"position":[[38,2]]}}}],["综上所述",{"_index":291,"t":{"23":{"position":[[204,4]]},"150":{"position":[[208,4]]}}}],["缓存",{"_index":929,"t":{"175":{"position":[[54,2]]},"177":{"position":[[41,2],[152,2]]},"179":{"position":[[2,2],[54,2]]},"193":{"position":[[30,2],[42,2]]},"350":{"position":[[15,2]]},"386":{"position":[[419,2]]},"462":{"position":[[184,2],[339,2]]},"768":{"position":[[886,2]]}}}],["编写",{"_index":1363,"t":{"255":{"position":[[32,2]]},"257":{"position":[[636,2]]},"261":{"position":[[617,2]]},"268":{"position":[[33,2]]},"270":{"position":[[717,2]]},"659":{"position":[[31,2]]},"690":{"position":[[40,2]]},"762":{"position":[[225,2]]}}}],["编码",{"_index":1869,"t":{"464":{"position":[[100,2]]},"519":{"position":[[10,2],[43,2]]}}}],["编程",{"_index":1149,"t":{"222":{"position":[[70,2]]}}}],["编译",{"_index":900,"t":{"163":{"position":[[217,2]]},"183":{"position":[[123,2]]},"317":{"position":[[3189,2]]},"386":{"position":[[79,2]]},"388":{"position":[[75,2]]},"408":{"position":[[31,2],[75,2],[88,2]]},"422":{"position":[[174,2],[504,2]]},"442":{"position":[[68,2],[125,2],[142,2],[162,2],[400,2],[433,2],[584,2]]},"446":{"position":[[131,2],[144,2],[156,2],[227,2]]},"448":{"position":[[325,2],[476,2],[518,2]]},"498":{"position":[[11,2]]},"659":{"position":[[56,2]]},"701":{"position":[[146,2],[352,2]]},"722":{"position":[[106,2],[143,2]]},"768":{"position":[[764,2]]},"825":{"position":[[64,2],[101,2],[208,2],[245,2]]}}}],["编译器",{"_index":2160,"t":{"659":{"position":[[307,3]]},"663":{"position":[[659,3]]}}}],["编译成",{"_index":1764,"t":{"422":{"position":[[420,3],[475,3]]}}}],["编辑器",{"_index":2221,"t":{"672":{"position":[[11,3]]}}}],["缩写",{"_index":701,"t":{"98":{"position":[[300,2]]}}}],["缺点",{"_index":2169,"t":{"663":{"position":[[91,2]]},"735":{"position":[[263,2]]}}}],["缺陷",{"_index":1860,"t":{"462":{"position":[[187,2]]}}}],["网",{"_index":513,"t":{"76":{"position":[[7,1]]},"208":{"position":[[42,1]]}}}],["网站",{"_index":487,"t":{"63":{"position":[[32,2]]}}}],["网络",{"_index":371,"t":{"41":{"position":[[39,2]]},"224":{"position":[[0,2]]},"321":{"position":[[632,2]]},"653":{"position":[[119,2]]}}}],["网络资源",{"_index":491,"t":{"63":{"position":[[63,4]]},"807":{"position":[[10,4]]}}}],["美国",{"_index":713,"t":{"98":{"position":[[361,2]]}}}],["群",{"_index":264,"t":{"21":{"position":[[52,1]]}}}],["考虑",{"_index":355,"t":{"39":{"position":[[11,2]]},"442":{"position":[[72,2]]}}}],["者",{"_index":647,"t":{"89":{"position":[[42,1],[58,1]]},"488":{"position":[[31,1],[55,1]]},"722":{"position":[[138,1]]},"825":{"position":[[96,1],[240,1]]},"827":{"position":[[90,1]]}}}],["耦",{"_index":1963,"t":{"519":{"position":[[608,1]]}}}],["耦合",{"_index":234,"t":{"17":{"position":[[12,2]]},"96":{"position":[[109,2]]},"252":{"position":[[33,2]]}}}],["联动",{"_index":1448,"t":{"295":{"position":[[917,2]]}}}],["聚焦",{"_index":1302,"t":{"237":{"position":[[967,2]]}}}],["能",{"_index":207,"t":{"11":{"position":[[104,1]]},"107":{"position":[[161,1]]},"109":{"position":[[160,1]]},"181":{"position":[[24,1]]},"448":{"position":[[515,1]]},"622":{"position":[[49,1]]},"657":{"position":[[204,1]]},"663":{"position":[[37,1]]},"733":{"position":[[253,1]]}}}],["能力",{"_index":20,"t":{"2":{"position":[[66,2],[80,2]]},"4":{"position":[[145,2],[152,2],[174,2]]},"7":{"position":[[17,2],[37,2],[49,2],[114,2],[159,2],[180,2]]},"9":{"position":[[26,2]]},"19":{"position":[[85,2]]},"63":{"position":[[70,2]]},"96":{"position":[[35,2]]},"163":{"position":[[160,2],[247,2],[269,2]]},"175":{"position":[[40,2],[80,2]]},"199":{"position":[[128,2]]},"203":{"position":[[124,2],[175,2]]},"210":{"position":[[74,2],[100,2]]},"224":{"position":[[7,2]]},"235":{"position":[[153,2]]},"246":{"position":[[60,2]]},"313":{"position":[[105,2],[262,2]]},"315":{"position":[[72,2],[423,2],[681,2]]},"317":{"position":[[1590,2]]},"319":{"position":[[255,2],[276,2],[300,2]]},"368":{"position":[[157,2]]},"372":{"position":[[28,2],[151,2],[155,2]]},"374":{"position":[[91,2]]},"424":{"position":[[88,2]]},"450":{"position":[[45,2]]},"452":{"position":[[44,2]]},"460":{"position":[[10,2]]},"462":{"position":[[417,2]]},"533":{"position":[[11,2]]},"585":{"position":[[71,2]]},"591":{"position":[[11,2]]},"645":{"position":[[11,2],[94,2]]},"653":{"position":[[11,2],[146,2]]},"675":{"position":[[13,2]]},"708":{"position":[[53,2]]},"710":{"position":[[22,2]]},"714":{"position":[[24,2],[74,2]]},"728":{"position":[[22,2],[117,2]]},"747":{"position":[[181,2]]},"756":{"position":[[39,2],[57,2],[122,2]]},"760":{"position":[[75,2],[100,2]]},"762":{"position":[[205,2]]},"764":{"position":[[7,2],[30,2]]},"768":{"position":[[372,2],[1061,2]]},"782":{"position":[[463,2],[696,2],[1001,2]]},"786":{"position":[[15,2]]},"801":{"position":[[8,2]]},"807":{"position":[[18,2]]},"809":{"position":[[21,2]]},"811":{"position":[[23,2]]}}}],["能够",{"_index":2067,"t":{"589":{"position":[[59,2]]},"684":{"position":[[69,2]]},"741":{"position":[[25,2]]}}}],["脑",{"_index":894,"t":{"163":{"position":[[101,1]]}}}],["脚本",{"_index":269,"t":{"23":{"position":[[46,2]]},"150":{"position":[[50,2]]},"257":{"position":[[572,2]]},"266":{"position":[[556,2]]},"400":{"position":[[98,2]]},"587":{"position":[[10,2]]}}}],["自动",{"_index":348,"t":{"37":{"position":[[80,2]]},"96":{"position":[[48,2],[92,2]]},"100":{"position":[[291,2]]},"113":{"position":[[2,2],[37,2],[60,2],[483,2]]},"124":{"position":[[25,2]]},"167":{"position":[[67,2]]},"173":{"position":[[20,2]]},"212":{"position":[[368,2]]},"446":{"position":[[94,2],[173,2]]},"460":{"position":[[53,2]]},"462":{"position":[[380,2]]},"512":{"position":[[26,2]]},"553":{"position":[[38,2]]},"591":{"position":[[181,2]]},"610":{"position":[[12,2]]},"819":{"position":[[99,2]]}}}],["自动化",{"_index":909,"t":{"167":{"position":[[26,3]]}}}],["自定义",{"_index":463,"t":{"57":{"position":[[14,3]]},"59":{"position":[[2,3]]},"163":{"position":[[198,3]]},"218":{"position":[[59,3],[138,3],[168,3]]},"241":{"position":[[486,3]]},"257":{"position":[[191,3]]},"266":{"position":[[203,3]]},"315":{"position":[[916,3],[1201,3]]},"380":{"position":[[47,3]]},"424":{"position":[[92,3]]},"444":{"position":[[99,3]]},"456":{"position":[[376,3],[874,3],[912,3],[921,3]]},"478":{"position":[[268,3]]},"490":{"position":[[181,3]]},"523":{"position":[[42,3],[200,3]]},"538":{"position":[[36,3]]},"544":{"position":[[3,3],[105,3],[357,3],[566,3],[778,3]]},"593":{"position":[[200,3]]},"622":{"position":[[90,3]]},"643":{"position":[[36,3]]},"751":{"position":[[30,3]]},"764":{"position":[[27,3]]},"768":{"position":[[40,3],[1122,3]]},"772":{"position":[[26,3]]},"774":{"position":[[8,3]]},"778":{"position":[[2,3]]},"782":{"position":[[934,3]]},"794":{"position":[[0,3]]}}}],["自己",{"_index":113,"t":{"4":{"position":[[457,2]]},"701":{"position":[[9,2]]}}}],["自由选择",{"_index":1361,"t":{"252":{"position":[[48,4]]}}}],["自行",{"_index":2318,"t":{"735":{"position":[[272,2]]}}}],["自身",{"_index":1453,"t":{"297":{"position":[[291,2],[619,2]]},"585":{"position":[[43,2]]},"735":{"position":[[74,2]]}}}],["至于",{"_index":2322,"t":{"735":{"position":[[434,2]]}}}],["良好",{"_index":1602,"t":{"319":{"position":[[116,2]]},"364":{"position":[[169,2]]},"413":{"position":[[4,2]]},"454":{"position":[[886,2]]},"490":{"position":[[17,2]]},"758":{"position":[[37,2]]}}}],["节流",{"_index":1310,"t":{"237":{"position":[[1110,2],[1130,2]]}}}],["节点",{"_index":1005,"t":{"189":{"position":[[176,2],[181,2]]},"191":{"position":[[182,2]]},"193":{"position":[[53,2]]},"218":{"position":[[96,2]]},"220":{"position":[[42,2],[146,2]]},"344":{"position":[[228,2]]},"368":{"position":[[9,2]]},"535":{"position":[[497,2]]}}}],["花",{"_index":963,"t":{"183":{"position":[[16,1]]}}}],["英文",{"_index":712,"t":{"98":{"position":[[358,2]]}}}],["范式",{"_index":87,"t":{"4":{"position":[[291,2]]}}}],["获取",{"_index":412,"t":{"47":{"position":[[18,2],[90,2]]},"51":{"position":[[53,2]]},"103":{"position":[[18,2]]},"105":{"position":[[21,2]]},"142":{"position":[[35,2]]},"218":{"position":[[127,2]]},"237":{"position":[[868,2],[898,2]]},"301":{"position":[[30,2]]},"315":{"position":[[2,2]]},"324":{"position":[[5,2]]},"326":{"position":[[5,2]]},"328":{"position":[[14,2]]},"332":{"position":[[353,2]]},"340":{"position":[[31,2]]},"346":{"position":[[0,2]]},"356":{"position":[[22,2]]},"358":{"position":[[24,2]]},"413":{"position":[[2,2]]},"527":{"position":[[139,2]]},"529":{"position":[[283,2]]},"531":{"position":[[629,2]]},"542":{"position":[[259,2]]},"546":{"position":[[0,2]]},"635":{"position":[[15,2]]},"637":{"position":[[19,2]]},"639":{"position":[[20,2]]},"649":{"position":[[20,2],[123,2]]},"712":{"position":[[44,2]]},"745":{"position":[[23,2],[147,2]]},"766":{"position":[[227,2]]},"768":{"position":[[15,2]]},"770":{"position":[[338,2],[432,2],[534,2],[568,2]]},"780":{"position":[[0,2]]},"796":{"position":[[0,2]]},"798":{"position":[[0,2]]}}}],["获取数据",{"_index":1419,"t":{"282":{"position":[[201,4]]}}}],["获得",{"_index":680,"t":{"96":{"position":[[77,2]]},"319":{"position":[[114,2]]},"364":{"position":[[167,2]]},"519":{"position":[[170,2]]},"618":{"position":[[308,2]]},"758":{"position":[[35,2]]}}}],["营销",{"_index":2122,"t":{"618":{"position":[[332,2]]}}}],["虽然",{"_index":961,"t":{"183":{"position":[[4,2]]}}}],["行为",{"_index":418,"t":{"47":{"position":[[49,2]]},"139":{"position":[[236,2]]},"220":{"position":[[167,2]]},"382":{"position":[[252,2],[265,2]]},"386":{"position":[[329,2]]},"544":{"position":[[22,2],[42,2],[101,2]]},"756":{"position":[[98,2]]}}}],["行会",{"_index":2281,"t":{"722":{"position":[[114,2]]},"825":{"position":[[72,2],[216,2]]}}}],["行内",{"_index":2309,"t":{"735":{"position":[[8,2],[23,2],[165,2],[292,2],[442,2]]}}}],["补充",{"_index":2332,"t":{"743":{"position":[[95,2]]}}}],["补齐",{"_index":1103,"t":{"212":{"position":[[370,2]]}}}],["表单",{"_index":2329,"t":{"743":{"position":[[32,2]]}}}],["表现",{"_index":1878,"t":{"468":{"position":[[108,2]]},"735":{"position":[[289,2]]}}}],["表示",{"_index":1013,"t":{"191":{"position":[[140,2]]}}}],["表达",{"_index":984,"t":{"183":{"position":[[165,2]]}}}],["表达式",{"_index":970,"t":{"183":{"position":[[75,3]]},"422":{"position":[[194,3]]},"456":{"position":[[152,3]]}}}],["装饰",{"_index":1480,"t":{"305":{"position":[[360,2]]}}}],["要",{"_index":448,"t":{"51":{"position":[[13,1]]},"115":{"position":[[566,1]]},"237":{"position":[[163,1]]},"259":{"position":[[4,1]]},"261":{"position":[[486,1]]},"348":{"position":[[120,1]]},"422":{"position":[[606,1]]},"647":{"position":[[131,1]]},"747":{"position":[[130,1]]}}}],["要求",{"_index":216,"t":{"15":{"position":[[63,2]]},"23":{"position":[[227,2]]},"150":{"position":[[231,2]]},"161":{"position":[[594,2]]},"446":{"position":[[329,2]]}}}],["覆盖",{"_index":518,"t":{"78":{"position":[[18,2]]},"237":{"position":[[441,2]]},"553":{"position":[[134,2],[170,2]]},"663":{"position":[[113,2]]},"668":{"position":[[20,2],[90,2],[144,2]]},"670":{"position":[[5,2],[28,2]]},"677":{"position":[[13,2]]}}}],["见",{"_index":411,"t":{"43":{"position":[[262,1]]}}}],["规则",{"_index":1563,"t":{"315":{"position":[[1561,2],[1591,2]]},"317":{"position":[[2401,2]]},"319":{"position":[[317,2],[339,2],[484,2]]},"330":{"position":[[82,2]]},"394":{"position":[[16,2],[51,2]]},"402":{"position":[[4,2]]},"404":{"position":[[3,2]]},"418":{"position":[[79,2]]},"454":{"position":[[655,2]]},"456":{"position":[[769,2]]},"478":{"position":[[67,2],[273,2]]},"512":{"position":[[36,2]]},"624":{"position":[[45,2]]},"639":{"position":[[69,2]]},"663":{"position":[[240,2]]},"690":{"position":[[441,2]]},"712":{"position":[[86,2]]}}}],["规定",{"_index":2196,"t":{"666":{"position":[[118,2]]},"749":{"position":[[74,2]]}}}],["规范",{"_index":48,"t":{"4":{"position":[[80,2],[85,2],[453,2]]},"13":{"position":[[28,2]]},"183":{"position":[[188,2]]},"187":{"position":[[9,2]]},"315":{"position":[[1753,2]]},"519":{"position":[[12,2]]},"573":{"position":[[44,2]]},"663":{"position":[[238,2]]},"743":{"position":[[15,2]]}}}],["视图",{"_index":572,"t":{"85":{"position":[[129,2],[630,2]]},"228":{"position":[[61,2]]},"230":{"position":[[83,2],[477,2]]},"232":{"position":[[42,2]]}}}],["角色",{"_index":449,"t":{"51":{"position":[[16,2]]},"55":{"position":[[218,2]]}}}],["解",{"_index":1962,"t":{"519":{"position":[[607,1]]}}}],["解决",{"_index":670,"t":{"94":{"position":[[97,2]]},"183":{"position":[[56,2]]},"663":{"position":[[41,2]]}}}],["解决办法",{"_index":2356,"t":{"749":{"position":[[81,4]]}}}],["解决方案",{"_index":7,"t":{"2":{"position":[[24,4]]},"9":{"position":[[189,4]]},"126":{"position":[[26,4],[81,4]]},"272":{"position":[[43,4]]}}}],["解析",{"_index":1407,"t":{"270":{"position":[[562,2]]},"519":{"position":[[79,2],[144,2],[1048,2]]},"527":{"position":[[656,2]]},"538":{"position":[[173,2]]},"593":{"position":[[187,2]]},"622":{"position":[[26,2]]},"641":{"position":[[71,2],[293,2]]},"645":{"position":[[399,2]]}}}],["触发",{"_index":1023,"t":{"193":{"position":[[8,2]]},"230":{"position":[[111,2]]},"232":{"position":[[72,2],[346,2]]},"237":{"position":[[166,2],[295,2],[591,2],[631,2],[1228,2]]},"282":{"position":[[187,2]]},"382":{"position":[[240,2]]},"618":{"position":[[433,2]]}}}],["警告",{"_index":302,"t":{"23":{"position":[[331,2]]},"163":{"position":[[120,2]]},"177":{"position":[[53,2]]},"189":{"position":[[119,2]]},"218":{"position":[[85,2]]},"284":{"position":[[0,2]]},"293":{"position":[[0,2]]},"297":{"position":[[0,2]]},"328":{"position":[[126,2]]},"330":{"position":[[0,2]]},"332":{"position":[[0,2]]},"334":{"position":[[0,2]]},"336":{"position":[[0,2]]},"344":{"position":[[0,2],[85,2]]},"348":{"position":[[0,2]]},"350":{"position":[[0,2]]},"354":{"position":[[0,2]]},"356":{"position":[[70,2]]},"358":{"position":[[74,2]]},"360":{"position":[[0,2]]},"382":{"position":[[215,2]]},"408":{"position":[[357,2]]},"420":{"position":[[0,2]]},"426":{"position":[[0,2]]},"430":{"position":[[0,2]]},"432":{"position":[[0,2]]},"436":{"position":[[0,2]]},"442":{"position":[[380,2]]},"450":{"position":[[0,2]]},"452":{"position":[[0,2]]},"454":{"position":[[0,2]]},"456":{"position":[[0,2],[751,2]]},"460":{"position":[[0,2]]},"470":{"position":[[0,2]]},"538":{"position":[[131,2]]},"616":{"position":[[0,2]]},"620":{"position":[[0,2]]},"699":{"position":[[285,2]]},"710":{"position":[[139,2]]}}}],["计划",{"_index":2289,"t":{"724":{"position":[[150,2]]}}}],["计算",{"_index":972,"t":{"183":{"position":[[88,2]]},"295":{"position":[[376,2]]},"456":{"position":[[1086,2]]},"599":{"position":[[263,2]]}}}],["讨论",{"_index":281,"t":{"23":{"position":[[147,2]]},"150":{"position":[[151,2]]}}}],["讲述",{"_index":1901,"t":{"480":{"position":[[2,2]]}}}],["许可证",{"_index":1943,"t":{"492":{"position":[[32,3]]}}}],["设备",{"_index":219,"t":{"15":{"position":[[77,2]]},"653":{"position":[[114,2]]}}}],["设置",{"_index":689,"t":{"96":{"position":[[187,2]]},"107":{"position":[[171,2]]},"109":{"position":[[170,2]]},"115":{"position":[[12,2]]},"124":{"position":[[45,2]]},"137":{"position":[[166,2]]},"139":{"position":[[166,2]]},"222":{"position":[[88,2]]},"237":{"position":[[449,2],[710,2],[1076,2],[1122,2]]},"239":{"position":[[226,2]]},"293":{"position":[[13,2],[468,2]]},"370":{"position":[[108,2],[129,2],[168,2]]},"394":{"position":[[29,2]]},"410":{"position":[[42,2]]},"422":{"position":[[512,2]]},"430":{"position":[[74,2],[86,2]]},"432":{"position":[[48,2]]},"442":{"position":[[451,2],[597,2]]},"446":{"position":[[75,2]]},"454":{"position":[[263,2]]},"458":{"position":[[86,2]]},"460":{"position":[[104,2]]},"462":{"position":[[100,2],[422,2]]},"472":{"position":[[36,2]]},"553":{"position":[[29,2]]},"555":{"position":[[63,2]]},"557":{"position":[[8,2]]},"559":{"position":[[37,2]]},"581":{"position":[[24,2]]},"583":{"position":[[29,2]]},"663":{"position":[[76,2]]},"749":{"position":[[8,2],[50,2],[103,2]]},"772":{"position":[[278,2]]},"774":{"position":[[220,2]]}}}],["访问",{"_index":399,"t":{"43":{"position":[[126,2]]},"49":{"position":[[255,2],[455,2]]},"63":{"position":[[39,2]]},"78":{"position":[[74,2]]},"80":{"position":[[96,2]]},"94":{"position":[[46,2]]},"100":{"position":[[385,2]]},"107":{"position":[[148,2]]},"109":{"position":[[147,2]]},"113":{"position":[[14,2]]},"220":{"position":[[137,2]]},"248":{"position":[[1,2],[69,2]]},"250":{"position":[[48,2]]},"332":{"position":[[197,2]]},"348":{"position":[[121,2]]},"408":{"position":[[486,2]]},"456":{"position":[[517,2]]},"557":{"position":[[73,2]]},"559":{"position":[[16,2],[31,2],[94,2]]},"595":{"position":[[154,2]]},"618":{"position":[[505,2],[747,2]]},"622":{"position":[[38,2]]},"643":{"position":[[178,2]]},"649":{"position":[[36,2]]},"819":{"position":[[109,2]]}}}],["访问控制",{"_index":1347,"t":{"248":{"position":[[84,4]]}}}],["识别",{"_index":765,"t":{"113":{"position":[[317,2]]},"593":{"position":[[154,2]]}}}],["诉求",{"_index":881,"t":{"161":{"position":[[283,2]]},"315":{"position":[[1807,2]]},"677":{"position":[[77,2]]},"756":{"position":[[62,2]]}}}],["详细",{"_index":1527,"t":{"315":{"position":[[552,2]]},"350":{"position":[[27,2]]},"788":{"position":[[47,2]]}}}],["详见",{"_index":560,"t":{"82":{"position":[[187,2]]},"124":{"position":[[85,2]]},"146":{"position":[[134,2]]},"210":{"position":[[451,2]]},"237":{"position":[[1684,2]]},"494":{"position":[[10,2]]},"496":{"position":[[7,2]]},"500":{"position":[[24,2]]},"506":{"position":[[42,2]]},"508":{"position":[[49,2]]},"510":{"position":[[19,2]]},"512":{"position":[[39,2]]},"577":{"position":[[0,2]]},"614":{"position":[[157,2]]},"675":{"position":[[161,2]]},"692":{"position":[[0,2]]},"720":{"position":[[717,2],[961,2]]},"815":{"position":[[36,2]]}}}],["详解",{"_index":1349,"t":{"248":{"position":[[107,2]]},"663":{"position":[[945,2]]}}}],["语义",{"_index":1264,"t":{"237":{"position":[[194,2]]}}}],["语句",{"_index":1848,"t":{"456":{"position":[[779,2]]}}}],["语法",{"_index":195,"t":{"11":{"position":[[62,2]]},"181":{"position":[[15,2]]},"183":{"position":[[6,2],[25,2],[161,2],[186,2]]},"185":{"position":[[225,2]]},"189":{"position":[[0,2]]},"191":{"position":[[0,2]]},"193":{"position":[[70,2]]},"195":{"position":[[37,2]]},"199":{"position":[[0,2]]},"270":{"position":[[569,2]]},"305":{"position":[[363,2]]},"317":{"position":[[2859,2]]},"446":{"position":[[92,2],[279,2],[356,2]]},"464":{"position":[[88,2],[186,2]]},"508":{"position":[[15,2]]},"540":{"position":[[24,2]]},"603":{"position":[[247,2]]},"690":{"position":[[38,2]]}}}],["语言",{"_index":684,"t":{"96":{"position":[[100,2]]},"98":{"position":[[297,2],[316,2]]},"100":{"position":[[23,2],[37,2],[317,2],[322,2],[332,2],[358,2],[382,2],[398,2]]},"103":{"position":[[29,2]]},"105":{"position":[[30,2]]},"107":{"position":[[61,2],[82,2],[140,2],[176,2],[185,2],[363,2]]},"109":{"position":[[81,2],[139,2],[175,2],[184,2],[328,2]]},"111":{"position":[[52,2]]},"113":{"position":[[33,2],[312,2]]},"115":{"position":[[17,2],[147,2],[542,2],[571,2]]},"117":{"position":[[45,2]]},"120":{"position":[[22,2]]},"122":{"position":[[18,2]]},"124":{"position":[[35,2]]},"276":{"position":[[32,2]]}}}],["说明",{"_index":214,"t":{"15":{"position":[[45,2]]},"23":{"position":[[42,2]]},"82":{"position":[[198,2]]},"150":{"position":[[46,2]]},"191":{"position":[[123,2]]},"386":{"position":[[49,2]]},"388":{"position":[[45,2]]},"468":{"position":[[36,2]]},"817":{"position":[[131,2]]}}}],["请",{"_index":410,"t":{"43":{"position":[[261,1]]},"142":{"position":[[55,1]]},"199":{"position":[[144,1]]},"235":{"position":[[105,1],[1763,1]]},"248":{"position":[[74,1]]},"295":{"position":[[403,1]]},"319":{"position":[[279,1]]},"382":{"position":[[218,1]]},"415":{"position":[[49,1]]},"442":{"position":[[403,1]]},"519":{"position":[[1326,1]]},"603":{"position":[[249,1]]},"663":{"position":[[911,1]]},"682":{"position":[[240,1]]},"714":{"position":[[95,1]]}}}],["请求",{"_index":53,"t":{"4":{"position":[[100,2]]},"41":{"position":[[41,2]]},"43":{"position":[[265,2]]},"47":{"position":[[290,2]]},"107":{"position":[[159,2]]},"109":{"position":[[158,2]]},"222":{"position":[[53,2],[80,2]]},"224":{"position":[[2,2]]},"226":{"position":[[19,2],[70,2],[156,2],[291,2]]},"230":{"position":[[23,2],[55,2],[115,2]]},"232":{"position":[[12,2],[76,2],[350,2]]},"235":{"position":[[148,2]]},"237":{"position":[[22,2],[213,2],[244,2],[276,2],[297,2],[331,2],[354,2],[395,2],[438,2],[444,2],[469,2],[487,2],[546,2],[586,2],[626,2],[668,2],[690,2],[872,2],[915,2],[935,2],[979,2],[1014,2],[1080,2],[1126,2],[1180,2],[1230,2],[1306,2]]},"239":{"position":[[11,2],[27,2],[51,2],[407,2],[581,2],[664,2],[719,2]]},"241":{"position":[[21,2],[28,2],[397,2],[499,2]]},"248":{"position":[[8,2]]},"250":{"position":[[70,2],[80,2]]},"293":{"position":[[621,2]]},"321":{"position":[[289,2],[297,2],[568,2],[634,2]]},"340":{"position":[[46,2]]},"500":{"position":[[17,2]]},"519":{"position":[[51,2],[114,2],[220,2],[232,2],[249,2],[598,2],[632,2],[865,2],[1018,2],[1059,2],[1076,2],[1090,2],[1109,2],[1337,2],[1364,2]]},"521":{"position":[[13,2],[779,2],[820,2]]},"527":{"position":[[45,2],[63,2],[96,2],[574,2]]},"531":{"position":[[14,2],[43,2],[66,2],[112,2],[614,2],[665,2]]},"573":{"position":[[99,2]]},"597":{"position":[[50,2],[90,2],[104,2]]},"601":{"position":[[82,2]]},"605":{"position":[[16,2]]},"618":{"position":[[158,2]]},"649":{"position":[[62,2],[389,2],[635,2]]},"657":{"position":[[174,2],[312,2],[526,2],[711,2],[840,2]]},"728":{"position":[[66,2]]}}}],["读取",{"_index":1627,"t":{"332":{"position":[[123,2]]}}}],["调用",{"_index":406,"t":{"43":{"position":[[188,2]]},"107":{"position":[[93,2]]},"109":{"position":[[92,2]]},"115":{"position":[[45,2]]},"226":{"position":[[276,2]]},"228":{"position":[[24,2],[64,2]]},"230":{"position":[[71,2],[88,2],[123,2],[480,2],[587,2],[683,2]]},"232":{"position":[[61,2],[239,2]]},"241":{"position":[[403,2],[505,2]]},"295":{"position":[[304,2],[912,2],[1161,2]]},"297":{"position":[[289,2],[544,2],[617,2]]},"328":{"position":[[204,2]]},"332":{"position":[[71,2]]},"657":{"position":[[74,2],[135,2]]},"675":{"position":[[53,2]]},"710":{"position":[[217,2]]},"745":{"position":[[10,2]]},"747":{"position":[[32,2],[131,2]]}}}],["调试",{"_index":17,"t":{"2":{"position":[[61,2]]},"4":{"position":[[428,2]]},"72":{"position":[[2,2]]},"307":{"position":[[52,2]]},"386":{"position":[[17,2]]},"486":{"position":[[18,2],[26,2]]},"488":{"position":[[7,2]]},"591":{"position":[[177,2]]},"595":{"position":[[127,2]]},"718":{"position":[[96,2]]},"722":{"position":[[27,2],[151,2]]},"768":{"position":[[498,2],[868,2]]},"819":{"position":[[73,2],[81,2]]},"825":{"position":[[5,2],[29,2],[109,2],[253,2]]}}}],["负责",{"_index":1574,"t":{"317":{"position":[[24,2]]}}}],["账户",{"_index":553,"t":{"82":{"position":[[150,2]]}}}],["贴合",{"_index":43,"t":{"4":{"position":[[68,2]]}}}],["资源",{"_index":508,"t":{"74":{"position":[[62,2]]},"78":{"position":[[83,2]]},"80":{"position":[[12,2]]},"92":{"position":[[18,2],[48,2]]},"388":{"position":[[13,2]]},"394":{"position":[[11,2],[31,2],[70,2]]},"396":{"position":[[9,2],[18,2],[90,2],[112,2],[198,2],[283,2]]},"400":{"position":[[70,2]]},"402":{"position":[[29,2]]},"404":{"position":[[8,2],[19,2],[28,2],[162,2]]},"406":{"position":[[13,2],[76,2]]},"408":{"position":[[18,2],[34,2],[82,2],[324,2],[371,2],[414,2]]},"430":{"position":[[53,2]]},"490":{"position":[[108,2]]},"502":{"position":[[6,2]]},"535":{"position":[[443,2],[478,2]]},"538":{"position":[[157,2]]},"546":{"position":[[17,2]]},"587":{"position":[[12,2]]},"618":{"position":[[153,2],[173,2]]},"728":{"position":[[249,2]]},"756":{"position":[[112,2]]},"768":{"position":[[463,2],[597,2],[984,2]]}}}],["资源共享",{"_index":1348,"t":{"248":{"position":[[97,4]]}}}],["资讯",{"_index":2419,"t":{"788":{"position":[[78,2]]}}}],["走",{"_index":1537,"t":{"315":{"position":[[701,1],[921,1]]}}}],["越来越",{"_index":2176,"t":{"663":{"position":[[198,3]]}}}],["足够",{"_index":1968,"t":{"519":{"position":[[1204,2]]}}}],["跨",{"_index":138,"t":{"7":{"position":[[189,1]]},"248":{"position":[[39,1],[67,1],[95,1]]},"284":{"position":[[23,1]]},"542":{"position":[[262,1]]},"677":{"position":[[75,1]]}}}],["路径",{"_index":501,"t":{"70":{"position":[[15,2]]},"92":{"position":[[53,2]]},"330":{"position":[[114,2]]},"334":{"position":[[90,2]]},"386":{"position":[[157,2]]},"388":{"position":[[153,2]]},"418":{"position":[[236,2]]},"454":{"position":[[625,2]]},"456":{"position":[[169,2],[1088,2]]},"516":{"position":[[42,2]]},"612":{"position":[[270,2]]},"639":{"position":[[88,2]]},"705":{"position":[[297,2]]},"710":{"position":[[315,2]]},"762":{"position":[[828,2]]}}}],["路径名",{"_index":1987,"t":{"527":{"position":[[617,3]]}}}],["路由",{"_index":16,"t":{"2":{"position":[[58,2]]},"4":{"position":[[88,2]]},"7":{"position":[[89,2]]},"37":{"position":[[23,2],[34,2]]},"85":{"position":[[1146,2]]},"87":{"position":[[704,2]]},"94":{"position":[[13,2],[63,2]]},"96":{"position":[[58,2],[229,2]]},"100":{"position":[[3,2],[10,2],[31,2],[298,2],[327,2],[390,2]]},"113":{"position":[[0,2],[21,2],[48,2],[58,2],[481,2]]},"115":{"position":[[77,2],[83,2]]},"146":{"position":[[59,2]]},"165":{"position":[[125,2]]},"177":{"position":[[36,2],[157,2]]},"179":{"position":[[4,2]]},"286":{"position":[[5,2]]},"288":{"position":[[5,2]]},"319":{"position":[[285,2],[315,2],[323,2],[330,2],[352,2],[541,2],[605,2]]},"326":{"position":[[7,2]]},"328":{"position":[[16,2]]},"330":{"position":[[33,2],[80,2]]},"340":{"position":[[10,2],[22,2]]},"342":{"position":[[12,2]]},"350":{"position":[[19,2]]},"354":{"position":[[29,2],[35,2]]},"358":{"position":[[26,2],[103,2]]},"370":{"position":[[45,2],[54,2],[110,2],[164,2],[192,2],[388,2]]},"456":{"position":[[139,2],[359,2],[379,2],[515,2],[544,2],[636,2],[665,2],[757,2],[767,2],[904,2],[930,2],[954,2]]},"462":{"position":[[218,2],[357,2]]},"490":{"position":[[204,2]]},"506":{"position":[[25,2]]},"512":{"position":[[2,2],[22,2],[34,2],[41,2]]},"514":{"position":[[97,2]]},"527":{"position":[[2,2]]},"531":{"position":[[25,2],[50,2],[73,2]]},"542":{"position":[[28,2]]},"565":{"position":[[10,2]]},"573":{"position":[[11,2],[32,2]]},"575":{"position":[[2,2]]},"607":{"position":[[13,2],[22,2]]},"610":{"position":[[19,2],[65,2]]},"612":{"position":[[13,2],[127,2]]},"614":{"position":[[0,2],[136,2]]},"616":{"position":[[88,2],[338,2],[378,2]]},"618":{"position":[[21,2],[118,2],[181,2],[230,2],[269,2],[298,2],[379,2],[514,2],[561,2],[743,2],[771,2]]},"620":{"position":[[26,2]]},"622":{"position":[[31,2],[41,2],[59,2]]},"624":{"position":[[35,2],[40,2],[53,2],[58,2],[135,2],[149,2],[175,2],[180,2]]},"626":{"position":[[15,2]]},"628":{"position":[[18,2]]},"630":{"position":[[27,2]]},"632":{"position":[[21,2]]},"639":{"position":[[3,2],[24,2],[67,2]]},"641":{"position":[[55,2],[74,2],[296,2]]},"643":{"position":[[5,2],[176,2]]},"649":{"position":[[70,2]]},"657":{"position":[[9,2],[111,2],[560,2]]},"682":{"position":[[238,2],[264,2]]},"703":{"position":[[4,2],[16,2],[35,2],[48,2]]},"705":{"position":[[3,2],[22,2],[40,2],[154,2]]},"708":{"position":[[47,2],[76,2]]},"710":{"position":[[35,2],[227,2]]},"712":{"position":[[84,2]]},"720":{"position":[[723,2]]},"756":{"position":[[130,2]]},"788":{"position":[[96,2]]},"792":{"position":[[3,2],[385,2]]}}}],["跳",{"_index":2257,"t":{"699":{"position":[[120,1]]},"718":{"position":[[94,1]]}}}],["跳转",{"_index":402,"t":{"43":{"position":[[138,2],[198,2]]},"113":{"position":[[39,2]]},"115":{"position":[[85,2]]},"328":{"position":[[23,2]]},"334":{"position":[[50,2],[76,2],[92,2]]},"352":{"position":[[61,2]]},"618":{"position":[[184,2],[205,2]]},"626":{"position":[[18,2]]},"628":{"position":[[20,2]]},"630":{"position":[[29,2]]},"632":{"position":[[23,2]]},"657":{"position":[[113,2]]},"708":{"position":[[51,2]]},"710":{"position":[[37,2]]}}}],["转",{"_index":2132,"t":{"624":{"position":[[140,1]]}}}],["转义字符",{"_index":2133,"t":{"624":{"position":[[166,4]]}}}],["转化",{"_index":1591,"t":{"317":{"position":[[2861,2],[2895,2]]},"448":{"position":[[115,2]]},"768":{"position":[[680,2],[692,2]]}}}],["转化成",{"_index":1105,"t":{"212":{"position":[[382,3],[408,3]]}}}],["转换",{"_index":1590,"t":{"317":{"position":[[2852,2]]},"666":{"position":[[75,2],[241,2],[254,2],[340,2]]}}}],["转换成",{"_index":1096,"t":{"212":{"position":[[115,3]]}}}],["转码",{"_index":1725,"t":{"400":{"position":[[92,2]]}}}],["转而",{"_index":1780,"t":{"432":{"position":[[58,2]]}}}],["轮询",{"_index":1270,"t":{"237":{"position":[[360,2],[774,2],[816,2],[833,2]]}}}],["轻松",{"_index":2118,"t":{"618":{"position":[[15,2]]}}}],["较",{"_index":370,"t":{"41":{"position":[[36,1]]},"733":{"position":[[245,1]]}}}],["较为",{"_index":898,"t":{"163":{"position":[[155,2]]}}}],["较大",{"_index":356,"t":{"39":{"position":[[16,2]]},"519":{"position":[[1178,2]]},"733":{"position":[[380,2]]},"743":{"position":[[22,2]]}}}],["较慢",{"_index":1875,"t":{"464":{"position":[[167,2]]},"521":{"position":[[58,2]]}}}],["辅助",{"_index":246,"t":{"19":{"position":[[27,2]]},"167":{"position":[[49,2]]}}}],["输出",{"_index":925,"t":{"173":{"position":[[100,2]]},"315":{"position":[[550,2],[628,2]]},"330":{"position":[[209,2]]},"388":{"position":[[5,2]]},"434":{"position":[[24,2]]},"516":{"position":[[40,2]]},"712":{"position":[[195,2]]},"768":{"position":[[409,2],[465,2],[599,2]]}}}],["边界",{"_index":1664,"t":{"368":{"position":[[153,2]]},"567":{"position":[[12,2]]},"675":{"position":[[15,2]]}}}],["达到",{"_index":1865,"t":{"462":{"position":[[333,2]]},"585":{"position":[[344,2]]},"587":{"position":[[241,2]]},"618":{"position":[[168,2]]},"626":{"position":[[59,2]]},"653":{"position":[[131,2]]}}}],["达成",{"_index":2119,"t":{"618":{"position":[[136,2]]}}}],["迁移",{"_index":886,"t":{"163":{"position":[[25,2],[175,2],[272,2]]},"167":{"position":[[29,2],[53,2],[69,2]]},"173":{"position":[[8,2],[22,2],[35,2]]},"317":{"position":[[18,2],[42,2]]},"319":{"position":[[367,2]]},"720":{"position":[[829,2]]}}}],["过",{"_index":354,"t":{"39":{"position":[[6,1]]},"41":{"position":[[23,1],[52,1]]},"448":{"position":[[498,1]]},"460":{"position":[[92,1]]},"462":{"position":[[194,1],[204,1]]},"699":{"position":[[121,1]]}}}],["过于",{"_index":1605,"t":{"319":{"position":[[354,2]]}}}],["过滤",{"_index":1595,"t":{"317":{"position":[[3107,2]]},"454":{"position":[[422,2]]}}}],["过程",{"_index":868,"t":{"146":{"position":[[86,2]]},"519":{"position":[[86,2]]},"521":{"position":[[797,2]]}}}],["运营",{"_index":658,"t":{"89":{"position":[[144,2]]}}}],["运行",{"_index":173,"t":{"9":{"position":[[123,2]]},"15":{"position":[[162,2]]},"63":{"position":[[34,2]]},"82":{"position":[[53,2]]},"85":{"position":[[1149,2]]},"146":{"position":[[13,2]]},"165":{"position":[[106,2],[137,2]]},"171":{"position":[[43,2]]},"183":{"position":[[80,2]]},"203":{"position":[[172,2]]},"205":{"position":[[49,2]]},"259":{"position":[[208,2]]},"261":{"position":[[882,2]]},"268":{"position":[[186,2]]},"270":{"position":[[1023,2]]},"348":{"position":[[108,2]]},"372":{"position":[[22,2]]},"422":{"position":[[702,2]]},"426":{"position":[[67,2]]},"506":{"position":[[17,2]]},"516":{"position":[[9,2],[54,2]]},"548":{"position":[[21,2],[73,2]]},"555":{"position":[[25,2]]},"559":{"position":[[13,2],[88,2]]},"563":{"position":[[11,2]]},"647":{"position":[[98,2]]},"653":{"position":[[59,2]]},"684":{"position":[[11,2]]},"720":{"position":[[354,2]]},"756":{"position":[[119,2]]},"758":{"position":[[315,2]]},"760":{"position":[[97,2],[341,2]]},"762":{"position":[[82,2],[202,2],[251,2]]},"766":{"position":[[31,2]]},"768":{"position":[[349,2]]},"770":{"position":[[53,2]]},"786":{"position":[[2,2],[12,2],[185,2]]}}}],["返回",{"_index":426,"t":{"47":{"position":[[107,2]]},"107":{"position":[[181,2]]},"109":{"position":[[180,2]]},"235":{"position":[[49,2],[91,2],[1769,2]]},"237":{"position":[[215,2]]},"239":{"position":[[239,2],[727,2]]},"243":{"position":[[37,2],[76,2],[147,2]]},"257":{"position":[[160,2]]},"266":{"position":[[170,2]]},"299":{"position":[[572,2]]},"330":{"position":[[29,2]]},"332":{"position":[[8,2],[31,2],[79,2]]},"334":{"position":[[68,2]]},"336":{"position":[[29,2]]},"338":{"position":[[11,2],[309,2]]},"340":{"position":[[8,2]]},"342":{"position":[[10,2]]},"344":{"position":[[40,2]]},"348":{"position":[[168,2]]},"352":{"position":[[172,2]]},"521":{"position":[[728,2]]},"531":{"position":[[725,2]]},"595":{"position":[[195,2]]},"599":{"position":[[275,2]]},"601":{"position":[[87,2]]},"649":{"position":[[493,2]]}}}],["返回值",{"_index":724,"t":{"107":{"position":[[40,3]]},"226":{"position":[[514,3]]},"237":{"position":[[170,3]]},"527":{"position":[[660,3]]},"531":{"position":[[668,3]]},"599":{"position":[[0,3],[53,3],[95,3],[183,3],[265,3]]},"649":{"position":[[148,3]]}}}],["还是",{"_index":191,"t":{"11":{"position":[[37,2]]},"13":{"position":[[35,2]]},"243":{"position":[[13,2]]},"735":{"position":[[446,2]]}}}],["还有",{"_index":1919,"t":{"484":{"position":[[28,2]]}}}],["这个",{"_index":968,"t":{"183":{"position":[[59,2]]},"585":{"position":[[69,2]]},"616":{"position":[[370,2]]},"618":{"position":[[324,2]]},"657":{"position":[[596,2]]}}}],["这么",{"_index":795,"t":{"115":{"position":[[111,2]]}}}],["这些",{"_index":133,"t":{"7":{"position":[[157,2],[178,2]]},"15":{"position":[[143,2]]},"78":{"position":[[76,2]]},"189":{"position":[[174,2]]},"216":{"position":[[72,2]]},"218":{"position":[[134,2]]},"295":{"position":[[274,2],[345,2],[861,2]]},"396":{"position":[[196,2]]},"535":{"position":[[500,2]]},"675":{"position":[[55,2]]},"733":{"position":[[92,2]]},"745":{"position":[[305,2]]}}}],["这时",{"_index":660,"t":{"92":{"position":[[23,2]]},"94":{"position":[[80,2]]},"239":{"position":[[59,2]]},"259":{"position":[[205,2]]},"649":{"position":[[43,2]]},"819":{"position":[[134,2]]},"821":{"position":[[149,2]]},"827":{"position":[[75,2]]}}}],["这样",{"_index":732,"t":{"107":{"position":[[143,2]]},"109":{"position":[[142,2]]},"115":{"position":[[139,2],[518,2]]},"299":{"position":[[506,2]]},"440":{"position":[[382,2]]},"531":{"position":[[718,2]]},"601":{"position":[[76,2]]},"618":{"position":[[384,2],[715,2]]},"624":{"position":[[32,2],[48,2]]},"626":{"position":[[21,2]]},"649":{"position":[[98,2]]},"690":{"position":[[282,2]]},"735":{"position":[[259,2]]}}}],["这种",{"_index":1464,"t":{"299":{"position":[[527,2]]},"519":{"position":[[158,2],[223,2]]}}}],["这部分",{"_index":1081,"t":{"210":{"position":[[71,3],[97,3]]}}}],["这里",{"_index":1069,"t":{"205":{"position":[[263,2]]},"728":{"position":[[153,2]]}}}],["进一步",{"_index":943,"t":{"179":{"position":[[51,3]]},"519":{"position":[[1082,3]]}}}],["进入",{"_index":650,"t":{"89":{"position":[[83,2]]},"171":{"position":[[3,2]]},"237":{"position":[[1082,2],[1128,2]]},"303":{"position":[[34,2]]},"519":{"position":[[1026,2]]},"819":{"position":[[14,2]]}}}],["进去",{"_index":526,"t":{"78":{"position":[[59,2]]}}}],["进度",{"_index":1874,"t":{"464":{"position":[[165,2]]}}}],["进行",{"_index":159,"t":{"9":{"position":[[64,2]]},"15":{"position":[[131,2]]},"39":{"position":[[21,2]]},"41":{"position":[[12,2]]},"49":{"position":[[7,2]]},"55":{"position":[[131,2]]},"74":{"position":[[28,2]]},"76":{"position":[[23,2]]},"78":{"position":[[15,2]]},"89":{"position":[[95,2]]},"111":{"position":[[50,2]]},"133":{"position":[[21,2]]},"161":{"position":[[27,2]]},"163":{"position":[[173,2],[265,2]]},"175":{"position":[[49,2]]},"220":{"position":[[24,2]]},"230":{"position":[[69,2]]},"235":{"position":[[17,2]]},"239":{"position":[[13,2],[81,2]]},"295":{"position":[[908,2],[1127,2]]},"303":{"position":[[6,2]]},"315":{"position":[[30,2]]},"317":{"position":[[10,2],[40,2]]},"319":{"position":[[265,2],[365,2]]},"328":{"position":[[202,2]]},"334":{"position":[[48,2]]},"338":{"position":[[200,2]]},"340":{"position":[[35,2]]},"400":{"position":[[82,2]]},"402":{"position":[[31,2]]},"404":{"position":[[26,2],[42,2]]},"408":{"position":[[29,2],[484,2]]},"418":{"position":[[238,2]]},"422":{"position":[[526,2]]},"440":{"position":[[290,2]]},"442":{"position":[[66,2],[123,2],[582,2],[595,2]]},"446":{"position":[[129,2],[225,2],[268,2]]},"454":{"position":[[235,2],[259,2]]},"456":{"position":[[910,2]]},"464":{"position":[[98,2],[211,2]]},"476":{"position":[[24,2],[177,2]]},"484":{"position":[[195,2]]},"486":{"position":[[9,2]]},"506":{"position":[[13,2]]},"516":{"position":[[83,2]]},"519":{"position":[[1264,2],[1333,2]]},"593":{"position":[[198,2]]},"612":{"position":[[125,2]]},"618":{"position":[[244,2]]},"626":{"position":[[13,2],[53,2]]},"628":{"position":[[16,2]]},"630":{"position":[[25,2]]},"632":{"position":[[19,2]]},"641":{"position":[[95,2]]},"643":{"position":[[34,2]]},"647":{"position":[[90,2]]},"666":{"position":[[112,2],[248,2]]},"677":{"position":[[95,2]]},"682":{"position":[[62,2],[253,2]]},"697":{"position":[[63,2]]},"701":{"position":[[138,2]]},"705":{"position":[[152,2]]},"710":{"position":[[215,2]]},"720":{"position":[[31,2]]},"722":{"position":[[149,2]]},"728":{"position":[[40,2],[146,2]]},"733":{"position":[[31,2]]},"756":{"position":[[68,2]]},"758":{"position":[[30,2]]},"768":{"position":[[38,2],[688,2],[762,2],[781,2],[1120,2]]},"786":{"position":[[216,2]]},"794":{"position":[[21,2]]},"796":{"position":[[26,2]]},"798":{"position":[[26,2]]},"825":{"position":[[107,2],[251,2]]}}}],["远程",{"_index":484,"t":{"63":{"position":[[13,2]]}}}],["追加",{"_index":1801,"t":{"442":{"position":[[186,2]]}}}],["适合",{"_index":210,"t":{"13":{"position":[[0,2]]}}}],["适应",{"_index":2195,"t":{"666":{"position":[[115,2]]},"733":{"position":[[254,2]]}}}],["适用",{"_index":1447,"t":{"295":{"position":[[905,2]]},"446":{"position":[[111,2],[205,2]]},"645":{"position":[[103,2],[112,2]]},"728":{"position":[[30,2],[124,2]]}}}],["适配",{"_index":151,"t":{"9":{"position":[[32,2]]},"720":{"position":[[807,2],[855,2]]},"728":{"position":[[300,2]]}}}],["选",{"_index":850,"t":{"139":{"position":[[240,1]]},"146":{"position":[[23,1]]},"224":{"position":[[6,1]]},"239":{"position":[[221,1]]},"348":{"position":[[211,1]]},"454":{"position":[[644,1]]},"573":{"position":[[103,1],[142,1]]},"758":{"position":[[195,1],[309,1]]},"760":{"position":[[91,1],[335,1]]},"772":{"position":[[183,1]]}}}],["选择",{"_index":178,"t":{"9":{"position":[[153,2],[201,2]]},"17":{"position":[[28,2]]},"96":{"position":[[172,2]]},"161":{"position":[[267,2]]},"222":{"position":[[9,2]]},"446":{"position":[[70,2],[348,2]]},"521":{"position":[[64,2]]}}}],["选择器",{"_index":2167,"t":{"663":{"position":[[70,3],[195,3]]},"737":{"position":[[12,3],[36,3]]},"743":{"position":[[163,3]]}}}],["选项",{"_index":694,"t":{"98":{"position":[[75,2]]},"100":{"position":[[48,2]]},"386":{"position":[[43,2],[440,2]]},"388":{"position":[[39,2],[246,2]]},"444":{"position":[[702,2]]},"817":{"position":[[59,2]]}}}],["通",{"_index":2130,"t":{"622":{"position":[[29,1],[57,1]]}}}],["通俗",{"_index":254,"t":{"19":{"position":[[101,2]]}}}],["通信",{"_index":198,"t":{"11":{"position":[[70,2]]},"297":{"position":[[33,2]]}}}],["通常",{"_index":225,"t":{"15":{"position":[[138,2]]},"43":{"position":[[10,2],[99,2]]},"47":{"position":[[10,2]]},"57":{"position":[[8,2]]},"239":{"position":[[6,2]]},"354":{"position":[[38,2]]},"514":{"position":[[93,2]]},"561":{"position":[[21,2]]},"587":{"position":[[39,2]]},"622":{"position":[[65,2]]},"649":{"position":[[0,2],[31,2]]}}}],["通用",{"_index":82,"t":{"4":{"position":[[271,2]]},"19":{"position":[[45,2],[56,2]]},"394":{"position":[[14,2]]},"514":{"position":[[2,2]]},"579":{"position":[[14,2]]},"618":{"position":[[341,2]]}}}],["通讯",{"_index":1146,"t":{"222":{"position":[[29,2]]}}}],["通过",{"_index":66,"t":{"4":{"position":[[155,2],[166,2],[321,2],[376,2]]},"7":{"position":[[170,2]]},"15":{"position":[[179,2]]},"19":{"position":[[70,2]]},"23":{"position":[[248,2]]},"43":{"position":[[184,2]]},"47":{"position":[[30,2]]},"51":{"position":[[32,2]]},"78":{"position":[[2,2],[67,2]]},"129":{"position":[[0,2]]},"131":{"position":[[0,2]]},"133":{"position":[[4,2]]},"150":{"position":[[254,2]]},"161":{"position":[[21,2]]},"171":{"position":[[41,2]]},"203":{"position":[[52,2],[127,2]]},"205":{"position":[[6,2]]},"210":{"position":[[0,2],[49,2]]},"218":{"position":[[107,2]]},"220":{"position":[[6,2],[40,2]]},"222":{"position":[[11,2],[66,2]]},"226":{"position":[[274,2]]},"230":{"position":[[86,2]]},"232":{"position":[[45,2]]},"235":{"position":[[106,2]]},"246":{"position":[[30,2]]},"248":{"position":[[52,2]]},"250":{"position":[[94,2]]},"297":{"position":[[277,2],[605,2]]},"299":{"position":[[540,2]]},"301":{"position":[[0,2]]},"305":{"position":[[0,2]]},"315":{"position":[[540,2],[737,2],[1011,2],[1813,2]]},"319":{"position":[[258,2],[334,2]]},"332":{"position":[[331,2],[444,2]]},"334":{"position":[[17,2]]},"346":{"position":[[40,2]]},"356":{"position":[[75,2],[124,2]]},"358":{"position":[[79,2],[130,2]]},"362":{"position":[[7,2]]},"364":{"position":[[135,2]]},"374":{"position":[[35,2]]},"376":{"position":[[33,2]]},"380":{"position":[[31,2]]},"396":{"position":[[110,2]]},"404":{"position":[[17,2],[36,2]]},"406":{"position":[[0,2]]},"408":{"position":[[455,2]]},"422":{"position":[[719,2]]},"432":{"position":[[60,2]]},"442":{"position":[[182,2],[589,2]]},"448":{"position":[[95,2],[467,2]]},"454":{"position":[[394,2],[658,2],[837,2]]},"456":{"position":[[370,2],[880,2]]},"458":{"position":[[71,2]]},"519":{"position":[[610,2],[999,2],[1217,2]]},"523":{"position":[[6,2],[40,2],[167,2]]},"527":{"position":[[21,2],[69,2],[121,2]]},"529":{"position":[[267,2]]},"542":{"position":[[2,2]]},"544":{"position":[[52,2],[69,2]]},"548":{"position":[[9,2]]},"557":{"position":[[56,2]]},"579":{"position":[[36,2]]},"581":{"position":[[12,2]]},"583":{"position":[[17,2]]},"589":{"position":[[43,2],[99,2]]},"591":{"position":[[80,2]]},"593":{"position":[[192,2]]},"601":{"position":[[16,2]]},"612":{"position":[[104,2]]},"614":{"position":[[17,2]]},"616":{"position":[[96,2]]},"618":{"position":[[0,2],[723,2]]},"641":{"position":[[80,2],[283,2]]},"643":{"position":[[16,2]]},"649":{"position":[[67,2],[110,2]]},"657":{"position":[[109,2],[533,2]]},"668":{"position":[[2,2]]},"670":{"position":[[188,2]]},"675":{"position":[[51,2]]},"682":{"position":[[18,2]]},"684":{"position":[[53,2],[109,2]]},"690":{"position":[[399,2]]},"699":{"position":[[16,2],[253,2]]},"705":{"position":[[131,2]]},"708":{"position":[[10,2]]},"710":{"position":[[0,2]]},"728":{"position":[[139,2]]},"768":{"position":[[0,2],[27,2],[228,2],[1100,2]]},"770":{"position":[[0,2]]},"772":{"position":[[263,2]]},"774":{"position":[[205,2]]},"817":{"position":[[51,2]]},"823":{"position":[[0,2]]}}}],["通配符",{"_index":2323,"t":{"737":{"position":[[23,3]]}}}],["速度",{"_index":373,"t":{"41":{"position":[[50,2]]},"310":{"position":[[20,2]]},"618":{"position":[[177,2]]}}}],["造成",{"_index":1825,"t":{"446":{"position":[[158,2]]},"448":{"position":[[516,2]]}}}],["逻辑",{"_index":1152,"t":{"222":{"position":[[98,2]]},"226":{"position":[[21,2]]},"272":{"position":[[60,2]]},"315":{"position":[[1170,2]]},"317":{"position":[[2863,2]]},"422":{"position":[[215,2]]},"456":{"position":[[790,2]]},"519":{"position":[[1172,2]]},"523":{"position":[[59,2]]},"529":{"position":[[59,2]]},"614":{"position":[[154,2]]},"618":{"position":[[285,2]]},"756":{"position":[[138,2]]}}}],["遇到",{"_index":229,"t":{"15":{"position":[[169,2]]}}}],["遵循",{"_index":704,"t":{"98":{"position":[[306,2]]},"690":{"position":[[434,2]]}}}],["避免",{"_index":1289,"t":{"237":{"position":[[729,2]]},"462":{"position":[[166,2]]},"519":{"position":[[1162,2]]},"521":{"position":[[41,2]]},"647":{"position":[[20,2]]},"663":{"position":[[188,2]]}}}],["那么",{"_index":718,"t":{"100":{"position":[[283,2]]},"117":{"position":[[339,2]]}}}],["部分",{"_index":920,"t":{"173":{"position":[[13,2]]},"440":{"position":[[114,2]]},"521":{"position":[[78,2]]},"553":{"position":[[96,2]]},"618":{"position":[[292,2]]},"645":{"position":[[432,2]]},"733":{"position":[[64,2]]},"735":{"position":[[323,2]]},"737":{"position":[[5,2]]},"741":{"position":[[33,2]]},"743":{"position":[[27,2]]},"751":{"position":[[63,2]]}}}],["部署",{"_index":489,"t":{"63":{"position":[[52,2]]},"74":{"position":[[64,2]]},"76":{"position":[[25,2]]},"94":{"position":[[32,2]]},"113":{"position":[[476,2]]},"408":{"position":[[408,2]]},"821":{"position":[[164,2]]}}}],["都",{"_index":65,"t":{"4":{"position":[[154,1]]},"9":{"position":[[198,1]]},"13":{"position":[[40,1]]},"17":{"position":[[10,1]]},"23":{"position":[[102,1],[125,1]]},"150":{"position":[[106,1],[129,1]]},"165":{"position":[[17,1]]},"212":{"position":[[112,1]]},"222":{"position":[[7,1]]},"237":{"position":[[161,1],[974,1]]},"241":{"position":[[30,1]]},"243":{"position":[[45,1]]},"250":{"position":[[21,1]]},"408":{"position":[[36,1]]},"519":{"position":[[197,1]]},"527":{"position":[[18,1]]},"555":{"position":[[50,1]]},"557":{"position":[[15,1]]},"573":{"position":[[6,1]]},"645":{"position":[[387,1]]},"657":{"position":[[203,1]]},"663":{"position":[[99,1]]},"735":{"position":[[98,1]]}}}],["配",{"_index":2131,"t":{"622":{"position":[[30,1],[58,1]]}}}],["配合",{"_index":743,"t":{"111":{"position":[[19,2]]},"113":{"position":[[493,2]]},"124":{"position":[[65,2]]},"161":{"position":[[289,2]]},"315":{"position":[[401,2]]},"535":{"position":[[505,2]]},"747":{"position":[[167,2]]},"796":{"position":[[12,2]]},"798":{"position":[[12,2]]}}}],["配置",{"_index":124,"t":{"7":{"position":[[65,2]]},"34":{"position":[[35,2],[54,2]]},"41":{"position":[[73,2]]},"49":{"position":[[35,2]]},"59":{"position":[[273,2]]},"80":{"position":[[38,2]]},"85":{"position":[[1144,2]]},"92":{"position":[[27,2]]},"94":{"position":[[85,2]]},"100":{"position":[[50,2]]},"105":{"position":[[25,2]]},"115":{"position":[[170,2]]},"117":{"position":[[15,2],[144,2]]},"137":{"position":[[233,2],[485,2],[712,2]]},"139":{"position":[[226,2]]},"142":{"position":[[51,2]]},"144":{"position":[[201,2]]},"146":{"position":[[24,2],[132,2]]},"155":{"position":[[111,2]]},"157":{"position":[[30,2]]},"159":{"position":[[35,2],[54,2]]},"161":{"position":[[29,2],[618,2]]},"165":{"position":[[132,2],[140,2]]},"167":{"position":[[60,2]]},"171":{"position":[[63,2]]},"173":{"position":[[66,2]]},"185":{"position":[[32,2]]},"235":{"position":[[1761,2]]},"237":{"position":[[1019,2],[1406,2]]},"239":{"position":[[25,2],[83,2]]},"241":{"position":[[17,2],[26,2],[221,2]]},"250":{"position":[[114,2],[292,2],[450,2]]},"252":{"position":[[77,2]]},"257":{"position":[[174,2],[184,2],[201,2],[450,2],[625,2]]},"266":{"position":[[184,2],[196,2],[215,2]]},"303":{"position":[[56,2]]},"307":{"position":[[30,2],[105,2],[165,2]]},"315":{"position":[[32,2],[364,2],[576,2],[654,2],[882,2],[1109,2],[1154,2],[1491,2],[1611,2],[1741,2],[1771,2],[1835,2]]},"317":{"position":[[8,2],[38,2],[1603,2]]},"319":{"position":[[327,2]]},"321":{"position":[[570,2],[625,2],[901,2],[953,2]]},"324":{"position":[[9,2]]},"326":{"position":[[14,2],[22,2]]},"342":{"position":[[16,2]]},"356":{"position":[[26,2]]},"358":{"position":[[28,2]]},"362":{"position":[[11,2],[33,2]]},"364":{"position":[[163,2]]},"366":{"position":[[5,2],[18,2]]},"370":{"position":[[18,2],[35,2]]},"372":{"position":[[12,2],[35,2]]},"410":{"position":[[14,2],[21,2]]},"415":{"position":[[6,2],[10,2],[47,2]]},"418":{"position":[[94,2],[223,2]]},"420":{"position":[[11,2],[68,2]]},"426":{"position":[[11,2],[31,2]]},"430":{"position":[[11,2]]},"432":{"position":[[11,2]]},"436":{"position":[[11,2],[32,2],[49,2]]},"440":{"position":[[84,2],[161,2],[384,2]]},"442":{"position":[[190,2]]},"444":{"position":[[102,2],[306,2],[524,2],[541,2],[579,2],[600,2]]},"446":{"position":[[314,2],[383,2]]},"448":{"position":[[108,2],[495,2]]},"450":{"position":[[11,2]]},"452":{"position":[[11,2]]},"454":{"position":[[11,2]]},"456":{"position":[[11,2],[927,2]]},"460":{"position":[[40,2]]},"462":{"position":[[259,2]]},"464":{"position":[[193,2]]},"466":{"position":[[46,2]]},"468":{"position":[[34,2],[121,2]]},"470":{"position":[[11,2],[47,2]]},"476":{"position":[[22,2],[67,2],[190,2],[216,2]]},"478":{"position":[[70,2],[136,2]]},"490":{"position":[[396,2]]},"492":{"position":[[19,2]]},"494":{"position":[[15,2]]},"496":{"position":[[0,2]]},"506":{"position":[[20,2]]},"510":{"position":[[5,2]]},"516":{"position":[[36,2]]},"523":{"position":[[19,2],[88,2],[183,2],[197,2]]},"535":{"position":[[525,2]]},"548":{"position":[[44,2],[51,2]]},"551":{"position":[[103,2]]},"553":{"position":[[103,2],[115,2],[144,2]]},"579":{"position":[[63,2]]},"589":{"position":[[37,2],[72,2],[92,2]]},"593":{"position":[[196,2]]},"614":{"position":[[142,2]]},"641":{"position":[[97,2],[288,2]]},"651":{"position":[[22,2]]},"655":{"position":[[63,2]]},"682":{"position":[[64,2],[255,2]]},"684":{"position":[[7,2],[47,2],[82,2],[102,2]]},"686":{"position":[[0,2],[17,2],[34,2]]},"701":{"position":[[16,2],[143,2],[354,2]]},"714":{"position":[[27,2]]},"720":{"position":[[39,2],[61,2],[344,2],[516,2],[693,2]]},"726":{"position":[[0,2],[17,2],[34,2]]},"728":{"position":[[148,2]]},"756":{"position":[[82,2]]},"758":{"position":[[243,2],[318,2]]},"760":{"position":[[344,2],[628,2]]},"762":{"position":[[79,2],[85,2],[254,2],[820,2],[1130,2]]},"766":{"position":[[135,2]]},"768":{"position":[[22,2],[36,2],[225,2],[245,2],[265,2],[275,2],[330,2],[474,2],[595,2],[676,2],[723,2],[735,2],[758,2],[805,2],[849,2],[866,2],[882,2],[916,2],[944,2],[1006,2],[1028,2],[1087,2]]},"770":{"position":[[348,2]]},"772":{"position":[[257,2]]},"774":{"position":[[199,2]]},"776":{"position":[[4,2],[161,2]]},"778":{"position":[[185,2],[201,2]]},"788":{"position":[[21,2],[44,2],[80,2]]},"798":{"position":[[7,2]]},"809":{"position":[[19,2]]},"811":{"position":[[21,2]]},"823":{"position":[[130,2]]}}}],["配置文件",{"_index":835,"t":{"137":{"position":[[3,4]]},"139":{"position":[[3,4]]},"224":{"position":[[75,4]]},"364":{"position":[[19,4]]},"386":{"position":[[153,4]]},"388":{"position":[[149,4]]},"413":{"position":[[40,4]]},"490":{"position":[[367,4],[448,4]]},"494":{"position":[[5,4]]},"498":{"position":[[16,4]]},"701":{"position":[[164,4],[342,4]]},"766":{"position":[[114,4]]},"772":{"position":[[3,4]]},"776":{"position":[[141,4]]}}}],["采用",{"_index":2107,"t":{"607":{"position":[[7,2]]},"670":{"position":[[24,2]]},"705":{"position":[[17,2]]}}}],["里",{"_index":483,"t":{"63":{"position":[[4,1]]},"230":{"position":[[68,1],[85,1]]},"232":{"position":[[44,1]]},"243":{"position":[[6,1]]},"250":{"position":[[11,1]]},"305":{"position":[[300,1]]},"432":{"position":[[246,1]]},"462":{"position":[[142,1],[308,1]]},"595":{"position":[[153,1]]},"670":{"position":[[14,1]]},"735":{"position":[[185,1]]},"762":{"position":[[860,1]]},"782":{"position":[[422,1],[650,1],[917,1]]}}}],["重写",{"_index":1820,"t":{"444":{"position":[[513,2]]},"663":{"position":[[86,2]]}}}],["重复",{"_index":988,"t":{"183":{"position":[[200,2]]},"462":{"position":[[168,2]]}}}],["重定向",{"_index":682,"t":{"96":{"position":[[94,3]]},"113":{"position":[[4,3],[62,3],[485,3]]},"115":{"position":[[79,3]]},"124":{"position":[[27,3]]}}}],["重新",{"_index":1026,"t":{"193":{"position":[[33,2]]},"237":{"position":[[391,2],[896,2],[903,2],[911,2],[931,2],[965,2],[975,2],[1010,2],[1232,2]]},"303":{"position":[[40,2]]},"317":{"position":[[1953,2]]},"319":{"position":[[341,2]]},"521":{"position":[[89,2]]},"618":{"position":[[252,2]]}}}],["重新安装",{"_index":1500,"t":{"313":{"position":[[670,4]]}}}],["重置",{"_index":2303,"t":{"733":{"position":[[62,2]]}}}],["重要",{"_index":2085,"t":{"591":{"position":[[40,2]]}}}],["量",{"_index":290,"t":{"23":{"position":[[200,1],[269,1],[337,1],[399,1]]},"150":{"position":[[204,1],[275,1]]},"161":{"position":[[603,1]]},"315":{"position":[[653,1]]},"442":{"position":[[161,1],[399,1]]}}}],["鉴",{"_index":378,"t":{"43":{"position":[[8,1]]},"756":{"position":[[136,1]]}}}],["针对",{"_index":303,"t":{"23":{"position":[[342,2]]},"43":{"position":[[163,2]]},"126":{"position":[[14,2]]},"396":{"position":[[5,2]]},"607":{"position":[[17,2]]},"618":{"position":[[114,2]]}}}],["钉",{"_index":263,"t":{"21":{"position":[[50,1],[51,1]]},"724":{"position":[[106,1],[107,1]]}}}],["钩子",{"_index":864,"t":{"146":{"position":[[17,2]]}}}],["链",{"_index":182,"t":{"9":{"position":[[182,1]]}}}],["链接",{"_index":1571,"t":{"315":{"position":[[1746,2],[1756,2]]},"488":{"position":[[36,2]]}}}],["错误",{"_index":871,"t":{"146":{"position":[[122,2]]},"189":{"position":[[189,2]]},"239":{"position":[[729,2]]},"243":{"position":[[8,2],[40,2],[78,2]]},"301":{"position":[[63,2]]},"368":{"position":[[151,2]]},"468":{"position":[[57,2],[74,2]]},"542":{"position":[[254,2]]},"567":{"position":[[10,2]]},"663":{"position":[[111,2]]}}}],["错误处理",{"_index":1151,"t":{"222":{"position":[[93,4]]}}}],["键值",{"_index":1431,"t":{"293":{"position":[[721,2],[743,2]]},"776":{"position":[[145,2]]}}}],["镜像",{"_index":1928,"t":{"484":{"position":[[182,2],[260,2],[281,2]]}}}],["长度",{"_index":2191,"t":{"666":{"position":[[47,2]]}}}],["门槛",{"_index":33,"t":{"2":{"position":[[104,2]]},"11":{"position":[[24,2]]},"19":{"position":[[91,2]]}}}],["闪烁",{"_index":1290,"t":{"237":{"position":[[731,2]]}}}],["问题",{"_index":171,"t":{"9":{"position":[[110,2]]},"15":{"position":[[173,2]]},"23":{"position":[[40,2],[184,2]]},"150":{"position":[[44,2],[188,2]]},"183":{"position":[[61,2]]},"216":{"position":[[96,2]]},"248":{"position":[[41,2]]},"454":{"position":[[877,2]]},"612":{"position":[[25,2]]},"663":{"position":[[53,2],[160,2],[176,2]]},"666":{"position":[[78,2]]},"705":{"position":[[52,2]]}}}],["间",{"_index":928,"t":{"175":{"position":[[48,1]]},"618":{"position":[[183,1]]},"626":{"position":[[17,1]]},"708":{"position":[[49,1]]}}}],["间隔",{"_index":1293,"t":{"237":{"position":[[776,2],[996,2],[1004,2],[1066,2],[1112,2]]}}}],["阅读",{"_index":2269,"t":{"714":{"position":[[98,2]]}}}],["防",{"_index":1307,"t":{"237":{"position":[[1064,1],[1084,1]]}}}],["阶段",{"_index":772,"t":{"113":{"position":[[478,2]]},"117":{"position":[[38,2]]},"183":{"position":[[83,2]]},"218":{"position":[[82,2]]},"408":{"position":[[377,2]]},"438":{"position":[[38,2]]},"442":{"position":[[82,2],[136,2],[155,2],[180,2],[392,2],[430,2]]},"770":{"position":[[334,2],[428,2],[512,2],[530,2]]},"786":{"position":[[207,2]]}}}],["阻塞",{"_index":1955,"t":{"519":{"position":[[92,2],[151,2],[1302,2]]},"538":{"position":[[161,2]]},"585":{"position":[[58,2]]},"587":{"position":[[34,2]]}}}],["阿里",{"_index":514,"t":{"78":{"position":[[5,2]]},"89":{"position":[[133,2]]},"488":{"position":[[48,2]]},"589":{"position":[[76,2],[84,2]]},"675":{"position":[[105,2]]},"679":{"position":[[0,2]]},"684":{"position":[[86,2],[94,2]]},"690":{"position":[[75,2]]},"701":{"position":[[71,2],[347,2]]},"710":{"position":[[245,2]]},"724":{"position":[[95,2]]},"728":{"position":[[157,2],[174,2]]}}}],["阿里巴巴",{"_index":2189,"t":{"666":{"position":[[25,4]]}}}],["附上",{"_index":1939,"t":{"488":{"position":[[24,2]]}}}],["附加",{"_index":2437,"t":{"817":{"position":[[53,2]]}}}],["降低",{"_index":32,"t":{"2":{"position":[[100,2]]},"11":{"position":[[17,2]]},"19":{"position":[[87,2]]}}}],["降级",{"_index":1648,"t":{"346":{"position":[[174,2]]},"657":{"position":[[119,2]]}}}],["限于",{"_index":921,"t":{"173":{"position":[[42,2]]}}}],["限制",{"_index":1970,"t":{"519":{"position":[[1214,2]]},"728":{"position":[[6,2]]},"735":{"position":[[58,2]]}}}],["限度",{"_index":1952,"t":{"519":{"position":[[23,2]]}}}],["除",{"_index":1727,"t":{"404":{"position":[[0,1]]}}}],["除了",{"_index":940,"t":{"179":{"position":[[0,2]]},"212":{"position":[[60,2]]},"372":{"position":[[4,2]]}}}],["除此以外",{"_index":1918,"t":{"484":{"position":[[23,4]]},"599":{"position":[[247,4]]}}}],["除非",{"_index":2062,"t":{"585":{"position":[[81,2]]}}}],["随机",{"_index":2098,"t":{"603":{"position":[[11,2],[38,2]]}}}],["隐私",{"_index":798,"t":{"115":{"position":[[136,2]]}}}],["隐藏",{"_index":404,"t":{"43":{"position":[[173,2]]},"237":{"position":[[808,2]]}}}],["难",{"_index":2180,"t":{"663":{"position":[[217,1]]}}}],["集中",{"_index":2239,"t":{"688":{"position":[[14,2]]}}}],["集合",{"_index":1434,"t":{"295":{"position":[[271,2],[858,2]]}}}],["集团",{"_index":2190,"t":{"666":{"position":[[29,2]]}}}],["集成",{"_index":120,"t":{"7":{"position":[[43,2]]},"307":{"position":[[5,2]]}}}],["零",{"_index":2050,"t":{"573":{"position":[[18,1]]}}}],["需",{"_index":268,"t":{"23":{"position":[[36,1],[51,1],[129,1],[139,1],[165,1]]},"28":{"position":[[33,1]]},"49":{"position":[[1,1],[15,1]]},"150":{"position":[[40,1],[55,1],[133,1],[143,1],[169,1]]},"155":{"position":[[42,1]]},"235":{"position":[[90,1]]},"315":{"position":[[668,1]]},"321":{"position":[[14,1],[301,1],[649,1]]},"454":{"position":[[871,1],[875,1]]},"462":{"position":[[225,1],[231,1],[364,1]]},"466":{"position":[[43,1]]},"488":{"position":[[10,1]]},"498":{"position":[[14,1]]},"521":{"position":[[740,1]]},"587":{"position":[[234,1]]},"618":{"position":[[436,1]]},"720":{"position":[[30,1]]},"809":{"position":[[13,1]]},"811":{"position":[[15,1]]}}}],["需求",{"_index":86,"t":{"4":{"position":[[278,2]]},"43":{"position":[[94,2]]},"315":{"position":[[1192,2]]},"478":{"position":[[435,2]]},"768":{"position":[[1095,2]]}}}],["需要",{"_index":134,"t":{"7":{"position":[[161,2]]},"11":{"position":[[5,2],[39,2]]},"15":{"position":[[82,2]]},"23":{"position":[[396,2]]},"47":{"position":[[12,2]]},"74":{"position":[[43,2]]},"92":{"position":[[25,2]]},"94":{"position":[[83,2]]},"96":{"position":[[222,2]]},"98":{"position":[[5,2]]},"113":{"position":[[75,2],[81,2],[491,2]]},"115":{"position":[[164,2],[547,2]]},"122":{"position":[[21,2]]},"124":{"position":[[63,2]]},"133":{"position":[[12,2]]},"163":{"position":[[251,2]]},"167":{"position":[[74,2]]},"173":{"position":[[25,2]]},"175":{"position":[[82,2]]},"214":{"position":[[47,2]]},"216":{"position":[[68,2]]},"224":{"position":[[14,2]]},"237":{"position":[[540,2],[989,2],[1017,2]]},"239":{"position":[[8,2],[62,2]]},"250":{"position":[[92,2]]},"257":{"position":[[2,2]]},"266":{"position":[[2,2]]},"295":{"position":[[63,2]]},"303":{"position":[[50,2]]},"305":{"position":[[282,2]]},"307":{"position":[[25,2],[58,2]]},"315":{"position":[[493,2]]},"338":{"position":[[20,2]]},"340":{"position":[[17,2]]},"370":{"position":[[125,2],[187,2]]},"374":{"position":[[1,2]]},"376":{"position":[[31,2]]},"380":{"position":[[6,2]]},"384":{"position":[[137,2]]},"418":{"position":[[92,2],[221,2]]},"422":{"position":[[577,2],[620,2]]},"442":{"position":[[138,2],[396,2],[580,2]]},"444":{"position":[[509,2],[544,2]]},"446":{"position":[[190,2],[283,2]]},"456":{"position":[[641,2],[1093,2]]},"482":{"position":[[7,2]]},"484":{"position":[[173,2]]},"492":{"position":[[5,2]]},"516":{"position":[[81,2]]},"523":{"position":[[82,2]]},"531":{"position":[[4,2]]},"540":{"position":[[72,2]]},"551":{"position":[[2,2]]},"553":{"position":[[355,2]]},"555":{"position":[[81,2]]},"559":{"position":[[22,2]]},"575":{"position":[[15,2]]},"579":{"position":[[12,2]]},"585":{"position":[[3,2],[85,2]]},"587":{"position":[[3,2]]},"591":{"position":[[63,2],[109,2]]},"593":{"position":[[1,2],[176,2]]},"599":{"position":[[271,2]]},"612":{"position":[[87,2]]},"616":{"position":[[284,2]]},"620":{"position":[[20,2]]},"645":{"position":[[388,2]]},"647":{"position":[[11,2],[66,2]]},"649":{"position":[[663,2]]},"655":{"position":[[32,2]]},"657":{"position":[[176,2],[506,2]]},"666":{"position":[[71,2]]},"672":{"position":[[15,2]]},"690":{"position":[[27,2],[421,2],[470,2]]},"699":{"position":[[34,2],[108,2]]},"705":{"position":[[114,2]]},"720":{"position":[[862,2]]},"722":{"position":[[1,2],[23,2],[62,2]]},"724":{"position":[[25,2]]},"728":{"position":[[68,2]]},"733":{"position":[[29,2],[109,2],[128,2]]},"735":{"position":[[15,2],[270,2],[325,2]]},"743":{"position":[[91,2]]},"760":{"position":[[615,2]]},"762":{"position":[[64,2],[818,2],[1120,2]]},"768":{"position":[[760,2]]},"815":{"position":[[0,2]]},"819":{"position":[[2,2]]},"825":{"position":[[1,2],[25,2]]}}}],["静态",{"_index":59,"t":{"4":{"position":[[128,2]]},"68":{"position":[[4,2]]},"74":{"position":[[60,2]]},"76":{"position":[[9,2]]},"80":{"position":[[55,2]]},"92":{"position":[[46,2]]},"183":{"position":[[113,2]]},"394":{"position":[[9,2]]},"408":{"position":[[16,2],[80,2]]},"490":{"position":[[106,2]]},"502":{"position":[[4,2]]},"523":{"position":[[17,2],[337,2]]},"645":{"position":[[106,2],[129,2]]},"768":{"position":[[461,2]]}}}],["非",{"_index":250,"t":{"19":{"position":[[44,1]]},"78":{"position":[[17,1]]},"214":{"position":[[18,1]]},"218":{"position":[[48,1]]},"226":{"position":[[73,1]]},"268":{"position":[[10,1]]},"382":{"position":[[239,1]]},"540":{"position":[[28,1]]}}}],["非常",{"_index":1456,"t":{"299":{"position":[[33,2]]},"519":{"position":[[255,2]]},"663":{"position":[[121,2]]}}}],["非标",{"_index":1130,"t":{"218":{"position":[[136,2]]}}}],["面",{"_index":2002,"t":{"535":{"position":[[434,1]]},"819":{"position":[[142,1]]}}}],["面向",{"_index":126,"t":{"7":{"position":[[76,2]]},"13":{"position":[[3,2]]},"19":{"position":[[37,2],[54,2]]},"163":{"position":[[3,2]]},"446":{"position":[[261,2]]}}}],["页",{"_index":620,"t":{"85":{"position":[[1060,1]]},"303":{"position":[[2,1]]},"618":{"position":[[334,1]]}}}],["页面",{"_index":153,"t":{"9":{"position":[[40,2],[118,2]]},"37":{"position":[[3,2]]},"41":{"position":[[46,2]]},"43":{"position":[[118,2],[135,2],[144,2],[152,2],[204,2]]},"47":{"position":[[40,2]]},"49":{"position":[[5,2],[17,2],[258,2],[458,2]]},"59":{"position":[[270,2]]},"89":{"position":[[63,2]]},"94":{"position":[[73,2]]},"96":{"position":[[105,2]]},"100":{"position":[[8,2],[20,2],[261,2],[402,2]]},"107":{"position":[[58,2],[79,2],[137,2],[151,2],[188,2]]},"109":{"position":[[78,2],[136,2],[150,2],[187,2]]},"113":{"position":[[17,2]]},"117":{"position":[[89,2]]},"124":{"position":[[40,2]]},"163":{"position":[[193,2],[225,2]]},"226":{"position":[[151,2]]},"237":{"position":[[806,2]]},"248":{"position":[[3,2]]},"276":{"position":[[5,2]]},"284":{"position":[[3,2],[11,2],[24,2]]},"286":{"position":[[67,2]]},"288":{"position":[[57,2]]},"293":{"position":[[3,2]]},"303":{"position":[[8,2],[14,2],[29,2],[37,2],[45,2]]},"310":{"position":[[23,2]]},"319":{"position":[[543,2]]},"332":{"position":[[12,2]]},"340":{"position":[[42,2]]},"370":{"position":[[340,2]]},"432":{"position":[[242,2]]},"456":{"position":[[558,2]]},"468":{"position":[[81,2]]},"490":{"position":[[206,2]]},"519":{"position":[[3,2],[28,2],[109,2],[165,2],[236,2],[592,2],[627,2],[711,2],[860,2],[1028,2],[1267,2],[1304,2]]},"521":{"position":[[6,2],[43,2],[98,2],[169,2],[253,2]]},"527":{"position":[[0,2],[58,2],[92,2],[570,2],[614,2],[639,2],[668,2]]},"529":{"position":[[256,2]]},"531":{"position":[[2,2],[30,2]]},"533":{"position":[[31,2]]},"535":{"position":[[397,2],[414,2],[432,2],[469,2],[490,2],[534,2]]},"538":{"position":[[180,2]]},"542":{"position":[[25,2],[35,2]]},"546":{"position":[[4,2]]},"573":{"position":[[3,2],[94,2],[122,2]]},"575":{"position":[[12,2]]},"579":{"position":[[0,2],[60,2]]},"585":{"position":[[0,2],[41,2],[333,2]]},"587":{"position":[[0,2],[228,2]]},"589":{"position":[[64,2],[70,2],[90,2]]},"614":{"position":[[9,2],[144,2],[159,2]]},"616":{"position":[[45,2],[361,2],[401,2],[420,2]]},"618":{"position":[[48,2],[134,2],[258,2],[282,2]]},"622":{"position":[[98,2]]},"626":{"position":[[32,2],[39,2]]},"641":{"position":[[253,2],[275,2]]},"645":{"position":[[139,2]]},"657":{"position":[[102,2],[117,2]]},"663":{"position":[[2,2],[280,2]]},"670":{"position":[[9,2]]},"684":{"position":[[9,2],[74,2],[80,2],[100,2]]},"686":{"position":[[24,2],[65,2]]},"710":{"position":[[311,2]]},"712":{"position":[[7,2]]},"720":{"position":[[714,2],[791,2]]},"726":{"position":[[24,2],[65,2]]},"796":{"position":[[2,2]]},"798":{"position":[[2,2]]}}}],["顶层",{"_index":2117,"t":{"616":{"position":[[320,2]]}}}],["顶部",{"_index":2123,"t":{"618":{"position":[[339,2]]}}}],["项",{"_index":1567,"t":{"315":{"position":[[1613,1]]},"366":{"position":[[7,1]]},"410":{"position":[[16,1],[23,1]]},"436":{"position":[[51,1]]},"768":{"position":[[247,1],[267,1],[807,1],[918,1],[946,1],[1089,1]]},"776":{"position":[[163,1]]},"778":{"position":[[203,1]]}}}],["项目",{"_index":108,"t":{"4":{"position":[[403,2],[466,2]]},"7":{"position":[[190,2],[202,2]]},"9":{"position":[[50,2],[73,2]]},"23":{"position":[[7,2],[196,2],[230,2]]},"74":{"position":[[30,2]]},"82":{"position":[[74,2],[85,2]]},"85":{"position":[[14,2]]},"89":{"position":[[61,2]]},"96":{"position":[[245,2]]},"150":{"position":[[7,2],[200,2],[234,2]]},"167":{"position":[[24,2]]},"214":{"position":[[50,2]]},"216":{"position":[[35,2]]},"239":{"position":[[3,2]]},"246":{"position":[[0,2]]},"257":{"position":[[5,2]]},"261":{"position":[[159,2]]},"266":{"position":[[5,2]]},"270":{"position":[[104,2]]},"295":{"position":[[44,2]]},"315":{"position":[[37,2]]},"386":{"position":[[19,2]]},"388":{"position":[[2,2]]},"418":{"position":[[84,2]]},"444":{"position":[[547,2]]},"456":{"position":[[935,2]]},"462":{"position":[[192,2]]},"506":{"position":[[0,2]]},"514":{"position":[[0,2]]},"516":{"position":[[64,2]]},"519":{"position":[[1097,2]]},"591":{"position":[[127,2]]},"593":{"position":[[4,2]]},"610":{"position":[[5,2]]},"661":{"position":[[4,2]]},"690":{"position":[[54,2]]},"701":{"position":[[12,2],[162,2],[340,2]]},"720":{"position":[[777,2],[838,2]]},"733":{"position":[[27,2],[50,2],[107,2]]},"756":{"position":[[103,2]]},"760":{"position":[[3,2]]},"766":{"position":[[92,2],[145,2]]},"817":{"position":[[133,2]]},"819":{"position":[[6,2],[16,2]]},"823":{"position":[[12,2],[110,2]]}}}],["顺序",{"_index":766,"t":{"113":{"position":[[319,2]]},"189":{"position":[[140,2],[187,2]]}}}],["预",{"_index":1774,"t":{"424":{"position":[[85,1]]},"519":{"position":[[1058,1],[1089,1]]},"659":{"position":[[55,1],[306,1]]},"663":{"position":[[658,1]]}}}],["预料",{"_index":1144,"t":{"220":{"position":[[164,2]]}}}],["预期",{"_index":1770,"t":{"422":{"position":[[689,2]]}}}],["预览",{"_index":90,"t":{"4":{"position":[[304,2]]},"386":{"position":[[327,2]]},"468":{"position":[[79,2]]},"722":{"position":[[153,2]]},"825":{"position":[[111,2],[255,2]]}}}],["领域",{"_index":24,"t":{"2":{"position":[[78,2]]},"4":{"position":[[183,2]]},"7":{"position":[[80,2]]},"19":{"position":[[41,2],[58,2]]}}}],["额外",{"_index":884,"t":{"161":{"position":[[616,2]]},"307":{"position":[[27,2]]},"442":{"position":[[140,2]]},"462":{"position":[[98,2]]},"585":{"position":[[5,2]]}}}],["风格",{"_index":2179,"t":{"663":{"position":[[213,2]]}}}],["飞",{"_index":0,"t":{"2":{"position":[[0,1]]},"13":{"position":[[9,1]]},"15":{"position":[[103,1]]},"17":{"position":[[0,1]]},"19":{"position":[[51,1],[96,1]]},"126":{"position":[[10,1]]}}}],["首先",{"_index":692,"t":{"98":{"position":[[0,2]]},"257":{"position":[[0,2]]},"261":{"position":[[65,2]]},"266":{"position":[[0,2]]},"270":{"position":[[0,2]]},"531":{"position":[[17,2]]},"733":{"position":[[126,2]]},"819":{"position":[[0,2]]}}}],["首次",{"_index":1022,"t":{"193":{"position":[[2,2]]},"380":{"position":[[10,2]]},"519":{"position":[[202,2],[240,2],[1346,2]]}}}],["首页",{"_index":2110,"t":{"612":{"position":[[22,2],[64,2],[289,2]]},"705":{"position":[[49,2],[91,2],[316,2]]}}}],["香港",{"_index":711,"t":{"98":{"position":[[348,2]]}}}],["驼峰",{"_index":2247,"t":{"690":{"position":[[436,2]]}}}],["验证",{"_index":1914,"t":{"482":{"position":[[259,2]]},"484":{"position":[[138,2],[224,2]]}}}],["高",{"_index":130,"t":{"7":{"position":[[112,1],[166,1]]},"553":{"position":[[375,1]]},"749":{"position":[[19,1],[32,1],[39,1],[63,1],[78,1],[108,1]]}}}],["高阶",{"_index":2361,"t":{"756":{"position":[[143,2]]}}}],["默认",{"_index":119,"t":{"7":{"position":[[41,2]]},"15":{"position":[[12,2],[116,2]]},"23":{"position":[[123,2]]},"37":{"position":[[20,2],[68,2]]},"41":{"position":[[4,2]]},"55":{"position":[[120,2]]},"59":{"position":[[15,2]]},"82":{"position":[[87,2]]},"100":{"position":[[320,2]]},"105":{"position":[[28,2]]},"107":{"position":[[88,2]]},"109":{"position":[[87,2]]},"113":{"position":[[52,2]]},"122":{"position":[[15,2]]},"124":{"position":[[21,2]]},"150":{"position":[[127,2]]},"155":{"position":[[69,2]]},"165":{"position":[[28,2]]},"235":{"position":[[46,2],[142,2]]},"237":{"position":[[221,2],[252,2],[431,2],[530,2],[751,2],[819,2],[918,2]]},"239":{"position":[[254,2]]},"241":{"position":[[241,2],[394,2]]},"257":{"position":[[172,2]]},"266":{"position":[[182,2]]},"295":{"position":[[65,2]]},"299":{"position":[[6,2],[563,2]]},"307":{"position":[[3,2]]},"319":{"position":[[310,2]]},"386":{"position":[[320,2]]},"394":{"position":[[2,2]]},"396":{"position":[[95,2]]},"408":{"position":[[13,2],[78,2]]},"418":{"position":[[65,2]]},"434":{"position":[[29,2]]},"438":{"position":[[27,2]]},"442":{"position":[[26,2]]},"458":{"position":[[39,2],[109,2]]},"460":{"position":[[44,2]]},"462":{"position":[[91,2],[395,2]]},"466":{"position":[[21,2]]},"476":{"position":[[162,2]]},"478":{"position":[[185,2]]},"484":{"position":[[13,2]]},"490":{"position":[[8,2]]},"510":{"position":[[10,2]]},"516":{"position":[[67,2]]},"521":{"position":[[0,2]]},"535":{"position":[[377,2]]},"557":{"position":[[0,2]]},"559":{"position":[[0,2]]},"573":{"position":[[61,2]]},"597":{"position":[[0,2]]},"624":{"position":[[0,2]]},"641":{"position":[[0,2]]},"645":{"position":[[85,2]]},"655":{"position":[[26,2]]},"661":{"position":[[40,2]]},"733":{"position":[[18,2],[70,2],[94,2],[112,2]]},"735":{"position":[[287,2],[331,2],[385,2],[448,2]]},"749":{"position":[[69,2]]},"794":{"position":[[6,2]]},"821":{"position":[[36,2]]},"827":{"position":[[59,2]]}}}],["默认值",{"_index":323,"t":{"28":{"position":[[12,3]]},"30":{"position":[[12,3]]},"32":{"position":[[12,3]]},"34":{"position":[[27,3]]},"68":{"position":[[24,3]]},"70":{"position":[[29,3]]},"72":{"position":[[24,3]]},"124":{"position":[[11,3]]},"142":{"position":[[20,3]]},"155":{"position":[[19,3]]},"157":{"position":[[11,3]]},"159":{"position":[[27,3]]},"237":{"position":[[134,3]]},"368":{"position":[[25,3],[119,3],[171,3]]},"370":{"position":[[92,3],[214,3],[410,3]]},"418":{"position":[[34,3]]},"420":{"position":[[58,3]]},"422":{"position":[[36,3]]},"424":{"position":[[67,3]]},"426":{"position":[[25,3]]},"428":{"position":[[10,3]]},"430":{"position":[[35,3]]},"432":{"position":[[41,3]]},"434":{"position":[[10,3]]},"436":{"position":[[25,3]]},"438":{"position":[[11,3]]},"440":{"position":[[35,3]]},"442":{"position":[[19,3]]},"444":{"position":[[79,3]]},"446":{"position":[[29,3]]},"448":{"position":[[81,3]]},"450":{"position":[[26,3]]},"452":{"position":[[26,3]]},"454":{"position":[[128,3]]},"456":{"position":[[96,3]]},"458":{"position":[[20,3]]},"462":{"position":[[60,3]]},"464":{"position":[[58,3]]},"466":{"position":[[11,3]]},"468":{"position":[[20,3]]},"470":{"position":[[40,3]]},"472":{"position":[[11,3]]},"474":{"position":[[42,3]]},"476":{"position":[[146,3]]},"478":{"position":[[30,3]]}}}],["默认设置",{"_index":1258,"t":{"237":{"position":[[88,4]]}}}],["默认页",{"_index":2443,"t":{"819":{"position":[[139,3]]}}}]],"pipeline":["stemmer"]}}] \ No newline at end of file +[{"documents":[{"i":1,"t":"关于","u":"/docs/guide/about","b":["指南"]},{"i":22,"t":"使用 Ant Design 组件","u":"/docs/guide/advanced/antd","b":["进阶"]},{"i":35,"t":"代码分包","u":"/docs/guide/advanced/code-splitting","b":["进阶"]},{"i":42,"t":"权限管理","u":"/docs/guide/advanced/auth","b":["进阶"]},{"i":60,"t":"一体化","u":"/docs/guide/advanced/faas","b":[]},{"i":62,"t":"CSS 资源本地化","u":"/docs/guide/advanced/css-assets-local","b":["进阶"]},{"i":73,"t":"部署","u":"/docs/guide/advanced/deploy","b":["进阶"]},{"i":95,"t":"国际化","u":"/docs/guide/advanced/i18n","b":["进阶"]},{"i":125,"t":"使用 Fusion 组件","u":"/docs/guide/advanced/fusion","b":["进阶"]},{"i":138,"t":"从 Rax App 迁移","u":"/docs/guide/advanced/integrate-from-rax","b":["进阶"]},{"i":150,"t":"微前端","u":"/docs/guide/advanced/icestark","b":["进阶"]},{"i":174,"t":"微前端","u":"/docs/guide/advanced/micro-frontends","b":[]},{"i":176,"t":"组件缓存","u":"/docs/guide/advanced/keep-alive","b":["进阶"]},{"i":182,"t":"JSX+","u":"/docs/guide/advanced/jsx-plus","b":["进阶"]},{"i":202,"t":"兼容 Rax","u":"/docs/guide/advanced/rax-compat","b":["进阶"]},{"i":221,"t":"HTTP 请求","u":"/docs/guide/advanced/request","b":["进阶"]},{"i":251,"t":"单元测试","u":"/docs/guide/advanced/unit-test","b":["进阶"]},{"i":271,"t":"状态管理","u":"/docs/guide/advanced/store","b":["进阶"]},{"i":308,"t":"使用原子化 CSS 能力","u":"/docs/guide/advanced/unocss","b":["进阶"]},{"i":314,"t":"应用入口","u":"/docs/guide/basic/app","b":["指南"]},{"i":326,"t":"元素可见","u":"/docs/guide/basic/appear","b":["指南"]},{"i":336,"t":"静态资源","u":"/docs/guide/basic/assets","b":["指南"]},{"i":352,"t":"从 ice.js 2.x 升级","u":"/docs/guide/advanced/update-from-icejs2","b":["进阶"]},{"i":366,"t":"API","u":"/docs/guide/basic/api","b":["指南"]},{"i":405,"t":"命令行 CLI","u":"/docs/guide/basic/cli","b":["指南"]},{"i":415,"t":"开发环境","u":"/docs/guide/basic/development","b":["指南"]},{"i":425,"t":"数据加载","u":"/docs/guide/basic/data-loader","b":["指南"]},{"i":440,"t":"目录结构","u":"/docs/guide/basic/directory","b":["指南"]},{"i":468,"t":"构建配置","u":"/docs/guide/basic/config","b":["指南"]},{"i":538,"t":"数据模拟 Mock","u":"/docs/guide/basic/mock","b":["指南"]},{"i":554,"t":"环境变量","u":"/docs/guide/basic/env","b":["指南"]},{"i":579,"t":"定制 HTML","u":"/docs/guide/basic/document","b":["指南"]},{"i":594,"t":"路由","u":"/docs/guide/basic/router","b":["指南"]},{"i":632,"t":"服务端渲染 SSR","u":"/docs/guide/basic/ssr","b":["指南"]},{"i":638,"t":"构建时渲染 SSG","u":"/docs/guide/basic/ssg","b":["指南"]},{"i":646,"t":"样式","u":"/docs/guide/basic/style","b":["指南"]},{"i":661,"t":"应用配置","u":"/docs/guide/miniapp/app-config","b":["进阶","小程序"]},{"i":668,"t":"API","u":"/docs/guide/miniapp/api","b":["进阶","小程序"]},{"i":675,"t":"原生生命周期事件使用","u":"/docs/guide/miniapp/native-lifecycle-events","b":["进阶","小程序"]},{"i":680,"t":"原生项目工程配置","u":"/docs/guide/miniapp/project-config","b":["进阶","小程序"]},{"i":682,"t":"页面","u":"/docs/guide/basic/page","b":["指南"]},{"i":700,"t":"组件使用","u":"/docs/guide/miniapp/component-use","b":["进阶","小程序"]},{"i":708,"t":"使用 HTML 标签","u":"/docs/guide/miniapp/use-html","b":["进阶","小程序"]},{"i":734,"t":"快速开始","u":"/docs/guide/miniapp/start","b":["进阶","小程序"]},{"i":750,"t":"路由","u":"/docs/guide/miniapp/router","b":["进阶","小程序"]},{"i":761,"t":"插件列表","u":"/docs/guide/plugins/plugin-list","b":["插件"]},{"i":776,"t":"实战教程","u":"/docs/guide/practice","b":[]},{"i":778,"t":"快速开始","u":"/docs/guide/start","b":[]},{"i":792,"t":"开发插件","u":"/docs/guide/plugins/plugin-dev","b":["插件"]}],"index":{"version":"2.3.9","fields":["t"],"fieldVectors":[["t/1",[0,4.475]],["t/22",[1,1.498,2,2.575,3,2.575,4,1.768]],["t/35",[5,3.591,6,3.591]],["t/42",[7,3.591,8,3.068]],["t/60",[9,4.475]],["t/62",[10,2.562,11,2.562,12,2.999]],["t/73",[13,4.475]],["t/95",[14,4.475]],["t/125",[1,1.745,4,2.06,15,2.999]],["t/138",[16,2.562,17,2.999,18,2.999]],["t/150",[19,3.068,20,3.068]],["t/174",[19,3.068,20,3.068]],["t/176",[4,2.466,21,3.591]],["t/182",[22,4.475]],["t/202",[16,3.068,23,3.591]],["t/221",[24,3.591,25,3.591]],["t/251",[26,4.475]],["t/271",[8,3.068,27,3.591]],["t/308",[1,1.498,10,2.2,28,2.575,29,2.575]],["t/314",[30,3.068,31,3.591]],["t/326",[32,3.591,33,3.591]],["t/336",[11,3.068,34,3.591]],["t/352",[35,2.256,36,2.256,37,2.256,38,2.256,39,2.256]],["t/366",[40,3.823]],["t/405",[41,3.591,42,3.591]],["t/415",[43,3.068,44,3.591]],["t/425",[45,3.068,46,3.591]],["t/440",[47,3.591,48,3.591]],["t/468",[49,3.068,50,2.724]],["t/538",[45,2.562,51,2.999,52,2.999]],["t/554",[53,4.475]],["t/579",[54,3.591,55,3.068]],["t/594",[56,3.823]],["t/632",[57,2.999,58,2.562,59,2.999]],["t/638",[49,2.2,58,2.2,60,2.575,61,2.575]],["t/646",[62,4.475]],["t/661",[30,3.068,50,2.724]],["t/668",[40,3.823]],["t/675",[1,1.498,63,2.2,64,2.575,65,2.575]],["t/680",[50,1.953,63,2.2,66,2.575,67,2.575]],["t/682",[68,4.475]],["t/700",[1,2.09,4,2.466]],["t/708",[1,1.745,55,2.562,69,2.999]],["t/734",[70,3.068,71,3.068]],["t/750",[56,3.823]],["t/761",[72,3.068,73,3.591]],["t/776",[74,3.591,75,3.591]],["t/778",[70,3.068,71,3.068]],["t/792",[43,3.068,72,3.068]]],"invertedIndex":[["2",{"_index":37,"t":{"352":{"position":[[9,1]]}}}],["ant",{"_index":2,"t":{"22":{"position":[[3,3]]}}}],["api",{"_index":40,"t":{"366":{"position":[[0,3]]},"668":{"position":[[0,3]]}}}],["app",{"_index":17,"t":{"138":{"position":[[6,3]]}}}],["cli",{"_index":42,"t":{"405":{"position":[[4,3]]}}}],["css",{"_index":10,"t":{"62":{"position":[[0,3]]},"308":{"position":[[6,3]]}}}],["design",{"_index":3,"t":{"22":{"position":[[7,6]]}}}],["fusion",{"_index":15,"t":{"125":{"position":[[3,6]]}}}],["html",{"_index":55,"t":{"579":{"position":[[3,4]]},"708":{"position":[[3,4]]}}}],["http",{"_index":24,"t":{"221":{"position":[[0,4]]}}}],["ic",{"_index":35,"t":{"352":{"position":[[2,3]]}}}],["js",{"_index":36,"t":{"352":{"position":[[6,2]]}}}],["jsx",{"_index":22,"t":{"182":{"position":[[0,3]]}}}],["mock",{"_index":52,"t":{"538":{"position":[[5,4]]}}}],["rax",{"_index":16,"t":{"138":{"position":[[2,3]]},"202":{"position":[[3,3]]}}}],["ssg",{"_index":61,"t":{"638":{"position":[[6,3]]}}}],["ssr",{"_index":59,"t":{"632":{"position":[[6,3]]}}}],["x",{"_index":38,"t":{"352":{"position":[[11,1]]}}}],["一体化",{"_index":9,"t":{"60":{"position":[[0,3]]}}}],["事件",{"_index":65,"t":{"675":{"position":[[6,2]]}}}],["代码",{"_index":5,"t":{"35":{"position":[[0,2]]}}}],["使用",{"_index":1,"t":{"22":{"position":[[0,2]]},"125":{"position":[[0,2]]},"308":{"position":[[0,2]]},"675":{"position":[[8,2]]},"700":{"position":[[2,2]]},"708":{"position":[[0,2]]}}}],["元素",{"_index":32,"t":{"326":{"position":[[0,2]]}}}],["入口",{"_index":31,"t":{"314":{"position":[[2,2]]}}}],["关于",{"_index":0,"t":{"1":{"position":[[0,2]]}}}],["兼容",{"_index":23,"t":{"202":{"position":[[0,2]]}}}],["分包",{"_index":6,"t":{"35":{"position":[[2,2]]}}}],["列表",{"_index":73,"t":{"761":{"position":[[2,2]]}}}],["前端",{"_index":20,"t":{"150":{"position":[[1,2]]},"174":{"position":[[1,2]]}}}],["加载",{"_index":46,"t":{"425":{"position":[[2,2]]}}}],["升级",{"_index":39,"t":{"352":{"position":[[13,2]]}}}],["单元测试",{"_index":26,"t":{"251":{"position":[[0,4]]}}}],["原子化",{"_index":28,"t":{"308":{"position":[[2,3]]}}}],["原生",{"_index":63,"t":{"675":{"position":[[0,2]]},"680":{"position":[[0,2]]}}}],["可见",{"_index":33,"t":{"326":{"position":[[2,2]]}}}],["命令行",{"_index":41,"t":{"405":{"position":[[0,3]]}}}],["国际化",{"_index":14,"t":{"95":{"position":[[0,3]]}}}],["定制",{"_index":54,"t":{"579":{"position":[[0,2]]}}}],["实战",{"_index":74,"t":{"776":{"position":[[0,2]]}}}],["工程",{"_index":67,"t":{"680":{"position":[[4,2]]}}}],["应用",{"_index":30,"t":{"314":{"position":[[0,2]]},"661":{"position":[[0,2]]}}}],["开发",{"_index":43,"t":{"415":{"position":[[0,2]]},"792":{"position":[[0,2]]}}}],["开始",{"_index":71,"t":{"734":{"position":[[2,2]]},"778":{"position":[[2,2]]}}}],["微",{"_index":19,"t":{"150":{"position":[[0,1]]},"174":{"position":[[0,1]]}}}],["快速",{"_index":70,"t":{"734":{"position":[[0,2]]},"778":{"position":[[0,2]]}}}],["插件",{"_index":72,"t":{"761":{"position":[[0,2]]},"792":{"position":[[2,2]]}}}],["教程",{"_index":75,"t":{"776":{"position":[[2,2]]}}}],["数据",{"_index":45,"t":{"425":{"position":[[0,2]]},"538":{"position":[[0,2]]}}}],["时",{"_index":60,"t":{"638":{"position":[[2,1]]}}}],["服务端",{"_index":57,"t":{"632":{"position":[[0,3]]}}}],["本地化",{"_index":12,"t":{"62":{"position":[[6,3]]}}}],["权限",{"_index":7,"t":{"42":{"position":[[0,2]]}}}],["构建",{"_index":49,"t":{"468":{"position":[[0,2]]},"638":{"position":[[0,2]]}}}],["标签",{"_index":69,"t":{"708":{"position":[[8,2]]}}}],["样式",{"_index":62,"t":{"646":{"position":[[0,2]]}}}],["模拟",{"_index":51,"t":{"538":{"position":[[2,2]]}}}],["渲染",{"_index":58,"t":{"632":{"position":[[3,2]]},"638":{"position":[[3,2]]}}}],["状态",{"_index":27,"t":{"271":{"position":[[0,2]]}}}],["环境",{"_index":44,"t":{"415":{"position":[[2,2]]}}}],["环境变量",{"_index":53,"t":{"554":{"position":[[0,4]]}}}],["生命周期",{"_index":64,"t":{"675":{"position":[[2,4]]}}}],["目录",{"_index":47,"t":{"440":{"position":[[0,2]]}}}],["管理",{"_index":8,"t":{"42":{"position":[[2,2]]},"271":{"position":[[2,2]]}}}],["组件",{"_index":4,"t":{"22":{"position":[[14,2]]},"125":{"position":[[10,2]]},"176":{"position":[[0,2]]},"700":{"position":[[0,2]]}}}],["结构",{"_index":48,"t":{"440":{"position":[[2,2]]}}}],["缓存",{"_index":21,"t":{"176":{"position":[[2,2]]}}}],["能力",{"_index":29,"t":{"308":{"position":[[10,2]]}}}],["请求",{"_index":25,"t":{"221":{"position":[[5,2]]}}}],["资源",{"_index":11,"t":{"62":{"position":[[4,2]]},"336":{"position":[[2,2]]}}}],["路由",{"_index":56,"t":{"594":{"position":[[0,2]]},"750":{"position":[[0,2]]}}}],["迁移",{"_index":18,"t":{"138":{"position":[[10,2]]}}}],["部署",{"_index":13,"t":{"73":{"position":[[0,2]]}}}],["配置",{"_index":50,"t":{"468":{"position":[[2,2]]},"661":{"position":[[2,2]]},"680":{"position":[[6,2]]}}}],["静态",{"_index":34,"t":{"336":{"position":[[0,2]]}}}],["页面",{"_index":68,"t":{"682":{"position":[[0,2]]}}}],["项目",{"_index":66,"t":{"680":{"position":[[2,2]]}}}]],"pipeline":["stemmer"]}},{"documents":[{"i":3,"t":"特性 🎉","u":"/docs/guide/about","h":"#特性-","p":1},{"i":5,"t":"常见问题 📝","u":"/docs/guide/about","h":"#常见问题-","p":1},{"i":6,"t":"与直接使用 Webpack 相比,使用 ice.js 有什么优势?","u":"/docs/guide/about","h":"#与直接使用-webpack-相比使用-icejs-有什么优势","p":1},{"i":8,"t":"我正在使用 ice.js 2,需要升级到 ice.js 3 吗?","u":"/docs/guide/about","h":"#我正在使用-icejs-2需要升级到-icejs-3-吗","p":1},{"i":10,"t":"使用飞冰 (ICE) 是否需要具备一定的前端基础?","u":"/docs/guide/about","h":"#使用飞冰-ice-是否需要具备一定的前端基础","p":1},{"i":12,"t":"资深前端同学是否适合使用飞冰?","u":"/docs/guide/about","h":"#资深前端同学是否适合使用飞冰","p":1},{"i":14,"t":"飞冰的浏览器兼容策略是怎样的?","u":"/docs/guide/about","h":"#飞冰的浏览器兼容策略是怎样的","p":1},{"i":16,"t":"飞冰可以使用哪些 UI 组件?","u":"/docs/guide/about","h":"#飞冰可以使用哪些-ui-组件","p":1},{"i":18,"t":"飞冰跟低代码方案有什么关系?","u":"/docs/guide/about","h":"#飞冰跟低代码方案有什么关系","p":1},{"i":20,"t":"联系我们 🧼","u":"/docs/guide/about","h":"#联系我们-","p":1},{"i":24,"t":"开启插件","u":"/docs/guide/advanced/antd","h":"#开启插件","p":22},{"i":26,"t":"配置","u":"/docs/guide/advanced/antd","h":"#配置","p":22},{"i":27,"t":"importStyle","u":"/docs/guide/advanced/antd","h":"#importstyle","p":22},{"i":29,"t":"dark","u":"/docs/guide/advanced/antd","h":"#dark","p":22},{"i":31,"t":"compact","u":"/docs/guide/advanced/antd","h":"#compact","p":22},{"i":33,"t":"theme","u":"/docs/guide/advanced/antd","h":"#theme","p":22},{"i":36,"t":"默认策略","u":"/docs/guide/advanced/code-splitting","h":"#默认策略","p":35},{"i":38,"t":"组件级别的代码分割","u":"/docs/guide/advanced/code-splitting","h":"#组件级别的代码分割","p":35},{"i":40,"t":"控制三方依赖的分包","u":"/docs/guide/advanced/code-splitting","h":"#控制三方依赖的分包","p":35},{"i":44,"t":"安装插件","u":"/docs/guide/advanced/auth","h":"#安装插件","p":42},{"i":46,"t":"初始化权限数据","u":"/docs/guide/advanced/auth","h":"#初始化权限数据","p":42},{"i":48,"t":"页面权限","u":"/docs/guide/advanced/auth","h":"#页面权限","p":42},{"i":50,"t":"操作权限","u":"/docs/guide/advanced/auth","h":"#操作权限","p":42},{"i":52,"t":"获取权限数据","u":"/docs/guide/advanced/auth","h":"#获取权限数据","p":42},{"i":54,"t":"设置权限数据","u":"/docs/guide/advanced/auth","h":"#设置权限数据","p":42},{"i":56,"t":"自定义权限组件","u":"/docs/guide/advanced/auth","h":"#自定义权限组件","p":42},{"i":58,"t":"自定义 Fallback","u":"/docs/guide/advanced/auth","h":"#自定义-fallback","p":42},{"i":64,"t":"开启插件","u":"/docs/guide/advanced/css-assets-local","h":"#开启插件","p":62},{"i":66,"t":"配置","u":"/docs/guide/advanced/css-assets-local","h":"#配置","p":62},{"i":67,"t":"outputPath","u":"/docs/guide/advanced/css-assets-local","h":"#outputpath","p":62},{"i":69,"t":"relativeCssPath","u":"/docs/guide/advanced/css-assets-local","h":"#relativecsspath","p":62},{"i":71,"t":"enableInDev","u":"/docs/guide/advanced/css-assets-local","h":"#enableindev","p":62},{"i":75,"t":"资源发布","u":"/docs/guide/advanced/deploy","h":"#资源发布","p":73},{"i":77,"t":"CDN 发布","u":"/docs/guide/advanced/deploy","h":"#cdn-发布","p":73},{"i":79,"t":"Nginx","u":"/docs/guide/advanced/deploy","h":"#nginx","p":73},{"i":81,"t":"静态资源托管服务","u":"/docs/guide/advanced/deploy","h":"#静态资源托管服务","p":73},{"i":83,"t":"后端应用集成","u":"/docs/guide/advanced/deploy","h":"#后端应用集成","p":73},{"i":84,"t":"Node.js 应用","u":"/docs/guide/advanced/deploy","h":"#nodejs-应用","p":73},{"i":86,"t":"Java 应用","u":"/docs/guide/advanced/deploy","h":"#java-应用","p":73},{"i":88,"t":"小程序发布","u":"/docs/guide/advanced/deploy","h":"#小程序发布","p":73},{"i":90,"t":"FAQ","u":"/docs/guide/advanced/deploy","h":"#faq","p":73},{"i":91,"t":"静态资源在非根目录或 CDN","u":"/docs/guide/advanced/deploy","h":"#静态资源在非根目录或-cdn","p":73},{"i":93,"t":"部署的 HTML 在非根目录","u":"/docs/guide/advanced/deploy","h":"#部署的-html-在非根目录","p":73},{"i":97,"t":"快速开始","u":"/docs/guide/advanced/i18n","h":"#快速开始","p":95},{"i":99,"t":"国际化路由","u":"/docs/guide/advanced/i18n","h":"#国际化路由","p":95},{"i":101,"t":"获取语言信息","u":"/docs/guide/advanced/i18n","h":"#获取语言信息","p":95},{"i":102,"t":"getLocales()","u":"/docs/guide/advanced/i18n","h":"#getlocales","p":95},{"i":104,"t":"getDefaultLocale()","u":"/docs/guide/advanced/i18n","h":"#getdefaultlocale","p":95},{"i":106,"t":"useLocale()","u":"/docs/guide/advanced/i18n","h":"#uselocale","p":95},{"i":108,"t":"withLocale()","u":"/docs/guide/advanced/i18n","h":"#withlocale","p":95},{"i":110,"t":"切换语言","u":"/docs/guide/advanced/i18n","h":"#切换语言","p":95},{"i":112,"t":"路由自动重定向","u":"/docs/guide/advanced/i18n","h":"#路由自动重定向","p":95},{"i":114,"t":"禁用 Cookie","u":"/docs/guide/advanced/i18n","h":"#禁用-cookie","p":95},{"i":116,"t":"SSG","u":"/docs/guide/advanced/i18n","h":"#ssg","p":95},{"i":118,"t":"插件选项","u":"/docs/guide/advanced/i18n","h":"#插件选项","p":95},{"i":119,"t":"locales","u":"/docs/guide/advanced/i18n","h":"#locales","p":95},{"i":121,"t":"defaultLocale","u":"/docs/guide/advanced/i18n","h":"#defaultlocale","p":95},{"i":123,"t":"autoRedirect","u":"/docs/guide/advanced/i18n","h":"#autoredirect","p":95},{"i":127,"t":"开启插件","u":"/docs/guide/advanced/fusion","h":"#开启插件","p":125},{"i":129,"t":"配置","u":"/docs/guide/advanced/fusion","h":"#配置","p":125},{"i":130,"t":"importStyle","u":"/docs/guide/advanced/fusion","h":"#importstyle","p":125},{"i":132,"t":"themePackage","u":"/docs/guide/advanced/fusion","h":"#themepackage","p":125},{"i":134,"t":"theme","u":"/docs/guide/advanced/fusion","h":"#theme","p":125},{"i":136,"t":"推荐配置","u":"/docs/guide/advanced/fusion","h":"#推荐配置","p":125},{"i":140,"t":"ice.js 与 Rax App 的差异","u":"/docs/guide/advanced/integrate-from-rax","h":"#icejs-与-rax-app-的差异","p":138},{"i":142,"t":"Rax App 项目迁移","u":"/docs/guide/advanced/integrate-from-rax","h":"#rax-app-项目迁移","p":138},{"i":144,"t":"安装","u":"/docs/guide/advanced/integrate-from-rax","h":"#安装","p":138},{"i":146,"t":"使用","u":"/docs/guide/advanced/integrate-from-rax","h":"#使用","p":138},{"i":148,"t":"注意⚠️","u":"/docs/guide/advanced/integrate-from-rax","h":"#注意️","p":138},{"i":152,"t":"初始化应用","u":"/docs/guide/advanced/icestark","h":"#初始化应用","p":150},{"i":153,"t":"框架应用","u":"/docs/guide/advanced/icestark","h":"#框架应用","p":150},{"i":155,"t":"微应用","u":"/docs/guide/advanced/icestark","h":"#微应用","p":150},{"i":157,"t":"应用改造","u":"/docs/guide/advanced/icestark","h":"#应用改造","p":150},{"i":159,"t":"安装插件","u":"/docs/guide/advanced/icestark","h":"#安装插件","p":150},{"i":161,"t":"框架应用改造","u":"/docs/guide/advanced/icestark","h":"#框架应用改造","p":150},{"i":163,"t":"微应用改造","u":"/docs/guide/advanced/icestark","h":"#微应用改造","p":150},{"i":165,"t":"附录","u":"/docs/guide/advanced/icestark","h":"#附录","p":150},{"i":166,"t":"框架应用配置","u":"/docs/guide/advanced/icestark","h":"#框架应用配置","p":150},{"i":168,"t":"layout","u":"/docs/guide/advanced/icestark","h":"#layout","p":150},{"i":170,"t":"appRouter","u":"/docs/guide/advanced/icestark","h":"#approuter","p":150},{"i":172,"t":"微应用配置","u":"/docs/guide/advanced/icestark","h":"#微应用配置","p":150},{"i":178,"t":"缓存路由组件","u":"/docs/guide/advanced/keep-alive","h":"#缓存路由组件","p":176},{"i":180,"t":"缓存其他组件","u":"/docs/guide/advanced/keep-alive","h":"#缓存其他组件","p":176},{"i":184,"t":"为什么需要 JSX+","u":"/docs/guide/advanced/jsx-plus","h":"#为什么需要-jsx","p":182},{"i":186,"t":"安装使用","u":"/docs/guide/advanced/jsx-plus","h":"#安装使用","p":182},{"i":188,"t":"指令语法","u":"/docs/guide/advanced/jsx-plus","h":"#指令语法","p":182},{"i":190,"t":"1. 条件判断","u":"/docs/guide/advanced/jsx-plus","h":"#1-条件判断","p":182},{"i":192,"t":"2. 循环列表","u":"/docs/guide/advanced/jsx-plus","h":"#2-循环列表","p":182},{"i":194,"t":"3. 单次渲染","u":"/docs/guide/advanced/jsx-plus","h":"#3-单次渲染","p":182},{"i":196,"t":"4. 插槽指令","u":"/docs/guide/advanced/jsx-plus","h":"#4-插槽指令","p":182},{"i":198,"t":"5. Fragment 组件","u":"/docs/guide/advanced/jsx-plus","h":"#5-fragment-组件","p":182},{"i":200,"t":"6. 类名绑定","u":"/docs/guide/advanced/jsx-plus","h":"#6-类名绑定","p":182},{"i":204,"t":"插件安装与使用","u":"/docs/guide/advanced/rax-compat","h":"#插件安装与使用","p":202},{"i":206,"t":"rax-compat 兼容性","u":"/docs/guide/advanced/rax-compat","h":"#rax-compat-兼容性","p":202},{"i":207,"t":"Rax 核心 API","u":"/docs/guide/advanced/rax-compat","h":"#rax-核心-api","p":202},{"i":209,"t":"Appear 和 Disappear 事件的处理","u":"/docs/guide/advanced/rax-compat","h":"#appear-和-disappear-事件的处理","p":202},{"i":211,"t":"样式的处理","u":"/docs/guide/advanced/rax-compat","h":"#样式的处理","p":202},{"i":213,"t":"兼容 rax-swiper","u":"/docs/guide/advanced/rax-compat","h":"#兼容-rax-swiper","p":202},{"i":215,"t":"兼容使用内联样式构建的模块","u":"/docs/guide/advanced/rax-compat","h":"#兼容使用内联样式构建的模块","p":202},{"i":217,"t":"DOM 属性差异","u":"/docs/guide/advanced/rax-compat","h":"#dom-属性差异","p":202},{"i":219,"t":"事件差异","u":"/docs/guide/advanced/rax-compat","h":"#事件差异","p":202},{"i":223,"t":"安装 request 插件","u":"/docs/guide/advanced/request","h":"#安装-request-插件","p":221},{"i":225,"t":"目录约定","u":"/docs/guide/advanced/request","h":"#目录约定","p":221},{"i":227,"t":"消费 service","u":"/docs/guide/advanced/request","h":"#消费-service","p":221},{"i":229,"t":"在模型中调用 service","u":"/docs/guide/advanced/request","h":"#在模型中调用-service","p":221},{"i":231,"t":"在视图中调用 service","u":"/docs/guide/advanced/request","h":"#在视图中调用-service","p":221},{"i":233,"t":"API","u":"/docs/guide/advanced/request","h":"#api","p":221},{"i":234,"t":"request","u":"/docs/guide/advanced/request","h":"#request","p":221},{"i":236,"t":"useRequest","u":"/docs/guide/advanced/request","h":"#userequest","p":221},{"i":238,"t":"请求配置","u":"/docs/guide/advanced/request","h":"#请求配置","p":221},{"i":240,"t":"多个请求配置","u":"/docs/guide/advanced/request","h":"#多个请求配置","p":221},{"i":242,"t":"异常处理","u":"/docs/guide/advanced/request","h":"#异常处理","p":221},{"i":244,"t":"高阶用法","u":"/docs/guide/advanced/request","h":"#高阶用法","p":221},{"i":245,"t":"Mock 接口","u":"/docs/guide/advanced/request","h":"#mock-接口","p":221},{"i":247,"t":"如何解决接口跨域问题","u":"/docs/guide/advanced/request","h":"#如何解决接口跨域问题","p":221},{"i":249,"t":"根据环境配置不同的 baseURL","u":"/docs/guide/advanced/request","h":"#根据环境配置不同的-baseurl","p":221},{"i":253,"t":"Jest","u":"/docs/guide/advanced/unit-test","h":"#jest","p":251},{"i":254,"t":"依赖安装","u":"/docs/guide/advanced/unit-test","h":"#依赖安装","p":251},{"i":256,"t":"配置","u":"/docs/guide/advanced/unit-test","h":"#配置","p":251},{"i":258,"t":"非 UI 测试","u":"/docs/guide/advanced/unit-test","h":"#非-ui-测试","p":251},{"i":260,"t":"UI 测试","u":"/docs/guide/advanced/unit-test","h":"#ui-测试","p":251},{"i":262,"t":"Vitest","u":"/docs/guide/advanced/unit-test","h":"#vitest","p":251},{"i":263,"t":"依赖安装","u":"/docs/guide/advanced/unit-test","h":"#依赖安装-1","p":251},{"i":265,"t":"配置","u":"/docs/guide/advanced/unit-test","h":"#配置-1","p":251},{"i":267,"t":"非 UI 测试","u":"/docs/guide/advanced/unit-test","h":"#非-ui-测试-1","p":251},{"i":269,"t":"UI 测试","u":"/docs/guide/advanced/unit-test","h":"#ui-测试-1","p":251},{"i":273,"t":"开启状态管理","u":"/docs/guide/advanced/store","h":"#开启状态管理","p":271},{"i":275,"t":"全局状态","u":"/docs/guide/advanced/store","h":"#全局状态","p":271},{"i":277,"t":"定义 Model","u":"/docs/guide/advanced/store","h":"#定义-model","p":271},{"i":279,"t":"初始化 Store","u":"/docs/guide/advanced/store","h":"#初始化-store","p":271},{"i":281,"t":"在组件中使用","u":"/docs/guide/advanced/store","h":"#在组件中使用","p":271},{"i":283,"t":"页面状态","u":"/docs/guide/advanced/store","h":"#页面状态","p":271},{"i":285,"t":"定义 Model","u":"/docs/guide/advanced/store","h":"#定义-model-1","p":271},{"i":287,"t":"初始化 Store","u":"/docs/guide/advanced/store","h":"#初始化-store-1","p":271},{"i":289,"t":"在组件中使用","u":"/docs/guide/advanced/store","h":"#在组件中使用-1","p":271},{"i":291,"t":"进阶用法","u":"/docs/guide/advanced/store","h":"#进阶用法","p":271},{"i":292,"t":"设置初始状态","u":"/docs/guide/advanced/store","h":"#设置初始状态","p":271},{"i":294,"t":"Model 定义详细说明","u":"/docs/guide/advanced/store","h":"#model-定义详细说明","p":271},{"i":296,"t":"Model 之间通信","u":"/docs/guide/advanced/store","h":"#model-之间通信","p":271},{"i":298,"t":"使用不可变状态","u":"/docs/guide/advanced/store","h":"#使用不可变状态","p":271},{"i":300,"t":"获取内置的加载状态和错误状态","u":"/docs/guide/advanced/store","h":"#获取内置的加载状态和错误状态","p":271},{"i":302,"t":"页面切换后重置状态","u":"/docs/guide/advanced/store","h":"#页面切换后重置状态","p":271},{"i":304,"t":"在 Class Component 中使用","u":"/docs/guide/advanced/store","h":"#在-class-component-中使用","p":271},{"i":306,"t":"Redux Devtools","u":"/docs/guide/advanced/store","h":"#redux-devtools","p":271},{"i":310,"t":"开启插件","u":"/docs/guide/advanced/unocss","h":"#开启插件","p":308},{"i":312,"t":"配置","u":"/docs/guide/advanced/unocss","h":"#配置","p":308},{"i":316,"t":"应用配置文件","u":"/docs/guide/basic/app","h":"#应用配置文件","p":314},{"i":318,"t":"配置项","u":"/docs/guide/basic/app","h":"#配置项","p":314},{"i":320,"t":"app","u":"/docs/guide/basic/app","h":"#app","p":314},{"i":322,"t":"router","u":"/docs/guide/basic/app","h":"#router","p":314},{"i":324,"t":"运行时拓展","u":"/docs/guide/basic/app","h":"#运行时拓展","p":314},{"i":328,"t":"安装组件依赖","u":"/docs/guide/basic/appear","h":"#安装组件依赖","p":326},{"i":330,"t":"当元素进入可见状态时","u":"/docs/guide/basic/appear","h":"#当元素进入可见状态时","p":326},{"i":332,"t":"元素首次可见","u":"/docs/guide/basic/appear","h":"#元素首次可见","p":326},{"i":334,"t":"当元素进入不可见状态时","u":"/docs/guide/basic/appear","h":"#当元素进入不可见状态时","p":326},{"i":338,"t":"基础规则","u":"/docs/guide/basic/assets","h":"#基础规则","p":336},{"i":340,"t":"在 JSX 文件中引入","u":"/docs/guide/basic/assets","h":"#在-jsx-文件中引入","p":336},{"i":342,"t":"在 CSS 文件中引入","u":"/docs/guide/basic/assets","h":"#在-css-文件中引入","p":336},{"i":344,"t":"指定处理规则","u":"/docs/guide/basic/assets","h":"#指定处理规则","p":336},{"i":346,"t":"URL 引入","u":"/docs/guide/basic/assets","h":"#url-引入","p":336},{"i":348,"t":"文件内容引入","u":"/docs/guide/basic/assets","h":"#文件内容引入","p":336},{"i":350,"t":"public 目录","u":"/docs/guide/basic/assets","h":"#public-目录","p":336},{"i":353,"t":"前言","u":"/docs/guide/advanced/update-from-icejs2","h":"#前言","p":352},{"i":355,"t":"升级指南","u":"/docs/guide/advanced/update-from-icejs2","h":"#升级指南","p":352},{"i":356,"t":"依赖修改","u":"/docs/guide/advanced/update-from-icejs2","h":"#依赖修改","p":352},{"i":358,"t":"工程配置文件升级","u":"/docs/guide/advanced/update-from-icejs2","h":"#工程配置文件升级","p":352},{"i":360,"t":"常见配置迁移","u":"/docs/guide/advanced/update-from-icejs2","h":"#常见配置迁移","p":352},{"i":362,"t":"运行时修改","u":"/docs/guide/advanced/update-from-icejs2","h":"#运行时修改","p":352},{"i":364,"t":"进阶方案迁移","u":"/docs/guide/advanced/update-from-icejs2","h":"#进阶方案迁移","p":352},{"i":367,"t":"defineAppConfig","u":"/docs/guide/basic/api","h":"#defineappconfig","p":366},{"i":369,"t":"definePageConfig","u":"/docs/guide/basic/api","h":"#definepageconfig","p":366},{"i":371,"t":"history","u":"/docs/guide/basic/api","h":"#history","p":366},{"i":373,"t":"useParams","u":"/docs/guide/basic/api","h":"#useparams","p":366},{"i":375,"t":"useSearchParams","u":"/docs/guide/basic/api","h":"#usesearchparams","p":366},{"i":377,"t":"useNavigate","u":"/docs/guide/basic/api","h":"#usenavigate","p":366},{"i":379,"t":"useLocation","u":"/docs/guide/basic/api","h":"#uselocation","p":366},{"i":381,"t":"useAppData","u":"/docs/guide/basic/api","h":"#useappdata","p":366},{"i":383,"t":"useData","u":"/docs/guide/basic/api","h":"#usedata","p":366},{"i":385,"t":"useConfig","u":"/docs/guide/basic/api","h":"#useconfig","p":366},{"i":387,"t":"useMounted","u":"/docs/guide/basic/api","h":"#usemounted","p":366},{"i":389,"t":"useAppContext","u":"/docs/guide/basic/api","h":"#useappcontext","p":366},{"i":391,"t":"","u":"/docs/guide/basic/api","h":"#clientonly-","p":366},{"i":393,"t":"","u":"/docs/guide/basic/api","h":"#keepaliveoutlet-","p":366},{"i":395,"t":"","u":"/docs/guide/basic/api","h":"#link-","p":366},{"i":397,"t":"","u":"/docs/guide/basic/api","h":"#outlet-","p":366},{"i":399,"t":"AppConfig","u":"/docs/guide/basic/api","h":"#appconfig","p":366},{"i":401,"t":"RouteConfig","u":"/docs/guide/basic/api","h":"#routeconfig","p":366},{"i":403,"t":"Document 组件","u":"/docs/guide/basic/api","h":"#document-组件","p":366},{"i":407,"t":"start","u":"/docs/guide/basic/cli","h":"#start","p":405},{"i":409,"t":"build","u":"/docs/guide/basic/cli","h":"#build","p":405},{"i":411,"t":"help","u":"/docs/guide/basic/cli","h":"#help","p":405},{"i":413,"t":"version","u":"/docs/guide/basic/cli","h":"#version","p":405},{"i":417,"t":"Node.js","u":"/docs/guide/basic/development","h":"#nodejs","p":415},{"i":419,"t":"包管理工具","u":"/docs/guide/basic/development","h":"#包管理工具","p":415},{"i":421,"t":"IDE","u":"/docs/guide/basic/development","h":"#ide","p":415},{"i":423,"t":"小程序开发者工具","u":"/docs/guide/basic/development","h":"#小程序开发者工具","p":415},{"i":426,"t":"设计理念","u":"/docs/guide/basic/data-loader","h":"#设计理念","p":425},{"i":428,"t":"异步消费数据","u":"/docs/guide/basic/data-loader","h":"#异步消费数据","p":425},{"i":430,"t":"静态 dataLoader","u":"/docs/guide/basic/data-loader","h":"#静态-dataloader","p":425},{"i":432,"t":"使用示例","u":"/docs/guide/basic/data-loader","h":"#使用示例","p":425},{"i":434,"t":"页面级数据加载","u":"/docs/guide/basic/data-loader","h":"#页面级数据加载","p":425},{"i":436,"t":"应用级数据加载","u":"/docs/guide/basic/data-loader","h":"#应用级数据加载","p":425},{"i":438,"t":"多个数据请求","u":"/docs/guide/basic/data-loader","h":"#多个数据请求","p":425},{"i":442,"t":"package.json","u":"/docs/guide/basic/directory","h":"#packagejson","p":440},{"i":444,"t":"ice.config.mts","u":"/docs/guide/basic/directory","h":"#iceconfigmts","p":440},{"i":446,"t":".env","u":"/docs/guide/basic/directory","h":"#env","p":440},{"i":448,"t":"tsconfig.json","u":"/docs/guide/basic/directory","h":"#tsconfigjson","p":440},{"i":450,"t":"mock 目录","u":"/docs/guide/basic/directory","h":"#mock-目录","p":440},{"i":452,"t":"public 目录","u":"/docs/guide/basic/directory","h":"#public-目录","p":440},{"i":454,"t":"src 目录","u":"/docs/guide/basic/directory","h":"#src-目录","p":440},{"i":456,"t":"app.ts","u":"/docs/guide/basic/directory","h":"#appts","p":440},{"i":458,"t":"document.tsx","u":"/docs/guide/basic/directory","h":"#documenttsx","p":440},{"i":460,"t":"global.[css|scss|less]","u":"/docs/guide/basic/directory","h":"#globalcssscssless","p":440},{"i":462,"t":"pages 目录","u":"/docs/guide/basic/directory","h":"#pages-目录","p":440},{"i":464,"t":"components 目录","u":"/docs/guide/basic/directory","h":"#components-目录","p":440},{"i":466,"t":"其它","u":"/docs/guide/basic/directory","h":"#其它","p":440},{"i":470,"t":"配置文件","u":"/docs/guide/basic/config","h":"#配置文件","p":468},{"i":471,"t":"构建配置文件","u":"/docs/guide/basic/config","h":"#构建配置文件","p":468},{"i":473,"t":"兼容性配置","u":"/docs/guide/basic/config","h":"#兼容性配置","p":468},{"i":475,"t":"配置项","u":"/docs/guide/basic/config","h":"#配置项","p":468},{"i":476,"t":"alias","u":"/docs/guide/basic/config","h":"#alias","p":468},{"i":478,"t":"crossOriginLoading","u":"/docs/guide/basic/config","h":"#crossoriginloading","p":468},{"i":480,"t":"define","u":"/docs/guide/basic/config","h":"#define","p":468},{"i":482,"t":"dataLoader","u":"/docs/guide/basic/config","h":"#dataloader","p":468},{"i":484,"t":"publicPath","u":"/docs/guide/basic/config","h":"#publicpath","p":468},{"i":486,"t":"devPublicPath","u":"/docs/guide/basic/config","h":"#devpublicpath","p":468},{"i":488,"t":"hash","u":"/docs/guide/basic/config","h":"#hash","p":468},{"i":490,"t":"externals","u":"/docs/guide/basic/config","h":"#externals","p":468},{"i":492,"t":"outputDir","u":"/docs/guide/basic/config","h":"#outputdir","p":468},{"i":494,"t":"proxy","u":"/docs/guide/basic/config","h":"#proxy","p":468},{"i":496,"t":"minify","u":"/docs/guide/basic/config","h":"#minify","p":468},{"i":498,"t":"dropLogLevel","u":"/docs/guide/basic/config","h":"#droploglevel","p":468},{"i":500,"t":"compileDependencies","u":"/docs/guide/basic/config","h":"#compiledependencies","p":468},{"i":502,"t":"postcss","u":"/docs/guide/basic/config","h":"#postcss","p":468},{"i":504,"t":"polyfill","u":"/docs/guide/basic/config","h":"#polyfill","p":468},{"i":506,"t":"transform","u":"/docs/guide/basic/config","h":"#transform","p":468},{"i":508,"t":"ssr","u":"/docs/guide/basic/config","h":"#ssr","p":468},{"i":510,"t":"ssg","u":"/docs/guide/basic/config","h":"#ssg","p":468},{"i":512,"t":"server","u":"/docs/guide/basic/config","h":"#server","p":468},{"i":514,"t":"routes","u":"/docs/guide/basic/config","h":"#routes","p":468},{"i":516,"t":"sourceMap","u":"/docs/guide/basic/config","h":"#sourcemap","p":468},{"i":518,"t":"splitChunks @deprecated","u":"/docs/guide/basic/config","h":"#splitchunks-deprecated","p":468},{"i":520,"t":"codeSplitting","u":"/docs/guide/basic/config","h":"#codesplitting","p":468},{"i":522,"t":"syntaxFeatures","u":"/docs/guide/basic/config","h":"#syntaxfeatures","p":468},{"i":524,"t":"tsChecker","u":"/docs/guide/basic/config","h":"#tschecker","p":468},{"i":526,"t":"eslint","u":"/docs/guide/basic/config","h":"#eslint","p":468},{"i":528,"t":"mock","u":"/docs/guide/basic/config","h":"#mock","p":468},{"i":530,"t":"htmlGenerating","u":"/docs/guide/basic/config","h":"#htmlgenerating","p":468},{"i":532,"t":"plugins","u":"/docs/guide/basic/config","h":"#plugins","p":468},{"i":534,"t":"webpack","u":"/docs/guide/basic/config","h":"#webpack","p":468},{"i":536,"t":"cssModules","u":"/docs/guide/basic/config","h":"#cssmodules","p":468},{"i":540,"t":"目录约定","u":"/docs/guide/basic/mock","h":"#目录约定","p":538},{"i":542,"t":"编写 Mock 接口","u":"/docs/guide/basic/mock","h":"#编写-mock-接口","p":538},{"i":544,"t":"请求方法","u":"/docs/guide/basic/mock","h":"#请求方法","p":538},{"i":546,"t":"返回值","u":"/docs/guide/basic/mock","h":"#返回值","p":538},{"i":548,"t":"关闭 Mock","u":"/docs/guide/basic/mock","h":"#关闭-mock","p":538},{"i":550,"t":"使用 Mock.js","u":"/docs/guide/basic/mock","h":"#使用-mockjs","p":538},{"i":552,"t":"处理请求数据","u":"/docs/guide/basic/mock","h":"#处理请求数据","p":538},{"i":556,"t":"如何配置环境变量","u":"/docs/guide/basic/env","h":"#如何配置环境变量","p":554},{"i":557,"t":"命令行环境变量","u":"/docs/guide/basic/env","h":"#命令行环境变量","p":554},{"i":559,"t":"使用 .env 文件","u":"/docs/guide/basic/env","h":"#使用-env-文件","p":554},{"i":561,"t":"使用环境变量","u":"/docs/guide/basic/env","h":"#使用环境变量","p":554},{"i":563,"t":"构建时","u":"/docs/guide/basic/env","h":"#构建时","p":554},{"i":565,"t":"运行时","u":"/docs/guide/basic/env","h":"#运行时","p":554},{"i":567,"t":"内置的环境变量","u":"/docs/guide/basic/env","h":"#内置的环境变量","p":554},{"i":569,"t":"ICE_CORE_MODE","u":"/docs/guide/basic/env","h":"#ice_core_mode","p":554},{"i":571,"t":"ICE_CORE_ROUTER","u":"/docs/guide/basic/env","h":"#ice_core_router","p":554},{"i":573,"t":"ICE_CORE_ERROR_BOUNDARY","u":"/docs/guide/basic/env","h":"#ice_core_error_boundary","p":554},{"i":575,"t":"ICE_CORE_INITIAL_DATA","u":"/docs/guide/basic/env","h":"#ice_core_initial_data","p":554},{"i":577,"t":"ICE_CORE_DEV_PORT","u":"/docs/guide/basic/env","h":"#ice_core_dev_port","p":554},{"i":581,"t":"初始模板","u":"/docs/guide/basic/document","h":"#初始模板","p":579},{"i":583,"t":"内容定制","u":"/docs/guide/basic/document","h":"#内容定制","p":579},{"i":584,"t":"添加 HTML 元素","u":"/docs/guide/basic/document","h":"#添加-html-元素","p":579},{"i":586,"t":"添加内联代码","u":"/docs/guide/basic/document","h":"#添加内联代码","p":579},{"i":588,"t":"定制不同页面的 HTML","u":"/docs/guide/basic/document","h":"#定制不同页面的-html","p":579},{"i":590,"t":"自定义标签渲染逻辑","u":"/docs/guide/basic/document","h":"#自定义标签渲染逻辑","p":579},{"i":592,"t":"usePageAssets","u":"/docs/guide/basic/document","h":"#usepageassets","p":579},{"i":596,"t":"基础概念","u":"/docs/guide/basic/router","h":"#基础概念","p":594},{"i":597,"t":"约定式路由","u":"/docs/guide/basic/router","h":"#约定式路由","p":594},{"i":599,"t":"小程序端路由规则","u":"/docs/guide/basic/router","h":"#小程序端路由规则","p":594},{"i":601,"t":"路由组件","u":"/docs/guide/basic/router","h":"#路由组件","p":594},{"i":603,"t":"布局组件","u":"/docs/guide/basic/router","h":"#布局组件","p":594},{"i":605,"t":"嵌套路由","u":"/docs/guide/basic/router","h":"#嵌套路由","p":594},{"i":607,"t":"动态路由","u":"/docs/guide/basic/router","h":"#动态路由","p":594},{"i":609,"t":"通配路由","u":"/docs/guide/basic/router","h":"#通配路由","p":594},{"i":611,"t":"转义路由","u":"/docs/guide/basic/router","h":"#转义路由","p":594},{"i":613,"t":"路由跳转","u":"/docs/guide/basic/router","h":"#路由跳转","p":594},{"i":615,"t":"history","u":"/docs/guide/basic/router","h":"#history","p":594},{"i":617,"t":"useNavigate","u":"/docs/guide/basic/router","h":"#usenavigate","p":594},{"i":619,"t":"Link 组件","u":"/docs/guide/basic/router","h":"#link-组件","p":594},{"i":621,"t":"获取路由信息","u":"/docs/guide/basic/router","h":"#获取路由信息","p":594},{"i":622,"t":"location","u":"/docs/guide/basic/router","h":"#location","p":594},{"i":624,"t":"query","u":"/docs/guide/basic/router","h":"#query","p":594},{"i":626,"t":"动态路由参数","u":"/docs/guide/basic/router","h":"#动态路由参数","p":594},{"i":628,"t":"忽略被解析为路由组件","u":"/docs/guide/basic/router","h":"#忽略被解析为路由组件","p":594},{"i":630,"t":"定制路由地址","u":"/docs/guide/basic/router","h":"#定制路由地址","p":594},{"i":634,"t":"开启 SSR","u":"/docs/guide/basic/ssr","h":"#开启-ssr","p":632},{"i":636,"t":"数据请求","u":"/docs/guide/basic/ssr","h":"#数据请求","p":632},{"i":640,"t":"注意事项","u":"/docs/guide/basic/ssg","h":"#注意事项","p":638},{"i":642,"t":"SSG 的数据请求","u":"/docs/guide/basic/ssg","h":"#ssg-的数据请求","p":638},{"i":644,"t":"关闭 SSG","u":"/docs/guide/basic/ssg","h":"#关闭-ssg","p":638},{"i":648,"t":"全局样式","u":"/docs/guide/basic/style","h":"#全局样式","p":646},{"i":650,"t":"局部样式","u":"/docs/guide/basic/style","h":"#局部样式","p":646},{"i":652,"t":"常见问题","u":"/docs/guide/basic/style","h":"#常见问题","p":646},{"i":653,"t":"ice.js 支持 rpx 吗","u":"/docs/guide/basic/style","h":"#icejs-支持-rpx-吗","p":646},{"i":655,"t":"如何覆盖全局基础组件(next/antd)样式","u":"/docs/guide/basic/style","h":"#如何覆盖全局基础组件nextantd样式","p":646},{"i":657,"t":"如何覆盖局部基础组件样式","u":"/docs/guide/basic/style","h":"#如何覆盖局部基础组件样式","p":646},{"i":659,"t":"如何获得 CSS 嵌套的类型提示","u":"/docs/guide/basic/style","h":"#如何获得-css-嵌套的类型提示","p":646},{"i":662,"t":"全局配置","u":"/docs/guide/miniapp/app-config","h":"#全局配置","p":661},{"i":664,"t":"页面配置","u":"/docs/guide/miniapp/app-config","h":"#页面配置","p":661},{"i":666,"t":"待支持能力","u":"/docs/guide/miniapp/app-config","h":"#待支持能力","p":661},{"i":669,"t":"Uni API","u":"/docs/guide/miniapp/api","h":"#uni-api","p":668},{"i":671,"t":"原生小程序 API","u":"/docs/guide/miniapp/api","h":"#原生小程序-api","p":668},{"i":673,"t":"参考文档","u":"/docs/guide/miniapp/api","h":"#参考文档","p":668},{"i":676,"t":"原生应用生命周期事件注册","u":"/docs/guide/miniapp/native-lifecycle-events","h":"#原生应用生命周期事件注册","p":675},{"i":678,"t":"原生页面生命周期事件注册","u":"/docs/guide/miniapp/native-lifecycle-events","h":"#原生页面生命周期事件注册","p":675},{"i":684,"t":"组件","u":"/docs/guide/basic/page","h":"#组件","p":682},{"i":686,"t":"获取页面初始数据","u":"/docs/guide/basic/page","h":"#获取页面初始数据","p":682},{"i":688,"t":"配置页面运行时属性","u":"/docs/guide/basic/page","h":"#配置页面运行时属性","p":682},{"i":690,"t":"title","u":"/docs/guide/basic/page","h":"#title","p":682},{"i":692,"t":"metas","u":"/docs/guide/basic/page","h":"#metas","p":682},{"i":694,"t":"links","u":"/docs/guide/basic/page","h":"#links","p":682},{"i":696,"t":"scripts","u":"/docs/guide/basic/page","h":"#scripts","p":682},{"i":698,"t":"小程序页面配置","u":"/docs/guide/basic/page","h":"#小程序页面配置","p":682},{"i":702,"t":"小程序内置组件","u":"/docs/guide/miniapp/component-use","h":"#小程序内置组件","p":700},{"i":704,"t":"HTML 标签","u":"/docs/guide/miniapp/component-use","h":"#html-标签","p":700},{"i":706,"t":"小程序原生自定义组件","u":"/docs/guide/miniapp/component-use","h":"#小程序原生自定义组件","p":700},{"i":710,"t":"样式相关问题","u":"/docs/guide/miniapp/use-html","h":"#样式相关问题","p":708},{"i":711,"t":"浏览器默认样式","u":"/docs/guide/miniapp/use-html","h":"#浏览器默认样式","p":708},{"i":713,"t":" 默认表现为块级样式","u":"/docs/guide/miniapp/use-html","h":"#span-默认表现为块级样式","p":708},{"i":715,"t":"不支持部分 CSS 选择器","u":"/docs/guide/miniapp/use-html","h":"#不支持部分-css-选择器","p":708},{"i":717,"t":"不支持使用 rem","u":"/docs/guide/miniapp/use-html","h":"#不支持使用-rem","p":708},{"i":719,"t":"其他限制","u":"/docs/guide/miniapp/use-html","h":"#其他限制","p":708},{"i":721,"t":"表单组件","u":"/docs/guide/miniapp/use-html","h":"#表单组件","p":708},{"i":723,"t":"不能同步获取元素尺寸","u":"/docs/guide/miniapp/use-html","h":"#不能同步获取元素尺寸","p":708},{"i":725,"t":"DOM API 差异","u":"/docs/guide/miniapp/use-html","h":"#dom-api-差异","p":708},{"i":727,"t":" 图片尺寸问题","u":"/docs/guide/miniapp/use-html","h":"#img-图片尺寸问题","p":708},{"i":729,"t":"不支持 ReactDOM 部分 API","u":"/docs/guide/miniapp/use-html","h":"#不支持-reactdom-部分-api","p":708},{"i":731,"t":"不支持 React Portal","u":"/docs/guide/miniapp/use-html","h":"#不支持-react-portal","p":708},{"i":732,"t":"不支持使用 SVG","u":"/docs/guide/miniapp/use-html","h":"#不支持使用-svg","p":708},{"i":736,"t":"创建小程序应用","u":"/docs/guide/miniapp/start","h":"#创建小程序应用","p":734},{"i":738,"t":"1. 通过小程序模板创建","u":"/docs/guide/miniapp/start","h":"#1-通过小程序模板创建","p":734},{"i":740,"t":"2. 改造已有的 Web 应用","u":"/docs/guide/miniapp/start","h":"#2-改造已有的-web-应用","p":734},{"i":742,"t":"调试与构建","u":"/docs/guide/miniapp/start","h":"#调试与构建","p":734},{"i":744,"t":"支持小程序平台","u":"/docs/guide/miniapp/start","h":"#支持小程序平台","p":734},{"i":746,"t":"待支持能力","u":"/docs/guide/miniapp/start","h":"#待支持能力","p":734},{"i":748,"t":"不支持能力","u":"/docs/guide/miniapp/start","h":"#不支持能力","p":734},{"i":752,"t":"路由规则","u":"/docs/guide/miniapp/router","h":"#路由规则","p":750},{"i":754,"t":"路由跳转","u":"/docs/guide/miniapp/router","h":"#路由跳转","p":750},{"i":755,"t":"Link 组件","u":"/docs/guide/miniapp/router","h":"#link-组件","p":750},{"i":757,"t":"API 形式","u":"/docs/guide/miniapp/router","h":"#api-形式","p":750},{"i":759,"t":"路由参数获取","u":"/docs/guide/miniapp/router","h":"#路由参数获取","p":750},{"i":762,"t":"@ice/plugin-miniapp","u":"/docs/guide/plugins/plugin-list","h":"#iceplugin-miniapp","p":761},{"i":764,"t":"@ice/plugin-auth","u":"/docs/guide/plugins/plugin-list","h":"#iceplugin-auth","p":761},{"i":766,"t":"@ice/plugin-store","u":"/docs/guide/plugins/plugin-list","h":"#iceplugin-store","p":761},{"i":768,"t":"@ice/plugin-css-assets-local","u":"/docs/guide/plugins/plugin-list","h":"#iceplugin-css-assets-local","p":761},{"i":770,"t":"@ice/plugin-antd","u":"/docs/guide/plugins/plugin-list","h":"#iceplugin-antd","p":761},{"i":772,"t":"@ice/plugin-fusion","u":"/docs/guide/plugins/plugin-list","h":"#iceplugin-fusion","p":761},{"i":774,"t":"@ice/plugin-unocss","u":"/docs/guide/plugins/plugin-list","h":"#iceplugin-unocss","p":761},{"i":780,"t":"创建应用","u":"/docs/guide/start","h":"#创建应用","p":778},{"i":782,"t":"本地调试","u":"/docs/guide/start","h":"#本地调试","p":778},{"i":784,"t":"部署发布","u":"/docs/guide/start","h":"#部署发布","p":778},{"i":786,"t":"小程序应用","u":"/docs/guide/start","h":"#小程序应用","p":778},{"i":788,"t":"小程序调试","u":"/docs/guide/start","h":"#小程序调试","p":778},{"i":790,"t":"小程序部署发布","u":"/docs/guide/start","h":"#小程序部署发布","p":778},{"i":794,"t":"插件规范","u":"/docs/guide/plugins/plugin-dev","h":"#插件规范","p":792},{"i":796,"t":"开发本地插件","u":"/docs/guide/plugins/plugin-dev","h":"#开发本地插件","p":792},{"i":798,"t":"发布插件到 npm","u":"/docs/guide/plugins/plugin-dev","h":"#发布插件到-npm","p":792},{"i":800,"t":"工程能力定制","u":"/docs/guide/plugins/plugin-dev","h":"#工程能力定制","p":792},{"i":802,"t":"context","u":"/docs/guide/plugins/plugin-dev","h":"#context","p":792},{"i":804,"t":"onGetConfig","u":"/docs/guide/plugins/plugin-dev","h":"#ongetconfig","p":792},{"i":806,"t":"onHook","u":"/docs/guide/plugins/plugin-dev","h":"#onhook","p":792},{"i":808,"t":"registerUserConfig","u":"/docs/guide/plugins/plugin-dev","h":"#registeruserconfig","p":792},{"i":810,"t":"registerCliOption","u":"/docs/guide/plugins/plugin-dev","h":"#registerclioption","p":792},{"i":812,"t":"modifyUserConfig","u":"/docs/guide/plugins/plugin-dev","h":"#modifyuserconfig","p":792},{"i":814,"t":"registerTask","u":"/docs/guide/plugins/plugin-dev","h":"#registertask","p":792},{"i":816,"t":"getAllTask","u":"/docs/guide/plugins/plugin-dev","h":"#getalltask","p":792},{"i":818,"t":"generator","u":"/docs/guide/plugins/plugin-dev","h":"#generator","p":792},{"i":820,"t":"watch","u":"/docs/guide/plugins/plugin-dev","h":"#watch","p":792},{"i":822,"t":"运行时能力定制","u":"/docs/guide/plugins/plugin-dev","h":"#运行时能力定制","p":792},{"i":824,"t":"appContext","u":"/docs/guide/plugins/plugin-dev","h":"#appcontext","p":792},{"i":826,"t":"addProvider","u":"/docs/guide/plugins/plugin-dev","h":"#addprovider","p":792},{"i":828,"t":"addWrapper","u":"/docs/guide/plugins/plugin-dev","h":"#addwrapper","p":792},{"i":830,"t":"setRender","u":"/docs/guide/plugins/plugin-dev","h":"#setrender","p":792},{"i":832,"t":"useData","u":"/docs/guide/plugins/plugin-dev","h":"#usedata","p":792},{"i":834,"t":"useConfig","u":"/docs/guide/plugins/plugin-dev","h":"#useconfig","p":792}],"index":{"version":"2.3.9","fields":["t"],"fieldVectors":[["t/3",[0,7.262]],["t/5",[1,6.594]],["t/6",[2,2.578,3,2.291,4,2.34,5,2.578,6,1.411,7,1.83,8,2.34,9,2.578]],["t/8",[3,1.194,6,2.057,7,2.668,10,2.22,11,1.881,12,1.881,13,1.881,14,2.015,15,2.015]],["t/10",[3,1.283,6,1.306,12,2.021,16,1.827,17,1.827,18,2.166,19,2.385,20,2.385,21,2.166,22,1.827]],["t/12",[3,1.509,16,2.148,17,2.148,18,2.546,21,2.546,23,2.804,24,2.804,25,2.804]],["t/14",[16,2.604,17,2.604,26,3.087,27,2.881,28,3.087,29,3.4]],["t/16",[3,1.654,16,2.354,17,2.354,30,3.073,31,3.073,32,2.354,33,1.6]],["t/18",[8,2.79,16,2.354,17,2.354,34,3.073,35,2.604,36,2.79,37,3.073]],["t/20",[38,5.918,39,5.918]],["t/24",[40,4.355,41,3.658]],["t/26",[42,3.78]],["t/27",[43,6.594]],["t/29",[44,7.262]],["t/31",[45,7.262]],["t/33",[46,6.594]],["t/36",[28,5.373,47,5.015]],["t/38",[33,2.248,35,3.66,48,4.319,49,4.319]],["t/40",[50,4.319,51,4.319,52,3.308,53,4.319]],["t/44",[41,3.658,54,3.951]],["t/46",[55,4.005,56,3.675,57,3.162]],["t/48",[56,4.355,58,3.844]],["t/50",[56,4.355,59,5.918]],["t/52",[56,3.675,57,3.162,60,3.546]],["t/54",[56,3.675,57,3.162,61,4.534]],["t/56",[33,2.599,56,3.675,62,4.005]],["t/58",[62,4.747,63,5.918]],["t/64",[40,4.355,41,3.658]],["t/66",[42,3.78]],["t/67",[64,7.262]],["t/69",[65,7.262]],["t/71",[66,7.262]],["t/75",[67,5.015,68,4.355]],["t/77",[68,4.355,69,5.373]],["t/79",[70,7.262]],["t/81",[67,3.66,71,3.66,72,4.319,73,4.319]],["t/83",[74,4.534,75,2.734,76,4.993]],["t/84",[7,3.546,75,2.734,77,4.534]],["t/86",[75,3.24,78,5.918]],["t/88",[68,4.355,79,3.747]],["t/90",[80,7.262]],["t/91",[67,3.224,69,3.455,71,3.224,81,3.052,82,3.455]],["t/93",[81,3.464,82,3.921,83,3.66,84,3.464]],["t/97",[85,5.918,86,5.918]],["t/99",[87,5.918,88,3.24]],["t/101",[60,3.546,89,4.534,90,4.534]],["t/102",[91,7.262]],["t/104",[92,7.262]],["t/106",[93,7.262]],["t/108",[94,7.262]],["t/110",[89,5.373,95,5.373]],["t/112",[88,2.734,96,4.993,97,4.993]],["t/114",[98,5.918,99,5.918]],["t/116",[100,5.826]],["t/118",[41,3.658,101,5.918]],["t/119",[102,6.594]],["t/121",[103,7.262]],["t/123",[104,7.262]],["t/127",[40,4.355,41,3.658]],["t/129",[42,3.78]],["t/130",[43,6.594]],["t/132",[105,7.262]],["t/134",[46,6.594]],["t/136",[42,3.08,106,5.918]],["t/140",[6,2.083,7,2.702,107,2.914,108,3.052,109,3.052]],["t/142",[107,3.308,108,3.464,110,4.319,111,3.66]],["t/144",[54,4.848]],["t/146",[3,3.908]],["t/148",[112,7.262]],["t/152",[55,4.747,75,3.24]],["t/153",[75,3.24,113,5.015]],["t/155",[75,3.24,114,5.015]],["t/157",[75,3.24,115,4.747]],["t/159",[41,3.658,54,3.951]],["t/161",[75,2.734,113,4.231,115,4.005]],["t/163",[75,2.734,114,4.231,115,4.005]],["t/165",[116,7.262]],["t/166",[42,2.599,75,2.734,113,4.231]],["t/168",[117,7.262]],["t/170",[118,7.262]],["t/172",[42,2.599,75,2.734,114,4.231]],["t/178",[33,2.599,88,2.734,119,4.534]],["t/180",[33,2.599,119,4.534,120,4.534]],["t/184",[12,4.231,121,4.993,122,4.534]],["t/186",[3,3.184,54,3.951]],["t/188",[123,5.373,124,5.918]],["t/190",[125,4.534,126,4.993,127,4.993]],["t/192",[11,4.231,128,4.993,129,4.993]],["t/194",[14,3.921,130,4.319,131,4.319,132,3.921]],["t/196",[123,4.534,133,4.993,134,4.993]],["t/198",[33,2.599,135,4.993,136,4.993]],["t/200",[137,4.319,138,4.319,139,4.319,140,4.319]],["t/204",[3,2.687,41,3.087,54,3.334]],["t/206",[107,3.825,141,4.993,142,4.534]],["t/207",[107,3.825,143,4.993,144,3.546]],["t/209",[145,4.319,146,4.319,147,3.464,148,3.308]],["t/211",[148,4.533,149,3.951]],["t/213",[27,4.231,107,3.825,150,4.993]],["t/215",[3,1.83,27,2.881,149,2.27,151,3.087,152,2.727,153,3.4]],["t/217",[109,4.005,154,4.534,155,4.534]],["t/219",[109,4.747,147,4.747]],["t/223",[41,3.087,54,3.334,156,4.534]],["t/225",[157,4.069,158,5.015]],["t/227",[159,5.373,160,5.015]],["t/229",[160,3.66,161,4.319,162,3.067,163,3.921]],["t/231",[160,3.66,162,3.067,163,3.921,164,4.319]],["t/233",[144,5.157]],["t/234",[156,6.594]],["t/236",[165,7.262]],["t/238",[42,3.08,166,4.203]],["t/240",[42,2.599,166,3.546,167,4.534]],["t/242",[148,4.533,168,5.918]],["t/244",[169,5.918,170,5.373]],["t/245",[171,4.355,172,5.015]],["t/247",[172,2.881,173,2.604,174,3.4,175,3.4,176,3.4,177,2.881]],["t/249",[42,1.98,178,3.805,179,3.805,180,3.455,181,3.805]],["t/253",[182,7.262]],["t/254",[52,4.533,54,3.951]],["t/256",[42,3.78]],["t/258",[32,3.825,81,4.005,183,4.005]],["t/260",[32,4.533,183,4.747]],["t/262",[184,7.262]],["t/263",[52,4.533,54,3.951]],["t/265",[42,3.78]],["t/267",[32,3.825,81,4.005,183,4.005]],["t/269",[32,4.533,183,4.747]],["t/273",[40,3.675,185,3.434,186,4.993]],["t/275",[185,4.069,187,4.747]],["t/277",[188,5.015,189,4.747]],["t/279",[55,4.747,190,5.015]],["t/281",[3,2.687,33,2.599,162,3.546]],["t/283",[58,3.844,185,4.069]],["t/285",[188,5.015,189,4.747]],["t/287",[55,4.747,190,5.015]],["t/289",[3,2.687,33,2.599,162,3.546]],["t/291",[170,5.373,191,5.373]],["t/292",[61,5.373,192,5.918]],["t/294",[188,3.66,189,3.464,193,4.319,194,4.319]],["t/296",[189,4.005,195,4.993,196,4.993]],["t/298",[3,2.324,185,2.97,197,4.319,198,4.319]],["t/300",[60,2.415,185,3.658,199,2.881,200,2.881,201,3.4]],["t/302",[58,2.805,95,3.921,185,2.97,202,4.319]],["t/304",[3,2.324,162,3.067,203,4.319,204,3.921]],["t/306",[205,5.918,206,5.918]],["t/310",[40,4.355,41,3.658]],["t/312",[42,3.78]],["t/316",[75,3.24,207,4.747]],["t/318",[42,3.08,208,5.373]],["t/320",[108,5.826]],["t/322",[209,6.594]],["t/324",[210,3.825,211,3.434,212,4.993]],["t/328",[33,2.599,52,3.825,54,3.334]],["t/330",[185,2.616,211,2.616,213,2.914,214,3.455,215,3.224]],["t/332",[213,3.825,215,4.231,216,4.993]],["t/334",[185,2.616,211,2.616,213,2.914,214,3.455,215,3.224]],["t/338",[22,4.533,217,4.747]],["t/340",[122,3.921,162,3.067,218,3.464,219,3.464]],["t/342",[162,3.067,218,3.464,219,3.464,220,3.308]],["t/344",[148,3.825,217,4.005,221,4.993]],["t/346",[219,4.747,222,5.918]],["t/348",[218,4.005,219,4.005,223,4.534]],["t/350",[157,4.069,224,5.373]],["t/353",[225,7.262]],["t/355",[13,5.015,226,5.918]],["t/356",[52,4.533,227,5.373]],["t/358",[13,4.231,207,4.005,228,4.534]],["t/360",[42,2.599,111,4.231,229,4.993]],["t/362",[210,3.825,211,3.434,227,4.534]],["t/364",[36,4.534,111,4.231,191,4.534]],["t/367",[230,7.262]],["t/369",[231,7.262]],["t/371",[232,6.594]],["t/373",[233,7.262]],["t/375",[234,7.262]],["t/377",[235,6.594]],["t/379",[236,7.262]],["t/381",[237,7.262]],["t/383",[238,6.594]],["t/385",[239,6.594]],["t/387",[240,7.262]],["t/389",[241,7.262]],["t/391",[242,7.262]],["t/393",[243,7.262]],["t/395",[244,5.826]],["t/397",[245,7.262]],["t/399",[246,7.262]],["t/401",[247,7.262]],["t/403",[33,3.08,248,5.373]],["t/407",[249,7.262]],["t/409",[250,7.262]],["t/411",[251,7.262]],["t/413",[252,7.262]],["t/417",[7,4.203,77,5.373]],["t/419",[253,5.918,254,5.918]],["t/421",[255,7.262]],["t/423",[256,4.993,257,4.993,258,4.993]],["t/426",[259,5.918,260,5.918]],["t/428",[57,3.162,159,4.534,261,4.993]],["t/430",[71,5.015,262,5.373]],["t/432",[3,3.184,263,5.918]],["t/434",[57,2.735,58,2.805,200,3.66,264,3.66]],["t/436",[57,2.735,75,2.365,200,3.66,264,3.66]],["t/438",[57,3.162,166,3.546,167,4.534]],["t/442",[265,5.918,266,5.373]],["t/444",[6,2.734,267,4.993,268,4.993]],["t/446",[269,6.594]],["t/448",[266,5.373,270,5.918]],["t/450",[157,4.069,171,4.355]],["t/452",[157,4.069,224,5.373]],["t/454",[157,4.069,271,5.918]],["t/456",[108,4.747,272,5.918]],["t/458",[248,5.373,273,5.918]],["t/460",[220,3.308,274,4.319,275,4.319,276,4.319]],["t/462",[157,4.069,277,5.918]],["t/464",[157,4.069,204,5.373]],["t/466",[278,7.262]],["t/470",[207,5.826]],["t/471",[152,4.747,207,4.747]],["t/473",[42,3.08,142,5.373]],["t/475",[42,3.08,208,5.373]],["t/476",[279,7.262]],["t/478",[280,7.262]],["t/480",[281,7.262]],["t/482",[262,6.594]],["t/484",[282,7.262]],["t/486",[283,7.262]],["t/488",[284,7.262]],["t/490",[285,7.262]],["t/492",[286,7.262]],["t/494",[287,7.262]],["t/496",[288,7.262]],["t/498",[289,7.262]],["t/500",[290,7.262]],["t/502",[291,7.262]],["t/504",[292,7.262]],["t/506",[293,7.262]],["t/508",[294,6.594]],["t/510",[100,5.826]],["t/512",[295,7.262]],["t/514",[296,7.262]],["t/516",[297,7.262]],["t/518",[298,5.918,299,5.918]],["t/520",[300,7.262]],["t/522",[301,7.262]],["t/524",[302,7.262]],["t/526",[303,7.262]],["t/528",[171,5.345]],["t/530",[304,7.262]],["t/532",[305,4.994]],["t/534",[4,6.594]],["t/536",[306,7.262]],["t/540",[157,4.069,158,5.015]],["t/542",[171,3.675,172,4.231,307,4.993]],["t/544",[166,4.203,308,5.918]],["t/546",[309,7.262]],["t/548",[171,4.355,310,5.373]],["t/550",[3,2.687,7,3.546,171,3.675]],["t/552",[57,3.162,148,3.825,166,3.546]],["t/556",[42,2.599,173,3.825,311,4.005]],["t/557",[311,4.747,312,5.918]],["t/559",[3,2.687,218,4.005,269,4.534]],["t/561",[3,3.184,311,4.747]],["t/563",[152,4.747,211,4.069]],["t/565",[210,4.533,211,4.069]],["t/567",[199,5.015,311,4.747]],["t/569",[6,2.365,313,4.319,314,3.308,315,4.319]],["t/571",[6,2.365,209,3.921,314,3.308,316,4.319]],["t/573",[6,2.083,314,2.914,317,3.805,318,3.805,319,3.805]],["t/575",[6,2.083,314,2.914,320,3.805,321,3.805,322,3.805]],["t/577",[6,2.083,314,2.914,323,3.805,324,3.805,325,3.805]],["t/581",[326,5.373,327,5.373]],["t/583",[223,5.373,328,4.533]],["t/584",[84,4.005,213,3.825,329,4.534]],["t/586",[35,4.231,151,4.534,329,4.534]],["t/588",[58,2.805,84,3.464,180,3.921,328,3.308]],["t/590",[62,3.464,132,3.921,330,3.921,331,4.319]],["t/592",[332,7.262]],["t/596",[22,4.533,333,5.918]],["t/597",[88,2.734,158,4.231,334,4.993]],["t/599",[74,3.921,79,2.735,88,2.365,217,3.464]],["t/601",[33,3.08,88,3.24]],["t/603",[33,3.08,335,5.918]],["t/605",[88,3.24,336,5.373]],["t/607",[88,3.24,337,5.373]],["t/609",[88,2.734,338,4.993,339,4.993]],["t/611",[88,3.24,340,5.918]],["t/613",[88,3.24,341,5.373]],["t/615",[232,6.594]],["t/617",[235,6.594]],["t/619",[33,3.08,244,4.747]],["t/621",[60,3.546,88,2.734,90,4.534]],["t/622",[342,7.262]],["t/624",[343,7.262]],["t/626",[88,2.734,337,4.534,344,4.534]],["t/628",[33,2.248,88,2.365,345,4.319,346,4.319]],["t/630",[88,2.734,328,3.825,347,4.993]],["t/634",[40,4.355,294,5.373]],["t/636",[57,3.747,166,4.203]],["t/640",[348,7.262]],["t/642",[57,3.162,100,4.005,166,3.546]],["t/644",[100,4.747,310,5.373]],["t/648",[149,3.951,187,4.747]],["t/650",[149,3.951,349,5.373]],["t/652",[1,6.594]],["t/653",[6,2.083,7,2.702,15,3.455,350,2.471,351,3.805]],["t/655",[22,2.148,33,1.459,149,1.872,173,2.148,187,2.249,352,2.546,353,2.804,354,2.546]],["t/657",[22,2.604,33,1.77,149,2.27,173,2.604,349,3.087,352,3.087]],["t/659",[173,2.604,220,2.604,336,3.087,355,3.4,356,3.4,357,3.4]],["t/662",[42,3.08,187,4.747]],["t/664",[42,3.08,58,3.844]],["t/666",[350,3.244,358,4.534,359,3.825]],["t/669",[144,4.203,360,5.918]],["t/671",[79,3.162,144,3.546,361,4.005]],["t/673",[362,5.918,363,5.918]],["t/676",[75,2.083,147,3.052,361,3.052,364,3.455,365,3.455]],["t/678",[58,2.471,147,3.052,361,3.052,364,3.455,365,3.455]],["t/684",[33,3.78]],["t/686",[57,2.735,58,2.805,60,3.067,326,3.921]],["t/688",[42,1.98,58,2.471,155,3.455,210,2.914,211,2.616]],["t/690",[366,7.262]],["t/692",[367,7.262]],["t/694",[244,5.826]],["t/696",[368,7.262]],["t/698",[42,2.599,58,3.244,79,3.162]],["t/702",[33,2.599,79,3.162,199,4.231]],["t/704",[84,4.747,330,5.373]],["t/706",[33,2.248,62,3.464,79,2.735,361,3.464]],["t/710",[149,3.334,177,4.231,369,4.993]],["t/711",[26,4.534,47,4.231,149,3.334]],["t/713",[47,2.881,149,2.27,264,2.881,370,3.4,371,3.4,372,3.4]],["t/715",[220,3.308,350,2.805,373,3.921,374,4.319]],["t/717",[3,2.687,350,3.244,375,4.993]],["t/719",[120,5.373,376,5.918]],["t/721",[33,3.08,377,5.918]],["t/723",[60,2.702,213,2.914,378,3.805,379,3.805,380,3.805]],["t/725",[109,4.005,144,3.546,154,4.534]],["t/727",[177,4.231,381,4.993,382,4.993]],["t/729",[144,3.067,350,2.805,373,3.921,383,4.319]],["t/731",[350,3.244,384,4.993,385,4.993]],["t/732",[3,2.687,350,3.244,386,4.993]],["t/736",[75,2.734,79,3.162,387,4.231]],["t/738",[79,2.409,125,3.455,327,3.455,387,3.224,388,3.805]],["t/740",[11,3.224,75,2.083,115,3.052,389,3.805,390,3.805]],["t/742",[152,4.747,391,5.373]],["t/744",[79,3.162,350,3.244,392,4.993]],["t/746",[350,3.244,358,4.534,359,3.825]],["t/748",[350,3.844,359,4.533]],["t/752",[88,3.24,217,4.747]],["t/754",[88,3.24,341,5.373]],["t/755",[33,3.08,244,4.747]],["t/757",[144,4.203,393,5.918]],["t/759",[60,3.546,88,2.734,344,4.534]],["t/762",[6,2.734,305,3.434,394,4.993]],["t/764",[6,2.734,305,3.434,395,4.993]],["t/766",[6,2.734,190,4.231,305,3.434]],["t/768",[6,2.083,102,3.455,220,2.914,305,2.616,396,3.805]],["t/770",[6,2.734,305,3.434,354,4.534]],["t/772",[6,2.734,305,3.434,397,4.993]],["t/774",[6,2.734,305,3.434,398,4.993]],["t/780",[75,3.24,387,5.015]],["t/782",[391,5.373,399,5.373]],["t/784",[68,4.355,83,5.015]],["t/786",[75,3.24,79,3.747]],["t/788",[400,7.262]],["t/790",[68,3.675,79,3.162,83,4.231]],["t/794",[41,3.658,401,5.918]],["t/796",[41,3.087,399,4.534,402,4.993]],["t/798",[41,3.087,68,3.675,403,4.993]],["t/800",[228,4.534,328,3.825,359,3.825]],["t/802",[404,7.262]],["t/804",[405,7.262]],["t/806",[406,7.262]],["t/808",[407,7.262]],["t/810",[408,7.262]],["t/812",[409,7.262]],["t/814",[410,7.262]],["t/816",[411,7.262]],["t/818",[412,7.262]],["t/820",[413,7.262]],["t/822",[210,3.308,211,2.97,328,3.308,359,3.308]],["t/824",[414,7.262]],["t/826",[415,7.262]],["t/828",[416,7.262]],["t/830",[417,7.262]],["t/832",[238,6.594]],["t/834",[239,6.594]]],"invertedIndex":[["1",{"_index":125,"t":{"190":{"position":[[0,1]]},"738":{"position":[[0,1]]}}}],["2",{"_index":11,"t":{"8":{"position":[[13,1]]},"192":{"position":[[0,1]]},"740":{"position":[[0,1]]}}}],["3",{"_index":14,"t":{"8":{"position":[[28,1]]},"194":{"position":[[0,1]]}}}],["4",{"_index":133,"t":{"196":{"position":[[0,1]]}}}],["5",{"_index":135,"t":{"198":{"position":[[0,1]]}}}],["6",{"_index":137,"t":{"200":{"position":[[0,1]]}}}],["addprovid",{"_index":415,"t":{"826":{"position":[[0,11]]}}}],["addwrapp",{"_index":416,"t":{"828":{"position":[[0,10]]}}}],["alia",{"_index":279,"t":{"476":{"position":[[0,5]]}}}],["antd",{"_index":354,"t":{"655":{"position":[[16,4]]},"770":{"position":[[12,4]]}}}],["api",{"_index":144,"t":{"207":{"position":[[7,3]]},"233":{"position":[[0,3]]},"669":{"position":[[4,3]]},"671":{"position":[[6,3]]},"725":{"position":[[4,3]]},"729":{"position":[[16,3]]},"757":{"position":[[0,3]]}}}],["app",{"_index":108,"t":{"140":{"position":[[13,3]]},"142":{"position":[[4,3]]},"320":{"position":[[0,3]]},"456":{"position":[[0,3]]}}}],["appconfig",{"_index":246,"t":{"399":{"position":[[0,9]]}}}],["appcontext",{"_index":414,"t":{"824":{"position":[[0,10]]}}}],["appear",{"_index":145,"t":{"209":{"position":[[0,6]]}}}],["approut",{"_index":118,"t":{"170":{"position":[[0,9]]}}}],["asset",{"_index":396,"t":{"768":{"position":[[16,6]]}}}],["auth",{"_index":395,"t":{"764":{"position":[[12,4]]}}}],["autoredirect",{"_index":104,"t":{"123":{"position":[[0,12]]}}}],["baseurl",{"_index":181,"t":{"249":{"position":[[10,7]]}}}],["boundari",{"_index":319,"t":{"573":{"position":[[15,8]]}}}],["build",{"_index":250,"t":{"409":{"position":[[0,5]]}}}],["cdn",{"_index":69,"t":{"77":{"position":[[0,3]]},"91":{"position":[[11,3]]}}}],["class",{"_index":203,"t":{"304":{"position":[[2,5]]}}}],["clientonli",{"_index":242,"t":{"391":{"position":[[1,10]]}}}],["codesplit",{"_index":300,"t":{"520":{"position":[[0,13]]}}}],["compact",{"_index":45,"t":{"31":{"position":[[0,7]]}}}],["compat",{"_index":141,"t":{"206":{"position":[[4,6]]}}}],["compiledepend",{"_index":290,"t":{"500":{"position":[[0,19]]}}}],["compon",{"_index":204,"t":{"304":{"position":[[8,9]]},"464":{"position":[[0,10]]}}}],["config",{"_index":267,"t":{"444":{"position":[[4,6]]}}}],["context",{"_index":404,"t":{"802":{"position":[[0,7]]}}}],["cooki",{"_index":99,"t":{"114":{"position":[[3,6]]}}}],["core",{"_index":314,"t":{"569":{"position":[[4,4]]},"571":{"position":[[4,4]]},"573":{"position":[[4,4]]},"575":{"position":[[4,4]]},"577":{"position":[[4,4]]}}}],["crossoriginload",{"_index":280,"t":{"478":{"position":[[0,18]]}}}],["css",{"_index":220,"t":{"342":{"position":[[2,3]]},"460":{"position":[[8,3]]},"659":{"position":[[5,3]]},"715":{"position":[[6,3]]},"768":{"position":[[12,3]]}}}],["cssmodul",{"_index":306,"t":{"536":{"position":[[0,10]]}}}],["dark",{"_index":44,"t":{"29":{"position":[[0,4]]}}}],["data",{"_index":322,"t":{"575":{"position":[[17,4]]}}}],["dataload",{"_index":262,"t":{"430":{"position":[[3,10]]},"482":{"position":[[0,10]]}}}],["defaultlocal",{"_index":103,"t":{"121":{"position":[[0,13]]}}}],["defin",{"_index":281,"t":{"480":{"position":[[0,6]]}}}],["defineappconfig",{"_index":230,"t":{"367":{"position":[[0,15]]}}}],["definepageconfig",{"_index":231,"t":{"369":{"position":[[0,16]]}}}],["deprec",{"_index":299,"t":{"518":{"position":[[13,10]]}}}],["dev",{"_index":324,"t":{"577":{"position":[[9,3]]}}}],["devpublicpath",{"_index":283,"t":{"486":{"position":[[0,13]]}}}],["devtool",{"_index":206,"t":{"306":{"position":[[6,8]]}}}],["disappear",{"_index":146,"t":{"209":{"position":[[9,9]]}}}],["document",{"_index":248,"t":{"403":{"position":[[0,8]]},"458":{"position":[[0,8]]}}}],["dom",{"_index":154,"t":{"217":{"position":[[0,3]]},"725":{"position":[[0,3]]}}}],["droploglevel",{"_index":289,"t":{"498":{"position":[[0,12]]}}}],["enableindev",{"_index":66,"t":{"71":{"position":[[0,11]]}}}],["env",{"_index":269,"t":{"446":{"position":[[1,3]]},"559":{"position":[[4,3]]}}}],["error",{"_index":318,"t":{"573":{"position":[[9,5]]}}}],["eslint",{"_index":303,"t":{"526":{"position":[[0,6]]}}}],["extern",{"_index":285,"t":{"490":{"position":[[0,9]]}}}],["fallback",{"_index":63,"t":{"58":{"position":[[4,8]]}}}],["faq",{"_index":80,"t":{"90":{"position":[[0,3]]}}}],["fragment",{"_index":136,"t":{"198":{"position":[[3,8]]}}}],["fusion",{"_index":397,"t":{"772":{"position":[[12,6]]}}}],["gener",{"_index":412,"t":{"818":{"position":[[0,9]]}}}],["getalltask",{"_index":411,"t":{"816":{"position":[[0,10]]}}}],["getdefaultlocal",{"_index":92,"t":{"104":{"position":[[0,16]]}}}],["getlocal",{"_index":91,"t":{"102":{"position":[[0,10]]}}}],["global",{"_index":274,"t":{"460":{"position":[[0,6]]}}}],["hash",{"_index":284,"t":{"488":{"position":[[0,4]]}}}],["help",{"_index":251,"t":{"411":{"position":[[0,4]]}}}],["histori",{"_index":232,"t":{"371":{"position":[[0,7]]},"615":{"position":[[0,7]]}}}],["html",{"_index":84,"t":{"93":{"position":[[4,4]]},"584":{"position":[[3,4]]},"588":{"position":[[8,4]]},"704":{"position":[[0,4]]}}}],["htmlgener",{"_index":304,"t":{"530":{"position":[[0,14]]}}}],["ic",{"_index":6,"t":{"6":{"position":[[20,3]]},"8":{"position":[[6,3],[21,3]]},"10":{"position":[[6,3]]},"140":{"position":[[0,3]]},"444":{"position":[[0,3]]},"569":{"position":[[0,3]]},"571":{"position":[[0,3]]},"573":{"position":[[0,3]]},"575":{"position":[[0,3]]},"577":{"position":[[0,3]]},"653":{"position":[[0,3]]},"762":{"position":[[1,3]]},"764":{"position":[[1,3]]},"766":{"position":[[1,3]]},"768":{"position":[[1,3]]},"770":{"position":[[1,3]]},"772":{"position":[[1,3]]},"774":{"position":[[1,3]]}}}],["ice_core_dev_port",{"_index":323,"t":{"577":{"position":[[0,17]]}}}],["ice_core_error_boundari",{"_index":317,"t":{"573":{"position":[[0,23]]}}}],["ice_core_initial_data",{"_index":320,"t":{"575":{"position":[[0,21]]}}}],["ice_core_mod",{"_index":313,"t":{"569":{"position":[[0,13]]}}}],["ice_core_rout",{"_index":316,"t":{"571":{"position":[[0,15]]}}}],["id",{"_index":255,"t":{"421":{"position":[[0,3]]}}}],["img",{"_index":381,"t":{"727":{"position":[[1,3]]}}}],["importstyl",{"_index":43,"t":{"27":{"position":[[0,11]]},"130":{"position":[[0,11]]}}}],["initi",{"_index":321,"t":{"575":{"position":[[9,7]]}}}],["java",{"_index":78,"t":{"86":{"position":[[0,4]]}}}],["jest",{"_index":182,"t":{"253":{"position":[[0,4]]}}}],["js",{"_index":7,"t":{"6":{"position":[[24,2]]},"8":{"position":[[10,2],[25,2]]},"84":{"position":[[5,2]]},"140":{"position":[[4,2]]},"417":{"position":[[5,2]]},"550":{"position":[[8,2]]},"653":{"position":[[4,2]]}}}],["json",{"_index":266,"t":{"442":{"position":[[8,4]]},"448":{"position":[[9,4]]}}}],["jsx",{"_index":122,"t":{"184":{"position":[[6,3]]},"340":{"position":[[2,3]]}}}],["keepaliveoutlet",{"_index":243,"t":{"393":{"position":[[1,15]]}}}],["layout",{"_index":117,"t":{"168":{"position":[[0,6]]}}}],["less",{"_index":276,"t":{"460":{"position":[[17,4]]}}}],["link",{"_index":244,"t":{"395":{"position":[[1,4]]},"619":{"position":[[0,4]]},"694":{"position":[[0,5]]},"755":{"position":[[0,4]]}}}],["local",{"_index":102,"t":{"119":{"position":[[0,7]]},"768":{"position":[[23,5]]}}}],["locat",{"_index":342,"t":{"622":{"position":[[0,8]]}}}],["meta",{"_index":367,"t":{"692":{"position":[[0,5]]}}}],["miniapp",{"_index":394,"t":{"762":{"position":[[12,7]]}}}],["minifi",{"_index":288,"t":{"496":{"position":[[0,6]]}}}],["mock",{"_index":171,"t":{"245":{"position":[[0,4]]},"450":{"position":[[0,4]]},"528":{"position":[[0,4]]},"542":{"position":[[3,4]]},"548":{"position":[[3,4]]},"550":{"position":[[3,4]]}}}],["mode",{"_index":315,"t":{"569":{"position":[[9,4]]}}}],["model",{"_index":189,"t":{"277":{"position":[[3,5]]},"285":{"position":[[3,5]]},"294":{"position":[[0,5]]},"296":{"position":[[0,5]]}}}],["modifyuserconfig",{"_index":409,"t":{"812":{"position":[[0,16]]}}}],["mt",{"_index":268,"t":{"444":{"position":[[11,3]]}}}],["next",{"_index":353,"t":{"655":{"position":[[11,4]]}}}],["nginx",{"_index":70,"t":{"79":{"position":[[0,5]]}}}],["node",{"_index":77,"t":{"84":{"position":[[0,4]]},"417":{"position":[[0,4]]}}}],["npm",{"_index":403,"t":{"798":{"position":[[6,3]]}}}],["ongetconfig",{"_index":405,"t":{"804":{"position":[[0,11]]}}}],["onhook",{"_index":406,"t":{"806":{"position":[[0,6]]}}}],["outlet",{"_index":245,"t":{"397":{"position":[[1,6]]}}}],["outputdir",{"_index":286,"t":{"492":{"position":[[0,9]]}}}],["outputpath",{"_index":64,"t":{"67":{"position":[[0,10]]}}}],["packag",{"_index":265,"t":{"442":{"position":[[0,7]]}}}],["page",{"_index":277,"t":{"462":{"position":[[0,5]]}}}],["plugin",{"_index":305,"t":{"532":{"position":[[0,7]]},"762":{"position":[[5,6]]},"764":{"position":[[5,6]]},"766":{"position":[[5,6]]},"768":{"position":[[5,6]]},"770":{"position":[[5,6]]},"772":{"position":[[5,6]]},"774":{"position":[[5,6]]}}}],["polyfil",{"_index":292,"t":{"504":{"position":[[0,8]]}}}],["port",{"_index":325,"t":{"577":{"position":[[13,4]]}}}],["portal",{"_index":385,"t":{"731":{"position":[[10,6]]}}}],["postcss",{"_index":291,"t":{"502":{"position":[[0,7]]}}}],["proxi",{"_index":287,"t":{"494":{"position":[[0,5]]}}}],["public",{"_index":224,"t":{"350":{"position":[[0,6]]},"452":{"position":[[0,6]]}}}],["publicpath",{"_index":282,"t":{"484":{"position":[[0,10]]}}}],["queri",{"_index":343,"t":{"624":{"position":[[0,5]]}}}],["rax",{"_index":107,"t":{"140":{"position":[[9,3]]},"142":{"position":[[0,3]]},"206":{"position":[[0,3]]},"207":{"position":[[0,3]]},"213":{"position":[[3,3]]}}}],["react",{"_index":384,"t":{"731":{"position":[[4,5]]}}}],["reactdom",{"_index":383,"t":{"729":{"position":[[4,8]]}}}],["redux",{"_index":205,"t":{"306":{"position":[[0,5]]}}}],["registercliopt",{"_index":408,"t":{"810":{"position":[[0,17]]}}}],["registertask",{"_index":410,"t":{"814":{"position":[[0,12]]}}}],["registeruserconfig",{"_index":407,"t":{"808":{"position":[[0,18]]}}}],["relativecsspath",{"_index":65,"t":{"69":{"position":[[0,15]]}}}],["rem",{"_index":375,"t":{"717":{"position":[[6,3]]}}}],["request",{"_index":156,"t":{"223":{"position":[[3,7]]},"234":{"position":[[0,7]]}}}],["rout",{"_index":296,"t":{"514":{"position":[[0,6]]}}}],["routeconfig",{"_index":247,"t":{"401":{"position":[[0,11]]}}}],["router",{"_index":209,"t":{"322":{"position":[[0,6]]},"571":{"position":[[9,6]]}}}],["rpx",{"_index":351,"t":{"653":{"position":[[10,3]]}}}],["script",{"_index":368,"t":{"696":{"position":[[0,7]]}}}],["scss",{"_index":275,"t":{"460":{"position":[[12,4]]}}}],["server",{"_index":295,"t":{"512":{"position":[[0,6]]}}}],["servic",{"_index":160,"t":{"227":{"position":[[3,7]]},"229":{"position":[[7,7]]},"231":{"position":[[7,7]]}}}],["setrend",{"_index":417,"t":{"830":{"position":[[0,9]]}}}],["sourcemap",{"_index":297,"t":{"516":{"position":[[0,9]]}}}],["span",{"_index":370,"t":{"713":{"position":[[1,4]]}}}],["splitchunk",{"_index":298,"t":{"518":{"position":[[0,11]]}}}],["src",{"_index":271,"t":{"454":{"position":[[0,3]]}}}],["ssg",{"_index":100,"t":{"116":{"position":[[0,3]]},"510":{"position":[[0,3]]},"642":{"position":[[0,3]]},"644":{"position":[[3,3]]}}}],["ssr",{"_index":294,"t":{"508":{"position":[[0,3]]},"634":{"position":[[3,3]]}}}],["start",{"_index":249,"t":{"407":{"position":[[0,5]]}}}],["store",{"_index":190,"t":{"279":{"position":[[4,5]]},"287":{"position":[[4,5]]},"766":{"position":[[12,5]]}}}],["svg",{"_index":386,"t":{"732":{"position":[[6,3]]}}}],["swiper",{"_index":150,"t":{"213":{"position":[[7,6]]}}}],["syntaxfeatur",{"_index":301,"t":{"522":{"position":[[0,14]]}}}],["theme",{"_index":46,"t":{"33":{"position":[[0,5]]},"134":{"position":[[0,5]]}}}],["themepackag",{"_index":105,"t":{"132":{"position":[[0,12]]}}}],["titl",{"_index":366,"t":{"690":{"position":[[0,5]]}}}],["transform",{"_index":293,"t":{"506":{"position":[[0,9]]}}}],["ts",{"_index":272,"t":{"456":{"position":[[4,2]]}}}],["tschecker",{"_index":302,"t":{"524":{"position":[[0,9]]}}}],["tsconfig",{"_index":270,"t":{"448":{"position":[[0,8]]}}}],["tsx",{"_index":273,"t":{"458":{"position":[[9,3]]}}}],["ui",{"_index":32,"t":{"16":{"position":[[9,2]]},"258":{"position":[[2,2]]},"260":{"position":[[0,2]]},"267":{"position":[[2,2]]},"269":{"position":[[0,2]]}}}],["uni",{"_index":360,"t":{"669":{"position":[[0,3]]}}}],["unocss",{"_index":398,"t":{"774":{"position":[[12,6]]}}}],["url",{"_index":222,"t":{"346":{"position":[[0,3]]}}}],["useappcontext",{"_index":241,"t":{"389":{"position":[[0,13]]}}}],["useappdata",{"_index":237,"t":{"381":{"position":[[0,10]]}}}],["useconfig",{"_index":239,"t":{"385":{"position":[[0,9]]},"834":{"position":[[0,9]]}}}],["usedata",{"_index":238,"t":{"383":{"position":[[0,7]]},"832":{"position":[[0,7]]}}}],["useloc",{"_index":236,"t":{"379":{"position":[[0,11]]}}}],["uselocal",{"_index":93,"t":{"106":{"position":[[0,9]]}}}],["usemount",{"_index":240,"t":{"387":{"position":[[0,10]]}}}],["usenavig",{"_index":235,"t":{"377":{"position":[[0,11]]},"617":{"position":[[0,11]]}}}],["usepageasset",{"_index":332,"t":{"592":{"position":[[0,13]]}}}],["useparam",{"_index":233,"t":{"373":{"position":[[0,9]]}}}],["userequest",{"_index":165,"t":{"236":{"position":[[0,10]]}}}],["usesearchparam",{"_index":234,"t":{"375":{"position":[[0,15]]}}}],["version",{"_index":252,"t":{"413":{"position":[[0,7]]}}}],["vitest",{"_index":184,"t":{"262":{"position":[[0,6]]}}}],["watch",{"_index":413,"t":{"820":{"position":[[0,5]]}}}],["web",{"_index":390,"t":{"740":{"position":[[9,3]]}}}],["webpack",{"_index":4,"t":{"6":{"position":[[6,7]]},"534":{"position":[[0,7]]}}}],["withlocal",{"_index":94,"t":{"108":{"position":[[0,10]]}}}],["一定",{"_index":20,"t":{"10":{"position":[[17,2]]}}}],["三方",{"_index":51,"t":{"40":{"position":[[2,2]]}}}],["不可",{"_index":197,"t":{"298":{"position":[[2,2]]}}}],["不同",{"_index":180,"t":{"249":{"position":[[6,2]]},"588":{"position":[[2,2]]}}}],["不能",{"_index":378,"t":{"723":{"position":[[0,2]]}}}],["中",{"_index":162,"t":{"229":{"position":[[3,1]]},"231":{"position":[[3,1]]},"281":{"position":[[3,1]]},"289":{"position":[[3,1]]},"304":{"position":[[18,1]]},"340":{"position":[[8,1]]},"342":{"position":[[8,1]]}}}],["为什么",{"_index":121,"t":{"184":{"position":[[0,3]]}}}],["之间",{"_index":195,"t":{"296":{"position":[[6,2]]}}}],["事件",{"_index":147,"t":{"209":{"position":[[19,2]]},"219":{"position":[[0,2]]},"676":{"position":[[8,2]]},"678":{"position":[[8,2]]}}}],["什么",{"_index":8,"t":{"6":{"position":[[28,2]]},"18":{"position":[[9,2]]}}}],["代码",{"_index":35,"t":{"18":{"position":[[4,2]]},"38":{"position":[[5,2]]},"586":{"position":[[4,2]]}}}],["优势",{"_index":9,"t":{"6":{"position":[[30,2]]}}}],["低",{"_index":34,"t":{"18":{"position":[[3,1]]}}}],["使用",{"_index":3,"t":{"6":{"position":[[3,2],[17,2]]},"8":{"position":[[3,2]]},"10":{"position":[[0,2]]},"12":{"position":[[10,2]]},"16":{"position":[[4,2]]},"146":{"position":[[0,2]]},"186":{"position":[[2,2]]},"204":{"position":[[5,2]]},"215":{"position":[[2,2]]},"281":{"position":[[4,2]]},"289":{"position":[[4,2]]},"298":{"position":[[0,2]]},"304":{"position":[[19,2]]},"432":{"position":[[0,2]]},"550":{"position":[[0,2]]},"559":{"position":[[0,2]]},"561":{"position":[[0,2]]},"717":{"position":[[3,2]]},"732":{"position":[[3,2]]}}}],["依赖",{"_index":52,"t":{"40":{"position":[[4,2]]},"254":{"position":[[0,2]]},"263":{"position":[[0,2]]},"328":{"position":[[4,2]]},"356":{"position":[[0,2]]}}}],["信息",{"_index":90,"t":{"101":{"position":[[4,2]]},"621":{"position":[[4,2]]}}}],["修改",{"_index":227,"t":{"356":{"position":[[2,2]]},"362":{"position":[[3,2]]}}}],["元素",{"_index":213,"t":{"330":{"position":[[1,2]]},"332":{"position":[[0,2]]},"334":{"position":[[1,2]]},"584":{"position":[[8,2]]},"723":{"position":[[6,2]]}}}],["全局",{"_index":187,"t":{"275":{"position":[[0,2]]},"648":{"position":[[0,2]]},"655":{"position":[[4,2]]},"662":{"position":[[0,2]]}}}],["关系",{"_index":37,"t":{"18":{"position":[[11,2]]}}}],["关闭",{"_index":310,"t":{"548":{"position":[[0,2]]},"644":{"position":[[0,2]]}}}],["其他",{"_index":120,"t":{"180":{"position":[[2,2]]},"719":{"position":[[0,2]]}}}],["其它",{"_index":278,"t":{"466":{"position":[[0,2]]}}}],["具备",{"_index":19,"t":{"10":{"position":[[15,2]]}}}],["兼容",{"_index":27,"t":{"14":{"position":[[6,2]]},"213":{"position":[[0,2]]},"215":{"position":[[0,2]]}}}],["兼容性",{"_index":142,"t":{"206":{"position":[[11,3]]},"473":{"position":[[0,3]]}}}],["内容",{"_index":223,"t":{"348":{"position":[[2,2]]},"583":{"position":[[0,2]]}}}],["内置",{"_index":199,"t":{"300":{"position":[[2,2]]},"567":{"position":[[0,2]]},"702":{"position":[[3,2]]}}}],["内联",{"_index":151,"t":{"215":{"position":[[4,2]]},"586":{"position":[[2,2]]}}}],["冰",{"_index":17,"t":{"10":{"position":[[3,1]]},"12":{"position":[[13,1]]},"14":{"position":[[1,1]]},"16":{"position":[[1,1]]},"18":{"position":[[1,1]]}}}],["分割",{"_index":49,"t":{"38":{"position":[[7,2]]}}}],["分包",{"_index":53,"t":{"40":{"position":[[7,2]]}}}],["切换",{"_index":95,"t":{"110":{"position":[[0,2]]},"302":{"position":[[2,2]]}}}],["列表",{"_index":129,"t":{"192":{"position":[[5,2]]}}}],["创建",{"_index":387,"t":{"736":{"position":[[0,2]]},"738":{"position":[[10,2]]},"780":{"position":[[0,2]]}}}],["初始",{"_index":326,"t":{"581":{"position":[[0,2]]},"686":{"position":[[4,2]]}}}],["初始化",{"_index":55,"t":{"46":{"position":[[0,3]]},"152":{"position":[[0,3]]},"279":{"position":[[0,3]]},"287":{"position":[[0,3]]}}}],["初始状态",{"_index":192,"t":{"292":{"position":[[2,4]]}}}],["判断",{"_index":127,"t":{"190":{"position":[[5,2]]}}}],["前端",{"_index":21,"t":{"10":{"position":[[20,2]]},"12":{"position":[[2,2]]}}}],["前言",{"_index":225,"t":{"353":{"position":[[0,2]]}}}],["加载",{"_index":200,"t":{"300":{"position":[[5,2]]},"434":{"position":[[5,2]]},"436":{"position":[[5,2]]}}}],["动态",{"_index":337,"t":{"607":{"position":[[0,2]]},"626":{"position":[[0,2]]}}}],["包",{"_index":253,"t":{"419":{"position":[[0,1]]}}}],["升级",{"_index":13,"t":{"8":{"position":[[17,2]]},"355":{"position":[[0,2]]},"358":{"position":[[6,2]]}}}],["单",{"_index":130,"t":{"194":{"position":[[3,1]]}}}],["原生",{"_index":361,"t":{"671":{"position":[[0,2]]},"676":{"position":[[0,2]]},"678":{"position":[[0,2]]},"706":{"position":[[3,2]]}}}],["参数",{"_index":344,"t":{"626":{"position":[[4,2]]},"759":{"position":[[2,2]]}}}],["参考",{"_index":362,"t":{"673":{"position":[[0,2]]}}}],["发布",{"_index":68,"t":{"75":{"position":[[2,2]]},"77":{"position":[[4,2]]},"88":{"position":[[3,2]]},"784":{"position":[[2,2]]},"790":{"position":[[5,2]]},"798":{"position":[[0,2]]}}}],["变",{"_index":198,"t":{"298":{"position":[[4,1]]}}}],["可以",{"_index":30,"t":{"16":{"position":[[2,2]]}}}],["可见",{"_index":215,"t":{"330":{"position":[[5,2]]},"332":{"position":[[4,2]]},"334":{"position":[[6,2]]}}}],["同学",{"_index":24,"t":{"12":{"position":[[4,2]]}}}],["同步",{"_index":379,"t":{"723":{"position":[[2,2]]}}}],["名",{"_index":139,"t":{"200":{"position":[[4,1]]}}}],["吗",{"_index":15,"t":{"8":{"position":[[30,1]]},"653":{"position":[[14,1]]}}}],["命令行",{"_index":312,"t":{"557":{"position":[[0,3]]}}}],["哪些",{"_index":31,"t":{"16":{"position":[[6,2]]}}}],["国际化",{"_index":87,"t":{"99":{"position":[[0,3]]}}}],["图片尺寸",{"_index":382,"t":{"727":{"position":[[6,4]]}}}],["地址",{"_index":347,"t":{"630":{"position":[[4,2]]}}}],["块",{"_index":372,"t":{"713":{"position":[[12,1]]}}}],["域",{"_index":176,"t":{"247":{"position":[[7,1]]}}}],["基础",{"_index":22,"t":{"10":{"position":[[22,2]]},"338":{"position":[[0,2]]},"596":{"position":[[0,2]]},"655":{"position":[[6,2]]},"657":{"position":[[6,2]]}}}],["处理",{"_index":148,"t":{"209":{"position":[[22,2]]},"211":{"position":[[3,2]]},"242":{"position":[[2,2]]},"344":{"position":[[2,2]]},"552":{"position":[[0,2]]}}}],["多个",{"_index":167,"t":{"240":{"position":[[0,2]]},"438":{"position":[[0,2]]}}}],["如何",{"_index":173,"t":{"247":{"position":[[0,2]]},"556":{"position":[[0,2]]},"655":{"position":[[0,2]]},"657":{"position":[[0,2]]},"659":{"position":[[0,2]]}}}],["安装",{"_index":54,"t":{"44":{"position":[[0,2]]},"144":{"position":[[0,2]]},"159":{"position":[[0,2]]},"186":{"position":[[0,2]]},"204":{"position":[[2,2]]},"223":{"position":[[0,2]]},"254":{"position":[[2,2]]},"263":{"position":[[2,2]]},"328":{"position":[[0,2]]}}}],["定义",{"_index":188,"t":{"277":{"position":[[0,2]]},"285":{"position":[[0,2]]},"294":{"position":[[6,2]]}}}],["定制",{"_index":328,"t":{"583":{"position":[[2,2]]},"588":{"position":[[0,2]]},"630":{"position":[[0,2]]},"800":{"position":[[4,2]]},"822":{"position":[[5,2]]}}}],["尺寸",{"_index":380,"t":{"723":{"position":[[8,2]]}}}],["局部",{"_index":349,"t":{"650":{"position":[[0,2]]},"657":{"position":[[4,2]]}}}],["属性",{"_index":155,"t":{"217":{"position":[[4,2]]},"688":{"position":[[7,2]]}}}],["嵌套",{"_index":336,"t":{"605":{"position":[[0,2]]},"659":{"position":[[9,2]]}}}],["工具",{"_index":258,"t":{"423":{"position":[[6,2]]}}}],["工程",{"_index":228,"t":{"358":{"position":[[0,2]]},"800":{"position":[[0,2]]}}}],["差异",{"_index":109,"t":{"140":{"position":[[18,2]]},"217":{"position":[[6,2]]},"219":{"position":[[2,2]]},"725":{"position":[[8,2]]}}}],["已有",{"_index":389,"t":{"740":{"position":[[5,2]]}}}],["布局",{"_index":335,"t":{"603":{"position":[[0,2]]}}}],["常见",{"_index":229,"t":{"360":{"position":[[0,2]]}}}],["常见问题",{"_index":1,"t":{"5":{"position":[[0,4]]},"652":{"position":[[0,4]]}}}],["平台",{"_index":392,"t":{"744":{"position":[[5,2]]}}}],["应用",{"_index":75,"t":{"83":{"position":[[2,2]]},"84":{"position":[[8,2]]},"86":{"position":[[5,2]]},"152":{"position":[[3,2]]},"153":{"position":[[2,2]]},"155":{"position":[[1,2]]},"157":{"position":[[0,2]]},"161":{"position":[[2,2]]},"163":{"position":[[1,2]]},"166":{"position":[[2,2]]},"172":{"position":[[1,2]]},"316":{"position":[[0,2]]},"436":{"position":[[0,2]]},"676":{"position":[[2,2]]},"736":{"position":[[5,2]]},"740":{"position":[[13,2]]},"780":{"position":[[2,2]]},"786":{"position":[[3,2]]}}}],["开发",{"_index":402,"t":{"796":{"position":[[0,2]]}}}],["开启",{"_index":40,"t":{"24":{"position":[[0,2]]},"64":{"position":[[0,2]]},"127":{"position":[[0,2]]},"273":{"position":[[0,2]]},"310":{"position":[[0,2]]},"634":{"position":[[0,2]]}}}],["开始",{"_index":86,"t":{"97":{"position":[[2,2]]}}}],["异常",{"_index":168,"t":{"242":{"position":[[0,2]]}}}],["异步",{"_index":261,"t":{"428":{"position":[[0,2]]}}}],["式",{"_index":334,"t":{"597":{"position":[[2,1]]}}}],["引入",{"_index":219,"t":{"340":{"position":[[9,2]]},"342":{"position":[[9,2]]},"346":{"position":[[4,2]]},"348":{"position":[[4,2]]}}}],["形式",{"_index":393,"t":{"757":{"position":[[4,2]]}}}],["待",{"_index":358,"t":{"666":{"position":[[0,1]]},"746":{"position":[[0,1]]}}}],["循环",{"_index":128,"t":{"192":{"position":[[3,2]]}}}],["微",{"_index":114,"t":{"155":{"position":[[0,1]]},"163":{"position":[[0,1]]},"172":{"position":[[0,1]]}}}],["快速",{"_index":85,"t":{"97":{"position":[[0,2]]}}}],["忽略",{"_index":345,"t":{"628":{"position":[[0,2]]}}}],["怎样",{"_index":29,"t":{"14":{"position":[[11,2]]}}}],["我们",{"_index":39,"t":{"20":{"position":[[2,2]]}}}],["托管",{"_index":72,"t":{"81":{"position":[[4,2]]}}}],["拓展",{"_index":212,"t":{"324":{"position":[[3,2]]}}}],["指令",{"_index":123,"t":{"188":{"position":[[0,2]]},"196":{"position":[[5,2]]}}}],["指南",{"_index":226,"t":{"355":{"position":[[2,2]]}}}],["指定",{"_index":221,"t":{"344":{"position":[[0,2]]}}}],["接口",{"_index":172,"t":{"245":{"position":[[5,2]]},"247":{"position":[[4,2]]},"542":{"position":[[8,2]]}}}],["控制",{"_index":50,"t":{"40":{"position":[[0,2]]}}}],["推荐",{"_index":106,"t":{"136":{"position":[[0,2]]}}}],["提示",{"_index":357,"t":{"659":{"position":[[14,2]]}}}],["插件",{"_index":41,"t":{"24":{"position":[[2,2]]},"44":{"position":[[2,2]]},"64":{"position":[[2,2]]},"118":{"position":[[0,2]]},"127":{"position":[[2,2]]},"159":{"position":[[2,2]]},"204":{"position":[[0,2]]},"223":{"position":[[11,2]]},"310":{"position":[[2,2]]},"794":{"position":[[0,2]]},"796":{"position":[[4,2]]},"798":{"position":[[2,2]]}}}],["插槽",{"_index":134,"t":{"196":{"position":[[3,2]]}}}],["操作",{"_index":59,"t":{"50":{"position":[[0,2]]}}}],["支持",{"_index":350,"t":{"653":{"position":[[7,2]]},"666":{"position":[[1,2]]},"715":{"position":[[1,2]]},"717":{"position":[[1,2]]},"729":{"position":[[1,2]]},"731":{"position":[[1,2]]},"732":{"position":[[1,2]]},"744":{"position":[[0,2]]},"746":{"position":[[1,2]]},"748":{"position":[[1,2]]}}}],["改造",{"_index":115,"t":{"157":{"position":[[2,2]]},"161":{"position":[[4,2]]},"163":{"position":[[3,2]]},"740":{"position":[[3,2]]}}}],["数据",{"_index":57,"t":{"46":{"position":[[5,2]]},"52":{"position":[[4,2]]},"54":{"position":[[4,2]]},"428":{"position":[[4,2]]},"434":{"position":[[3,2]]},"436":{"position":[[3,2]]},"438":{"position":[[2,2]]},"552":{"position":[[4,2]]},"636":{"position":[[0,2]]},"642":{"position":[[5,2]]},"686":{"position":[[6,2]]}}}],["文件",{"_index":218,"t":{"340":{"position":[[6,2]]},"342":{"position":[[6,2]]},"348":{"position":[[0,2]]},"559":{"position":[[8,2]]}}}],["文档",{"_index":363,"t":{"673":{"position":[[2,2]]}}}],["方案",{"_index":36,"t":{"18":{"position":[[6,2]]},"364":{"position":[[2,2]]}}}],["方法",{"_index":308,"t":{"544":{"position":[[2,2]]}}}],["时",{"_index":211,"t":{"324":{"position":[[2,1]]},"330":{"position":[[9,1]]},"334":{"position":[[10,1]]},"362":{"position":[[2,1]]},"563":{"position":[[2,1]]},"565":{"position":[[2,1]]},"688":{"position":[[6,1]]},"822":{"position":[[2,1]]}}}],["是否",{"_index":18,"t":{"10":{"position":[[11,2]]},"12":{"position":[[6,2]]}}}],["服务",{"_index":73,"t":{"81":{"position":[[6,2]]}}}],["本地",{"_index":399,"t":{"782":{"position":[[0,2]]},"796":{"position":[[2,2]]}}}],["权限",{"_index":56,"t":{"46":{"position":[[3,2]]},"48":{"position":[[2,2]]},"50":{"position":[[2,2]]},"52":{"position":[[2,2]]},"54":{"position":[[2,2]]},"56":{"position":[[3,2]]}}}],["条件",{"_index":126,"t":{"190":{"position":[[3,2]]}}}],["构建",{"_index":152,"t":{"215":{"position":[[8,2]]},"471":{"position":[[0,2]]},"563":{"position":[[0,2]]},"742":{"position":[[3,2]]}}}],["标签",{"_index":330,"t":{"590":{"position":[[3,2]]},"704":{"position":[[5,2]]}}}],["样式",{"_index":149,"t":{"211":{"position":[[0,2]]},"215":{"position":[[6,2]]},"648":{"position":[[2,2]]},"650":{"position":[[2,2]]},"655":{"position":[[21,2]]},"657":{"position":[[10,2]]},"710":{"position":[[0,2]]},"711":{"position":[[5,2]]},"713":{"position":[[14,2]]}}}],["核心",{"_index":143,"t":{"207":{"position":[[4,2]]}}}],["根据",{"_index":178,"t":{"249":{"position":[[0,2]]}}}],["根目录",{"_index":82,"t":{"91":{"position":[[6,3]]},"93":{"position":[[11,3]]}}}],["框架",{"_index":113,"t":{"153":{"position":[[0,2]]},"161":{"position":[[0,2]]},"166":{"position":[[0,2]]}}}],["概念",{"_index":333,"t":{"596":{"position":[[2,2]]}}}],["模块",{"_index":153,"t":{"215":{"position":[[11,2]]}}}],["模型",{"_index":161,"t":{"229":{"position":[[1,2]]}}}],["模板",{"_index":327,"t":{"581":{"position":[[2,2]]},"738":{"position":[[8,2]]}}}],["次",{"_index":131,"t":{"194":{"position":[[4,1]]}}}],["正在",{"_index":10,"t":{"8":{"position":[[1,2]]}}}],["注册",{"_index":365,"t":{"676":{"position":[[10,2]]},"678":{"position":[[10,2]]}}}],["注意",{"_index":112,"t":{"148":{"position":[[0,2]]}}}],["注意事项",{"_index":348,"t":{"640":{"position":[[0,4]]}}}],["测试",{"_index":183,"t":{"258":{"position":[[5,2]]},"260":{"position":[[3,2]]},"267":{"position":[[5,2]]},"269":{"position":[[3,2]]}}}],["浏览器",{"_index":26,"t":{"14":{"position":[[3,3]]},"711":{"position":[[0,3]]}}}],["消费",{"_index":159,"t":{"227":{"position":[[0,2]]},"428":{"position":[[2,2]]}}}],["添加",{"_index":329,"t":{"584":{"position":[[0,2]]},"586":{"position":[[0,2]]}}}],["渲染",{"_index":132,"t":{"194":{"position":[[5,2]]},"590":{"position":[[5,2]]}}}],["特性",{"_index":0,"t":{"3":{"position":[[0,2]]}}}],["状态",{"_index":185,"t":{"273":{"position":[[2,2]]},"275":{"position":[[2,2]]},"283":{"position":[[2,2]]},"298":{"position":[[5,2]]},"300":{"position":[[7,2],[12,2]]},"302":{"position":[[7,2]]},"330":{"position":[[7,2]]},"334":{"position":[[8,2]]}}}],["环境",{"_index":179,"t":{"249":{"position":[[2,2]]}}}],["环境变量",{"_index":311,"t":{"556":{"position":[[4,4]]},"557":{"position":[[3,4]]},"561":{"position":[[2,4]]},"567":{"position":[[3,4]]}}}],["理念",{"_index":260,"t":{"426":{"position":[[2,2]]}}}],["生命周期",{"_index":364,"t":{"676":{"position":[[4,4]]},"678":{"position":[[4,4]]}}}],["用法",{"_index":170,"t":{"244":{"position":[[2,2]]},"291":{"position":[[2,2]]}}}],["目录",{"_index":157,"t":{"225":{"position":[[0,2]]},"350":{"position":[[7,2]]},"450":{"position":[[5,2]]},"452":{"position":[[7,2]]},"454":{"position":[[4,2]]},"462":{"position":[[6,2]]},"464":{"position":[[11,2]]},"540":{"position":[[0,2]]}}}],["直接",{"_index":2,"t":{"6":{"position":[[1,2]]}}}],["相关",{"_index":369,"t":{"710":{"position":[[2,2]]}}}],["相比",{"_index":5,"t":{"6":{"position":[[14,2]]}}}],["示例",{"_index":263,"t":{"432":{"position":[[2,2]]}}}],["禁用",{"_index":98,"t":{"114":{"position":[[0,2]]}}}],["程序",{"_index":79,"t":{"88":{"position":[[1,2]]},"599":{"position":[[1,2]]},"671":{"position":[[3,2]]},"698":{"position":[[1,2]]},"702":{"position":[[1,2]]},"706":{"position":[[1,2]]},"736":{"position":[[3,2]]},"738":{"position":[[6,2]]},"744":{"position":[[3,2]]},"786":{"position":[[1,2]]},"790":{"position":[[1,2]]}}}],["程序开发",{"_index":256,"t":{"423":{"position":[[1,4]]}}}],["程序调试",{"_index":400,"t":{"788":{"position":[[1,4]]}}}],["端",{"_index":74,"t":{"83":{"position":[[1,1]]},"599":{"position":[[3,1]]}}}],["策略",{"_index":28,"t":{"14":{"position":[[8,2]]},"36":{"position":[[2,2]]}}}],["管理",{"_index":186,"t":{"273":{"position":[[4,2]]}}}],["管理工具",{"_index":254,"t":{"419":{"position":[[1,4]]}}}],["类",{"_index":138,"t":{"200":{"position":[[3,1]]}}}],["类型",{"_index":356,"t":{"659":{"position":[[12,2]]}}}],["约定",{"_index":158,"t":{"225":{"position":[[2,2]]},"540":{"position":[[2,2]]},"597":{"position":[[0,2]]}}}],["级",{"_index":264,"t":{"434":{"position":[[2,1]]},"436":{"position":[[2,1]]},"713":{"position":[[13,1]]}}}],["级别",{"_index":48,"t":{"38":{"position":[[2,2]]}}}],["组件",{"_index":33,"t":{"16":{"position":[[12,2]]},"38":{"position":[[0,2]]},"56":{"position":[[5,2]]},"178":{"position":[[4,2]]},"180":{"position":[[4,2]]},"198":{"position":[[12,2]]},"281":{"position":[[1,2]]},"289":{"position":[[1,2]]},"328":{"position":[[2,2]]},"403":{"position":[[9,2]]},"601":{"position":[[2,2]]},"603":{"position":[[2,2]]},"619":{"position":[[5,2]]},"628":{"position":[[8,2]]},"655":{"position":[[8,2]]},"657":{"position":[[8,2]]},"684":{"position":[[0,2]]},"702":{"position":[[5,2]]},"706":{"position":[[8,2]]},"721":{"position":[[2,2]]},"755":{"position":[[5,2]]}}}],["绑定",{"_index":140,"t":{"200":{"position":[[5,2]]}}}],["缓存",{"_index":119,"t":{"178":{"position":[[0,2]]},"180":{"position":[[0,2]]}}}],["编写",{"_index":307,"t":{"542":{"position":[[0,2]]}}}],["者",{"_index":257,"t":{"423":{"position":[[5,1]]}}}],["联系",{"_index":38,"t":{"20":{"position":[[0,2]]}}}],["能力",{"_index":359,"t":{"666":{"position":[[3,2]]},"746":{"position":[[3,2]]},"748":{"position":[[3,2]]},"800":{"position":[[2,2]]},"822":{"position":[[3,2]]}}}],["自动",{"_index":96,"t":{"112":{"position":[[2,2]]}}}],["自定义",{"_index":62,"t":{"56":{"position":[[0,3]]},"58":{"position":[[0,3]]},"590":{"position":[[0,3]]},"706":{"position":[[5,3]]}}}],["获取",{"_index":60,"t":{"52":{"position":[[0,2]]},"101":{"position":[[0,2]]},"300":{"position":[[0,2]]},"621":{"position":[[0,2]]},"686":{"position":[[0,2]]},"723":{"position":[[4,2]]},"759":{"position":[[4,2]]}}}],["获得",{"_index":355,"t":{"659":{"position":[[2,2]]}}}],["表单",{"_index":377,"t":{"721":{"position":[[0,2]]}}}],["表现",{"_index":371,"t":{"713":{"position":[[9,2]]}}}],["覆盖",{"_index":352,"t":{"655":{"position":[[2,2]]},"657":{"position":[[2,2]]}}}],["规则",{"_index":217,"t":{"338":{"position":[[2,2]]},"344":{"position":[[4,2]]},"599":{"position":[[6,2]]},"752":{"position":[[2,2]]}}}],["规范",{"_index":401,"t":{"794":{"position":[[2,2]]}}}],["视图",{"_index":164,"t":{"231":{"position":[[1,2]]}}}],["解决",{"_index":174,"t":{"247":{"position":[[2,2]]}}}],["解析",{"_index":346,"t":{"628":{"position":[[3,2]]}}}],["设置",{"_index":61,"t":{"54":{"position":[[0,2]]},"292":{"position":[[0,2]]}}}],["设计",{"_index":259,"t":{"426":{"position":[[0,2]]}}}],["详细",{"_index":193,"t":{"294":{"position":[[8,2]]}}}],["语法",{"_index":124,"t":{"188":{"position":[[2,2]]}}}],["语言",{"_index":89,"t":{"101":{"position":[[2,2]]},"110":{"position":[[2,2]]}}}],["说明",{"_index":194,"t":{"294":{"position":[[10,2]]}}}],["请求",{"_index":166,"t":{"238":{"position":[[0,2]]},"240":{"position":[[2,2]]},"438":{"position":[[4,2]]},"544":{"position":[[0,2]]},"552":{"position":[[2,2]]},"636":{"position":[[2,2]]},"642":{"position":[[7,2]]}}}],["调用",{"_index":163,"t":{"229":{"position":[[4,2]]},"231":{"position":[[4,2]]}}}],["调试",{"_index":391,"t":{"742":{"position":[[0,2]]},"782":{"position":[[2,2]]}}}],["资深",{"_index":23,"t":{"12":{"position":[[0,2]]}}}],["资源",{"_index":67,"t":{"75":{"position":[[0,2]]},"81":{"position":[[2,2]]},"91":{"position":[[2,2]]}}}],["跨",{"_index":175,"t":{"247":{"position":[[6,1]]}}}],["路由",{"_index":88,"t":{"99":{"position":[[3,2]]},"112":{"position":[[0,2]]},"178":{"position":[[2,2]]},"597":{"position":[[3,2]]},"599":{"position":[[4,2]]},"601":{"position":[[0,2]]},"605":{"position":[[2,2]]},"607":{"position":[[2,2]]},"609":{"position":[[2,2]]},"611":{"position":[[2,2]]},"613":{"position":[[0,2]]},"621":{"position":[[2,2]]},"626":{"position":[[2,2]]},"628":{"position":[[6,2]]},"630":{"position":[[2,2]]},"752":{"position":[[0,2]]},"754":{"position":[[0,2]]},"759":{"position":[[0,2]]}}}],["跳转",{"_index":341,"t":{"613":{"position":[[2,2]]},"754":{"position":[[2,2]]}}}],["转义",{"_index":340,"t":{"611":{"position":[[0,2]]}}}],["迁移",{"_index":111,"t":{"142":{"position":[[10,2]]},"360":{"position":[[4,2]]},"364":{"position":[[4,2]]}}}],["运行",{"_index":210,"t":{"324":{"position":[[0,2]]},"362":{"position":[[0,2]]},"565":{"position":[[0,2]]},"688":{"position":[[4,2]]},"822":{"position":[[0,2]]}}}],["返回值",{"_index":309,"t":{"546":{"position":[[0,3]]}}}],["进入",{"_index":214,"t":{"330":{"position":[[3,2]]},"334":{"position":[[3,2]]}}}],["进阶",{"_index":191,"t":{"291":{"position":[[0,2]]},"364":{"position":[[0,2]]}}}],["适合",{"_index":25,"t":{"12":{"position":[[8,2]]}}}],["选择器",{"_index":374,"t":{"715":{"position":[[10,3]]}}}],["选项",{"_index":101,"t":{"118":{"position":[[2,2]]}}}],["通",{"_index":338,"t":{"609":{"position":[[0,1]]}}}],["通信",{"_index":196,"t":{"296":{"position":[[8,2]]}}}],["通过",{"_index":388,"t":{"738":{"position":[[3,2]]}}}],["逻辑",{"_index":331,"t":{"590":{"position":[[7,2]]}}}],["部分",{"_index":373,"t":{"715":{"position":[[3,2]]},"729":{"position":[[13,2]]}}}],["部署",{"_index":83,"t":{"93":{"position":[[0,2]]},"784":{"position":[[0,2]]},"790":{"position":[[3,2]]}}}],["配",{"_index":339,"t":{"609":{"position":[[1,1]]}}}],["配置",{"_index":42,"t":{"26":{"position":[[0,2]]},"66":{"position":[[0,2]]},"129":{"position":[[0,2]]},"136":{"position":[[2,2]]},"166":{"position":[[4,2]]},"172":{"position":[[3,2]]},"238":{"position":[[2,2]]},"240":{"position":[[4,2]]},"249":{"position":[[4,2]]},"256":{"position":[[0,2]]},"265":{"position":[[0,2]]},"312":{"position":[[0,2]]},"318":{"position":[[0,2]]},"360":{"position":[[2,2]]},"473":{"position":[[3,2]]},"475":{"position":[[0,2]]},"556":{"position":[[2,2]]},"662":{"position":[[2,2]]},"664":{"position":[[2,2]]},"688":{"position":[[0,2]]},"698":{"position":[[5,2]]}}}],["配置文件",{"_index":207,"t":{"316":{"position":[[2,4]]},"358":{"position":[[2,4]]},"470":{"position":[[0,4]]},"471":{"position":[[2,4]]}}}],["重定向",{"_index":97,"t":{"112":{"position":[[4,3]]}}}],["重置",{"_index":202,"t":{"302":{"position":[[5,2]]}}}],["错误",{"_index":201,"t":{"300":{"position":[[10,2]]}}}],["问题",{"_index":177,"t":{"247":{"position":[[8,2]]},"710":{"position":[[4,2]]},"727":{"position":[[10,2]]}}}],["附录",{"_index":116,"t":{"165":{"position":[[0,2]]}}}],["限制",{"_index":376,"t":{"719":{"position":[[2,2]]}}}],["集成",{"_index":76,"t":{"83":{"position":[[4,2]]}}}],["需要",{"_index":12,"t":{"8":{"position":[[15,2]]},"10":{"position":[[13,2]]},"184":{"position":[[3,2]]}}}],["静态",{"_index":71,"t":{"81":{"position":[[0,2]]},"91":{"position":[[0,2]]},"430":{"position":[[0,2]]}}}],["非",{"_index":81,"t":{"91":{"position":[[5,1]]},"93":{"position":[[10,1]]},"258":{"position":[[0,1]]},"267":{"position":[[0,1]]}}}],["页面",{"_index":58,"t":{"48":{"position":[[0,2]]},"283":{"position":[[0,2]]},"302":{"position":[[0,2]]},"434":{"position":[[0,2]]},"588":{"position":[[4,2]]},"664":{"position":[[0,2]]},"678":{"position":[[2,2]]},"686":{"position":[[2,2]]},"688":{"position":[[2,2]]},"698":{"position":[[3,2]]}}}],["项",{"_index":208,"t":{"318":{"position":[[2,1]]},"475":{"position":[[2,1]]}}}],["项目",{"_index":110,"t":{"142":{"position":[[8,2]]}}}],["飞",{"_index":16,"t":{"10":{"position":[[2,1]]},"12":{"position":[[12,1]]},"14":{"position":[[0,1]]},"16":{"position":[[0,1]]},"18":{"position":[[0,1]]}}}],["首次",{"_index":216,"t":{"332":{"position":[[2,2]]}}}],["高阶",{"_index":169,"t":{"244":{"position":[[0,2]]}}}],["默认",{"_index":47,"t":{"36":{"position":[[0,2]]},"711":{"position":[[3,2]]},"713":{"position":[[7,2]]}}}]],"pipeline":["stemmer"]}},{"documents":[{"i":2,"t":"飞冰 (ICE) 是一套基于 React 的前端解决方案,围绕应用研发框架 (ice.js 3) 提供了应用的构建、路由、调试等基础能力以及微前端、一体化等领域能力,同时结合可视化操作、物料复用等方案降低研发门槛。","s":"关于","u":"/docs/guide/about","h":"","p":1},{"i":4,"t":"🐒 开箱即用:TypeScript/Webpack5/CSS Modules/Mock/SSR,各种方案 All in One 🦊 贴合业务的最佳实践:目录规范、代码规范、路由方案、状态管理、数据请求等 🐯 多种应用模式:支持服务端渲染 SSR 以及静态构建 SSG 🐦 强大的插件能力:官方所有能力都通过插件实现,业务可以通过插件扩展各种能力 🐘 丰富的领域方案:微前端 ICESTARK、一体化方案等 在应用框架之上,我们还提供了 NPM 包开发工具 ICE PKG: 提供 React 组件开发、Node.js 模块开发、前端通用库等多场景需求 组件开发提供基础研发范式,提供组件文档、示例、预览等功能,查看文档 更多场景可以通过插件的方式完成定制,查看插件开发 你也可以搭配 VS Code 插件 AppWorks 享受到更多功能: 通过大量的官方模板(fusion/antd)可视化创建项目,查看更多 基于 VS Code 插件可视化的调试、管理依赖、拼装区块等,查看文档 业务可以根据规范定制自己的物料体系(含项目模板),查看物料开发文档 ……","s":"特性 🎉","u":"/docs/guide/about","h":"#特性-","p":1},{"i":7,"t":"Webpack 只提供了基础的构建能力,ice.js 在此基础上扩展了很多能力: 默认集成好的框架能力,无需再引入繁冗的构建插件和配置 不止是构建,更有面向业务领域的最佳实践,如路由、目录组织、状态管理等 让很多业务接入成本高的能力可以开箱即用,如 SSR/SSG、微前端、一体化,基于原始的 Webpack 建设这些能力需要付出很高成本 通过插件化让以上这些能力可以被扩展以及跨项目复用,尽可能保证不同项目的一致性","s":"与直接使用 Webpack 相比,使用 ice.js 有什么优势?","u":"/docs/guide/about","h":"#与直接使用-webpack-相比使用-icejs-有什么优势","p":1},{"i":9,"t":"ice.js 3 相比之前的版本,增加了更多对移动端能力的优化和适配,同时提升了页面性能体验。对于新项目推荐 ice.js 3 进行开发,对于历史项目原先的 ice.js 2.x 依然是可用的,并且我们仍会持续修复已知的问题。 如果你的页面会同时运行在移动端和桌面端,使用 ice.js 3 可能会是更好的选择,亦或者是你对 ice.js 3 提供的更新的构建工具链、更优更多的解决方案感兴趣,你都可以选择升级到 ice.js 3。","s":"我正在使用 ice.js 2,需要升级到 ice.js 3 吗?","u":"/docs/guide/about","h":"#我正在使用-icejs-2需要升级到-icejs-3-吗","p":1},{"i":11,"t":"毫无疑问是需要的,同时我们也在努力降低前端开发的门槛,但一些基础的前端知识还是需要具备的,比如 JavaScript 的基础语法、前后端如何通信等。为了便于快速入门前端知识,我们整理了一份 前端基础知识,希望能帮助到开发者。","s":"使用飞冰 (ICE) 是否需要具备一定的前端基础?","u":"/docs/guide/about","h":"#使用飞冰-ice-是否需要具备一定的前端基础","p":1},{"i":13,"t":"适合,面向前端场景飞冰团队有大量的最佳实践,无论是构建、规范、状态管理还是微前端都可以开箱即用。","s":"资深前端同学是否适合使用飞冰?","u":"/docs/guide/about","h":"#资深前端同学是否适合使用飞冰","p":1},{"i":15,"t":"应用框架 ice.js 默认使用的是 React 18,你可以查看 React 18 官方说明对 JavaScript 环境的要求。如果你支持旧的浏览器和设备,可能需要引入对应的 Polyfill。 此外,飞冰官方 React 物料默认使用 React 16+ 进行开发,所以通常情况下这些物料在 ice.js 中是可以正常运行的,如果你遇到任何问题,也可以通过 Issue 或其它方式反馈给我们。","s":"飞冰的浏览器兼容策略是怎样的?","u":"/docs/guide/about","h":"#飞冰的浏览器兼容策略是怎样的","p":1},{"i":17,"t":"飞冰的应用框架和工具都不耦合 UI 组件,因此开发者可以选择任意的 React UI 组件使用,比如 Fusion/Antd 等。","s":"飞冰可以使用哪些 UI 组件?","u":"/docs/guide/about","h":"#飞冰可以使用哪些-ui-组件","p":1},{"i":19,"t":"低代码方案一般指以可视化拖拽搭建为主,少量地方使用代码辅助,此类方案往往是面向具体领域而非通用场景的,飞冰是面向通用领域的,以源码研发为主,通过框架、物料、GUI 操作等能力降低研发门槛,因此飞冰并不是通俗意义的低代码方案。","s":"飞冰跟低代码方案有什么关系?","u":"/docs/guide/about","h":"#飞冰跟低代码方案有什么关系","p":1},{"i":21,"t":"反馈/建议:https://github.com/alibaba/ice/issues/new 答疑钉钉群:","s":"联系我们 🧼","u":"/docs/guide/about","h":"#联系我们-","p":1},{"i":23,"t":"ice.js 项目中可以直接使用 antd 组件,关于 antd 组件按需引入的问题说明: 脚本代码按需引入:不推荐使用 babel-plugin-import,社区主流工具 Webpack/Vite 等都已支持 tree-shaking,构建时默认都会做按需的引入 样式代码按需引入:结合社区讨论 issue,大多数场景下样式按需引入并无太大意义,反而会引入其他工程问题,因此推荐组件样式在项目级全量引入 综上所述,如果不存在主题定制以及样式大小极致的要求,项目中并不需要使用 antd 插件,通过在 src/global.css 中全量引入样式即可: src/global.css @import 'antd/dist/antd.css'; body {} 警告 以上全量样式引入针对 and 版本 4.x 及以下,antd 5.x 开始使用 css in js 的方式引入样式,因此不再需要全量引入 css 文件。","s":"使用 Ant Design 组件","u":"/docs/guide/advanced/antd","h":"","p":22},{"i":25,"t":"安装插件: $ npm i -D @ice/plugin-antd 在 ice.config.mts 中添加插件: ice.config.mts import { defineConfig } from '@ice/app'; import antd from '@ice/plugin-antd'; export default defineConfig(() => ({ plugins: [ antd({ importStyle: true, }), ], }));","s":"开启插件","u":"/docs/guide/advanced/antd","h":"#开启插件","p":22},{"i":28,"t":"类型: boolean 默认值: false 为 antd 组件按需加载样式。","s":"importStyle","u":"/docs/guide/advanced/antd","h":"#importstyle","p":22},{"i":30,"t":"类型: boolean 默认值: false 开启暗色主题。","s":"dark","u":"/docs/guide/advanced/antd","h":"#dark","p":22},{"i":32,"t":"类型: boolean 默认值: false 开启紧凑主题。","s":"compact","u":"/docs/guide/advanced/antd","h":"#compact","p":22},{"i":34,"t":"类型: Record 默认值: {} 配置 antd 的 theme 主题,配置形式如下: ice.config.mts import { defineConfig } from '@ice/app'; import antd from '@ice/plugin-antd'; export default defineConfig(() => ({ plugins: [ antd({ theme: { // primary-color 为 antd 的 theme token 'primary-color': '#1DA57A', }, }), ], }));","s":"theme","u":"/docs/guide/advanced/antd","h":"#theme","p":22},{"i":37,"t":"为了给页面提供最优的性能,ice.js 默认以路由维度分割代码,每个路由会生成一个独立的 js 和 css(如果有 css 源码),另外默认会根据第三方模块体积自动拆分 chunk,有可能会出现多个产物包。","s":"默认策略","u":"/docs/guide/advanced/code-splitting","h":"#默认策略","p":35},{"i":39,"t":"如果构建产物过大,可以考虑把体积较大的组件进行拆包: import { lazy, Suspense } from 'react'; // Avatar 组件会被单独拆包 const Avatar = lazy(() => import('@/components/Avatar')); export default function Home() { return (
); }","s":"组件级别的代码分割","u":"/docs/guide/advanced/code-splitting","h":"#组件级别的代码分割","p":35},{"i":41,"t":"三方依赖默认根据体积大小进行拆分。如果三方依赖过多,在某些场景下可能出现较多的网络请求,导致页面加载速度过慢,可关闭 codeSplitting 配置: ice.config.mts import { defineConfig } from '@ice/app'; export default defineConfig(() => ({ codeSplitting: 'page', }))","s":"控制三方依赖的分包","u":"/docs/guide/advanced/code-splitting","h":"#控制三方依赖的分包","p":35},{"i":43,"t":"对于移动端场景,鉴权通常由 SSO 或统一登录平台完成,业务开发者无需关注。本文档主要介绍中后台场景中的权限管理。 示例 with-auth 中后台 Web 应用中,权限管理是经常会涉及的需求之一,通常包含以下几种常见的权限管理类型: 页面权限:当用户访问某个没有权限的页面时跳转到无权限页面 操作权限:页面中的某些按钮或组件针对无权限的用户直接隐藏 接口权限:当用户通过操作调用没有权限的接口时跳转到无权限页面 ice.js 提供 @ice/plugin-auth 插件,帮助用户更简单管理前两种类型的权限。接口权限管理请见数据请求文档。","s":"权限管理","u":"/docs/guide/advanced/auth","h":"","p":42},{"i":45,"t":"安装插件: $ npm i @ice/plugin-auth -D 在 ice.config.mts 中添加插件: ice.config.mts import { defineConfig } from '@ice/app'; import auth from '@ice/plugin-auth'; export default defineConfig(() => ({ plugins: [ auth(), ], }));","s":"安装插件","u":"/docs/guide/advanced/auth","h":"#安装插件","p":42},{"i":47,"t":"大多数情况下权限管理通常需要从服务端获取权限数据,然后在前端通过权限对比以此控制页面、操作等等权限行为。约定在 src/app.ts 中导出 auth 对象,该对象包含从服务端异步获取初始化的权限数据,并且约定最终返回格式为 { initialAuth: { [key: string]: boolean } }。 src/app.ts import { defineAuthConfig } from '@ice/plugin-auth/types'; export const authConfig = defineAuthConfig(async () => { // 模拟请求权限数据 // const data = (await fetch('/api/auth')).json(); return { initialAuth: { admin: true, guest: false, }, }; });","s":"初始化权限数据","u":"/docs/guide/advanced/auth","h":"#初始化权限数据","p":42},{"i":49,"t":"如需对某些页面进行权限控制,只需在页面组件的 pageConfig 中配置准入权限即可。 src/pages/index.tsx src/pages/about.tsx import { definePageConfig } from 'ice'; export default function Home() { return
Home
} export const pageConfig = definePageConfig(() => ({ // 当前用户是 admin 时,有权限访问该页面 auth: ['admin'], })); import { definePageConfig } from 'ice'; export default function About() { return
About
} export const pageConfig = definePageConfig(() => ({ // 当前用户是 guest 时,无权限访问该页面 auth: ['guest'], }));","s":"页面权限","u":"/docs/guide/advanced/auth","h":"#页面权限","p":42},{"i":51,"t":"在某些场景下,如某个组件中要根据角色判断是否有操作权限,我们可以通过 useAuth Hooks 在组件中获取权限数据,同时也可以更新初始的权限数据。","s":"操作权限","u":"/docs/guide/advanced/auth","h":"#操作权限","p":42},{"i":53,"t":"import React from 'react'; import { useAuth } from 'ice'; function Foo() { const [auth] = useAuth(); return ( <> 当前用户权限数据: {JSON.stringify(auth)} ); }","s":"获取权限数据","u":"/docs/guide/advanced/auth","h":"#获取权限数据","p":42},{"i":55,"t":"import React from 'react'; import { useAuth } from 'ice'; function Home() { const [auth, setAuth] = useAuth(); // 更新权限,与默认的 auth 数据进行合并 function updateAuth() { setAuth({ admin: false, guest: true }); } return ( <> 当前用户角色: {JSON.stringify(auth)} ); }","s":"设置权限数据","u":"/docs/guide/advanced/auth","h":"#设置权限数据","p":42},{"i":57,"t":"对于操作类权限,通常我们可以自定义封装权限组件,以便更细粒度的控制权限和复用。 import React from 'react'; import { useAuth } from 'ice'; import NoAuth from '@/components/NoAuth'; function Auth({ children, authKey, fallback }) { const [auth] = useAuth(); // 判断是否有权限 const hasAuth = auth[authKey]; // 有权限时直接渲染内容 if (hasAuth) { return children; } else { // 无权限时显示指定 UI return fallback || NoAuth; } } export default Auth; 使用如下: function Foo() { return ( ); }","s":"自定义权限组件","u":"/docs/guide/advanced/auth","h":"#自定义权限组件","p":42},{"i":59,"t":"支持自定义无权限时的展示组件,默认为 <>No Auth src/app.tsx import { defineAuthConfig } from '@ice/plugin-auth/types'; export const authConfig = defineAuthConfig(async () => { return { initialAuth: { admin: true, }, + NoAuthFallback: (routeConfig) => { + console.log(routeConfig); // 当前页面的配置 + return ( +
没有权限
+ ); + }, + }; });","s":"自定义 Fallback","u":"/docs/guide/advanced/auth","h":"#自定义-fallback","p":42},{"i":61,"t":"@TODO","s":"一体化","u":"/docs/guide/advanced/faas","h":"","p":60},{"i":63,"t":"组件代码里有可能会依赖一些远程 CDN 的字体文件等,某些情况下网站运行时可能访问不了。该插件提供在构建部署时将 CSS 中的网络资源本地化能力,例如字体文件等。","s":"CSS 资源本地化","u":"/docs/guide/advanced/css-assets-local","h":"","p":62},{"i":65,"t":"安装插件: $ npm i -D @ice/plugin-css-assets-local 在 ice.config.mts 中添加插件: ice.config.mts import { defineConfig } from '@ice/app'; import cssAssetsLocal from '@ice/plugin-css-assets-local'; export default defineConfig(() => ({ plugins: [ cssAssetsLocal(), ], }));","s":"开启插件","u":"/docs/guide/advanced/css-assets-local","h":"#开启插件","p":62},{"i":68,"t":"提取后的静态文件目录前缀 类型: string 默认值: assets","s":"outputPath","u":"/docs/guide/advanced/css-assets-local","h":"#outputpath","p":62},{"i":70,"t":"提取的文件后相对于 CSS 的路径 类型: string 默认值: ../","s":"relativeCssPath","u":"/docs/guide/advanced/css-assets-local","h":"#relativecsspath","p":62},{"i":72,"t":"本地调试时是否启用插件 类型: boolean 默认值: false","s":"enableInDev","u":"/docs/guide/advanced/css-assets-local","h":"#enableindev","p":62},{"i":74,"t":"前端代码开发完成后,我们会执行 npm build 命令进行项目构建。构建完成后,我们需要把 js/css/html 等静态资源部署到服务器或者发布到 CDN 上。","s":"部署","u":"/docs/guide/advanced/deploy","h":"","p":73},{"i":76,"t":"如果是博客、官网等静态应用,推荐使用以下的方式进行部署:","s":"资源发布","u":"/docs/guide/advanced/deploy","h":"#资源发布","p":73},{"i":78,"t":"推荐通过 阿里云 OSS 服务进行非覆盖式发布,每个版本建一个 x.y.z 的文件夹,然后将整个 build 目录复制进去,接着就可以通过 url 访问这些 CDN 资源了。","s":"CDN 发布","u":"/docs/guide/advanced/deploy","h":"#cdn-发布","p":73},{"i":80,"t":"把构建好的 build 资源复制到服务器对应目录下,添加以下的 Nginx 配置,然后就可以启动 Nginx 静态文件服务器。 location / { root /www/build; # 访问 localhost:3000/a 依次查找 /www/build/a、/www/build/a/index.html、/www/build/404.html try_files $uri $uri/ 404.html; }","s":"Nginx","u":"/docs/guide/advanced/deploy","h":"#nginx","p":73},{"i":82,"t":"我们以 surge 为例。 全局安装 surge​ npm install --global surge 运行 surge​ 以 ice-demo 项目名,ice.js 项目默认构建目录 build 为例: $ cd ice-demo/build # 启动 surge 服务 $ surge 依次确认账户, projectPath, domain 等信息,等待上传生效即可,详见 surge 官方说明 其他同类产品有: github pages netlify","s":"静态资源托管服务","u":"/docs/guide/advanced/deploy","h":"#静态资源托管服务","p":73},{"i":85,"t":"初始化 Koa 应用​ 新建项目名 ice-node-koa: $ mkdir ice-node-koa && cd ice-node-koa $ npm init $ npm i ejs koa koa-logger koa-views --save 定义视图​ 新建 views/index.ejs: ICE Design Lite /favicon.png\" /> /css/index.css\" rel=\"stylesheet\" />
渲染视图​ 新建 app.js: const views = require('koa-views'); const path = require('path'); const Koa = require('koa'); const app = (module.exports = new Koa()); app.use(views(path.join(__dirname, '/views'), { extension: 'ejs' })); app.use(async function (ctx) { await ctx.render('index', { publicPath: 'http://localhost:3000/' }); }); const port = 3000; app.listen(port).then(() => console.log(`Listening on http:localhost:${port}`)); 示例兼容单页应用的 HashRouter 和 BrowserRouter,如多页应用可参考 https://github.com/koajs/examples 中 blog 示例配置路由 运行示例​ $ node app.js Listening on http:localhost:3000 浏览器中打开 http://localhost:3000","s":"Node.js 应用","u":"/docs/guide/advanced/deploy","h":"#nodejs-应用","p":73},{"i":87,"t":"resources​ 新建 /velocity/layout/index.vm: ICE Design Lite
Controller​ @GetMapping(\"/\") @VelocityLayout(\"/velocity/layout/index.vm\") public String index(Model model) { model.addAttribute(publicPath, jsConfig.get(publicPath)); return \"index\"; } 示例展示的是 HashRouter 路由,如果为 BrowserRouter,建议改为 @GetMapping(value = { \"/**\" }) 实现前端 fallback","s":"Java 应用","u":"/docs/guide/advanced/deploy","h":"#java-应用","p":73},{"i":89,"t":"执行 npm run build 命令完成构建后,按照命令行提示使用对应的小程序开发者工具打开产物目录。在小程序开发者工具项目页面找到『上传』按钮即可上传小程序。然后进入对应的小程序管理后台进行小程序的提交审核及发布即可。 参考文档: 微信小程序代码协同工作和发布 阿里小程序提审、发布与运营","s":"小程序发布","u":"/docs/guide/advanced/deploy","h":"#小程序发布","p":73},{"i":92,"t":"如果你的 js、css、图片、字体等资源不在,这时需要配置 publicPath 的值为你的静态资源所在的路径。","s":"静态资源在非根目录或 CDN","u":"/docs/guide/advanced/deploy","h":"#静态资源在非根目录或-cdn","p":73},{"i":94,"t":"假设你本地开发的时候有一个路由是 /home,生产环境下你把应用部署到 /abc/ 下,然后访问 /abc/home,就会出现路由不匹配,显示空白页面的情况。 这时你需要配置 basename 解决。 ./src/app.ts import { defineAppConfig } from 'ice'; export default defineAppConfig(() => ({ router: { basename: '/abc', }, }));","s":"部署的 HTML 在非根目录","u":"/docs/guide/advanced/deploy","h":"#部署的-html-在非根目录","p":73},{"i":96,"t":"ice.js 官方提供 i18n 国际化插件,支持在应用快速开启国际化能力。核心特性包括: 支持自动处理和生成国际化路由 完美支持 SSR 和 SSG,以获得更好的 SEO 优化 支持自动重定向到偏好语言对应的页面 不耦合任何一个 i18n 库(流行的 React i18n 库有 react-intl、react-i18next 等),你可以选择任一国际化的库来为你的应用设置国际化 使用国际化插件的示例 with-i18n 提示 如果应用不需要使用国际化路由,你可以参考以下例子来让你的项目支持国际化: with-antd5 with-fusion","s":"国际化","u":"/docs/guide/advanced/i18n","h":"","p":95},{"i":98,"t":"首先,我们需要在终端执行以下命令安装插件: $ npm i @ice/plugin-i18n -D 然后在 ice.config.mts 中添加插件和选项: import { defineConfig } from '@ice/app'; import i18n from '@ice/plugin-i18n'; export default defineConfig({ plugins: [ i18n({ locales: ['zh-CN', 'en-US', 'de'], defaultLocale: 'zh-CN', }), ], }); 上面的 en-US 和 zh-CN 是国际化语言的缩写,它们均遵循标准的 UTS 语言标识符。比如: zh-CN:中文(中国) zh-HK:中文(香港) en-US:英文(美国) de: 德文","s":"快速开始","u":"/docs/guide/advanced/i18n","h":"#快速开始","p":95},{"i":100,"t":"国际化路由是指在页面路由地址中包含了当前页面的语言,一个国际化路由对应一个语言。 假设现在插件的选项配置是: import { defineConfig } from '@ice/app'; import i18n from '@ice/plugin-i18n'; export default defineConfig({ plugins: [ i18n({ locales: ['zh-CN', 'en-US', 'nl-NL'], defaultLocale: 'zh-CN', }), ], }); 假设我们有一个页面 src/pages/home.tsx,那么将会一一对应自动生成以下的路由: /home:显示 zh-CN 语言,默认语言对应的路由不包含语言前缀 /en-US/home:显示 en-US 语言 /nl-NL/home:显示 nl-NL 语言 访问不同的路由,将会显示该语言对应页面内容。","s":"国际化路由","u":"/docs/guide/advanced/i18n","h":"#国际化路由","p":95},{"i":103,"t":"getAllLocales() 用于获取当前应用支持的所有语言。 import { getAllLocales } from 'ice'; console.log(getAllLocales()); // ['zh-CN', 'en-US']","s":"getLocales()","u":"/docs/guide/advanced/i18n","h":"#getlocales","p":95},{"i":105,"t":"getDefaultLocale() 用于获取应用配置的默认语言。 import { getDefaultLocale } from 'ice'; console.log(getDefaultLocale()); // 'zh-CN'","s":"getDefaultLocale()","u":"/docs/guide/advanced/i18n","h":"#getdefaultlocale","p":95},{"i":107,"t":"在 Function 组件中使用 useLocale() Hook API,它的返回值是一个数组,包含两个值: 当前页面的语言 一个 set 函数用于更新当前页面的语言。注意,默认情况下调用此 set 函数时候,同时会更新 Cookie 中 ice_locale 的值为当前页面的语言。这样,再次访问该页面时,从服务端请求能得知当前用户的之前设置的偏好语言,以便返回对应语言的页面内容。 import { useLocale } from 'ice'; export default function Home() { const [locale, setLocale] = useLocale(); console.log('locale: ', locale); // 'en-US' return ( <> {/* 切换语言为 zh-CN */}
setLocale('zh-CN')}>Set zh-CN
) }","s":"useLocale()","u":"/docs/guide/advanced/i18n","h":"#uselocale","p":95},{"i":109,"t":"使用 withLocale() 方法包裹的 Class 组件,组件的 Props 会包含 locale 和 setLocale() 函数,可以查看和修改当前页面的语言。注意,默认情况下调用 setLocale(),会更新 Cookie 中 ice_locale 的值为当前页面的语言。这样,再次访问该页面时,从服务端请求能得知当前用户的之前设置的偏好语言,以便返回对应语言的页面内容。 import { withLocale } from 'ice'; function Home({ locale, setLocale }) { console.log('locale: ', locale); // 'en-US' return ( <> {/* 切换语言为 zh-CN */}
setLocale('zh-CN')}>Set zh-CN
) } export default withLocale(Home);","s":"withLocale()","u":"/docs/guide/advanced/i18n","h":"#withlocale","p":95},{"i":111,"t":"推荐使用 setLocale() 方法配合 组件或者 useNavigate() 方法进行语言切换: 使用 使用 useNavigate() import { useLocale, getAllLocales, Link, useLocation } from 'ice'; export default function Layout() { const location = useLocation(); const [activeLocale, setLocale] = useLocale(); return (

Current locale: {activeLocale}

Choose language:
    { getAllLocales().map((locale: string) => { return (
  • setLocale(locale)} > {locale}
  • ); }) }
); } import { useLocale, useNavigate, useLocation } from 'ice'; export default function Layout() { const [, setLocale] = useLocale(); const location = useLocation(); const navigate = useNavigate(); const switchToZHCN = () => { setLocale('zh-CN'); navigate(location.pathname); } return (
点我切换到中文
); }","s":"切换语言","u":"/docs/guide/advanced/i18n","h":"#切换语言","p":95},{"i":113,"t":"路由自动重定向是指,如果当前访问的页面是根路由(/),将会根据当前语言环境自动跳转到对应的国际化路由。 默认情况下,路由自动重定向的功能是关闭的。如果需要开启,则需要加入以下内容: import { defineConfig } from '@ice/app'; import i18n from '@ice/plugin-i18n'; export default defineConfig({ plugins: [ i18n({ locales: ['zh-CN', 'en-US', 'de'], defaultLocale: 'zh-CN', + autoRedirect: true, }), ], }); 其中,语言环境的识别顺序如下: CSR:cookie 中 ice_locale 的值 > window.navigator.language > defaultLocale SSR:cookie 中 ice_locale 的值 > Request Header 中的 Accept-Language > defaultLocale 在部署阶段,路由自动重定向的功能需要配合 Node 中间件使用才能生效。比如: import express from 'express'; import { renderToHTML } from './build/server/index.mjs'; const app = express(); app.use(express.static('build', {})); app.use(async (req, res) => { const { statusCode, statusText, headers, value: body } = await renderToHTML({ req, res }); res.statusCode = statusCode; res.statusMessage = statusText; Object.entries((headers || {}) as Record).forEach(([name, value]) => { res.setHeader(name, value); }); if (body && req.method !== 'HEAD') { res.end(body); } else { res.end(); } });","s":"路由自动重定向","u":"/docs/guide/advanced/i18n","h":"#路由自动重定向","p":95},{"i":115,"t":"在上面的章节中提到,用户设置的偏好语言是存放在 Cookie 中的 ice_locale,调用 setLocale() 时会更新到 Cookie 中,并且路由重定向和路由跳转的时候依赖 ice_locale 的值。 假设有这么一个场景,用户拒绝接受 Cookie,为了保护隐私,这样就不能把偏好语言写到 Cookie 中了。因此需要做以下的配置来禁用 Cookie: src/app.ts import { defineI18nConfig } from '@ice/plugin-i18n/types'; export const i18nConfig = defineI18nConfig(() => ({ // 可以是一个 function disabledCookie: () => { if (import.meta.renderer === 'client') { return window.localStorage.getItem('acceptCookie') === 'yes'; } return false; }, // 也可以是 boolean 值 // disabledCookie: true, })); 这样,就禁用掉了 Cookie 的写入了。在切换语言的时候需要在 state 对象中显式传入即将要切换的新语言的值: import { Link, useLocale } from 'ice'; export default function Home() { const [, setLocale] = useLocale(); return ( <> setLocale('zh-CN')} state={{ locale: 'zh-CN' }} > 切换到 zh-CN ) }","s":"禁用 Cookie","u":"/docs/guide/advanced/i18n","h":"#禁用-cookie","p":95},{"i":117,"t":"在开启 SSG 功能后,将根据配置的 locales 的值,在 build 阶段会生成不同语言对应的 HTML。 比如我们有以下的目录结构,包含 about 和 index 两个页面: ├── src/pages | ├── about.tsx | └── index.tsx 假如插件的配置是: import { defineConfig } from '@ice/app'; import i18n from '@ice/plugin-i18n'; export default defineConfig({ plugins: [ i18n({ locales: ['zh-CN', 'en-US'], defaultLocale: 'zh-CN', }), ], }); 那么将会生成 4 个 HTML 文件: ├── build | ├── about | | └── index.html | ├── en-US | | ├── about | | | └── index.html | | └── index.html | ├── index.html","s":"SSG","u":"/docs/guide/advanced/i18n","h":"#ssg","p":95},{"i":120,"t":"类型:string[] 用于声明该应用支持的语言。","s":"locales","u":"/docs/guide/advanced/i18n","h":"#locales","p":95},{"i":122,"t":"类型:string 声明该应用默认的语言。需要注意的是, locales 数组必须包含 defaultLocale 的值。","s":"defaultLocale","u":"/docs/guide/advanced/i18n","h":"#defaultlocale","p":95},{"i":124,"t":"类型:boolean 默认值:false 默认不会自动重定向到用户偏好语言对应的页面。如果设置为 true,在生产环境下,一般需要配合 Node 中间件一起使用才能生效。详见","s":"autoRedirect","u":"/docs/guide/advanced/i18n","h":"#autoredirect","p":95},{"i":126,"t":"ice.js 项目中可以直接使用 fusion 组件,关于 fusion 组件按需引入的问题说明: 脚本代码按需引入:不推荐使用 babel-plugin-import,社区主流工具 Webpack/Vite 等都已支持 tree-shaking,构建时默认都会做按需的引入 样式代码按需引入:结合社区讨论 issue,大多数场景下样式按需引入并无太大意义,反而会引入其他工程问题,因此推荐组件样式在项目级全量引入 综上所述,如果不存在主题定制以及样式大小极致的要求,项目中并不需要使用 fusion 插件,通过在 src/global.css 中全量引入样式即可: src/global.css @import '@alifd/next/dist/next.var.css'; body {}","s":"使用 Fusion 组件","u":"/docs/guide/advanced/fusion","h":"","p":125},{"i":128,"t":"安装插件: $ npm i -D @ice/plugin-fusion 在 ice.config.mts 中添加插件: ice.config.mts import { defineConfig } from '@ice/app'; import fusion from '@ice/plugin-fusion'; export default defineConfig(() => ({ plugins: [ fusion({ importStyle: true, }), ], }));","s":"开启插件","u":"/docs/guide/advanced/fusion","h":"#开启插件","p":125},{"i":131,"t":"类型: boolean|'sass' 默认值: false 为 fusion 组件按需加载样式,目前 fusion 组件提供两种类型样式,默认加载 css 样式,如果希望加载 sass 样式可以将 importStyle 配置为 sass。","s":"importStyle","u":"/docs/guide/advanced/fusion","h":"#importstyle","p":125},{"i":133,"t":"类型: string 默认值: '' 为 fusion 组件配置主题包,比如: ice.config.mts import { defineConfig } from '@ice/app'; import fusion from '@ice/plugin-fusion'; export default defineConfig(() => ({ plugins: [ fusion({ themePackage: '@alifd/theme-design-pro', }), ], }));","s":"themePackage","u":"/docs/guide/advanced/fusion","h":"#themepackage","p":125},{"i":135,"t":"类型: Record 默认值: {} 配置 antd 的 theme 主题,配置形式如下: ice.config.mts import { defineConfig } from '@ice/app'; import fusion from '@ice/plugin-fusion'; export default defineConfig(() => ({ plugins: [ fusion({ theme: { 'css-prefix': 'next-icestark-', }, }), ], }));","s":"theme","u":"/docs/guide/advanced/fusion","h":"#theme","p":125},{"i":137,"t":"对于样式方案为 sass 的开发场景,推荐通过以下方式进行配置: ice.config.mts import { defineConfig } from '@ice/app'; import fusion from '@ice/plugin-fusion'; export default defineConfig(() => ({ plugins: [ fusion({ importStyle: 'sass', themePackage: '@alifd/theme-design-pro', }), ], })); 如果样式方案选择为 css,并且存在主题定制诉求的,推荐配合在 src/global.css 中 css variables: src/global.css @import '@alifd/theme-design-pro/variables.css'; body {} ice.config.mts import { defineConfig } from '@ice/app'; import fusion from '@ice/plugin-fusion'; export default defineConfig(() => ({ plugins: [ fusion({ importStyle: true, }), ], })); 对于样式大小没有极致尺寸要求的,直接引入全量 css 样式即可,无需额外配置插件","s":"推荐配置","u":"/docs/guide/advanced/fusion","h":"#推荐配置","p":125},{"i":139,"t":"本文档面向的是使用 Rax App 的开发者,提供迁移到 ice.js 的方式。React 的社区生态显著优于 Rax,切换到 React 之后可以享受到更多的 React 生态,复用复杂场景(富文本、脑图等)社区生态可以大幅度降低成本。 警告 对于 Rax 小程序的用户,如果你没有使用到以下与原生小程序结合较为紧密的能力,则可以正常参考本文档进行迁移。 引入原生 app.js、原生页面、原生自定义组件、小程序插件 引入 Rax 编译时组件 注册页面生命周期及事件 分包加载 如果使用到以上能力,则需要参考 ice.js 文档进行相应能力的迁移。","s":"从 Rax App 迁移","u":"/docs/guide/advanced/integrate-from-rax","h":"","p":138},{"i":141,"t":"ice.js 和 Rax App 都是应用研发框架,它们默认使用的 UI Framework 不同,前者使用 React,而后者使用 rax.js。但是在 ice.js 3.x 中,你可以使用 Rax 兼容模式来运行 Rax 组件。 核心差异包括: 路由差异 构建配置差异 运行时配置差异","s":"ice.js 与 Rax App 的差异","u":"/docs/guide/advanced/integrate-from-rax","h":"#icejs-与-rax-app-的差异","p":138},{"i":143,"t":"对于之前使用 Rax App 的用户,我们提供了项目自动化迁移工具 rax-migrate,它可以辅助平滑迁移大部分工程配置,一些无法自动迁移的功能需要用户手动确认。","s":"Rax App 项目迁移","u":"/docs/guide/advanced/integrate-from-rax","h":"#rax-app-项目迁移","p":138},{"i":145,"t":"$ npm i rax-migrate -g","s":"安装","u":"/docs/guide/advanced/integrate-from-rax","h":"#安装","p":138},{"i":147,"t":"命令行进入 rax-app 工程(如工程名为 rax-project)所在的目录,通过运行 rax-migrate 可生成对应配置的同目录下的 ice.js 工程。 $ rax-migrate transform ./rax-project","s":"使用","u":"/docs/guide/advanced/integrate-from-rax","h":"#使用","p":138},{"i":149,"t":"该工具不是全自动迁移工具,部分功能点无法自动迁移,需要用户手动确认以及迁移,包括但不限于: webpack 插件 无法完全匹配的工程配置 rax-migrate 的 warning 以及 error 输出 ...","s":"注意⚠️","u":"/docs/guide/advanced/integrate-from-rax","h":"#注意️","p":138},{"i":151,"t":"icestark 是飞冰团队针对大型系统提供的微前端解决方案,我们提供了独立插件 @ice/plugin-icestark 帮助 ice.js 应用快速接入微前端解决方案。","s":"微前端","u":"/docs/guide/advanced/icestark","h":"","p":150},{"i":154,"t":"通过模板快速创建一个微前端的框架应用(主应用): $ npm init ice icestark-framework @icedesign/stark-layout $ cd icestark-framework $ npm install $ npm start","s":"框架应用","u":"/docs/guide/advanced/icestark","h":"#框架应用","p":150},{"i":156,"t":"通过模板快速创建一个微应用(子应用): $ npm init ice icestark-child @icedesign/stark-child $ cd icestark-child $ npm install $ npm start","s":"微应用","u":"/docs/guide/advanced/icestark","h":"#微应用","p":150},{"i":158,"t":"如果不是通过模板创建,则需要按照下面的步骤进行改造:","s":"应用改造","u":"/docs/guide/advanced/icestark","h":"#应用改造","p":150},{"i":160,"t":"$ npm i --save-dev @ice/plugin-icestark","s":"安装插件","u":"/docs/guide/advanced/icestark","h":"#安装插件","p":150},{"i":162,"t":"在应用配置文件中添加插件: ice.config.mts import { defineConfig } from '@ice/app'; import icestark from '@ice/plugin-icestark'; export default defineConfig(() => ({ plugins: [ // 设置应用类型为框架应用 framework icestark({ type: 'framework' }), ], })); 应用入口配置微应用相关信息: src/app.ts import { defineFrameworkConfig } from '@ice/plugin-icestark/types'; import FrameworkLayout from '@/components/FrameworkLayout'; export const icestark = defineFrameworkConfig(() => ({ // 用于微应用全局的 Layout layout: FrameworkLayout, // 配置微应用信息,可为异步方法 getApps: () => ([ { path: '/seller', title: '商家平台', loadScriptMode: 'import', entry: 'https://iceworks.oss-cn-hangzhou.aliyuncs.com/icestark/child-seller-ice-vite/index.html', }, ]), // icestark 提供的 AppRouter 组件的配置参数 appRouter: {}, }));","s":"框架应用改造","u":"/docs/guide/advanced/icestark","h":"#框架应用改造","p":150},{"i":164,"t":"在应用配置文件中添加插件: ice.config.mts import { defineConfig } from '@ice/app'; import icestark from '@ice/plugin-icestark'; export default defineConfig(() => ({ plugins: [ // 设置应用类型为微应用 child icestark({ type: 'child' }), ], })); 应用入口可以配置相关生命周期执行行为(可选): ice.config.mts import { defineChildConfig } from '@ice/plugin-icestark/types'; export const icestark = defineChildConfig(() => ({ mount: () => { // 在微应用挂载前执行 }, unmount: () => { // 在微应用卸载后执行 }, }));","s":"微应用改造","u":"/docs/guide/advanced/icestark","h":"#微应用改造","p":150},{"i":167,"t":"getApp​ 类型:Function 默认值:() => [] 用于获取微应用列表,单个微应用的完整配置字段请参考 AppConfig。","s":"框架应用配置","u":"/docs/guide/advanced/icestark","h":"#框架应用配置","p":150},{"i":169,"t":"类型:Component 框架应用对应的布局组件,必须渲染 children 用于渲染微前端相关应用结构: export default function FrameworkLayout({ children }) { return ( <>
{/* 必须渲染 layout 用来渲染微前端的结构 */} {children}
); } 完成 layout 的开发后,配置在入口 src/app.ts 中: src/app.ts import { defineFrameworkConfig } from '@ice/plugin-icestark/types'; import FrameworkLayout from '@/components/FrameworkLayout'; export const icestark = defineFrameworkConfig(() => ({ layout: FrameworkLayout, }));","s":"layout","u":"/docs/guide/advanced/icestark","h":"#layout","p":150},{"i":171,"t":"可传入 icestark 运行时的钩子函数和可选配置。主要有: NotFoundComponent,匹配不到任何微应用路由时的状态。 LoadingComponent,加载过程中的 Loading 状态。 ErrorComponent,加载出现错误时的状态。 更多配置详见文档。","s":"appRouter","u":"/docs/guide/advanced/icestark","h":"#approuter","p":150},{"i":173,"t":"mount​ 类型:Function 在微应用挂载前,将执行该函数。 unmout​ 类型:Function 在微应用卸载后,将执行该函数。","s":"微应用配置","u":"/docs/guide/advanced/icestark","h":"#微应用配置","p":150},{"i":175,"t":"@TODO","s":"微前端","u":"/docs/guide/advanced/micro-frontends","h":"","p":174},{"i":177,"t":"示例 with-keep-alive ice.js 提供 Keep Alive 能力,支持在组件间进行切换时缓存被移除的组件实例。 使用 Keep Alive 能力需要安装 react 和 react-dom 的 experimental 版本: $ npm i react@experimental react-dom@experimental -S","s":"组件缓存","u":"/docs/guide/advanced/keep-alive","h":"","p":176},{"i":179,"t":"ice.js 提供 组件,用于在路由切换时缓存被移除的组件状态。 警告 目前是实验性的组件,可能会存在不稳定性。 在 src/pages/layout.tsx 文件中引入 组件后,即可缓存所有的路由组件: src/pages/layout.tsx import { KeepAliveOutlet } from 'ice'; export default function Layout() { return ( <>

I'm Keep Alive

); }","s":"缓存路由组件","u":"/docs/guide/advanced/keep-alive","h":"#缓存路由组件","p":176},{"i":181,"t":"除了缓存路由组件,还可以直接使用 React 18 提供的实验特性 组件,进一步缓存更细粒度的组件。 import React from 'react'; // @ts-ignore const Offscreen = React.unstable_Offscreen; export default function Home() { const [auth, setAuth] = React.useState('admin'); return ( <>
<> Admin Name: User Name: ) }","s":"缓存其他组件","u":"/docs/guide/advanced/keep-alive","h":"#缓存其他组件","p":176},{"i":183,"t":"该插件支持了一种 JSX 扩展语法 JSX+,它能帮助业务开发者更爽更快地书写 JSX。JSX+ 不是一种新的概念,它是 JSX 基础上的扩展指令概念。","s":"JSX+","u":"/docs/guide/advanced/jsx-plus","h":"","p":182},{"i":185,"t":"JSX 虽然语法灵活,但是大量的花括号 + JS 语法导致了上下文切换和代码可读性的下降,JSX+ 的指令很好的解决了这个问题 JSX 本质是 JS 表达式,在运行时阶段才可以计算出真实的 DOM 结构,JSX+ 引入了一部分静态模板特性可以满足编译优化 不新创造实体,指令在社区中是已经被广泛接受的概念,对开发者更友好,语法糖的表达更简单 统一一套 JSX+ 类似概念的语法规范,减少已存在和潜在的重复建设","s":"为什么需要 JSX+","u":"/docs/guide/advanced/jsx-plus","h":"#为什么需要-jsx","p":182},{"i":187,"t":"$ npm i @ice/plugin-jsx-plus -D 配置插件使用: ice.config.mts import { defineConfig } from '@ice/app'; import jsxPlus from '@ice/plugin-jsx-plus'; export default defineConfig(() => ({ plugins: [ jsxPlus(), ], })); 接下来就可以使用更强大的 JSX+ 语法了: function ExampleComponent(props) { const { isAdmin, dataSource } = props; return (
admin
guest
{item.name}
); }","s":"安装使用","u":"/docs/guide/advanced/jsx-plus","h":"#安装使用","p":182},{"i":189,"t":"以下是 JSX+ 规范已有的指令列表:","s":"指令语法","u":"/docs/guide/advanced/jsx-plus","h":"#指令语法","p":182},{"i":191,"t":"语法: Hello World NothingElse 警告 x-elseif 可以多次出现,但是顺序必须是 x-if -> x-elseif -> x-else,且这些节点是兄弟节点关系,如顺序错误则指令被忽略。","s":"1. 条件判断","u":"/docs/guide/advanced/jsx-plus","h":"#1-条件判断","p":182},{"i":193,"t":"语法: {/* Array or Plain Object*/} {item} {key}: {item} 说明: 若循环对象为数组,key 表示循环索引,其类型为 Number。 当 x-for 与 x-if 同时作用在同一节点上时,循环优先级大于条件,即循环的 item 和 index 可以在子条件判断中使用。","s":"2. 循环列表","u":"/docs/guide/advanced/jsx-plus","h":"#2-循环列表","p":182},{"i":195,"t":"仅在首次渲染时会触发 createElement 并将其引用缓存,重新渲染时直接复用缓存,用于提高不带绑定节点渲染效率和 Diff 性能。 语法:

this paragragh {mesasge} content will not change.

","s":"3. 单次渲染","u":"/docs/guide/advanced/jsx-plus","h":"#3-单次渲染","p":182},{"i":197,"t":"类似 WebComponents 的 slot 概念,并提供插槽作用域。 语法: 示例: // Example header {props.index}: {props.item} footer // 槽位 对比传统 JSX: (header)} renderFooter={() => (footer)} renderItem={(item, index) => ({index}: {item}} /> 对比小程序: header {props.index}: {props.item} footer ","s":"4. 插槽指令","u":"/docs/guide/advanced/jsx-plus","h":"#4-插槽指令","p":182},{"i":199,"t":"提供空组件,不产生 UI,提供绑定 x-if x-for x-slot 指令。 使用: ","s":"5. Fragment 组件","u":"/docs/guide/advanced/jsx-plus","h":"#5-fragment-组件","p":182},{"i":201,"t":"语法:
参考实现:
classnames 方法能力参考同名 npm 包。 更多请参考 jsx-plus","s":"6. 类名绑定","u":"/docs/guide/advanced/jsx-plus","h":"#6-类名绑定","p":182},{"i":203,"t":"框架提供了 rax-compat 以支持 rax.js 到 react 的兼容。 rax-compat 通过对 react API 的封装,在内部抹平了 rax.js 与 react 使用上的大部分差异,同时导出了与 rax.js 一致的 API 能力,通过将源码中的 rax 引入替换为 rax-compat,可以桥接上绝大部分 react 运行时能力。","s":"兼容 Rax","u":"/docs/guide/advanced/rax-compat","h":"","p":202},{"i":205,"t":"用户可以直接通过引入插件 @ice/plugin-rax-compat 来完成在 ice.js 中运行 Rax 组件。 $ npm i @ice/plugin-rax-compat --save-dev ice.config.mts + import compatRax from '@ice/plugin-rax-compat'; export default defineConfig(() => ({ plugins: [ + compatRax({ inlineStyle: true }), // 是否开启内联样式,这里是开启 + // 也可以使用函数形式,根据文件名来判断是否开启内联样式 + compatRax({ inlineStyle: (id) => id.includes('some-module') }), ], }));","s":"插件安装与使用","u":"/docs/guide/advanced/rax-compat","h":"#插件安装与使用","p":202},{"i":208,"t":"rax-compat 实现了所有的 Rax 核心 API,具体列表可以参考Rax 官网。","s":"Rax 核心 API","u":"/docs/guide/advanced/rax-compat","h":"#rax-核心-api","p":202},{"i":210,"t":"通过 onAppear 以及 onDisapper 事件可以监听元素的可见性变化,Rax DSL 通过 appear-polyfill 来实现这部分能力,但是 React Runtime 并没有这部分能力,因此 rax-compat 会在 React Runtime 中做兼容处理。 你依旧可以像之前一样使用 onAppear 以及 onDisapper 回调,如: import { createElement } from 'rax'; function App { return (
{ alert('appear') }} onDisappear={() => { alert('disappear') }} > RaxApp
) } 使用 Rax 兼容模式无需做任何改造,也无需手动引入 appear-polyfill,rax-compat 已经帮你处理掉了。 对于纯 React 组件,推荐使用 ,详见元素可见。","s":"Appear 和 Disappear 事件的处理","u":"/docs/guide/advanced/rax-compat","h":"#appear-和-disappear-事件的处理","p":202},{"i":212,"t":"inlineStyle: 当打开 @ice/plugin-rax-compat 插件的 inlineStyle 参数时,除了以 .module.css 结尾的文件会使用 CSS Modules 模式外,其它的 .css 文件都会被转换成 JavaScript 对象。 eg: src/pages/home.css .foo { color: red; } src/pages/home.tsx import { createElement } from 'rax'; import styles from './home.css'; console.log(styles); // { foo: { color: 'red' } } 此外,当 width 等属性没有单位时,如 width: 300,在 inlineStyle 模式下会自动补齐 rpx 单位并最终转化成 vw,同理,写了 rpx 单位的值也一样会被转化成 vw。","s":"样式的处理","u":"/docs/guide/advanced/rax-compat","h":"#样式的处理","p":202},{"i":214,"t":"由于 rax-swiper 仅支持在非内联模式下使用,如果你启用了 inlineStyle,则需要在项目的全局 CSS 中新增对其样式的导入: global.css + @import url('swiper/swiper-bundle.min.css'); 或者你也可以使用函数形式的 lineStyle,将引用了 rax-swiper 的模块排除出内联样式的处理流程: ice.config.mts import compatRax from '@ice/plugin-rax-compat'; export default defineConfig(() => ({ plugins: [ + compatRax({ inlineStyle: (id) => !id.includes('feeds-module') }), ], }));","s":"兼容 rax-swiper","u":"/docs/guide/advanced/rax-compat","h":"#兼容-rax-swiper","p":202},{"i":216,"t":"Rax 的 inlineStyle 模式是具有传染性的,因此,如果你的项目中存在使用内联样式构建的模块,在 rax-compat 模式下需要确保这些模块也使用内联样式处理,否则会出现样式丢失的问题。此时你可以使用函数形式的 inlineStyle: ice.config.mts import compatRax from '@ice/plugin-rax-compat'; export default defineConfig(() => ({ plugins: [ + compatRax({ inlineStyle: (id) => id.includes('inline-style-module') }), ], }));","s":"兼容使用内联样式构建的模块","u":"/docs/guide/advanced/rax-compat","h":"#兼容使用内联样式构建的模块","p":202},{"i":218,"t":"在 React 中,原生标签的 props 是存在白名单的,而 rax.js 中没有。这导致使用非 dataset 的自定义属性在 React 中会被忽略(Dev 阶段有警告),从而无法从真实节点的 DOM 对象中通过 getAttribute() 方法获取。如果用了这些非标自定义属性,推荐使用 dataset(data-*) 来标识自定义属性。","s":"DOM 属性差异","u":"/docs/guide/advanced/rax-compat","h":"#dom-属性差异","p":202},{"i":220,"t":"React 通过合成事件机制对浏览器环境中的事件进行代理,而 rax.js 则是通过节点(EventTarget)原生的 addEventListener() 方法将事件与处理函数绑定在一起。在你清楚地了解 Rax 与 React 的事件实现差异之前,尽量不要使用 ref 访问真实 DOM 节点来处理原生事件,否则可能会出现未预料的行为。","s":"事件差异","u":"/docs/guide/advanced/rax-compat","h":"#事件差异","p":202},{"i":222,"t":"大部分前端应用都会选择通过 HTTP(s) 协议与后端服务通讯。 ice.js 提供了一套从 UI 交互到请求服务端数据的完整方案,通过切面编程的方式统一了数据请求管理,简化了设置参数、错误处理等逻辑的实现。","s":"HTTP 请求","u":"/docs/guide/advanced/request","h":"","p":221},{"i":224,"t":"网络请求是可选能力,在使用前需要单独安装 @ice/plugin-request 插件。 npm i @ice/plugin-request -D 在配置文件中添加插件: ice.config.mts import { defineConfig } from '@ice/app'; import request from '@ice/plugin-request'; export default defineConfig(() => ({ plugins: [ request(), ], }));","s":"安装 request 插件","u":"/docs/guide/advanced/request","h":"#安装-request-插件","p":221},{"i":226,"t":"框架约定 service 目录用于收敛请求逻辑,目录组织如下: src ├── models +├── services // 定义全局数据请求,非必须 +│ └── user.ts └── pages | ├── home | │ ├── models +| │ ├── services // 定义页面级数据请求 +| │ | └── repo.ts | │ └── components | ├── about | │ ├── services | │ ├── components | │ └── index.tsx └── app.ts 通过调用 request 定义数据请求如下: pages/home/service/repo.ts import { request } from 'ice'; export default { // 简单场景 async getUser() { return await request('/api/user'); }, // 参数场景 async getRepo(id) { return await request(`/api/repo/${id}`); }, // 格式化返回值 async getDetail(params) { const data = await request({ url: `/api/detail`, params }); return data.map(item => { return { ...item, price: item.oldPrice, text: item.status === '1' ? '确定' : '取消' }; }); } }","s":"目录约定","u":"/docs/guide/advanced/request","h":"#目录约定","p":221},{"i":228,"t":"消费 service 主要有两种方式: 在模型中调用 service:service -> model -> view 在视图中调用 service:service -> view","s":"消费 service","u":"/docs/guide/advanced/request","h":"#消费-service","p":221},{"i":230,"t":"结合 状态管理 使用 service:约定数据请求统一管理在 services 目录下; model:约定数据请求统一在 models 里进行调用; view:最终在视图里通过调用 models 的 effects 的方法触发数据请求。 在模型中调用定义好的 service: import userService from '@/services/user'; // src/models/user.ts export default { state: { name: 'taoxiaobao', age: 20, }, reducers: { update(prevState, payload) { return { ...prevState, ...payload }; }, }, effects: (dispatch) => ({ async fetchUserInfo() { const data = await userService.getUser(); dispatch.user.update(data); }, }), }; 在视图中调用模型方法: import React, { useEffect } from 'react'; import store from '@/store'; const HomePage = () => { // 调用定义的 user 模型 const [userState, userDispatchers] = store.useModel('user'); useEffect(() => { // 调用 user 模型中的 fetchUserInfo 方法 userDispatchers.fetchUserInfo(); }, []); return <>Home; };","s":"在模型中调用 service","u":"/docs/guide/advanced/request","h":"#在模型中调用-service","p":221},{"i":232,"t":"service:约定数据请求统一管理在 services 目录下; view:最终在视图里通过 useRequest 直接调用 service 触发数据请求。 import React, { useEffect } from 'react'; import { useRequest } from 'ice'; import userService from '@/services/user'; export default function HomePage() { // 调用 service const { data, error, loading, request } = useRequest(userService.getUser); useEffect(() => { // 触发数据请求 request(); }, []); return <>Home; }","s":"在视图中调用 service","u":"/docs/guide/advanced/request","h":"#在视图中调用-service","p":221},{"i":235,"t":"request 基于 axios 进行封装,在使用上整体与 axios 保持一致,差异点: 默认只返回服务端响应的数据 Response.data,而不是整个 Response,如需返回整个 Response 请通过 withFullResponse 参数开启 在 axios 基础上默认支持了多请求实例的能力 使用方式如下: import { request } from 'ice'; async function getList() { const resData = await request({ url: '/api/user', }); console.log(resData.list); const { status, statusText, data } = await request({ url: '/api/user', withFullResponse: true }); console.log(data.list); } 常用使用方式: request(RequestConfig); request.get('/user', RequestConfig); request.post('/user', data, RequestConfig); RequestConfig: { // `url` is the server URL that will be used for the request url: '/user', // `method` is the request method to be used when making the request method: 'get', // default // `headers` are custom headers to be sent headers: {'X-Requested-With': 'XMLHttpRequest'}, // `params` are the URL parameters to be sent with the request // Must be a plain object or a URLSearchParams object params: { ID: 12345 }, // `data` is the data to be sent as the request body // Only applicable for request methods 'PUT', 'POST', and 'PATCH' data: { firstName: 'Fred' }, // `timeout` specifies the number of milliseconds before the request times out. // If the request takes longer than `timeout`, the request will be aborted. timeout: 1000, // default is `0` (no timeout) // `withCredentials` indicates whether or not cross-site Access-Control requests // should be made using credentials withCredentials: false, // default // `responseType` indicates the type of data that the server will respond with // options are: 'arraybuffer', 'document', 'json', 'text', 'stream' responseType: 'json', // default // should be made return full response withFullResponse: false, // request instance name instanceName: 'request2' } 更完整的配置请 参考。 返回完整 Response Scheme 如下: { // `data` is the response that was provided by the server data: {}, // `status` is the HTTP status code from the server response status: 200, // `statusText` is the HTTP status message from the server response statusText: 'OK', // `headers` the HTTP headers that the server responded with // All header names are lower cased and can be accessed using the bracket notation. // Example: `response.headers['content-type']` headers: {}, // `config` is the config that was provided to `axios` for the request config: {}, // `request` is the request that generated this response // It is the last ClientRequest instance in node.js (in redirects) // and an XMLHttpRequest instance in the browser request: {} }","s":"request","u":"/docs/guide/advanced/request","h":"#request","p":221},{"i":237,"t":"使用 useRequest 可以极大的简化对请求状态的管理,useRequest 基于 ahooks/useRequest 封装,差异点: 将 requestMethod 参数默认设置为上述的 request(即 axios),保证框架使用的一致性 manual 参数默认值从 false 改为 true,因为实际业务更多都是要手动触发的 返回值 run 改为 request,因为更符合语义 API​ const { // 请求返回的数据,默认为 undefined data, // 请求抛出的异常,默认为 undefined error, // 请求状态 loading, // 手动触发请求,参数会传递给 service request, // 当次执行请求的参数数组 params, // 取消当前请求,如果有轮询,停止 cancel, // 使用上一次的 params,重新执行请求 refresh, // 直接修改 data mutate, // 默认情况下,新请求会覆盖旧请求。如果设置了 fetchKey,则可以实现多个请求并行,fetches 存储了多个请求的状态 fetches } = useRequest(service, { // 默认为 true 即需要手动执行请求 manual, // 初始化的 data initialData, // 请求成功时触发,参数为 data 和 params onSuccess, // 请求报错时触发,参数为 error 和 params onError, // 格式化请求结果 formatResult, // 请求唯一标识 cacheKey, // 设置显示 loading 的延迟时间,避免闪烁 loadingDelay, // 默认参数 defaultParams, // 轮询间隔,单位为毫秒 pollingInterval, // 在页面隐藏时,是否继续轮询,默认为 true,即不会停止轮询 pollingWhenHidden, // 根据 params,获取当前请求的 key fetchKey, // 在屏幕重新获取焦点或重新显示时,是否重新发起请求。默认为 false,即不会重新发起请求 refreshOnWindowFocus, // 屏幕重新聚焦,如果每次都重新发起请求,不是很好,我们需要有一个时间间隔,在当前时间间隔内,不会重新发起请求,需要配置 refreshOnWindowFocus 使用 focusTimespan, // 防抖间隔, 单位为毫秒,设置后,请求进入防抖模式 debounceInterval, // 节流间隔, 单位为毫秒,设置后,请求进入节流模式。 throttleInterval, // 只有当 ready 为 true 时,才会发起请求 ready, // 在 manual = false 时,refreshDeps 变化,会触发请求重新执行 refreshDeps, }); 常用使用方式​ import { useRequest } from 'ice'; // 用法 1:传入请求地址 const { data, error, loading, request } = useRequest('/api/repo'); request(); // 用法 2:传入 Axios 配置对象 const { data, error, loading, request } = useRequest({ url: '/api/repo', method: 'get', }); request(); // 用法 3:传入 service 函数 const { data, error, loading, request } = useRequest((id) => Promise.resolve({ url: '/api/repo', method: 'get', data: { id }, })); request(); 更多使用方式详见 ahooks/useRequest","s":"useRequest","u":"/docs/guide/advanced/request","h":"#userequest","p":221},{"i":239,"t":"在实际项目中通常需要对请求进行全局统一的封装,例如配置请求的 baseURL、统一 header、拦截请求和响应等等,这时只需要在应用的的 appConfig 中进行配置即可。 src/app.tsx import { defineRequestConfig } from '@ice/plugin-request/types'; export const requestConfig = defineRequestConfig({ // 可选的,全局设置 request 是否返回 response 对象,默认为 false withFullResponse: false, baseURL: '/api', headers: {}, // ...RequestConfig 其他参数 // 拦截器 interceptors: { request: { onConfig: (config) => { // 发送请求前:可以对 RequestConfig 做一些统一处理 config.headers = { a: 1 }; return config; }, onError: (error) => { return Promise.reject(error); }, }, response: { onConfig: (response) => { // 请求成功:可以做全局的 toast 展示,或者对 response 做一些格式化 if (!response.data.status !== 1) { alert('请求失败'); } return response; }, onError: (error) => { // 请求出错:服务端返回错误状态码 console.log(error.response.data); console.log(error.response.status); console.log(error.response.headers); return Promise.reject(error); }, }, }, });","s":"请求配置","u":"/docs/guide/advanced/request","h":"#请求配置","p":221},{"i":241,"t":"在某些复杂场景的应用中,我们也可以配置多个请求,每个配置请求都是单一的实例对象。 src/app.tsx import { defineRequestConfig } from '@ice/plugin-request/types'; export const requestConfig = defineRequestConfig([ { baseURL: '/api', // ...RequestConfig 其他参数 }, { // 配置 request 实例名称,如果不配默认使用内置的 request 实例 instanceName: 'request2', baseURL: '/api2', // ...RequestConfig 其他参数 } ]); 使用示例: import { request } from 'ice'; export default { // 使用默认的请求方法,即调用 /api/user 接口 async getUser() { return await request({ url: '/user', }); }, // 使用自定义的 request 请求方法,即调用接口 /api2/user async getRepo(id) { return await request({ instanceName: 'request2', url: `/repo/${id}`, }); }, };","s":"多个请求配置","u":"/docs/guide/advanced/request","h":"#多个请求配置","p":221},{"i":243,"t":"无论是拦截器里的错误参数,还是 request / useRequest 返回的错误对象,都符合以下类型: const error = { // 服务端返回错误状态码时则存在该字段 response: { data: {}, status: {}, headers: {} }, // 服务端未返回结构时则存在该字段 request: XMLHttpRequest, // 一定存在,即 RequestConfig config: { }, // 一定存在 message: '' }","s":"异常处理","u":"/docs/guide/advanced/request","h":"#异常处理","p":221},{"i":246,"t":"项目开发初期,后端接口可能还没开发好或不够稳定,此时前端可以通过 Mock 的方式来模拟接口,参考文档 本地 Mock 能力。","s":"Mock 接口","u":"/docs/guide/advanced/request","h":"#mock-接口","p":221},{"i":248,"t":"当访问页面地址和请求接口地址的域名或端口不一致时,就会因为浏览器的同源策略导致跨域问题,此时推荐后端接口通过 CORS 支持信任域名的跨域访问,具体请参考: HTTP 访问控制(CORS) 跨域资源共享 CORS 详解 Using CORS","s":"如何解决接口跨域问题","u":"/docs/guide/advanced/request","h":"#如何解决接口跨域问题","p":221},{"i":250,"t":"大部分情况下,前端代码里用到的后端接口写的都是相对路径如 /api/getFoo.json,然后访问不同环境时浏览器会根据当前域名发起对应的请求。如果域名跟实际请求的接口地址不一致,则需要通过 request.baseURL 来配置: src/app.tsx import { defineRequestConfig } from '@ice/plugin-request/types'; export const requestConfig = defineRequestConfig({ baseURL: '//service.example.com/api', }); 结合构建配置即可实现不同环境使用不同的 baseURL: .env.local # The should not be committed. BASEURL=http://localhost:9999/api .env.prod BASEURL=https://example.com/api 在 src/app.tsx 中配置 request.baseURL: src/app.tsx import { defineRequestConfig } from '@ice/plugin-request/types'; export const requestConfig = defineRequestConfig({ baseURL: process.env.BASEURL, });","s":"根据环境配置不同的 baseURL","u":"/docs/guide/advanced/request","h":"#根据环境配置不同的-baseurl","p":221},{"i":252,"t":"示例 with-jest with-vitest ice.js 不耦合任何一个测试框架,开发者可自由选择。目前提供开箱即用的 jest 和 vitest 配置,以便快速开始单元测试。","s":"单元测试","u":"/docs/guide/advanced/unit-test","h":"","p":251},{"i":255,"t":"$ npm i jest -D 如果使用 TypeScript 编写单元测试,推荐接入使用 @swc/jest 或 ts-jest","s":"依赖安装","u":"/docs/guide/advanced/unit-test","h":"#依赖安装","p":251},{"i":257,"t":"首先需要在项目的根目录下新建 jest.config.mjs 文件,并加入以下内容: jest.config.mjs import { defineJestConfig } from '@ice/app'; export default defineJestConfig({}); defineJestConfig 方法返回的是 ice.js 默认配置好的 Jest 配置,支持传入自定义的 Jest 配置。 defineJestConfig 入参支持两种写法: jest.Config () => Promise 以添加 @swc/jest 为例: jest.config.mjs import { defineJestConfig } from '@ice/app'; export default defineJestConfig({ + transform: { + '^.+\\\\.(t|j)sx?$': [ + '@swc/jest', + { + // swc 配置 + jsc: { + transform: { + react: { + runtime: 'automatic', + }, + }, + }, + }, + ], + }, }); 然后在 package.json 中加入 test 脚本: package.json { \"scripts\": { + \"test\": \"jest\" } } 配置完成后,就可以开始编写单元测试了。","s":"配置","u":"/docs/guide/advanced/unit-test","h":"#配置","p":251},{"i":259,"t":"假设现在要测试 add 函数如下: src/utils/add.ts export default function add(a, b) { return a + b; } 新建一个测试用例: tests/add.spec.ts import add from '../src/add'; test('add function', () => { expect(add(1, 2)).toBe(3); }); 这时,运行 npm run test 查看测试结果了。","s":"非 UI 测试","u":"/docs/guide/advanced/unit-test","h":"#非-ui-测试","p":251},{"i":261,"t":"组件 UI 测试推荐使用 @testing-library/react 和 @testing-library/jest-dom。 首先安装依赖: $ npm i @testing-library/react jest-environment-jsdom @testing-library/jest-dom -D 然后在项目根目录下新建 jest-setup.ts 并写入以下内容,以扩展匹配器(matchers): jest-setup.ts import '@testing-library/jest-dom'; 最后在 jest.config.mjs 中加入以下内容: jest.config.mjs import { defineJestConfig } from '@ice/app'; export default defineJestConfig({ + setupFilesAfterEnv: ['/jest-setup.ts'], + testEnvironment: 'jest-environment-jsdom', }); 假设现在要测试一个 Header 组件: src/components/Header.tsx export default function Header() { return (

Jest Test

); } 编写组件的测试用例: tests/Header.spec.tsx import { render, screen } from '@testing-library/react'; import Header from '@/components/Header'; test('test Header component', () => { render(
); expect(screen.getByTestId('title')).toHaveTextContent('Jest Test'); }); 最后,运行 npm run test 就可以查看测试结果了。","s":"UI 测试","u":"/docs/guide/advanced/unit-test","h":"#ui-测试","p":251},{"i":264,"t":"$ npm i vitest -D","s":"依赖安装","u":"/docs/guide/advanced/unit-test","h":"#依赖安装-1","p":251},{"i":266,"t":"首先需要在项目的根目录下新建 vitest.config.mjs 文件,并加入以下内容: vitest.config.mjs import { defineVitestConfig } from '@ice/app'; export default defineVitestConfig({}); defineVitestConfig 方法返回的是 ice.js 默认配置好的 vitest 配置,支持传入自定义的 vitest 配置。 defineVitestConfig 入参支持三种写法: vitest.UserConfig Promise (env) => Promise 以修改 include 参数为例: vitest.config.mjs import { defineVitestConfig } from '@ice/app'; export default defineVitestConfig({ + test: { + include: ['**/*.{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}'] + } }); 然后在 package.json 中加入 test 脚本: package.json { \"scripts\": { + \"test\": \"vitest\" } }","s":"配置","u":"/docs/guide/advanced/unit-test","h":"#配置-1","p":251},{"i":268,"t":"同样测试 Jest 非 UI 测试章节 中的 Header 组件,编写以下的测试用例: tests/add.spec.ts import { test, expect } from 'vitest'; import add from '../src/add'; test('add', () => { expect(add(1, 2)).toBe(3); }); 现在可以运行 npm run test 查看测试结果。","s":"非 UI 测试","u":"/docs/guide/advanced/unit-test","h":"#非-ui-测试-1","p":251},{"i":270,"t":"首先安装依赖: $ npm i @testing-library/react jsdom @testing-library/jest-dom @vitejs/plugin-react@1.3.2 -D 然后在项目根目录下新建 vitest-setup.js 并写入以下内容,以扩展匹配器(matchers): vitest-setup.js import matchers from '@testing-library/jest-dom/matchers'; import { expect } from 'vitest'; expect.extend(matchers); 最后在 vitest.config.mjs 中加入以下内容: vitest.config.mjs import { defineVitestConfig } from '@ice/app'; + import react from '@vitejs/plugin-react'; export default defineVitestConfig({ + test: { + environment: 'jsdom', + setupFiles: ['./vitest-setup.js'], + plugins: [react()], // 支持解析 JSX 语法 + }, }); 假设现在测试一个 Header 组件: src/components/Header.tsx export default function Header() { return (

Vitest Test

); } 编写组件的测试用例: tests/Header.spec.tsx import { test, expect } from 'vitest'; import { render, screen } from '@testing-library/react'; import Header from '@/components/Header'; test('test Header component', () => { render(
); expect(screen.getByTestId('title')).toHaveTextContent('Vitest Test'); }); 最后,运行 npm run test 就可以查看测试结果了。","s":"UI 测试","u":"/docs/guide/advanced/unit-test","h":"#ui-测试-1","p":251},{"i":272,"t":"示例 with-store ice.js 基于 icestore ,提供主流的状态管理解决方案,以更好管理复杂的状态管理逻辑。","s":"状态管理","u":"/docs/guide/advanced/store","h":"","p":271},{"i":274,"t":"安装插件: $ npm i @ice/plugin-store -D 在 ice.config.mts 中添加插件: ice.config.mts import { defineConfig } from '@ice/app'; import store from '@ice/plugin-store'; export default defineConfig(() => ({ plugins: [ store(), ], }));","s":"开启状态管理","u":"/docs/guide/advanced/store","h":"#开启状态管理","p":271},{"i":276,"t":"推荐在不同页面组件中共享的状态存放在全局状态中,比如主题、国际化语言、用户信息等。","s":"全局状态","u":"/docs/guide/advanced/store","h":"#全局状态","p":271},{"i":278,"t":"约定在 src/models 目录定义全局状态。以定义全局用户状态为例: src/models/user.ts import { createModel } from 'ice'; interface User { name: string; id: string; } export default createModel({ // 定义 model 的初始 state state: { name: '', id: '', } as User, // 定义改变该 model 状态的纯函数 reducers: { update(state, payload) { return { ...state, ...payload, }; }, }, // 定义处理该 model 副作用的函数 effects: (dispatch) => ({ async getUserInfo() { await delay(1000); this.update({ name: 'taobao', id: '123', }); }, }), })","s":"定义 Model","u":"/docs/guide/advanced/store","h":"#定义-model","p":271},{"i":280,"t":"约定在 src/store.ts 中初始化 Store: src/store.ts import { createStore } from 'ice'; import user from './models/user'; export default createStore({ user });","s":"初始化 Store","u":"/docs/guide/advanced/store","h":"#初始化-store","p":271},{"i":282,"t":"import { useEffect } from 'react'; + import store from '@/store'; export default function Home() { + const [userState, userDispatchers] = store.useModel('user'); + useEffect(() => { + // 触发 dispatcher 获取数据并修改 state + userDispatchers.getUserInfo() + }, []) return ( <> + {userState.id} + {userState.name} ); }","s":"在组件中使用","u":"/docs/guide/advanced/store","h":"#在组件中使用","p":271},{"i":284,"t":"警告 页面状态只能在该页面下的组件中使用,无法跨页面使用。","s":"页面状态","u":"/docs/guide/advanced/store","h":"#页面状态","p":271},{"i":286,"t":"约定在当前路由目录下新建 models 目录并定义 Model: src └── pages | ├── home // /home 页面 +| │ ├── models // 定义 model +| │ | └── info.ts | │ └── index.tsx 定义 Model 如下: src/pages/home/models/info.ts import { createModel } from 'ice'; export default createModel({ state: { title: '', }, reducers: { update(state, payload) { return { ...state, ...payload, }; }, }, });","s":"定义 Model","u":"/docs/guide/advanced/store","h":"#定义-model-1","p":271},{"i":288,"t":"约定在当前路由目录下新建 store 文件: src └── pages | ├── home // /home 页面 | │ ├── models // 定义 model | │ | └── info.ts +| │ ├── store.ts // 创建 store | │ └── index.tsx src/pages/home/store.ts import { createStore } from 'ice'; import info from './models/info'; const store = createStore({ info }); export default store;","s":"初始化 Store","u":"/docs/guide/advanced/store","h":"#初始化-store-1","p":271},{"i":290,"t":"src/pages/home/index.tsx import { useEffect } from 'react'; + import homeStore from './store'; export default function Home() { + const [infoState, infoDispatchers] = homeStore.useModel('info'); + useEffect(() => { + infoDispatchers.update({ title: 'ICE' }) + }, []) return ( +

{infoState.title}

); };","s":"在组件中使用","u":"/docs/guide/advanced/store","h":"#在组件中使用-1","p":271},{"i":293,"t":"警告 页面级状态目前不支持设置 initialStates。 假设我们有 user 和 counter 两个 Model: src/store.ts src/models/user.ts src/models/counter.ts import { createStore } from 'ice'; import user from './models/user'; import counter from './models/counter'; export default createStore({ user, counter }); import { createModel } from 'ice'; export default createModel({ state: { name: '', } }); import { createModel } from 'ice'; export default createModel({ state: { count: 0, } }); 我们可以在 src/app.ts 中设置两个 Model 初始状态: src/app.ts import { defineStoreConfig } from '@ice/plugin-store/types'; export const storeConfig = defineStoreConfig(async () => { // 模拟请求后端数据 // const data = (await fetch('your-url')).json(); return { initialStates: { // initialStates 键值与 createStore 的第一个入参键值保持一致 user: { name: 'ice.js', }, counter: { count: 1 } }, }; });","s":"设置初始状态","u":"/docs/guide/advanced/store","h":"#设置初始状态","p":271},{"i":295,"t":"插件约定在 src/models、src/pages/**/models 目录下的文件为项目定义的 model 文件,每个文件需要默认导出一个对象。 state​ 定义 Model 的初始 state: import { createModel } from 'ice'; export default createModel({ state: { count: 0 }, }) reducers​ type Reducers = { [k: string]: (state, payload) => any; }; 一个改变该模型状态的函数集合。这些方法以模型的上一次 state 和一个 payload(调用 reducer 时传入的参数)作为入参,在方法中使用可变的方式来更新状态。 这些方法应该是仅依赖于 state 和 payload 参数来计算下一个 state 的纯函数。对于有副作用的函数,请使用 effects 。 import { createModel } from 'ice'; export default ({ state: { count: 0, list: [] }, reducers: { increment (state, payload) { const newList = state.list.slice(); newList.push(payload); const newCount = state.count + 1; return { ...state, count: newCount, list: newList } }, decrement (state) { return { ...state, count: state.count - 1 } } } } effects​ type Effects = (dispatch) => ({ [string]: (payload, rootState) => void }) 一个可以处理该模型副作用的函数集合。这些方法以 payload 和 rootState(当前模型的 state) 作为入参,适用于进行异步调用、模型联动等场景。 import { createModel } from 'ice'; export default createModel({ reducers: { increment() { // ... } }, effects: (dispatch) => ({ async asyncDecrement() { const list = (await fetch('your-url')).json(); // 进行一些异步操作 this.increment(list); // 调用模型 reducers 内的方法来更新状态 }, }), })","s":"Model 定义详细说明","u":"/docs/guide/advanced/store","h":"#model-定义详细说明","p":271},{"i":297,"t":"警告 如果两个 Model 不属于同一个 Store 实例,是无法通信的 src/models/user.ts src/models/tasks.ts // src/models/user.ts import { createModel } from 'ice'; export default createModel({ state: { name: '', tasks: 0, }, effects: () => ({ async refresh() { const data = (await fetch('/user')).json(); // 通过 this.foo 调用自身的 reducer this.setState(data); }, }), }); // src/models/tasks.ts export default { state: [], effects: (dispatch) => ({ async refresh() { const data = await fetch('/tasks'); this.setState(data); }, async add(task) { await fetch('/tasks/add', task); // 调用另一个 model user 的 effects await dispatch.user.refresh(); // 通过 this.foo 调用自身的 effects await this.refresh(); }, }), };","s":"Model 之间通信","u":"/docs/guide/advanced/store","h":"#model-之间通信","p":271},{"i":299,"t":"Redux 默认的函数式写法在处理一些复杂对象的 state 时会非常繁琐。推荐使用 immer 的方式来操作 state: import { createModel } from 'ice'; export default createModel({ state: { tasks: ['A Task', 'B Task'], detail: { name: 'Bob', age: 3, }, }, reducers: { addTasks(state, payload) { - return { - ...state, - tasks: [ ...state.tasks, payload ], - }, + state.tasks.push(payload); }, updateAge(state, payload) { - return { - ...state, - detail: { - ...state.detail, - age: payload, - }, - }, + state.detail.age = payload; } } }) 注意:因为 immer 无法支持字符串或数字这样的简单类型,因此如果 state 符合这种情况(极少数)则不支持通过 immer 操作,必须使用 Redux 默认的函数式写法(返回一个新值): import { createModel } from 'ice'; export default createModel({ state: 0, reducers: { add(state) { - state += 1; + return state += 1; }, }, })","s":"使用不可变状态","u":"/docs/guide/advanced/store","h":"#使用不可变状态","p":271},{"i":301,"t":"通过 useModelEffectsState API 即可获取到 effects 的 加载状态( isLoading )和 错误状态(error)。 import store from '@/store'; function FunctionComponent() { const [state, dispatchers] = store.useModel('counter'); + const effectsState = store.useModelEffectsState('counter'); useEffect(() => { dispatchers.asyncDecrement(); }, []); + console.log(effectsState.asyncDecrement.isLoading); // true + console.log(effectsState.asyncDecrement.error); // null }","s":"获取内置的加载状态和错误状态","u":"/docs/guide/advanced/store","h":"#获取内置的加载状态和错误状态","p":271},{"i":303,"t":"在单页应用下进行页面切换时,页面状态是会保留的。如果想切换页面后再次进入原页面时重新初始化页面状态,需要添加以下配置: ice.config.mts import { defineConfig } from '@ice/app'; import store from '@ice/plugin-store'; export default defineConfig(() => ({ plugins: [ - store(), + store({ resetPageState: true }), ], }));","s":"页面切换后重置状态","u":"/docs/guide/advanced/store","h":"#页面切换后重置状态","p":271},{"i":305,"t":"通过 withModel 可以实现在 Class Component 中使用状态管理。 import store from '@/store'; @store.withModel('todos') export default class TodoList extends React.Component { render() { const { todos } = this.props; const [state, dispatchers] = todos; console.log('state: ', state); // ... } } 提示 TS 应用需要在 tsconfig.json 里添加 compilerOptions: { \"experimentalDecorators\": true } 才可启用装饰器语法。","s":"在 Class Component 中使用","u":"/docs/guide/advanced/store","h":"#在-class-component-中使用","p":271},{"i":307,"t":"插件中默认集成了 Redux Devtools,不需要额外的配置就可以在 Redux Devtools 调试: 如果需要定义 Devtools 的参数,可以在 createStore 的 options 入参中配置: createStore({ user }, { redux: { devtoolOptions: { // 更多配置参考:https://github.com/zalmoxisus/redux-devtools-extension/blob/master/docs/API/Arguments.md } } })","s":"Redux Devtools","u":"/docs/guide/advanced/store","h":"#redux-devtools","p":271},{"i":309,"t":"原子化 CSS 是一种 CSS 写法,它将 CSS 样式拆分成一个个独立的样式,每个样式只包含一个属性,比如: /* 原子化 CSS */ .mt-10 { margin-top: 10px; } 通过原子化 CSS 能力,可以方便地支持响应式布局,以及减少 CSS 文件体积。 ice.js 官方提供了 @ice/plugin-unocss 插件,可以方便开发这一键开启原子化 CSS 能力。","s":"使用原子化 CSS 能力","u":"/docs/guide/advanced/unocss","h":"","p":308},{"i":311,"t":"安装插件: $ npm i -D @ice/plugin-unocss 在 ice.config.mts 中添加插件: ice.config.mts import { defineConfig } from '@ice/app'; import Unocss from '@ice/plugin-unocss'; export default defineConfig(() => ({ plugins: [ Unocss(), ] }));","s":"开启插件","u":"/docs/guide/advanced/unocss","h":"#开启插件","p":308},{"i":313,"t":"为了方便开发者便捷使用,@ice/plugin-unocss 内置了默认的 preset,开发者无需额外配置,可以通过插件配置项对内置配置进行覆盖: ice.config.mts import { defineConfig } from '@ice/app'; import Unocss from '@ice/plugin-unocss'; import { defineConfig, presetAttributify, presetIcons, presetTypography, presetUno, presetWebFonts, transformerDirectives, transformerVariantGroup } from 'unocss'; export default defineConfig(() => ({ plugins: [ Unocss({ shortcuts: [ // ... ], theme: { colors: { // ... } }, presets: [ presetUno(), presetAttributify(), presetIcons(), presetTypography(), presetWebFonts({ fonts: { // ... }, }), ], transformers: [ transformerDirectives(), transformerVariantGroup(), ], }), ], })); 插件配置能力,同 UnoCSS 配置能力保持一致,更多配置能力,请参考 UnoCSS 配置文档。","s":"配置","u":"/docs/guide/advanced/unocss","h":"#配置","p":308},{"i":315,"t":"ice.js 通过应用配置的方式渲染整个应用,开发者可以根据提供的配置定制应用。","s":"应用入口","u":"/docs/guide/basic/app","h":"","p":314},{"i":317,"t":"框架以 src/app.ts 作为应用配置文件: import { defineAppConfig } from 'ice'; export default defineAppConfig(() => ({ app: { strict: true, }, })); 推荐通过 defineAppConfig() 的方式导出应用配置,以获得良好的类型提示。","s":"应用配置文件","u":"/docs/guide/basic/app","h":"#应用配置文件","p":314},{"i":319,"t":"应用入口的配置项,支持应用常用的相关配置。","s":"配置项","u":"/docs/guide/basic/app","h":"#配置项","p":314},{"i":321,"t":"rootId​ 根节点 id 类型:string 默认值:ice-container 提示 小程序端不支持修改 rootId。 strict​ 是否开启 React 的严格模式 (React.StrictMode) 类型:boolean 默认值:false errorBoundary​ 是否启用内置的错误边界捕获能力 类型:boolean 默认值:false","s":"app","u":"/docs/guide/basic/app","h":"#app","p":314},{"i":323,"t":"提示 小程序端不支持 router 配置。关于小程序的 router 配置参考小程序开发-路由 type​ 路由类型 类型:'hash' | 'browser' | 'memory' 默认值:browser 提示 当设置路由类型为 memory 时,需要对应设置 initialEntries。 initialEntries​ 路由类型设置为 MemoryRouter 时,需要渲染的路由。 类型:InitialEntry[] 默认值:['/'] import { defineAppConfig } from 'ice'; export default defineAppConfig(() => ({ router: { type: 'memory', // 渲染 home 页面 initialEntries: ['/home'], }, })); basename​ 路由 basename 类型:string 默认值:/","s":"router","u":"/docs/guide/basic/app","h":"#router","p":314},{"i":325,"t":"应用入口除了支持定义应用配置之外,同时也承担运行时扩展的能力,比如权限配置: import { defineAppConfig } from 'ice'; import { defineAuthConfig } from '@ice/plugin-auth/types'; // 导出 auth 相关的能力,该能力由 @ice/plugin-auth 插件提供 export const authConfig = defineAuthConfig(() => { return { initialAuth: { admin: true, }, }; }); export default defineAppConfig(() => ({ app: { strict: true, }, }));","s":"运行时拓展","u":"/docs/guide/basic/app","h":"#运行时拓展","p":314},{"i":327,"t":"当需要监测一个元素是否出现在可见区域时(比如列表滚动时是否曝光),可以通过 组件来监测指定元素是否当前可见或者消失。 提示 小程序端不支持该能力。","s":"元素可见","u":"/docs/guide/basic/appear","h":"","p":326},{"i":329,"t":" 组件并不是内置组件,需要通过安装 @ice/appear 来引入。 $ npm i @ice/appear --save","s":"安装组件依赖","u":"/docs/guide/basic/appear","h":"#安装组件依赖","p":326},{"i":331,"t":"import VisibilityChange from '@ice/appear'; export default function Home() { return ( { console.log('onAppear') }} > show something ) }","s":"当元素进入可见状态时","u":"/docs/guide/basic/appear","h":"#当元素进入可见状态时","p":326},{"i":333,"t":"有时候我们只需要元素首次可见的时机,例如发送曝光埋点,我们可以通过实现一个 useOnce 的自定义 hook 来实现: src/pages/home.tsx import { useState } from 'react'; import VisibilityChange from '@ice/appear'; // 示例代码 function useOnce(fn) { const [called, setCalled] = useState(false); return (...args) => { if (!called) { setCalled(true); return fn(...args); } }; } export default function Index() { const handleAppearOnce = useOnce(() => { console.log('The first time view appeared.'); }); return (

Hello ice.js 3

); }","s":"元素首次可见","u":"/docs/guide/basic/appear","h":"#元素首次可见","p":326},{"i":335,"t":"src/pages/home.tsx import VisibilityChange from '@ice/appear'; export default function Home() { return ( { console.log('onDisappear') }} > show something ) } 警告 请注意,当元素使用 transform 等非触发 DOM 布局变更的行为使元素移动时,本组件的行为可能会失效。","s":"当元素进入不可见状态时","u":"/docs/guide/basic/appear","h":"#当元素进入不可见状态时","p":326},{"i":337,"t":"框架默认内置了处理静态资源的通用规则,一般情况下开发者无需设置资源的处理方式。另外,对于一些特殊的处理规则,框架给出了便捷方式方便开发者引入资源。","s":"静态资源","u":"/docs/guide/basic/assets","h":"","p":336},{"i":339,"t":"框架内置了针对以下资源的处理: 图片资源:.png、.jpg、.webp、.jpeg、.gif 字体文件:.woff、.woff2、.ttf、.eot svg 文件:.svg 上述资源文件名默认会经过 hash 处理,并通过资源地址的方式加载(比如 ./assets/background.png 经过构建处理后变成 /assets/background.ef5b6544.png)。 推荐将这些资源放在 src/assets/ 目录下: src ├── assets/ │ ├── logo.png │ └── background.png 然后就可以在源码中引入资源了。","s":"基础规则","u":"/docs/guide/basic/assets","h":"#基础规则","p":336},{"i":341,"t":"import background from '@/assets/background.png'; export default function () { return ( ); }","s":"在 JSX 文件中引入","u":"/docs/guide/basic/assets","h":"#在-jsx-文件中引入","p":336},{"i":343,"t":".container { background-image: url('@/assets/background.png'); } 提示 如果资源尺寸小于 8kb,则进行 base64 转码并内联到脚本或样式文件中。","s":"在 CSS 文件中引入","u":"/docs/guide/basic/assets","h":"#在-css-文件中引入","p":336},{"i":345,"t":"对于内置规则不满足特定场景的情况下,框架提供了便捷的方式对资源进行处理","s":"指定处理规则","u":"/docs/guide/basic/assets","h":"#指定处理规则","p":336},{"i":347,"t":"除基础规则中指定资源外,如果还希望通过资源地址的方式进行资源处理的,可以通过如下方式进行指定: import workletURL from 'extra-scalloped-border/worklet.js?url' CSS.paintWorklet.addModule(workletURL); ?url 等同于为指定资源指定 url-loader","s":"URL 引入","u":"/docs/guide/basic/assets","h":"#url-引入","p":336},{"i":349,"t":"通过 ?raw 后缀声明将资源作为字符串引入: import txtContent from './text.txt?raw'; ?raw 等同于为指定资源指定 raw-loader","s":"文件内容引入","u":"/docs/guide/basic/assets","h":"#文件内容引入","p":336},{"i":351,"t":"public 目录作为框架默认的静态资源目录,不被构建工具进行编译的资源都可以放在该目录下。 比如 favicon.ico 文件,我们并不希望该文件名编译(默认静态资源文件名在编译后会生成独立 hash,而 favicon.ico 希望保持原有文件名),我们可以把该文件放在 public 目录下,使用时在 Document 组件中引用即可: export default function Document() { return ( + ... ); } 另外像不被源码引入的资源也存放在 public 目录下,比如 robots.txt。 警告 public 目录中的资源会在构建阶段完整复制到 outputDir 根目录,并且文件名不变,在部署时必须把资源文件放在服务器资源根目录下。(比如 public/icon.svg 文件应该在通过 http:example.com/icon.svg 进行访问)","s":"public 目录","u":"/docs/guide/basic/assets","h":"#public-目录","p":336},{"i":354,"t":"升级 ice.js 3.x 可以带来构建速度和页面性能的提升,并且带来更多移动端功能,比如开箱即用的 PHA、Weex 和小程序方案等。","s":"前言","u":"/docs/guide/advanced/update-from-icejs2","h":"#前言","p":352},{"i":357,"t":"{ \"devDependencies\": { - \"ice.js\": \"^2.0.0\", + \"@ice/app\": \"^3.0.0\", + \"@ice/runtime\": \"^1.0.0\", } } 对应插件能力: @ali/build-plugin-ice-def -> @ali/ice-plugin-def build-plugin-moment-locales -> @ice/plugin-moment-locales build-plugin-fusion -> @ice/plugin-fusion (多主题能力暂不支持) build-plugin-antd -> @ice/plugin-antd build-plugin-css-assets-local -> @ice/plugin-css-assets-local build-plugin-jsx-plus -> @ice/plugin-jsx-plus 文档 build-plugin-keep-alive 不再支持,有 ice.js 3.0 的 keep alive 方案替代 插件使用方式变更为函数调用: ice.config.mts import { defineConfig } from '@ice/app'; import jsxPlus from '@ice/plugin-jsx-plus'; export default defineConfig(() => ({ plugins: [ jsxPlus(), ], })); 完成依赖升级后推荐重新安装依赖,即执行 npm update","s":"依赖修改","u":"/docs/guide/advanced/update-from-icejs2","h":"#依赖修改","p":352},{"i":359,"t":"为了获取更好的类型提示,ice 新版本中推荐使用 ts 文件进行配置,即在项目目录下新增 ice.config.mts 文件,原 json 中的能力支持情况如下: ice 2.x ice 3.0 备注 --port ✅ - --host ✅ - --config ✅ - --disable-open ✅ - plugins ✅ - alias ✅ - publicPath ✅ - devPublicPath ✅ - sourceMap ✅ - externals ✅ - hash ✅ - outputDir ✅ - proxy ✅ - define ✅ - ssr ✅ - --disable-mock ✅ - --https ✅ - --analyzer ✅ - dropLogLevel ✅ - minify ✅ 简化配置(true/false) compileDependencies ✅ 配合现有的 compileIncludes 能力 eslint ✅ - tsChecker ✅ - postcssOptions / postcssrc ✅ - polyfill ✅ 需要主动开启 remoteRuntime ❌ - --disable-assets ❌ 不常用通过环境变量控制日志输出详细程度 --disable-reload ❌ 配置禁止 fastRefresh terser ❌ 内置方案 outputAssetsPath ❌ 后续输出最佳目录实践 devServer ❌ 不支持全量配置 devServer,按需开启 server 相关能力 browserslist ❌ 统一走 browserlist 文件 vendor ❌ 内置的分包实践,可以通过 splitChunks 关闭 libraryTarget / library / libraryExport ❌ - cssLoaderOptions / lessLoaderOptions / sassLoaderOptions ❌ 不支持 webpack loader 相关,内置配置 ignoreHtmlTemplate ❌ - entry ❌ 自定义场景走 client.entry.tsx vite / vitePlugins ❌ - swc ❌ - store / auth / request / pwa / router ❌ 通过定制的插件支持 disableRuntime ❌ - babelPlugins / babelPresets / webpackPlugins / webpackLoaders ❌ 不推荐直接配置 ice.js 3 新版本中不再支持 vite 模式,并且 webpack 相关的快捷配置也不再支持。我们将会将内置的逻辑做到最优。如果存在 webpack 定制需求,可以参考如下自定义方式定制: ice.config.mts import { defineConfig } from '@ice/app'; import { modifyLoader } from '@ice/webpack-modify'; export default defineConfig(() => ({ // Set your configs here. // ... webpack: (webpackConfig) => { if (typeof webpackConfig.devServer?.client === 'object') { // 修改 webpack 配置 webpackConfig.devServer.client.overlay = false; } // 修改内置的 webpack 规则,借助官方工具可以更便捷的修改 // 修改 css 样式规则下的 postcss-loader 配置项 return modifyLoader(webpackConfig, { rule: '.css', loader: 'postcss-loader', options: (originOptions) => ({}), }); } })); 其他新版配置参考:链接 新版插件规范:链接 新版的 webpack 配置不再依赖 webpack-chain,如果有定制 webpack 的诉求可以直接通过 webpack-merge 的方式合并配置","s":"工程配置文件升级","u":"/docs/guide/advanced/update-from-icejs2","h":"#工程配置文件升级","p":352},{"i":361,"t":"新版框架对于大量配置进行了收敛,如果迁移时涉及到负责的定制场景,可以参考以下配置进行迁移 cssLoaderOptions​ ice.config.mts import { defineConfig } from '@ice/app'; import { modifyLoader } from '@ice/webpack-modify'; export default defineConfig(() => ({ // Set your configs here. // ... webpack: (webpackConfig) => { return ['css', 'less', 'sass'].reduce((acc, cur) => { return modifyLoader(acc, { rule: `.${cur}`, loader: 'css-loader', options: (originOptions) => ({}), }); }, webpackConfig); }, })); lessLoaderOptions​ ice.config.mts import { defineConfig } from '@ice/app'; import { modifyLoader } from '@ice/webpack-modify'; export default defineConfig(() => ({ // Set your configs here. // ... webpack: (webpackConfig) => { return modifyLoader(webpackConfig, { rule: '.less', loader: 'less-loader', options: (originOptions) => ({}), }); }, })); sassLoaderOptions​ ice.config.mts import { defineConfig } from '@ice/app'; import { modifyLoader } from '@ice/webpack-modify'; export default defineConfig(() => ({ // Set your configs here. ... webpack: (webpackConfig) => { return modifyLoader(webpackConfig, { rule: '.sass', loader: 'sass-loader', options: (originOptions) => ({}), }); } })); postcssOptions / postcssrc​ ice.config.mts import { defineConfig } from '@ice/app'; import { modifyLoader } from '@ice/webpack-modify'; export default defineConfig(() => ({ // Set your configs here. // ... webpack: (webpackConfig) => { return ['css', 'less', 'sass'].reduce((acc, cur) => { return modifyLoader(acc, { rule: `.${cur}`, loader: 'postcss-loader', options: (originOptions) => ({}), }); }, webpackConfig); }, })); 如果希望使用 postcssrc 能力,将 options 配置成如上空对象即可 webpackPlugins​ ice.config.mts import { defineConfig } from '@ice/app'; import { removePlugin } from '@ice/webpack-modify'; export default defineConfig(() => ({ // Set your configs here. // ... webpack: (webpackConfig) => { let modifiedConfig = webpackConfig; // 添加插件 webpackConfig.plugins.push(new WebpackPlugin()); // webpack 插件修改,先删除插件在重新添加 modifiedConfig = removePlugin(webpackConfig, { pluginName: 'AssetsManifestPlugin', }); webpackConfig.plugins.push(new AssetsManifestPlugin()); } })); webpackLoaders​ ice.config.mts import { defineConfig } from '@ice/app'; import { addLoader, modifyLoader, removeLoader } from '@ice/webpack-modify'; export default defineConfig(() => ({ // Set your configs here. //... webpack: (webpackConfig) => { let modifiedConfig = webpackConfig; // 为 css 规则添加 loader modifiedConfig = addLoader(modifiedConfig, { rule: '.css', before: 'css-loader', useItem: { loader: 'style-loader', }, }); // 移除 loader modifiedConfig = removeLoader(modifiedConfig, { rule: '.css', loader: 'css-loader', }); // 修改 loader modifiedConfig = modifyLoader(getWebpackConfig(), { rule: '.css', loader: 'css-loader', options: () => ({ module: true }), }); return modifiedConfig; }, })); babelPlugins / babelPresets​ 框架内置不再支持 babel 转换,一些常见语法转化逻辑已内置,如果存在定制 babel 插件的情况下,推荐以下方式转化 ice.config.mts import { defineConfig } from '@ice/app'; import { transformSync } from '@babel/core'; export default defineConfig(() => ({ // Set your configs here. // ... transform: async (source, id) => { // 过滤条件 if (id.match(/\\.(j|t)s(x)?$/) && !id.includes('node_modules')) { // 借助 babel 编译 const { code, map } = transformSync(source, { plugins: ['transform-decorators-legacy'], }); return { code, map }; } }, }));","s":"常见配置迁移","u":"/docs/guide/advanced/update-from-icejs2","h":"#常见配置迁移","p":352},{"i":363,"t":"应用入口修改​ - import { runApp } from 'ice'; const appConfing = {}; - runApp(appConfig); + export default appConfig; 为了获得良好类型提示,推荐写法为: import { defineAppConfig } from 'ice'; export default defineAppConfig(() => ({ app: { strict: false, }, })); 原 appConfig 上大部分能力均通过不同的插件进行承载,目前应用入口能力,请参考文档 路由修改​ 为了提供更好的框架能力,新版 ice 默认提供的路由规则为约定式路由 原配置式路由推荐通过上述的规则重新组织目录结构,如果路由过于复杂,推荐如下方式进行迁移: ice.config.mts import { defineConfig } from '@ice/app'; export default defineConfig(() => ({ routes: { // 忽略所有约定式规则 ignoreFiles: ['**'], defineRoutes: (route) => { // 指定根路由页面为 home/index.ts route('/', 'home/index.tsx'); // 为 /product 路由添加 layout.tsx 作为 layout,并渲染 products.tsx 内容 route('/', 'layout.tsx', () => { route('/product', 'products.tsx'); }); }, }, }));","s":"运行时修改","u":"/docs/guide/advanced/update-from-icejs2","h":"#运行时修改","p":352},{"i":365,"t":"状态管理​ 使用状态管理方案需主动安装 @ice/plugin-store: $ npm i @ice/plugin-store -D 在 ice.config.mts 中添加插件: ice.config.mts import { defineConfig } from '@ice/app'; import store from '@ice/plugin-store'; export default defineConfig(() => ({ plugins: [ store({ resetPageState: true }), ], })); 更多用法参考状态管理 数据请求​ 使用数据请求方案需主动安装 @ice/plugin-request: $ npm i @ice/plugin-request -D 在 ice.config.mts 中添加插件: ice.config.mts import { defineConfig } from '@ice/app'; import request from '@ice/plugin-request'; export default defineConfig(() => ({ plugins: [ request(), ], })); 在 src/app.ts 中导出统一的请求配置: src/app.ts export const requestConfig = { ... }; 更多配置和用法参考网络请求 权限方案​ 使用权限方案需主动安装 @ice/plugin-auth: $ npm i @ice/plugin-auth -D 在 ice.config.mts 中添加插件: ice.config.mts import { defineConfig } from '@ice/app'; import auth from '@ice/plugin-auth'; export default defineConfig(() => ({ plugins: [ auth(), ], })); 在 src/app.ts 中导出的权限配置: src/app.ts export const authConfig = { ... }; 更多配置和用法参考权限管理","s":"进阶方案迁移","u":"/docs/guide/advanced/update-from-icejs2","h":"#进阶方案迁移","p":352},{"i":368,"t":"该方法用于获取框架配置的类型提示。 src/app.ts import { defineAppConfig } from 'ice'; export default defineAppConfig(() => ({ app: { rootId: 'ice-container', } }));","s":"defineAppConfig","u":"/docs/guide/basic/api","h":"#defineappconfig","p":366},{"i":370,"t":"该方法用于获取路由组件支持的配置类型,支持的配置可以被插件动态扩展。 src/pages/home.tsx import { definePageConfig } from 'ice'; export const pageConfig = definePageConfig(() => ({ title: 'About', meta: [ { name: 'theme-color', content: '#eee', }, ], }));","s":"definePageConfig","u":"/docs/guide/basic/api","h":"#definepageconfig","p":366},{"i":372,"t":"应用的 history,用于获取路由信息、执行跳转等。 import { history } from 'ice'; export function historyPush (link: string) { history.push(link); } 警告 在应用入口 src/app.ts 导入使用时,由于 history 还未完成初始化创建,不能以立即执行的方式使用。推荐以上述方式封装后在必要的时候进行调用。","s":"history","u":"/docs/guide/basic/api","h":"#history","p":366},{"i":374,"t":"警告 小程序端不支持该 API。 useParams 函数返回动态路由的匹配参数信息。 import { useParams } from 'ice'; // 路由规则为 home/:uid/repo/:repoid // 当前路径 home/clark/repo/1234 export default function Home() { const params = useParams(); // params 输出内容为 { uid: 'clark', repoid: '1234'} return ( <>

Home Page

); }","s":"useParams","u":"/docs/guide/basic/api","h":"#useparams","p":366},{"i":376,"t":"警告 小程序端会返回当前页面 Page.onLoad 生命周期返回的 query 参数。 同时小程序端不支持修改 query string,即调用该 API 返回的 setSearchParams 不会生效。 useSearchParams 用于读取和修改当前 URL 的 query string。 import { useSearchParams } from 'ice'; // 假设当前访问的 url 是 localhost:3000/home?uid=1234 export default function Home() { const [searchParams, setSearchParams] = useSearchParams(); // 通过 searchParams.get() 获取当前 query 值 console.log(searchParams.get('uid')); // 1234 const changeSearch = () => { // 通过 setSearchParams 可以修改对应 query string setSearchParams({ uid: '4321' }); } return ( <>

Home Page

); }","s":"useSearchParams","u":"/docs/guide/basic/api","h":"#usesearchparams","p":366},{"i":378,"t":"警告 小程序端不支持该 API。可通过 Link 组件或 history 或小程序原生 API 进行跳转。 useNavigate 函数返回一个可以控制跳转的函数,用于组件内部控制路径跳转 import { useNavigate } from 'ice'; export default function Home() { const navigate = useNavigate(); useEffect(() => { navigate('/logout', { replace: true }); }, []); return ( <>

Home Page

); }","s":"useNavigate","u":"/docs/guide/basic/api","h":"#usenavigate","p":366},{"i":380,"t":"警告 小程序端不支持该 API。 useLocation 返回当前 location 信息。 import { useLocation } from 'ice'; function Home() { const location = useLocation(); useEffect(() => { // send pv info }, [location]); return ( <>

Home Page

); }","s":"useLocation","u":"/docs/guide/basic/api","h":"#uselocation","p":366},{"i":382,"t":"useAppData 返回应用全局数据,需要搭配 src/app.ts 中导出的 dataLoader 使用: src/app.ts import { defineDataLoader } from 'ice'; export const dataLoader = defineDataLoader(() => { return await fetch('/api/user'); }) 在任意组件内进行消费: import { useAppData } from 'ice'; function Home() { const data = useAppData(); // data 内容为 /api/user 接口返回数据 return ( <>

Home Page

); }","s":"useAppData","u":"/docs/guide/basic/api","h":"#useappdata","p":366},{"i":384,"t":"useData 返回路由组件数据,需要搭配在路由组件中定义数据获取方法进行使用。参考页面数据请求文档","s":"useData","u":"/docs/guide/basic/api","h":"#usedata","p":366},{"i":386,"t":"useConfig 返回路由组件配置,搭配 definePageConfig。 src/pages/home.tsx import { definePageConfig, useConfig } from 'ice'; export default function Home() { const config = useConfig(); return ( <>

Home Page

); } export const pageConfig = definePageConfig(() => ({ title: 'About', meta: [ { name: 'theme-color', content: '#eee', }, ], }));","s":"useConfig","u":"/docs/guide/basic/api","h":"#useconfig","p":366},{"i":388,"t":"警告 小程序端不支持该 API。 该方法会在 React Hydrate 完成后返回 true,一般在开启 SSR/SSG 的应用中,用于控制在不同端中渲染不同的组件。 警告 使用此 useMounted 而不是 typeof windows !== 'undefined' 来判断当前是否在 Client 端中渲染。 因为第一次 Client 端渲染必须与 Server 端渲染的接口一致,如果不使用此 Hook 判断的话,在 Hydrate 时可能出现节点不匹配的情况。 使用示例: import { useMounted } from 'ice'; const Home = () => { const mounted = useMounted(); return
{mounted ? 'Client' : 'Server'}
; };","s":"useMounted","u":"/docs/guide/basic/api","h":"#usemounted","p":366},{"i":390,"t":"获取应用级 Context, 包含字段为: appConfig object, 通过 defineAppConfig 定义的 appConfig renderMode string, 渲染模式,'CSR'|'SSR'|'SSG' documentOnly boolean, 是否指定为 CSR downgrade boolean, 是否为 SSR 降级 src/document.ts import { useAppContext } from 'ice'; function Document() { const { renderMode } = useAppContext(); console.log(renderMode); return (
); }","s":"useAppContext","u":"/docs/guide/basic/api","h":"#useappcontext","p":366},{"i":392,"t":"警告 小程序端不支持该组件。 组件只允许在 React Hydrate 完成后在 Client 端中渲染组件。 提示 用 组件包裹不能在 Node.js 中运行的组件,比如如果组件要访问 window 或 document 对象。 Props children: 一个函数,且返回仅在浏览器中渲染的组件。该函数不会在 Server 端中执行 fallback(可选): 在 React Hydrate 完成之前渲染的组件 使用示例: import { ClientOnly } from 'ice'; export function Home () { return ( loading...
}> {() => page url is {window.location.href}} ); }; 引入一个组件: import { ClientOnly } from 'ice'; import MyComponent from './MyComponent'; export function Home () { return ( loading...
}> {() => }
); };","s":"","u":"/docs/guide/basic/api","h":"#clientonly-","p":366},{"i":394,"t":"警告 小程序端不支持该组件。 缓存所有路由组件的状态。详细使用方式参考 Keep Alive 文档。","s":"","u":"/docs/guide/basic/api","h":"#keepaliveoutlet-","p":366},{"i":396,"t":"信息 在小程序端 Link 组件底层为原生 navigator 组件。 是 React 组件,用于渲染带路由跳转功能的
元素。 import { Link } from 'ice'; function Home() { const data = useAppData(); // data 内容为 /api/user 接口返回数据 return ( <>

Home Page

user ); }","s":"","u":"/docs/guide/basic/api","h":"#link-","p":366},{"i":398,"t":"警告 小程序端不支持该组件。 用于渲染父路由中渲染子路由,通常出现在 layout.tsx Layout 组件中。 src/layout.tsx import { Outlet } from 'ice'; export default function Layout() { return (

title

); }","s":"","u":"/docs/guide/basic/api","h":"#outlet-","p":366},{"i":400,"t":"AppConfig 是 TS 类型定义,用于获取框架配置类型。 import type { AppConfig } from 'ice'; 警告 推荐通过 defineAppConfig 的方式在入口定义应用类型,如果涉及到类型拓展和泛型的应用可以通过上述方式导入该类型。","s":"AppConfig","u":"/docs/guide/basic/api","h":"#appconfig","p":366},{"i":402,"t":"RouteConfig 是 TS 类型定义,用于获取路由配置类型。 import type { RouteConfig } from 'ice'; 警告 推荐通过 definePageConfig 的方式在路由组件中定义类型,如果涉及到类型拓展和泛型的应用可以通过上述方式导入该类型。","s":"RouteConfig","u":"/docs/guide/basic/api","h":"#routeconfig","p":366},{"i":404,"t":"警告 小程序端不支持该组件。 Meta、Title、Links、Scripts 和 Main 组件仅支持在 src/document.tsx 中使用,使用场景参考 Document 文档","s":"Document 组件","u":"/docs/guide/basic/api","h":"#document-组件","p":366},{"i":406,"t":"提示 指定命令行参数有两种方式: 在 package.json 文件中指定参数: { \"scripts\": { - \"start\": \"ice start\" + \"start\": \"ice start --https\" } } 在命令行中指定参数: # npm v7 及以上需要多增加 `--` 字符 $ npm start -- --https # npm v6 $ npm start --https","s":"命令行 CLI","u":"/docs/guide/basic/cli","h":"","p":405},{"i":408,"t":"启动本地开发服务器,用于在本地开发调试项目。 ice start [options] 选项 类型 说明 --target string 指定编译的 target --mode string 指定环境模式 mode --config string 指定使用的配置文件路径 --rootDir string 指定应用的根目录 -h, --host string 指定开发服务器主机名 -p, --port number 指定开发服务器端口 --https [https] boolean 开启 https --no-open boolean 禁止默认打开浏览器预览行为 --no-mock boolean 禁用 mock 服务 --analyzer boolean 开启 bundle 体积构建分析 --force boolean 强制删除构建缓存 -h, --help - 显示可用的选项","s":"start","u":"/docs/guide/basic/cli","h":"#start","p":405},{"i":410,"t":"构建项目,输出生产环境下的资源。 $ ice build [options] 选项 类型 说明 --target string 指定编译的 target --mode string 指定环境模式 mode --config string 指定使用的配置文件路径 --rootDir string 指定应用的根目录 --analyzer boolean 开启 bundle 体积构建分析 -h, --help - 显示可用的选项","s":"build","u":"/docs/guide/basic/cli","h":"#build","p":405},{"i":412,"t":"查看帮助。 $ ice help","s":"help","u":"/docs/guide/basic/cli","h":"#help","p":405},{"i":414,"t":"查看 ice.js 的版本。 $ ice --version 3.0.0","s":"version","u":"/docs/guide/basic/cli","h":"#version","p":405},{"i":416,"t":"本文讲述在开发应用前如何安装最小开发环境。","s":"开发环境","u":"/docs/guide/basic/development","h":"","p":415},{"i":418,"t":"开发前端应用前需要安装 Node.js,并确保 node 版本是 14.x 或以上。推荐使用 nvm(Windows 下使用 nvm-windows) 或者 fnm 来管理 node 版本。下面以在 mac 下安装 nvm 为例: $ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash # 安装 node 14 版本 $ nvm install 14 # 使用 node 14 $ nvm use 14 # 验证 node 是否安装成功 $ node -v v14.19.3","s":"Node.js","u":"/docs/guide/basic/development","h":"#nodejs","p":415},{"i":420,"t":"安装 Node.js 后,默认会包含 npm。除此以外,还有其他的包管理工具: pnpm(推荐) cnpm(推荐) yarn 安装 pnpm 示例如下: $ npm i pnpm -g --register=https://registry.npmmirror.com/ # 验证 pnpm 是否安装成功 $ pnpm -v 7.1.7 如果经常需要切换 npm 镜像源,推荐使用 nrm 进行管理: $ npm install -g nrm # 验证 nrm 是否安装成功 $ nrm --version # 查看所有镜像源 $ nrm ls # 推荐使用淘宝镜像源 nrm use taobao","s":"包管理工具","u":"/docs/guide/basic/development","h":"#包管理工具","p":415},{"i":422,"t":"推荐使用 IDE 进行前端应用开发和调试,会有更好的调试体验。目前比较流行的 IDE 有: Visual Studio Code(推荐) WebStorm(推荐) Sublime Text Atom","s":"IDE","u":"/docs/guide/basic/development","h":"#ide","p":415},{"i":424,"t":"目前小程序开发调试均需使用对应的开发者工具,在此附上小程序开发者工具下载链接: 微信开发者工具 阿里小程序开发者工具","s":"小程序开发者工具","u":"/docs/guide/basic/development","h":"#小程序开发者工具","p":415},{"i":427,"t":"框架对页面数据加载的编码规范做出了约定,来最大限度的提前页面的数据加载时机。 在传统的编码模式下,数据请求一般在组件内部发起,依赖于业务 Bundle 的加载解析执行,整个过程是串行、阻塞的。 而在 ice.js 中,页面的数据请求会由框架(或容器)统一发起,和业务 Bundle 的加载解析是并行、不阻塞的。 基于这种模式开发的页面,天然获得了更好的性能体验。 常规的 React 应用,一般都会在组件首次 useEffect 时发起数据请求。这种组织方式,数据请求会在页面完成首次渲染后才发起,请求的时机是非常滞后的。 src/pages/index.tsx import { useState, useEffect } from 'react'; export default function Home() { const [data, setData] = useState(); useEffect(async () => { const data = await fetch('https://example.com/api/xxx'); setData(data); }, []) return ( <>
Hello ICE
{JSON.stringify(data)}
); }; 在 ice.js 中,我们推荐将页面的的数据请求和 UI 实现解耦,通过 dataLoader 来定义页面的数据请求。示例: src/pages/index.tsx import { useData, defineDataLoader } from 'ice'; // 页面组件的 UI 实现 export default function Home() { const data = useData(); return ( <>
Hello ICE
{JSON.stringify(data)}
); }; // 页面的数据请求 export const dataLoader = defineDataLoader(async () => { const data = await fetch('https://example.com/api/xxx'); return data; }); 通过 dataLoader 导出的数据请求,会由框架在进入页面时发起,和业务 Bundle 的加载解析是并行的。在支持预请求的容器下(例如 PHA),数据请求还可以被进一步的提升为预请求。 同一个项目,两种不同写法,数据请求发起时机的差异对比如下(测试环境 chrome slow 3G): 信息 在 dataLoader 应避免处理 UI 相关逻辑,或引入较大的依赖,以确保 dataLoader 的构建产物足够小 受小程序环境限制,通过 dataLoader 定义的应用级数据加载将在 App 的 onLaunch 生命周期中进行,页面级数据加载则会在 Page 的 onLoad 生命周期中,二者均会阻塞页面的 UI 渲染。如果这不是你想要的效果,请按照常规方式进行数据请求。(比如在组件首次 useEffect 时发起数据请求)","s":"设计理念","u":"/docs/guide/basic/data-loader","h":"#设计理念","p":425},{"i":429,"t":"默认情况下,页面会等待数据请求完成后,再开始渲染,在数据接口比较快的情况下,这可以避免页面的二次渲染。 如果数据接口较慢,也可以选择先渲染不依赖于动态数据的部分,待数据回来后,再重新渲染依赖数据的页面内容。 具体做法如下: 在定义 dataLoader 时标记 defer: true 在消费数据时,使用 Await 组件包裹依赖于数据的页面内容 src/pages/index.tsx import { useData, defineDataLoader, Await } from 'ice'; // 页面组件的 UI 实现 export default function Home() { const data = useData(); return ( <>
Hello ICE
loading...
} errorElement={
Error!
} /> { (data) =>
{JSON.stringify(data)}
} ); }; // 在定义 dataLoader 时标记 defer: true export const dataLoader = defineDataLoader(async () => { const data = await fetch('https://example.com/api/xxx'); return data; }, { defer: true }); 注意: 当 dataLoader 被声明为异步时,useData 返回的内容不可直接消费,需由 Await 组件处理 Await 组件接收三个参数 resolve 数据请求对象 fallback 数据加载过程中展示的 UI errorElement 请求失败时展示的 UI","s":"异步消费数据","u":"/docs/guide/basic/data-loader","h":"#异步消费数据","p":425},{"i":431,"t":"当开发者希望通过统一的发送函数处理静态配置以完成 dataLoader 时,可以通过自定义 fetcher 以完成发送逻辑的统一封装,在 dataLoader 中只需要传递一份配置即可。 export const dataLoader = defineDataLoader({ api: 'xxx', options: {} }); 通过 defineConfig 配置 dataLoader 配置以自定义 fetcher。 ice.config.mts export default defineConfig(() => ({ dataLoader: { fetcher: { packageName: '@ice/custom-fetcher-lib', // 统一处理静态 dataLoader 的 NPM 包 method: 'request', // NPM 包导出的方法 }, }, })); 最终构建后会呈现以下形式: import { request as fetcher } '@ice/custom-fetcher-lib'; fetcher({ api: 'xxx', options: {} });","s":"静态 dataLoader","u":"/docs/guide/basic/data-loader","h":"#静态-dataloader","p":425},{"i":433,"t":"示例工程","s":"使用示例","u":"/docs/guide/basic/data-loader","h":"#使用示例","p":425},{"i":435,"t":"页面路由组件或 layout 组件,都支持通过导出 dataLoader 来声明各自的数据请求。 下面是一个最基础的页面级数据请求示例: 通过 defineDataLoader 定义了页面数据请求的具体实现,并导出为 dataLoader。 通过 useData 方法,在组件侧获取和消费数据。 src/pages/index.tsx import { useData, defineDataLoader } from 'ice'; export default function Home() { const data = useData(); return ( <>
Hello ICE
{JSON.stringify(data)}
); }; export const dataLoader = defineDataLoader(async (ctx) => { console.log(ctx.pathname); console.log(ctx.query); const data = await fetch('https://example.com/api/xxx'); return data; }); defineDataLoader 支持传入 Function,来定义页面数据请求的具体实现,其入参 ctx 包含: pathname: string, 当前页面的路径名。 query: object, 当前页面的 query 信息,会被提前解析。 返回值为希望传给页面组件的具体数据,类型支持 Data | Promise。","s":"页面级数据加载","u":"/docs/guide/basic/data-loader","h":"#页面级数据加载","p":425},{"i":437,"t":"如果是应用级的数据加载,可以在应用入口 src/app.ts 中定义并导出 dataLoader 方法,来注册数据加载逻辑。示例: src/app.ts import { defineDataLoader } from 'ice'; // ... export const dataLoader = defineDataLoader(async () => { const data = await fetch('https://example.com/api/xxx'); return data; }); 在页面或其他组件中,可以通过 useAppData 方法获取应用级数据。示例: import { useAppData } from 'ice'; export default function Home(props) { const appData = useAppData(); // ... }","s":"应用级数据加载","u":"/docs/guide/basic/data-loader","h":"#应用级数据加载","p":425},{"i":439,"t":"如果页面需要同时发起多个数据请求,首先推荐使用嵌套路由来组织页面内容,将不同区块的数据请求,放到不同路由组件下来注册。 如果多个数据请求属于同一个路由组件,则可以在 defineDataLoader 时,以数组的方式传入数据请求实现。示例: import { useData, defineDataLoader } from 'ice'; export default function Home() { const [userInfo, itemInfo] = useData(); return ( <>
Hello {userInfo?.name}
{JSON.stringify(itemInfo)}
); }; export const dataLoader = defineDataLoader([ async () => { const userInfo = await fetch('https://example.com/api/userInfo'); return userInfo; }, async (ctx) => { const itemInfo = await fetch(`https://example.com/api/itemInfo${ctx?.query?.itemId}`); return itemInfo; }, ]); 多个数据请求的情况下,useData 获取的数据也对应的为数组,数组元素和 dataLoader 中定义的数据请求的返回值一一对应。 如果 dataLoader 被声明为异步,消费时可以分别 Await 不同的数据,这样可以做到先返回的数据,先渲染。 import { useData, defineDataLoader } from 'ice'; export default function Home() { const [userInfo, itemInfo] = useData(); return ( <> { (data) =>
Hello {data?.name}
}
{ (data) =>
{JSON.stringify(data)}
}
); }; export const dataLoader = defineDataLoader([ async () => { const useInfo = await fetch('https://example.com/api/userInfo'); return useInfo; }, async (ctx) => { const itemInfo = await fetch(`https://example.com/api/itemInfo${ctx?.query?.itemId}`); return itemInfo; }, ], { defer: true });","s":"多个数据请求","u":"/docs/guide/basic/data-loader","h":"#多个数据请求","p":425},{"i":441,"t":"ice.js 的默认应用目录提供了良好的代码分层结构,约定的目录结构如下: ├── build // 构建产物目录 ├── mock // 本地模拟数据 │ ├── index.ts ├── public // 静态资源目录 │ └── favicon.ico // Favicon 图标 ├── src // 源码目录 │ ├── components // 自定义业务组件 │ ├── pages // 路由页面组件 | | ├── about.tsx | | ├── home.tsx | | └── layout.tsx // 全局布局组件 │ ├── global.css // 全局样式 │ ├── document.tsx // HTML 模板 │ └── app.ts // 应用入口 ├── .env // 环境变量配置文件 ├── ice.config.mts // 构建配置 ├── package.json └── tsconfig.json // TypeScript 配置文件","s":"目录结构","u":"/docs/guide/basic/directory","h":"","p":440},{"i":443,"t":"声明应用所需要的各种依赖或者插件,以及配置信息(比如名称、版本、许可证等元数据)。","s":"package.json","u":"/docs/guide/basic/directory","h":"#packagejson","p":440},{"i":445,"t":"应用的构建配置文件。详见 构建配置。","s":"ice.config.mts","u":"/docs/guide/basic/directory","h":"#iceconfigmts","p":440},{"i":447,"t":"配置环境变量。详见 环境变量。","s":".env","u":"/docs/guide/basic/directory","h":"#env","p":440},{"i":449,"t":"TypeScript 编译所需的配置文件。","s":"tsconfig.json","u":"/docs/guide/basic/directory","h":"#tsconfigjson","p":440},{"i":451,"t":"存放 mock 文件,用于本地模拟请求数据服务。详见 Mock。","s":"mock 目录","u":"/docs/guide/basic/directory","h":"#mock-目录","p":440},{"i":453,"t":"用于存放静态资源(如 favicon.ico)的目录,此目录下所有的文件会被复制到构建产物目录中。","s":"public 目录","u":"/docs/guide/basic/directory","h":"#public-目录","p":440},{"i":455,"t":"用于存放源码的目录","s":"src 目录","u":"/docs/guide/basic/directory","h":"#src-目录","p":440},{"i":457,"t":"项目的入口文件,用于对应用进行全局运行时配置,包括路由、添加 Provider 等。详见应用入口。","s":"app.ts","u":"/docs/guide/basic/directory","h":"#appts","p":440},{"i":459,"t":"HTML 模板,使用 JSX 语法来描述,与 index.html 类似用于生成 HTML 产物。详见 Document。","s":"document.tsx","u":"/docs/guide/basic/directory","h":"#documenttsx","p":440},{"i":461,"t":"全局的样式配置,框架默认会引入该文件。详见样式方案","s":"global.[css|scss|less]","u":"/docs/guide/basic/directory","h":"#globalcssscssless","p":440},{"i":463,"t":"存放路由组件的目录。ice.js 使用约定式路由,会自动根据文件生成路由规则,详见路由。","s":"pages 目录","u":"/docs/guide/basic/directory","h":"#pages-目录","p":440},{"i":465,"t":"项目通用的组件目录,推荐的目录形式如下: src ├── components | └── Guide | ├── index.module.css | └── index.tsx 组件通常会在路由组件中被引入。","s":"components 目录","u":"/docs/guide/basic/directory","h":"#components-目录","p":440},{"i":467,"t":"build 目录 运行 npm build 后的构建产物目录,可修改构建配置修改输出路径。 .ice 目录 运行 ice.js 项目时默认生成的临时目录,该目录不需要进行 git 提交。","s":"其它","u":"/docs/guide/basic/directory","h":"#其它","p":440},{"i":469,"t":"ice.js 支持常用的构建配置项,所有的配置项在 ice.config.mts 中设置。","s":"构建配置","u":"/docs/guide/basic/config","h":"","p":468},{"i":472,"t":"为了获取良好的类型提示,ice.js 推荐以 ice.config.mts 作为配置文件: import { defineConfig } from '@ice/app'; export default defineConfig(() => ({ publicPath: '/', }));","s":"构建配置文件","u":"/docs/guide/basic/config","h":"#构建配置文件","p":468},{"i":474,"t":"构建的兼容性配置推荐配置在 .browserslistrc 文件中: chrome 55 更多配置请参考 browserslist 文档","s":"兼容性配置","u":"/docs/guide/basic/config","h":"#兼容性配置","p":468},{"i":477,"t":"类型:Record 默认值:{ \"@\": \"./src/\" } 在 ice.js 默认内置常用的 alias 规则,因此项目大多数时候不需要配置即可更加简单的导入模块了: -import CustomTips from '../../../components/CustomTips'; +import CustomTips from '@/components/CustomTips'; 如果需要配置别名对 import 路径进行映射: import { defineConfig } from '@ice/app'; export default defineConfig(() => ({ alias: { pages: './src/pages', }, }));","s":"alias","u":"/docs/guide/basic/config","h":"#alias","p":468},{"i":479,"t":"警告 小程序端不支持该配置。 类型:false | 'anonymous' | 'use-credentials' 默认值:false 配置 import { defineConfig } from '@ice/app'; export default defineConfig(() => ({ crossOriginLoading: 'anonymous' })); 指定 webpack 启用 cross-origin 去加载 chunk。","s":"crossOriginLoading","u":"/docs/guide/basic/config","h":"#crossoriginloading","p":468},{"i":481,"t":"类型:Record 默认值:{ 'process.env.NODE_ENV': 'development' | 'production'; 'import.meta.renderer': 'client' | 'server'; 'import.meta.target': string; } 在编译时将代码中的全局变量替换成其他值或者表达式。一般用于区分不同环境以执行不同代码逻辑。 import { defineConfig } from '@ice/app'; export default defineConfig(() => ({ define: { ASSETS_VERSION: JSON.stringify('0.1.0'), AGE: '11', }, })); 在代码中直接使用对应定义的变量: console.log(ASSETS_VERSION); // 最终会被编译成: // console.log('0.1.0'); console.log(AGE); // 最终会被编译成: // console.log(11); 注意,在编译时,将会对你设置的 define 替换值进行类似字符串拼接的方式生成新的代码。因此: 对于引用数据类型(function 和 object),需要使用 JSON.stringify() 方法处理 对于要替换的全局变量是字符串时,需要使用 JSON.stringify() 方法处理或者多添加一对引号(如 \"'hello world'\"),否则就是一个标识符,有可能跟预期结果不一致的情况 对于运行时变量,ice.js 更加推荐通过环境变量的方式注入。","s":"define","u":"/docs/guide/basic/config","h":"#define","p":468},{"i":483,"t":"类型: boolean | { fetcher: { packageName: string; method: string } } 默认值 true 是否启用内置的数据预加载能力以及自定义发送者(fetcher)。","s":"dataLoader","u":"/docs/guide/basic/config","h":"#dataloader","p":468},{"i":485,"t":"警告 小程序端不支持该配置。 类型:string 默认值:/ 配置 Webpack 的 output.publicPath 属性,仅在运行 build 命令时生效。","s":"publicPath","u":"/docs/guide/basic/config","h":"#publicpath","p":468},{"i":487,"t":"类型:string 默认值:/ 同 publicPath 仅在执行 start 时生效。","s":"devPublicPath","u":"/docs/guide/basic/config","h":"#devpublicpath","p":468},{"i":489,"t":"警告 小程序端不支持该配置。 类型:boolean | string 默认值:false 如果希望构建后的资源带 hash 版本,可以将 hash 设置为 true,也可以设置为 contenthash 按文件内容生成 hash 值: import { defineConfig } from '@ice/app'; export default defineConfig(() => ({ hash: 'contenthash', }));","s":"hash","u":"/docs/guide/basic/config","h":"#hash","p":468},{"i":491,"t":"警告 小程序端不支持该配置。 类型:Record 默认值:{} 设置哪些模块不打包,转而通过 + ); } export default Document;","s":"externals","u":"/docs/guide/basic/config","h":"#externals","p":468},{"i":493,"t":"类型:string 默认值:build 构建产物输出目录,默认为 build 目录","s":"outputDir","u":"/docs/guide/basic/config","h":"#outputdir","p":468},{"i":495,"t":"警告 小程序端不支持该配置。 类型:object 默认值:{} 配置 dev 开发阶段的代理功能。配置项与 Webpack devServer.proxy 保持一致。 import { defineConfig } from '@ice/app'; export default defineConfig(() => ({ proxy: { '/api': { target: 'http://jsonplaceholder.typicode.com/', changeOrigin: true, pathRewrite: { '^/api' : '' }, }, }, }));","s":"proxy","u":"/docs/guide/basic/config","h":"#proxy","p":468},{"i":497,"t":"类型:boolean 默认值:true 压缩产物,目前默认仅在 build 阶段生效","s":"minify","u":"/docs/guide/basic/config","h":"#minify","p":468},{"i":499,"t":"类型:boolean | DropType[] | DropType 默认值:false,不移除任何 console 代码 压缩代码时移除 console. 相关代码,配置为true时,移除所有console.相关代码。当想移除部分console代码,例如想要移除console.log和console.error时,可以配置为 import { defineConfig } from '@ice/app'; export default defineConfig(() => ({ dropLog: ['error', 'log'], })); 也可以根据console等级来进行移除 // console 等级为 trace < debug < log < info < warn < error // 例如想要移除trace、debug、log时可以像下面这样配置 import { defineConfig } from '@ice/app'; export default defineConfig(() => ({ dropLog: 'log', }));","s":"dropLogLevel","u":"/docs/guide/basic/config","h":"#droploglevel","p":468},{"i":501,"t":"类型:array | boolean 默认值:[] 默认情况下为了保证 dev 开发阶段的体验,node_modules 下文件不会进行编译,而考虑到 build 阶段对代码体积的极致优化以及兼容性保证,将会对 node_modules 下内容也进行编译。 如果 dev 阶段需要额外编译一些依赖,build 阶段下仍然全量编译,可以参考下面的方式在 dev 阶段通过正则追加一些配置: import { defineConfig } from '@ice/app'; export default defineConfig(() => ({ compileDependencies: process.env.NODE_ENV === 'development' ? [/@alifd\\/next/, /need-compile/] : true, })); 警告 如果 build 阶段仍然需要全量编译,请务必增加环境判断 如果希望 dev 和 build 阶段均编译 node_modules,可以设置为 true import { defineConfig } from '@ice/app'; export default defineConfig(() => ({ compileDependencies: true, })); 如果明确知道哪些依赖需要进行编译也可以通过正则方式进行设置:(对 dev 和 build 同时生效) import { defineConfig } from '@ice/app'; export default defineConfig(() => ({ compileDependencies: [/@alifd\\/next/, /need-compile/], }));","s":"compileDependencies","u":"/docs/guide/basic/config","h":"#compiledependencies","p":468},{"i":503,"t":"类型:ProcessOptions & { plugins?: (string | [string, Record?])[] }; 默认值:{} 用于添加 postcss 自定义配置。示例如下: import { defineConfig } from '@ice/app'; export default defineConfig(() => ({ postcss: { plugins: [ 'postcss-px-to-viewport-8-plugin', { // ... }, ], syntax: 'sugarss', } })); ice.js 内置的 postcss 配置是: { \"plugins\": [ [\"postcss-nested\"], [\"postcss-preset-env\", { \"stage\": 3, \"autoprefixer\": { \"flexbox\": \"no-2009\", }, \"features\": { \"custom-properties\": false, }, }], [\"postcss-plugin-rpx2vw\"], ], } 如果需要完全重写 postcss 配置或修改内置的 postcss 配置,需要在项目根目录下新增 postcss.config.js 文件并加入配置,工程上会清空内置的 postcss 配置。 postcss.config.js module.exports = { plugins: [ [ 'postcss-preset-env', // 修改 postcss-preset-env 的选项 { stage: 2, } ] ], }","s":"postcss","u":"/docs/guide/basic/config","h":"#postcss","p":468},{"i":505,"t":"类型:'usage' | 'entry' | false 默认值:false 框架提供了多种 polyfill 的方式,开发者可以按实际情况选择对应的设置: usage 按开发者使用的语法自动引入对应的 polyfill,适用于 node_modules 也进行编译的场景(一定程度上影响编译效率以及三方依赖二次编译造成的代码冗余) entry 自动引入 browser(浏览器)需要兼容的 polyfill,适用于 node_modules 依赖不进行编译的场景(可能存在大量未被使用的 polyfill 被引入) 如果面向现代浏览器进行开发,大量 ES 语法均不需要引入 Polyfill,我们推荐不开启 polyfill 配置。如果你的代码或者三方依赖要求兼容到 IE 11 等浏览器,可以选择主动引入指定语法的 polyfill 或者开启 polyfill 配置。","s":"polyfill","u":"/docs/guide/basic/config","h":"#polyfill","p":468},{"i":507,"t":"类型:(code:string, id: string) => string | {code: string; map?: SourceMap | null;} 默认值:undefined 通过 transform 配置实现代码的转化: import { defineConfig } from '@ice/app'; import { transformSync } from '@babel/core'; export default defineConfig(() => ({ transform: (originalCode, id) => { if (!id.includes('node_modules')) { // 借助 babel 编译 const { code, map } = transformSync(originalCode, { plugins: ['transform-decorators-legacy'], }); return { code, map }; } }, })); ice.js 内置通过 swc 提升编译体验,如果在 transform 配置上过多依赖 babel 等工具将可以能造成编译性能瓶颈","s":"transform","u":"/docs/guide/basic/config","h":"#transform","p":468},{"i":509,"t":"警告 小程序端不支持该配置。 类型:boolean 默认值:false 是否开启 SSR 能力,更多 SSR 相关内容参考 SSR 文档。","s":"ssr","u":"/docs/guide/basic/config","h":"#ssr","p":468},{"i":511,"t":"警告 小程序端不支持该配置。 类型:boolean 默认值:true 是否开启 SSG 能力,更多 SSG 相关内容参考 SSG 文档。","s":"ssg","u":"/docs/guide/basic/config","h":"#ssg","p":468},{"i":513,"t":"警告 小程序端不支持该配置。 类型:{ format: 'esm' | 'cjs'; bundle: boolean; ignores: IgnorePattern[]; externals: string[]; onDemand: boolean; } 默认值:{ format: 'esm', bundle: false, ignores: [], externals: [], onDemand: false } SSR / SSG 产物标准,推荐以 ESM 标准进行执行,如果希望打包成一个 cjs 模块,可以进行如下设置: import { defineConfig } from '@ice/app'; export default defineConfig(() => ({ server: { format: 'cjs', bundle: true, }, })); 可以通过 ignores 参数,为 SSR / SSG 产物过滤指定文件: import { defineConfig } from '@ice/app'; export default defineConfig(() => ({ server: { ignores: [{ resourceRegExp: /^\\.\\/locale$/, contextRegExp: /moment$/, }] }, })); 其中: resourceRegExp 对应文件的匹配路径 contextRegExp (可选)对应文件内容的匹配规则 通过 externals 参数,可以在构建 Server 端产物时 external 指定内容: import { defineConfig } from '@ice/app'; export default defineConfig(() => ({ server: { externals: ['react', 'react-dom'] }, })); 通过 onDemand 参数,可以在执行 Server 端产物时,按需构建所需的问题,并且提供体验良好的模块热更新服务: import { defineConfig } from '@ice/app'; export default defineConfig(() => ({ server: { onDemand: true, format: 'esm', }, }));","s":"server","u":"/docs/guide/basic/config","h":"#server","p":468},{"i":515,"t":"警告 小程序端不支持该配置。 类型:{ ignoreFiles: string[]; defineRoutes: (route: DefineRouteFunction) => void } 默认值:{} ignoreFiles​ 用于忽略 src/pages 下的文件被处理成路由模块,使用 glob 表达式(minimatch)对文件路径匹配。 import { defineConfig } from '@ice/app'; export default defineConfig(() => ({ routes: { // 忽略 src/pages 下所有 components 目录 ignoreFiles: ['**/components/**'], }, })); defineRoutes​ 对于约定式路由不满足的场景,可以通过以下方式自定义路由地址。 import { defineConfig } from '@ice/app'; export default defineConfig(() => ({ routes: { defineRoutes: (route) => { // 将 /about-me 路由访问内容指定为 about.tsx // 第一个参数是路由地址 // 第二个参数是页面组件的相对地址(前面不能带 `/`),相对于 `src/pages` 目录 route('/about-me', 'about.tsx'); // 嵌套路由的场景需要使用第三个 callback 参数来定义嵌套路由 route('/', 'layout.tsx', () => { route('/product', 'products.tsx'); }); }, }, })); 警告 同一个路由组件只能分配一条路由规则,即同时执行以下语句时,仅生效后执行的逻辑。 route('/about-me', 'about.tsx'); route('/about-you', 'about.tsx'); config​ 对于简单的自定义场景,通过 defineRoutes 可以快速在约定式路由的基础上进行自定义。但对于大量自定义或者原配置式路由的升级项目,支持以 config 的字段指定路由信息: import { defineConfig } from '@ice/app'; export default defineConfig({ routes: { config: [ { path: 'rewrite', // 从 src/page 开始计算路径,并且需要写后缀。 component: 'sales/layout.tsx', children: [ { path: '/favorites', component: 'sales/favorites.tsx', }, { path: 'overview', component: 'sales/overview.tsx', }, { path: 'recommends', component: 'sales/recommends.tsx', }, ], }, { path: '/', component: 'index.tsx', }, ], }, });","s":"routes","u":"/docs/guide/basic/config","h":"#routes","p":468},{"i":517,"t":"类型:boolean | string 默认值:development 模式:默认为 'cheap-module-source-map',支持通过 false 关闭,不支持设置为其他枚举值。production 模式:默认 false。","s":"sourceMap","u":"/docs/guide/basic/config","h":"#sourcemap","p":468},{"i":519,"t":"警告 不再建议使用,能力由 codeSplitting 替代。 小程序端不支持该配置。 默认会根据模块体积自动拆分 chunks,有可能会出现多个 bundle。如果不希望打包产物出现过多 bundle ,可设置成 false。","s":"splitChunks @deprecated","u":"/docs/guide/basic/config","h":"#splitchunks-deprecated","p":468},{"i":521,"t":"类型:boolean | 'vendors' | 'page' | 'chunks' | 'page-vendors' 默认值:true 框架内置了三种分包策略分别为 chunks(默认策略,无需额外设置),page 和 vendors。 vendors 策略:将异步 chunks 里的三方依赖统一打入到 vendor.js 中,避免重复,在依赖不变的情况下有效利用缓存。缺陷是如果项目过大会导致单文件尺寸过大。 page 策略:所有路由级别组件按需加载,如果需保留原 splitChunks: false 的效果,配置该策略 。 page-vendors 策略:在 page 策略的基础上,将异步 chunks 里的三方依赖统一打入到 vendor.js 中,以达到有效利用缓存的结果。 chunks 策略:在路由级别组件按需加载的基础上,根据模块体积大小自动拆分 chunks,为框架默认推荐策略。 如果存在特殊场景期望关闭分包能力,可以设置成 false。","s":"codeSplitting","u":"/docs/guide/basic/config","h":"#codesplitting","p":468},{"i":523,"t":"类型:{ exportDefaultFrom: boolean; functionBind: boolean; } 默认值:undefined ice.js 内置了大量 ES 语法支持,便于开发者进行编码。对于 proposal-export-default-from 和 proposal-bind-operator 由于其提案进度较慢,我们并不推荐使用。如果希望支持该语法,可以主动配置 syntaxFeatures 进行启用。","s":"syntaxFeatures","u":"/docs/guide/basic/config","h":"#syntaxfeatures","p":468},{"i":525,"t":"类型:boolean 默认值:false 默认关闭 TypeScript 类型检测,如需开启配置为 true 即可。","s":"tsChecker","u":"/docs/guide/basic/config","h":"#tschecker","p":468},{"i":527,"t":"类型:boolean | object 默认值:undefined 配置说明: false:不检测 eslint 错误 true:将 eslint 错误展示在预览页面上 object: 仅 Webpack 模式支持,表现等同于 true,支持配置 eslint-webpack-plugin 的更多参数","s":"eslint","u":"/docs/guide/basic/config","h":"#eslint","p":468},{"i":529,"t":"警告 小程序端不支持该配置。 类型:{ exclude: string[] } 默认值:{} 配置忽略 mock 的文件。 import { defineConfig } from '@ice/app'; export default defineConfig(() => ({ mock: { // 忽略 mock 目录中 custom 目录下的文件以及 api.ts 文件 exclude: [\"custom/**\", \"api.ts\"] }, }));","s":"mock","u":"/docs/guide/basic/config","h":"#mock","p":468},{"i":531,"t":"类型:boolean 默认值:true 如果产物不想生成 html,可以设置为 false,在 SSG 开启的情况下,强制关闭 html 生成,将导致 SSG 失效。","s":"htmlGenerating","u":"/docs/guide/basic/config","h":"#htmlgenerating","p":468},{"i":533,"t":"类型:PluginList 默认值:[] 添加插件 import { defineConfig } from '@ice/app'; import customPlugin from './custom-plugin'; import myPlugin from '@ice/my-plugin'; export default defineConfig(() => ({ plugins: [ customPlugin(), myPlugin(), ], }));","s":"plugins","u":"/docs/guide/basic/config","h":"#plugins","p":468},{"i":535,"t":"提示 ice.js 对 webpack 构建配置进行了定制,并借助 esbuild 等工具提升用户开发体验,直接修改 webpack 配置的方式并不推荐。 类型:(config: WebpackConfig, taskConfig: TaskConfig) => WebpackConfig 默认值:true ice.js 默认基于 webpack 5 进行构建,在上述提供的构建配置无法满足的情况下,用户可以定制 webpack 配置: import { defineConfig } from '@ice/app'; import SpeedMeasurePlugin from 'speed-measure-webpack-plugin'; export default defineConfig(() => ({ webpack: (webpackConfig) => { if (process.env.NODE_ENV !== 'test') { // 添加 webpack 插件 webpackConfig.plugins?.push(new SpeedMeasurePlugin()); } return webpackConfig; }, }));","s":"webpack","u":"/docs/guide/basic/config","h":"#webpack","p":468},{"i":537,"t":"类型:{ localIdentName: string } 默认值:{} 构建 cssModules 时,定制 class 名称的生成规则,配置参考 https://webpack.js.org/loaders/css-loader/#localidentname 例如,配置 '[hash:8]' 可以只保留 hash 值,以精简 HTML 大小及 CSS 文件大小。默认情况 className=\"custom-head-tab-wrap\" 会被构建为 class=\"custom-head-tab-wrap--rAEgGaqM\",自定义构建规则后后样式名会被精简为 class=\"rAEgGaqM\"。 import { defineConfig } from '@ice/app'; export default defineConfig(() => ({ cssModules: { localIdentName: '[hash:8]' }, })); 如有定制需求欢迎👏 PR 或反馈:https://github.com/alibaba/ice/issues","s":"cssModules","u":"/docs/guide/basic/config","h":"#cssmodules","p":468},{"i":539,"t":"提示 小程序端不支持该能力。 在前后端分离的开发中,Mock 数据是前端开发中很重要的一个环节,前端可以不必强依赖后端接口,只需要约定好对应的数据接口,前端可以通过 Mock 模拟数据先行开发,在后端接口开发完成后,只需要切换对应的接口地址即可,可以保证项目的同步开发。 ice.js 提供了开箱即用的 Mock 方案,支持 CRUD 等操作,在启动本地调试时会自动启用 Mock 服务。","s":"数据模拟 Mock","u":"/docs/guide/basic/mock","h":"","p":538},{"i":541,"t":"只需要在项目目录下新建 /mock 目录,并增加 js 或 ts 文件作为 mock 服务文件。比如有以下的目录结构: ├── mock | ├── index.ts | └── user.ts ├── src └── package.json mock 目录下的 index.ts 和 user.ts 会被识别为 Mock 服务文件。 如果某些文件不需要被 mock 服务解析,可以通过工程配置进行自定义: ice.config.mts import { defineConfig } from '@ice/app'; export default defineConfig(() => ({ mock: { // 忽略 mock 目录中 custom 目录下的文件以及 api.ts 文件 exclude: [\"custom/**\", \"api.ts\"] }, }));","s":"目录约定","u":"/docs/guide/basic/mock","h":"#目录约定","p":538},{"i":543,"t":"在 mock 服务文件中写入以下代码: ./mock/user.ts export default { 'GET /api/users': [ { name: 'foo', id: 0 }, { name: 'bar', id: 1 }, ], } 启动调试服务后,假设启动的端口是 3000,直接在浏览器里访问 http://127.0.0.1:3000/api/users 即可看到接口返回数据。","s":"编写 Mock 接口","u":"/docs/guide/basic/mock","h":"#编写-mock-接口","p":538},{"i":545,"t":"默认支持 GET, POST, PUT, DELETE, PATCH, HEAD, OPTIONS 请求方法。示例代码如下: export default { // 当 HTTP 请求方法是 GET,可以省略请求方法 '/api/users': [{ name: 'foo', id: 1 }, { name: 'bar', id: 2 }], // 等同于上面的写法 'GET /api/users': [{ name: 'foo', id: 1 }, { name: 'bar', id: 2 }], 'POST /api/user': { users: [1, 2] }, 'DELETE /api/users/1': { name: 'foo' }, }","s":"请求方法","u":"/docs/guide/basic/mock","h":"#请求方法","p":538},{"i":547,"t":"返回值支持 String、Array、Object 类型。比如: export default { // 返回值是 String 类型 'GET /api/name': 'foo', // 返回值 Array 类型 'POST /api/users': [ { name: 'foo', id: 0 }, { name: 'bar', id: 1 }, ], // 返回值是 Object 类型 'DELETE /api/users/1': { name: 'bar', id: 1 }, } 除此以外,还可以使用函数的形式来计算返回值,这在需要动态返回接口数据时很有用,如: import type { Request, Response } from '@ice/app'; export default { 'POST /api/users/:id': (request: Request, response: Response) => { const { id } = request.params; response.send({ id: id }); }, }","s":"返回值","u":"/docs/guide/basic/mock","h":"#返回值","p":538},{"i":549,"t":"当后端接口开发完成以后。此时可以通过以下命令关闭 Mock 服务: # 关闭 Mock 服务 $ npm run start -- --no-mock 这样我们可以请求到后端返回的数据了。","s":"关闭 Mock","u":"/docs/guide/basic/mock","h":"#关闭-mock","p":538},{"i":551,"t":"Mock.js 是一个随机生成 mock 数据的工具库,可以帮助我们快速生成随机的模拟数据。 import Mock from 'mockjs'; export default { 'GET /api/list': (req, res) => { const list = Mock.mock({ 'list|1-10': [ { 'id|+1': 1, }, ], }); res.send({ status: 'SUCCESS', data: { list, } }); }, }; 完整的语法请参考 Mock.js 文档。","s":"使用 Mock.js","u":"/docs/guide/basic/mock","h":"#使用-mockjs","p":538},{"i":553,"t":"如果用户希望使用一些中间件来处理请求的数据(req 对象),可以参考以下的示例代码: import bodyParser from 'body-parser'; import type { Request, Response } from 'express'; export default { 'POST /api/login': (req: Request, res: Response) => { bodyParser.json({ limit: '5mb', strict: false })(req, res, () => { console.log(req.body); res.send({}); }) }, }","s":"处理请求数据","u":"/docs/guide/basic/mock","h":"#处理请求数据","p":538},{"i":555,"t":"ice.js 内置通过环境变量实现给构建或运行时传递参数的功能。 使用 .env 文件来配置环境变量 配置 ICE_ 开头的环境变量则会同时暴露到运行时环境中","s":"环境变量","u":"/docs/guide/basic/env","h":"","p":554},{"i":558,"t":"例如需要修改 ice.js 本地开发服务的端口号,可以在命令行中使用环境变量: $ cross-env PORT=9999 npm start 示例中使用了 cross-env 来兼容不容操作系统的环境变量配置方式。","s":"命令行环境变量","u":"/docs/guide/basic/env","h":"#命令行环境变量","p":554},{"i":560,"t":"ice.js 内置了加载 .env 文件的支持,在该文件中设置的环境变量会被自动加载到 process.env 上。 .env 文件的示例: DEV_PORT=3000 FOO=bar 如果有部分环境变量的配置在本地有差异,你可以配置在 .env.local 文件中去覆盖 .env 中的配置。如在之前的 .env 的基础上, 你想本地开发覆盖之前 3000 端口, 而使用 9999 端口,示例如下: # The .env.local should not be committed. DEV_PORT=9999 此外你也可以在 .env.${mode} 和 .env.${mode}.local 文件中指定不同模式下的环境变量。${mode} 的取值是 development 或 production。 需要注意的是: 这几个文件的优先级由低至高分别是 .env .env.local .env.${mode} .env.${mode}.local 一般不建议将 .local 结尾的文件加入版本管理 (如 Git) 中。","s":"使用 .env 文件","u":"/docs/guide/basic/env","h":"#使用-env-文件","p":554},{"i":562,"t":"在 ice.js 中,环境变量的使用场景分构建时与运行时两种类型。 特别注意:环境变量在使用时的类型都是 string,特别是设置为 true 或 false 时需要注意判断为字符串类型: // ICE_DISABLE_FOO=false if (process.env.ICE_DISABLE_FOO === 'false') { // ... }","s":"使用环境变量","u":"/docs/guide/basic/env","h":"#使用环境变量","p":554},{"i":564,"t":"默认情况下,所有设置的环境变量都会被注入到构建环境,你可以在 ice.config.mts 文件或其它构建插件中通过 process.env 变量访问。 const port = process.env.PORT; // ...","s":"构建时","u":"/docs/guide/basic/env","h":"#构建时","p":554},{"i":566,"t":"默认情况下环境变量是不能在运行时访问的,如若需要在浏览器环境中访问,可以在设置环境变量时增加前缀:ICE_,如: # File .env ICE_APP_ID=123456 在运行时代码中访问: import React from 'react'; export default function AppID() { return

AppId is {process.env.ICE_APP_ID}.

}","s":"运行时","u":"/docs/guide/basic/env","h":"#运行时","p":554},{"i":568,"t":"ice.js 会内置一些环境变量方便使用,通常由 ICE_CORE_ 开头,如下:","s":"内置的环境变量","u":"/docs/guide/basic/env","h":"#内置的环境变量","p":554},{"i":570,"t":"用于 ice.js 的运行模式,可能是 development 或 production。","s":"ICE_CORE_MODE","u":"/docs/guide/basic/env","h":"#ice_core_mode","p":554},{"i":572,"t":"用于标识框架是否启用路由,可能是 true 或 false。","s":"ICE_CORE_ROUTER","u":"/docs/guide/basic/env","h":"#ice_core_router","p":554},{"i":574,"t":"用于标识框架是否启用错误边界,可能是 true 或 false。","s":"ICE_CORE_ERROR_BOUNDARY","u":"/docs/guide/basic/env","h":"#ice_core_error_boundary","p":554},{"i":576,"t":"用于标识框架是否启用初始数据,可能是 true 或 false。","s":"ICE_CORE_INITIAL_DATA","u":"/docs/guide/basic/env","h":"#ice_core_initial_data","p":554},{"i":578,"t":"用于标识 ice.js 的开发服务器端口号。","s":"ICE_CORE_DEV_PORT","u":"/docs/guide/basic/env","h":"#ice_core_dev_port","p":554},{"i":580,"t":"提示 小程序端不支持该能力。 ice.js 使用 JSX 维护页面的 HTML 模板结构,其入口位于 src/document.tsx。","s":"定制 HTML","u":"/docs/guide/basic/document","h":"","p":579},{"i":582,"t":"Document 的初始模板如下: import { Meta, Title, Links, Main, Scripts } from 'ice'; function Document() { return ( <Links /> </head> <body> <Main /> <Scripts /> </body> </html> ); } export default Document; 默认引入了以下组件: <Meta />:页面的元信息 <Title /> 页面的标题信息 <Links /> 页面面依赖的 CSS 资源及其他 link 标签 <Scripts /> 页面依赖的 JS 资源 <Main /> 页面渲染的容器节点 这些组件,配合各路由组件的 pageConfig 配置,可以实现不同页面 HTML 模板的差异化渲染。","s":"初始模板","u":"/docs/guide/basic/document","h":"#初始模板","p":579},{"i":585,"t":"就像开发其他 React 组件一样,可以在 Document 组件内插入自定义的其它 JSX 内容。例如: <body> <div>hello</div> <Main /> <Scripts /> <script src=\"xxx.js\" /> </body> 警告 注意: 在 <Scripts /> 前插入外部资源,会阻塞主 Bundle 的解析执行,影响页面性能。","s":"添加 HTML 元素","u":"/docs/guide/basic/document","h":"#添加-html-元素","p":579},{"i":587,"t":"另外,由于 Document 使用的是 JSX 语法,而非普通的 HTML。在 <style /> 或 <script /> 元素中添加内联代码需要结合 dangerouslySetInnerHTML 的方式,示例如下: <style dangerouslySetInnerHTML={{__html: ` p { color: red; font-size: 20px; } `}}> </style> <script type=\"text/javascript\" dangerouslySetInnerHTML={{__html: ` console.log(\"Hello World!\") `}}> </script>","s":"添加内联代码","u":"/docs/guide/basic/document","h":"#添加内联代码","p":579},{"i":589,"t":"可以通过 props.pagePath 参数(当前页面的路由地址)区分页面并差异化渲染 HTML: function Document({ pagePath }) { return ( <html> <body> ... <script crossOrigin=\"anonymous\" src={pagePath === '/' ? 'a.js' : 'b.js' } /> </body> </html> ); } 提示 在 script 标签中添加 crossOrigin=\"anonymous\" 有助于错误分析器获取到跨域的全局异常。","s":"定制不同页面的 HTML","u":"/docs/guide/basic/document","h":"#定制不同页面的-html","p":579},{"i":591,"t":"如果想自定义如 Scripts 等组件的渲染行为,比如希望 <script> 标签的行为是内联代码而不是通过 src 来异步拉取的,则可以通过 Scripts、 Link 等组件暴露的方法来自定义组件的行为。 自定义 Scripts:​ import { Main, Scripts } from 'ice'; function Document() { return ( <html> <head></head> <body> <Main /> <Scripts ScriptElement={(props) => { return <script {...props} > console.log('custom script'); </script>; }} /> </body> </html> ); } 自定义 Links​ import { Links, Main } from 'ice'; function Document() { return ( <html> <head> <Links LinkElement={(props) => { return <link {...props} ></link>; }} /> </head> <body> <Main /> </body> </html> ); } 自定义 Title​ import { Title, Main } from 'ice'; function Document() { return ( <html> <head> <Title TitleElement={(props) => { return <title {...props} >; }} />
); } 自定义 Meta​ import { Meta, Main } from 'ice'; function Document() { return ( { return ; }} />
); }","s":"自定义标签渲染逻辑","u":"/docs/guide/basic/document","h":"#自定义标签渲染逻辑","p":579},{"i":593,"t":"获取当前页面的所有 Assets 资源,包含 CSS 和 JS。 src/document.ts import { usePageAssets } from 'ice'; function Document() { const pageAssets = usePageAssets(); const pageScripts = pageAssets.filter(src => src.indexOf('.js') > -1); console.log(pageScripts); return (
); }","s":"usePageAssets","u":"/docs/guide/basic/document","h":"#usepageassets","p":579},{"i":595,"t":"ice.js 采用 约定式路由,并针对 嵌套路由 做了一系列加载和渲染上的优化,以构建出性能更好的 Web 应用。","s":"路由","u":"/docs/guide/basic/router","h":"","p":594},{"i":598,"t":"框架会根据项目的目录结构自动生成应用的路由信息。src/pages 目录下的每一个 .(js|jsx|tsx) 文件会被映射为一个路由地址,示例如下:","s":"约定式路由","u":"/docs/guide/basic/router","h":"#约定式路由","p":594},{"i":600,"t":"对于小程序来说,使用约定式路由会带来无法确定首页的问题(在原生小程序中,app.json 中 pages 数组的第一项即被指定为首页)。因此 ice.js 开发小程序时,用户需要在 src/app.tsx 中通过导出 miniappManifest 进行路由的指定,示例如下: export const miniappManifest = { routes: [ 'index', 'about', 'repo/index', 'repo/preview', ], }; 注意,routes 中的每一项应该与文件在 pages 目录下的实际路径保持一致,且其第一项将作为小程序的首页被加载。","s":"小程序端路由规则","u":"/docs/guide/basic/router","h":"#小程序端路由规则","p":594},{"i":602,"t":"路由组件,是每一个页面的入口文件,通过 export default 导出其具体实现,例如: src/pages/index.tsx export default function Home() { return (
Hello ICE
); }; 路由组件支持配置页面级信息和数据加载逻辑,详见页面。","s":"路由组件","u":"/docs/guide/basic/router","h":"#路由组件","p":594},{"i":604,"t":"警告 小程序端不支持。 在 pages 目录下,还可以创建一类特殊的组件,来维护全局或一组页面共用的布局, 其文件名约定为 layout.(js|jsx|tsx)。 布局组件和路由组件一样,也通过 export default 导出其具体实现。 import { Outlet } from 'ice'; export default function Layout() { return (

Root Layout

Hello ICE

) } 其中, 组件对应需要被布局组件嵌套的子组件。 布局组件: 如果位于 pages 目录的最顶层,则它将作为全局布局,嵌套在所有路由组件外。 如果位于某个子文件夹,则它将作为页面级布局,嵌套在这个目录下的其他路由组件外。 如果同时存在 全局布局组件 和 页面级布局组件,则全局布局组件会嵌套于页面级布局组件之外。","s":"布局组件","u":"/docs/guide/basic/router","h":"#布局组件","p":594},{"i":606,"t":"通过创建文件夹和布局组件,可以轻松构建嵌套路由。例如,下面的示例中,/repo/preview 页面,由这三个组件嵌套而成: layout.tsx repo/layout.tsx repo/preview.tsx ice.js 针对嵌套路由的场景,应用了以下优化,来让页面达成更好的性能体验: 各路由组件的资源和数据请求会被并行加载,以达到最快的资源加载速度。 路由间跳转,比如从 /repo/preview 跳转到 /repo/edit,框架只会加载差异化的路由组件 edit.tsx 进行渲染,而不会重新渲染整个页面。 利用框架对嵌套路由所做的优化,我们可以将页面中逻辑相对分离的部分,用嵌套路由的方式来组织,以获得更好的加载体验。 例如,下面这个常见的移动端营销页,可以将顶部通用的 Slider 抽象为布局组件,将不同 tab 下对应的瀑布流,抽象为路由组件。这样,Slider 和瀑布流就可以做到并行加载,并且当切换 tab 时,新的 tab 内容将由框架触发按需加载和渲染。示例工程 提示 假如同时存在 src/pages/home.tsx 和 src/pages/home/index.tsx,则访问 /home 路由地址时,只有 src/pages/home/index.tsx 组件渲染。 如果你想有嵌套路由,但是又不想创建有嵌套目录结构,你可以使用 . 来创建一个扁平的文件名。 └── src ├── root.jsx └── pages - ├── about - │ ├── repo - │ │ └── $id.tsx │ └── index.tsx + └── about.repo.$id.tsx 这样,我们就可以通过 /about/repo/$id 的路由地址访问到 about.repo.$id.tsx 的路由组件了。","s":"嵌套路由","u":"/docs/guide/basic/router","h":"#嵌套路由","p":594},{"i":608,"t":"警告 小程序端不支持。 在某些场景下可能需要动态指定路由,例如 /user/:id,可以以 $ 开头创建文件名或目录名,比如 src/pages/user/$id.tsx:","s":"动态路由","u":"/docs/guide/basic/router","h":"#动态路由","p":594},{"i":610,"t":"src/pages 目录下的 $.tsx 文件将会被解析成通配路由。如果当前访问的路由没有任何组件能匹配,将会渲染通配路由组件。 通常可以增加 src/pages/$.tsx 作为自定义 404 页面。","s":"通配路由","u":"/docs/guide/basic/router","h":"#通配路由","p":594},{"i":612,"t":"默认情况下,对于 src/pages/**/index.tsx 这样的路由文件,路由的生成规则是这样的: 路由文件 路由 src/pages/index.tsx / src/pages/about/index.tsx /about 可以看到,index 字符串不会出现在路由上,被转成 /。如果希望路由上保留 /index,可以使用转义字符 []。 路由文件 路由 src/pages/[index].tsx /index src/pages/about/[index].tsx /about/index","s":"转义路由","u":"/docs/guide/basic/router","h":"#转义路由","p":594},{"i":614,"t":"ice.js 提供三种方式进行路由间跳转,这样就可以只加载下一个页面相比于当前页面差异化的 Bundle 进行渲染,以达到更好的性能体验。","s":"路由跳转","u":"/docs/guide/basic/router","h":"#路由跳转","p":594},{"i":616,"t":"可使用 history API 进行路由跳转。 import { history } from 'ice'; export default () => { history.push('/dashboard'); }","s":"history","u":"/docs/guide/basic/router","h":"#history","p":594},{"i":618,"t":"组件内可以使用 useNavigate Hook 进行路由跳转。 import { useNavigate } from 'ice'; export default () => { const navigate = useNavigate(); navigate('/logout'); }","s":"useNavigate","u":"/docs/guide/basic/router","h":"#usenavigate","p":594},{"i":620,"t":"组件内可以使用 组件进行路由跳转。 src/pages/index.tsx import { Link } from 'ice'; export default function Home() { return ( <>
Hello ICE
about ice ); } 信息 在小程序中,Link 组件底层实现即为原生 navigator 组件。","s":"Link 组件","u":"/docs/guide/basic/router","h":"#link-组件","p":594},{"i":623,"t":"使用 useLocation 获取 location 信息。 import { useLocation } from 'ice'; export default function () { const location = useLocation(); }","s":"location","u":"/docs/guide/basic/router","h":"#location","p":594},{"i":625,"t":"使用 useSearchParams 获取和修改 query 信息。 import { useSearchParams } from 'ice'; export default function Repo() { const [searchParams, setSearchParams] = useSearchParams(); console.log(searchParams); setSearchParams({ tab: 'a' }) }","s":"query","u":"/docs/guide/basic/router","h":"#query","p":594},{"i":627,"t":"在动态路由组件使用 useParams 获取当前路由的参数。 import { useParams } from 'ice'; // 路由规则为 /repo/:id // 当前路径 /repo/123 export default function Repo() { const params = useParams(); console.log(params); // { id: 123 } }","s":"动态路由参数","u":"/docs/guide/basic/router","h":"#动态路由参数","p":594},{"i":629,"t":"默认情况下,ice.js 会把 src/pages 目录下的每一个 .(js|jsx|tsx) 文件映射为一个路由地址。如果你有一些组件不想被解析成路由组件,可通过 ignoreFiles 进行配置。 ice.config.mts import { defineConfig } from '@ice/app'; export default defineConfig({ routes: { ignoreFiles: [ 'custom.tsx', '**/components/**', // 如果每个页面下有 components 目录存放当前页面的组件,可以通过添加此配置忽略被解析成路由组件 ], }, });","s":"忽略被解析为路由组件","u":"/docs/guide/basic/router","h":"#忽略被解析为路由组件","p":594},{"i":631,"t":"对于约定式路由不满足的场景,可以通过 defineRoutes 方式进行自定义。 ice.config.mts import { defineConfig } from '@ice/app'; export default defineConfig({ routes: { defineRoutes: (route) => { // 将 /hello 路由访问内容指定为 about.tsx route('/hello', 'about.tsx'); }, }, });","s":"定制路由地址","u":"/docs/guide/basic/router","h":"#定制路由地址","p":594},{"i":633,"t":"提示 小程序端不支持该能力。 服务器渲染,简称 SSR (Server Side Rendering),是一种在服务端运行 Node.js 程序动态生成 HTML 的渲染方式。 SSR 相比传统在浏览器端渲染的模式(CSR),受设备性能和网络情况的影响更小,可以达到更好的性能体验和 SEO 能力。","s":"服务端渲染 SSR","u":"/docs/guide/basic/ssr","h":"","p":632},{"i":635,"t":"与 SSG 不同的是,ice.js 中 SSR 不是默认启用的,需要手动开启。 在 ice.config.mts 中,增加如下配置: ice.config.mts import { defineConfig } from '@ice/app'; export default defineConfig(() => ({ // ... ssr: true, }));","s":"开启 SSR","u":"/docs/guide/basic/ssr","h":"#开启-ssr","p":632},{"i":637,"t":"开启 SSR 后,路由组件中导出的 dataLoader 方法将优先在 Server 端执行,如果 SSR 渲染成功,在 Client 端将不会再次调用 dataLoader,而会复用 SSR 的结果。当页面在浏览器侧通过路由跳转,或页面降级时,才会在 Client 端调用 dataLoader。 因此,一般情况下 dataLoader 内的数据请求需要保持同构,在 Server 端和 Client 端都能执行。 示例: src/pages/foo.tsx import { useData, defineDataLoader, defineServerDataLoader } from 'ice'; // 同构的数据请求 export const dataLoader = defineDataLoader(async () => { if (isClient) { return await fetch('https://example.com/api/xxx'); } else if (isServer) { return await fetchDataAtServer(); } }); 如果确实需要为 Server 端指定不一样的数据请求方式,可以通过定义 serverDataLoader 来实现。当路由组件声明了 serverDataLoader,会在 SSR 优先使用这个方法。 示例: src/pages/foo.tsx import { useData, defineDataLoader, defineServerDataLoader } from 'ice'; // Client 端的数据请求 export const dataLoader = defineDataLoader(async () => { return await fetch('https://example.com/api/xxx'); }); // Server 端的数据请求 export const serverDataLoader = defineServerDataLoader(async () => { return await fetchDataAtServer(); }); 在构建 Client 端的产物时,会移除导出的 serverDataLoader 及其相关依赖。","s":"数据请求","u":"/docs/guide/basic/ssr","h":"#数据请求","p":632},{"i":639,"t":"提示 小程序端不支持该能力。 构建时渲染,简称 SSG (Static Site Generation),是指在构建时提前生成内容 HTML 的渲染模式。 ice.js 默认开启 SSG 能力。SSG 不仅适用于静态站点,也适用于为普通 CSR 应用提前生成静态内容。 若有如下页面,内容为: src/pages/home.tsx import { useData } from 'ice'; export default function Home() { const data = useData(); return ( <>
Hello ICE
stars: {data?.stars}
); } 其中,第一个 div 中的内容是不依赖于数据。在传统的 CSR 应用中, 组件内容,无论是否依赖数据,都需要等待 JS 加载、解析后渲染。 利用 SSG,则可以在构建时,就将不依赖于动态数据的部分提前生成到 HTML 中。示例: ...
Hello ICE
stars:
","s":"构建时渲染 SSG","u":"/docs/guide/basic/ssg","h":"","p":638},{"i":641,"t":"在消费 data 时,需要做好空值判断,避免 data 为 undefined 或 null 时,产生渲染异常,无法正常构建。 代码需要兼容 Node.js 端。SSG 会在构建时进行,因此代码会运行在 Node.js 侧,因此在消费一些浏览器特有的环境变量时,要做好环境判断。","s":"注意事项","u":"/docs/guide/basic/ssg","h":"#注意事项","p":638},{"i":643,"t":"通常在 SSG 时,我们不能使用后端接口获取当前的数据,因为这通常与用户访问时不一致。这时我们可以为 SSG 定义特定的数据请求方法,通过为路由组件定义 staticDataLoader 来实现。这样在 SSG 时,组件通过 useData() 获取的数据为 staticDataLoader 的返回值。 src/pages/index.tsx import { useData, defineDataLoader, defineStaticDataLoader } from 'ice'; export default function Home() { const data = useData(); return ( <>
Hello ICE
stars: {data?.stars}
); } // 浏览器侧的常规数据请求 export const dataLoader = defineDataLoader(() => { return fetch('https://example.com/stars'); }); // 返回用于 SSG 的兜底数据 export const staticDataLoader = defineStaticDataLoader(() => { return { stars: 0, }; }); 提示 当 defineDataLoader 接受入参为数组时(定义了多个数据请求),defineStaticDataLoader 也需要与其一一对应。 构建 Client 端的产物时,会移除 staticDataLoader 及其相关依赖。","s":"SSG 的数据请求","u":"/docs/guide/basic/ssg","h":"#ssg-的数据请求","p":638},{"i":645,"t":"在 ice.config.mts 下,按如下配置修改 ice.config.mts import { defineConfig } from '@ice/app'; export default defineConfig(() => ({ // ... ssg: false, }));","s":"关闭 SSG","u":"/docs/guide/basic/ssg","h":"#关闭-ssg","p":638},{"i":647,"t":"ice.js 推荐使用原生 CSS + PostCSS 的方案编写样式,不建议使用 less/sass 之类的预编译方案,CSS 写法目前扩展支持了 @import 以及嵌套写法。 index.css index.tsx @import './theme.css'; .home { color: red; h2 { display: block; } } import './index.css'; function Home() { return (

CSS Modules

); } ice.js 同时支持 less/scss 预编译器,只要保证文件后缀匹配即可。","s":"样式","u":"/docs/guide/basic/style","h":"","p":646},{"i":649,"t":"对于整个项目的全局样式,统一定义在 src/global.css 文件中,框架会默认引入该文件: body { -webkit-font-smoothing: antialiased; }","s":"全局样式","u":"/docs/guide/basic/style","h":"#全局样式","p":646},{"i":651,"t":"对于页面级和组件级的样式,我们推荐使用 CSS Modules 的方案,这能很好的解决样式开发中的两个痛点问题: 全局污染:CSS 使用全局选择器机制来设置样式,优点是方便重写样式。缺点是所有的样式都是全局生效,样式可能被错误覆盖,因此产生了非常丑陋的 !important,甚至 inline !important 等问题。 命名混乱:由于全局污染的问题,多人协同开发时为了避免样式冲突,选择器越来越复杂,容易形成不同的命名风格,很难统一,样式变多后,命名将更加混乱。 具体规范规则如下: 文件名:约定文件名格式如 xxx.module.css 模块化:一个页面或者一个组件对应一个样式文件 如有以下的目录结构和代码: ├── src | ├── pages | | ├── index.module.css | | └── index.tsx index.module.css index.tsx .container { background: #fff; } import styles from './index.module.css'; function Home() { return (

CSS Modules

); }

CSS Modules

同时 CSS Modules 支持 less/scss 预编译器: import lessStyles from './index.module.less'; import scssStyles from './index.module.scss'; export default function () { return
Hello World

I am blue

; } 更多 CSS Modules 文档请参考: css-modules 官方文档 CSS Modules 详解及 React 中实践","s":"局部样式","u":"/docs/guide/basic/style","h":"#局部样式","p":646},{"i":654,"t":"ice.js 原生支持 rpx 单位。在无线端中,阿里巴巴集团标准统一使用 rpx 作为响应式长度单位。你可以直接在样式文件中使用 rpx,不需要担心转换的问题。 rpx(responsive pixel),可以根据屏幕宽度进行自适应。规定屏幕宽为 750rpx。以 iPhone6 为例,屏幕宽度为 375px,共有 750 个物理像素,则 750rpx = 375px = 750 物理像素,1rpx = 0.5px = 1物理像素。 在浏览器中,ice.js 会将 rpx 会转换为 vw 进行渲染,其转换关系为:750rpx = 100vw,即 1rpx = 1/7.5vw,保留 5 位小数。小程序由于天然支持 rpx 单位,因此可以直接使用并且 ice.js 不会将其转换为 vw。","s":"ice.js 支持 rpx 吗","u":"/docs/guide/basic/style","h":"#icejs-支持-rpx-吗","p":646},{"i":656,"t":"推荐通过 src/global.css 覆盖全局样式: src/global.css body { -webkit-font-smoothing: antialiased; /* 覆盖 next 组件的样式 */ .next-btn { font-size: 18px; } } 该方式会覆盖应用中所有 Button 组件的 font-size 属性。","s":"如何覆盖全局基础组件(next/antd)样式","u":"/docs/guide/basic/style","h":"#如何覆盖全局基础组件nextantd样式","p":646},{"i":658,"t":"如果只是想覆盖某个页面/模块里的组件样式,则推荐采用局部覆盖的方式: ./pages/Home/index.module.css .home { padding: 10px; } .home :global { /* 仅修改 .home 下的 button 样式 */ .next-btn { font-size: 24px; } } 如果组件本身支持 style 属性,也可通过 style 属性修改: ./pages/Home/index.tsx export default function () { return ( <> ); }","s":"如何覆盖局部基础组件样式","u":"/docs/guide/basic/style","h":"#如何覆盖局部基础组件样式","p":646},{"i":660,"t":"可以在 VSCode 编辑器中需要安装 PostCSS Language Support 插件 以支持嵌套写法。","s":"如何获得 CSS 嵌套的类型提示","u":"/docs/guide/basic/style","h":"#如何获得-css-嵌套的类型提示","p":646},{"i":663,"t":"开发者可在 src/app.ts 中通过导出 miniappManifest 对小程序的 window、tabBar 等字段进行配置: src/app.ts export const miniappManifest = { window: { defaultTitle: 'miniapp test' }, routes: [ 'index', 'about', 'second/profile', 'third/index', 'third/test', ], }; 注意,路由请使用 routes 字段进行配置,参考小程序-路由。","s":"全局配置","u":"/docs/guide/miniapp/app-config","h":"#全局配置","p":661},{"i":665,"t":"小程序端不支持配置页面运行时属性 中的 title/metas/links/scripts 等配置。但是,通过导出 pageConfig 能够声明该页面的小程序页面配置。以阿里小程序为例,阿里小程序-页面配置的内容均可通过该方式声明: src/pages/index.tsx import { definePageConfig } from 'ice'; export const pageConfig = definePageConfig(() => ({ \"defaultTitle\": \"\", \"allowsBounceVertical\": \"NO\", \"transparentTitle\": \"auto\", \"titleBarColor\": \"#262833\", \"optionMenu\": { \"icon\": \"https://img.alicdn.com/tps/i3/T1OjaVFl4dXXa.JOZB-114-114.png\" }, \"titlePenetrate\": \"YES\", \"barButtonTheme\": \"light\" }));","s":"页面配置","u":"/docs/guide/miniapp/app-config","h":"#页面配置","p":661},{"i":667,"t":"配置小程序原生应用生命周期及事件 配置小程序原生页面生命周期及事件 配置原生小程序 project.config.json 与原生页面、组件、插件混用 分包加载","s":"待支持能力","u":"/docs/guide/miniapp/app-config","h":"#待支持能力","p":661},{"i":670,"t":"为扩展 ice.js 体系能力边界,我们为开发者提供了一系列的 Universal API,开发者可以通过调用这些 API 快速开发多端应用。 Uni API 提供丰富完善的 API,支持 Web、微信小程序、阿里小程序、字节小程序等多种环境,开箱即用,快速接入,更支持按环境拆包,提供更极致的代码体积,体验升级。使用方式详见 Uni API 文档。","s":"Uni API","u":"/docs/guide/miniapp/api","h":"#uni-api","p":668},{"i":672,"t":"对于 Uni API 没有覆盖到的场景,你也可以直接在 ice.js 小程序中使用小程序原生 API(即微信小程序的 wx API 等)。此时如果仍有跨端诉求,你可以结合 @uni/env 进行处理,示例如下: import { isMiniApp, isWeChatMiniProgram } from '@uni/env'; function scan() { if (isWeChatMiniProgram) { wx.scanCode(); } else if (isMiniApp) { my.scan(); } }","s":"原生小程序 API","u":"/docs/guide/miniapp/api","h":"#原生小程序-api","p":668},{"i":674,"t":"阿里小程序前端 API 微信小程序端 API","s":"参考文档","u":"/docs/guide/miniapp/api","h":"#参考文档","p":668},{"i":677,"t":"你可以在 src/app.tsx 中使用 defineMiniappConfig 导出 miniappLifecycles 来进行原生应用的生命周期事件注册: src/app.tsx import { defineMiniappConfig } from '@ice/plugin-miniapp/runtime'; export const miniappLifecycles = defineMiniappConfig(() => { return { onLaunch(options) { console.log('on launch', options); }, onShow(options) { console.log('on show', options); } }; });","s":"原生应用生命周期事件注册","u":"/docs/guide/miniapp/native-lifecycle-events","h":"#原生应用生命周期事件注册","p":675},{"i":679,"t":"1.在 pageConfig 中通过 nativeEvents 声明需要注册的生命周期事件。目前仅 onPageScroll/onShareAppMessage/onShareTimeline 三个会带来副作用的事件需要注册,其他事件可直接跳过该步骤。 src/pages/index.tsx export function pageConfig() { return { title: 'Home', nativeEvents: [ 'onShareAppMessage', ], }; } 2.在组件中通过 usePageLifecycle hooks 监听事件: 警告 Web 应用中该方法不会生效。 src/pages/index.tsx import { usePageLifecycle } from 'ice'; export default function Home() { usePageLifecycle('onShareAppMessage', (options) => { console.log('[Second] onShareAppMessage', options); return { title: '123', path: 'pages/index', }; }); return ( 1 ); }","s":"原生页面生命周期事件注册","u":"/docs/guide/miniapp/native-lifecycle-events","h":"#原生页面生命周期事件注册","p":675},{"i":681,"t":"各个小程序端均存在自己的项目工程配置,存放于一个单独的 json 文件中,对应名称如下: 微信小程序:project.config.json 阿里小程序:mini.project.json 在 ice.js 中,你可以在小程序开发的插件中使用 nativeConfig 字段来进行相应的配置。编译完成后,该字段的内容将被写入项目配置文件中: ice.config.mts import miniapp from '@ice/plugin-miniapp'; export default defineConfig({ plugins: [miniapp({ nativeConfig: { appid: '' } })], }); 参考文档: 微信小程序项目配置文件 阿里小程序编译配置","s":"原生项目工程配置","u":"/docs/guide/miniapp/project-config","h":"","p":680},{"i":683,"t":"每一张页面,都可以由 路由组件 和 零或多个布局组件 组装而成。路由组件和布局组件的开发规范基本一致,可以包含以下内容: 默认导出是组件的具体实现,必选。 导出 dataLoader,约定页面的数据请求,可选。 导出 pageConfig,约定页面的 Title、Meta 等信息,可选。","s":"页面","u":"/docs/guide/basic/page","h":"","p":682},{"i":685,"t":"对应路由组件或布局组件在页面中需要渲染的内容。 src/pages/index.tsx import { useData } from 'ice'; export default function Home() { const data = useData(); return ( <>
Hello ICE
{JSON.stringify(data)}
); }","s":"组件","u":"/docs/guide/basic/page","h":"#组件","p":682},{"i":687,"t":"详见数据加载。","s":"获取页面初始数据","u":"/docs/guide/basic/page","h":"#获取页面初始数据","p":682},{"i":689,"t":"页面主体内容之外的、其他需要通用 HTML 模板上差异化显示的内容,可以通过导出 pageConfig 来声明。 支持的页面级配置包含:","s":"配置页面运行时属性","u":"/docs/guide/basic/page","h":"#配置页面运行时属性","p":682},{"i":691,"t":"标题会显示在文档上,可以通过 title 属性来设置。 示例: import { definePageConfig } from 'ice'; export const pageConfig = definePageConfig(() => ({ title: 'Home', }));","s":"title","u":"/docs/guide/basic/page","h":"#title","p":682},{"i":693,"t":"Meta 信息会显示在文档上,可以通过 metas 属性来设置。 示例: import { definePageConfig } from 'ice'; export const pageConfig = definePageConfig(() => ({ meta: [ { charset: 'utf-8' }, { name: 'title', value: 'Something cool', }, { name: 'description', value: 'This becomes the nice preview on search results.', }, ], }));","s":"metas","u":"/docs/guide/basic/page","h":"#metas","p":682},{"i":695,"t":"页面级需要额外插入的 标签,会被插入 标签内,先于页面自身的 Bundle 加载,是阻塞型的。 框架提供了这个能力,但不推荐使用,除非确有需要前置加载。 import { definePageConfig } from 'ice'; export const pageConfig = definePageConfig(() => ({ links: [ { rel: 'icon', href: '/favicon.png', type: 'image/png', }, { rel: 'stylesheet', href: 'https://example.com/some/styles.css', }, ] })); 推荐,在页面组件内延迟加载,以达到更好的性能体验。 // src/pages/index.tsx export default function Home() { return ( <>
Hello ICE
); }","s":"links","u":"/docs/guide/basic/page","h":"#links","p":682},{"i":697,"t":"页面级需要前置加载的脚本资源,会被插入在主 Bundle 前,但是会阻塞渲染。通常用于加载全局 JS SDK 或 Polyfill。 import { definePageConfig } from 'ice'; export const pageConfig = definePageConfig(() => ({ scripts: [ { src: 'https://example.com/some/index.js', }, ], })); 推荐在页面组件内按需异步加载,以达到更好的性能体验。","s":"scripts","u":"/docs/guide/basic/page","h":"#scripts","p":682},{"i":699,"t":"小程序端不支持上述 title/metas/links/scripts 等配置。但是,通过导出 pageConfig 能够声明该页面的小程序页面配置。以阿里小程序为例,阿里小程序-页面配置的内容均可通过该方式声明: src/pages/index.tsx import { definePageConfig } from 'ice'; export const pageConfig = definePageConfig(() => ({ \"defaultTitle\": \"\", \"allowsBounceVertical\": \"NO\", \"transparentTitle\": \"auto\", \"titleBarColor\": \"#262833\", \"optionMenu\": { \"icon\": \"https://img.alicdn.com/tps/i3/T1OjaVFl4dXXa.JOZB-114-114.png\" }, \"titlePenetrate\": \"YES\", \"barButtonTheme\": \"light\" }));","s":"小程序页面配置","u":"/docs/guide/basic/page","h":"#小程序页面配置","p":682},{"i":701,"t":"ice.js 小程序支持以下集中类型的组件的使用:","s":"组件使用","u":"/docs/guide/miniapp/component-use","h":"","p":700},{"i":703,"t":"所有小程序内置组件可在 ice.js 中直接使用,但是需要注意按照 JSX 语法编写代码。例如,在小程序原生项目中按照以下方式使用的组件: 对应在 ice.js JSX 中应该这样使用: 特别注意,在微信等小程序端通过 bind 前缀绑定事件,在 JSX 中需要处理为 on 前缀,并遵循驼峰式命名规则,如上面示例中 bindgetphonenumber 需要处理为 onGetPhoneNumber。","s":"小程序内置组件","u":"/docs/guide/miniapp/component-use","h":"#小程序内置组件","p":700},{"i":705,"t":"详见使用 HTML 标签。","s":"HTML 标签","u":"/docs/guide/miniapp/component-use","h":"#html-标签","p":700},{"i":707,"t":"即将支持,敬请期待。","s":"小程序原生自定义组件","u":"/docs/guide/miniapp/component-use","h":"#小程序原生自定义组件","p":700},{"i":709,"t":"ice.js 支持在开发小程序时直接使用 HTML 标签: export default function Home() { return (
Hello World!
) }","s":"使用 HTML 标签","u":"/docs/guide/miniapp/use-html","h":"","p":708},{"i":712,"t":"ice.js 提供了两种内置的浏览器默认样式,可以根据项目需要进行引入。 根据经验,在 Web 端的项目中常常会写一些样式去重置部分浏览器的默认样式,因此一般情况下开发者并不需要所有的这些默认样式。我们建议手动挑选项目需要的默认样式添加到全局样式中。 首先需要安装 @ice/miniapp-html-styles 包: $ npm install @ice/miniapp-html-styles --save HTML4 W3C HTML4 的内置样式。只有 HTML4 标签样式,体积较小,兼容性强,能适应大多数情况。 用法: src/global.css @import '@ice/miniapp-html-styles/html'; HTML5 Chrome(Blink) HTML5 的内置样式。内置样式丰富,包括了大多数 HTML5 标签,体积较大,不一定支持所有小程序容器。 用法: src/global.css @import '@ice/miniapp-html-styles/html5';","s":"浏览器默认样式","u":"/docs/guide/miniapp/use-html","h":"#浏览器默认样式","p":708},{"i":714,"t":" 是行内元素,本来需要映射为同样是行内元素的 组件。 但小程序的 组件有一个限制,它只能嵌套 自身,嵌套 等组件都会不显示。也就是说,如果 映射为 只能嵌套同样映射为 等行内元素。 但是我们发现 里很可能会嵌套
等标签,用法十分多样。因此我们决定把 映射为 ,以兼容 H5 标签写法的多样性。 这样做的缺点是,开发者需要自行使用样式令 默认表现为行内样式: src/global.css /* 方法一:只使用部分需要的浏览器默认样式 */ .h5-span { display: inline; } /* 方法二:直接引入全套浏览器默认样式 */ @import '@ice/miniapp-html-styles/html'; 至于 等行内标签还是默认映射为 。","s":" 默认表现为块级样式","u":"/docs/guide/miniapp/use-html","h":"#span-默认表现为块级样式","p":708},{"i":716,"t":"在小程序中部分 CSS 选择器不会生效,如: 通配符 * 媒体查询 属性选择器,当属性不是对应小程序组件的内置属性时","s":"不支持部分 CSS 选择器","u":"/docs/guide/miniapp/use-html","h":"#不支持部分-css-选择器","p":708},{"i":718,"t":"暂不支持 rem。","s":"不支持使用 rem","u":"/docs/guide/miniapp/use-html","h":"#不支持使用-rem","p":708},{"i":720,"t":"HTML 标准和小程序标准存在着很大的差异,有一些能够抹平,但仍有部分差异无法处理。","s":"其他限制","u":"/docs/guide/miniapp/use-html","h":"#其他限制","p":708},{"i":722,"t":"HTML 标签和小程序组件两种规范之间,存在较大差异的部分主要是表单组件。 在使用 时,需要手动补充 组件。 HTML 使用 时,会提示用户直接使用 组件。","s":"表单组件","u":"/docs/guide/miniapp/use-html","h":"#表单组件","p":708},{"i":724,"t":"在 H5 中我们可以调用 DOM API 同步获取元素的尺寸: h5 const el = document.getElementById('#inner'); const res = el.getBoundingClientRect(); console.log(res); 但是在小程序中,获取元素尺寸的 API 是异步的: 小程序 const query = Taro.createSelectorQuery(); query.select('#inner') .boundingClientRect() .exec(res => { console.log(res) }); 因此 ice.js 提供了这些 API 的异步版本,如 getBoundingClientRect。 ice.js const el = document.getElementById('#inner'); const res = await el.getBoundingClientRect(); console.log(res);","s":"不能同步获取元素尺寸","u":"/docs/guide/miniapp/use-html","h":"#不能同步获取元素尺寸","p":708},{"i":726,"t":"canvas、video、audio 等元素在 H5 端可以直接调用 HTMLElement 上的方法。 h5 const el = document.getElementById('myVideo'); el.play(); 但是在 ice.js 小程序中,要调用组件上的原生方法,必须先创建对应的 Context: 小程序 // 配合 Uni API 提供的能力 import { createVideoContext } from '@uni/video'; const videoContext = createVideoContext('myVideo'); videoContext.play();","s":"DOM API 差异","u":"/docs/guide/miniapp/use-html","h":"#dom-api-差异","p":708},{"i":728,"t":"在 H5 中,不设置 的宽高时,浏览器会使用原图的宽高作为标签的宽高。 而在小程序中,不设置 的宽高时,会使用默认样式中规定的宽高。 解决办法:用户在使用 时必须显式设置它的宽高。","s":" 图片尺寸问题","u":"/docs/guide/miniapp/use-html","h":"#img-图片尺寸问题","p":708},{"i":730,"t":"ice.js 使用 React Reconciler 实现了自定义的渲染器,相对于 ReactDOM 来说功能十分精简。 因此部分基于 ReactDOM 实现的 H5 组件会无法使用,如:unstable_renderSubtreeIntoContainer。","s":"不支持 ReactDOM 部分 API","u":"/docs/guide/miniapp/use-html","h":"#不支持-reactdom-部分-api","p":708},{"i":733,"t":"暂不支持使用 SVG。","s":"不支持使用 SVG","u":"/docs/guide/miniapp/use-html","h":"#不支持使用-svg","p":708},{"i":735,"t":"ice.js 支持小程序开发。由于小程序端大部分能力及配置均与 Web 应用对齐,本章节仅介绍小程序快速开始、与 Web 应用的差异点以及小程序独有能力的使用。 提示 当你准备开发小程序时,请务必阅读本模块文档。","s":"快速开始","u":"/docs/guide/miniapp/start","h":"","p":734},{"i":737,"t":"共有两种方式创建 ice.js 小程序应用:","s":"创建小程序应用","u":"/docs/guide/miniapp/start","h":"#创建小程序应用","p":734},{"i":739,"t":"$ npm create ice ice-app --template @ice/miniapp-scaffold $ cd ice-app $ npm install 创建完毕后可以直接跳到调试与构建章节。","s":"1. 通过小程序模板创建","u":"/docs/guide/miniapp/start","h":"#1-通过小程序模板创建","p":734},{"i":741,"t":"将已有的 ice.js Web 应用改造为支持小程序开发,只需进行以下几步: 配置命令​ 在 package.json 中配置以下 scripts 命令: \"scripts\": { \"start\": \"ice start\", \"start:wechat\": \"ice start --target wechat-miniprogram\", \"start:ali\": \"ice start --target ali-miniapp\", \"build\": \"ice build\", \"build:wechat\": \"ice build --target wechat-miniprogram\", \"build:ali\": \"ice start --target ali-miniapp\" } 配置小程序开发插件及运行时依赖​ 安装小程序开发插件 @ice/plugin-miniapp 和小程序运行时依赖 @ice/miniapp-runtime: $ npm install @ice/plugin-miniapp -D $ npm install @ice/miniapp-runtime -S 在 ice.config.mts 中配置插件: ice.config.mts import miniapp from '@ice/plugin-miniapp'; export default defineConfig({ plugins: [miniapp()], }); 添加 miniappManifest​ 在 src/app.tsx 中导出 miniappManifest,在其中配置 routes 数组用以指定小程序中的页面(详见小程序-路由): export const miniappManifest = { routes: [ // 初始化项目中仅有 index 一个页面 'index' ] }; 适配 HTML 标签样式​ 从 Web 应用迁移而来意味着你的项目中使用了 HTML 标签,为了适配样式,你还需要在 src/global.css 引入样式的 polyfill: @import '@ice/miniapp-html-styles/html'; 关于在小程序中使用 HTML 标签的注意事项,详见文档使用 HTML 标签。","s":"2. 改造已有的 Web 应用","u":"/docs/guide/miniapp/start","h":"#2-改造已有的-web-应用","p":734},{"i":743,"t":"当需要开发小程序时,执行对应的命令即可。例如,需要开发调试微信小程序时,执行 $ npm run start:wechat 需要构建微信小程序生产环境的产物时,执行 $ npm run build:wechat 编译完成后,命令行会给出相应提示,提醒开发者使用对应的小程序开发者工具打开编译产物目录进行调试预览: Use wechat-miniprogram developer tools to open the following folder: ~/Code/ice-next/examples/miniapp-project/build","s":"调试与构建","u":"/docs/guide/miniapp/start","h":"#调试与构建","p":734},{"i":745,"t":"可以看到,相比开发 Web 应用,开发小程序的命令需要传递 platform 参数,目前 ice.js 支持开发的小程序平台及其 platform 名称如下: 小程序平台 platform 阿里系(支付宝、淘宝、钉钉等) ali-miniapp 微信 wechat-miniprogram 暂未支持但计划支持的小程序平台及其 platform 名称如下: 小程序平台 platform 字节 bytedance-microapp 百度 baidu-smartprogram 快手 kuaishou-miniprogram","s":"支持小程序平台","u":"/docs/guide/miniapp/start","h":"#支持小程序平台","p":734},{"i":747,"t":"配置小程序原生应用生命周期及事件 配置小程序原生页面生命周期及事件 配置原生小程序 project.config.json 与原生页面、组件、插件混用 分包加载","s":"待支持能力","u":"/docs/guide/miniapp/start","h":"#待支持能力","p":734},{"i":749,"t":"受小程序环境限制,以下 ice.js 提供的能力在小程序端不适用,相关章节中也会进行标注: 数据模拟 Mock 信息 小程序中的数据请求需要统一使用其提供的 request 相关 API,因此 ice.js 提供的数据模拟 Mock 能力对小程序不适用。小程序端的数据模拟能力可通过开发者工具进行配置使用,这里列出阿里及微信小程序的相关使用文档: 阿里小程序 Anymock 场景数据平台扩展 微信小程序 API Mock 构建时渲染 SSG 服务端渲染 SSR 定制 HTML 权限管理 CSS 资源本地化 Keep Alive 使用 antd/fusion 等已有 Web 组件库 信息 没有经过适配的 Web 组件库暂时无法直接在 ice.js 小程序端使用。","s":"不支持能力","u":"/docs/guide/miniapp/start","h":"#不支持能力","p":734},{"i":751,"t":"小程序端路由相关概念基本与指南-路由章节保持一致(不支持布局组件、动态路由),以下仅列出小程序端路由的注意点。","s":"路由","u":"/docs/guide/miniapp/router","h":"","p":750},{"i":753,"t":"指南-路由章节提到,ice.js 采用约定式路由。但是对于小程序来说,使用约定式路由会带来无法确定首页的问题(在原生小程序中,app.json 中 pages 数组的第一项即被指定为首页)。因此 ice.js 开发小程序时,用户需要在 src/app.tsx 中通过导出 miniappManifest 进行路由的指定,示例如下: export const miniappManifest = { routes: [ 'index', 'about', 'repo/index', 'repo/preview', ], }; 注意,routes 中的每一项应该与文件在 pages 目录下的实际路径保持一致,且其第一项将作为小程序的首页被加载。","s":"路由规则","u":"/docs/guide/miniapp/router","h":"#路由规则","p":750},{"i":756,"t":"ice.js 小程序通过 Link 组件(底层即小程序原生 navigator 组件),来提供路由间的跳转能力。其接受的 to 参数与 Web 端约定式路由产生的 url 保持一致。 src/pages/index.tsx import { Link } from 'ice'; export default function Home() { return ( <>
Hello ICE
about ice ); }","s":"Link 组件","u":"/docs/guide/miniapp/router","h":"#link-组件","p":750},{"i":758,"t":"通过 ice.js 提供的 history 能力,你可以实现小程序端的路由跳转: import { history } from 'ice'; export function historyPush (link: string) { history.push(link); } 警告 在应用入口 src/app.ts 导入使用时,由于 history 还未完成初始化创建,不能以立即执行的方式使用。推荐以上述方式封装后在必要的时候进行调用。 小程序原生的路由相关 API 也可以正常使用。以阿里小程序为例: my.navigateTo({ url: '/pages/repo/index' }); 注意,url 参数必须与页面实际路径保持一致。","s":"API 形式","u":"/docs/guide/miniapp/router","h":"#api-形式","p":750},{"i":760,"t":"对应小程序原生页面 onLoad 方法的参数,可以使用 useSearchParams 获取: import { useParams } from 'ice'; // 路由规则 /home?uid=1234 export default function Home() { const [searchParams] = useSearchParams(); // searchParams 输出内容为 { uid: '1234'} return ( <>

Home Page

); }","s":"路由参数获取","u":"/docs/guide/miniapp/router","h":"#路由参数获取","p":750},{"i":763,"t":"提供小程序的开发能力。","s":"@ice/plugin-miniapp","u":"/docs/guide/plugins/plugin-list","h":"#iceplugin-miniapp","p":761},{"i":765,"t":"提供权限管理方案。","s":"@ice/plugin-auth","u":"/docs/guide/plugins/plugin-list","h":"#iceplugin-auth","p":761},{"i":767,"t":"提供基于单向数据流的数据管理方案。","s":"@ice/plugin-store","u":"/docs/guide/plugins/plugin-list","h":"#iceplugin-store","p":761},{"i":769,"t":"提供将 CSS 中的网络资源本地化的能力。","s":"@ice/plugin-css-assets-local","u":"/docs/guide/plugins/plugin-list","h":"#iceplugin-css-assets-local","p":761},{"i":771,"t":"提供 antd 组件样式按需加载及主题配置能力。","s":"@ice/plugin-antd","u":"/docs/guide/plugins/plugin-list","h":"#iceplugin-antd","p":761},{"i":773,"t":"提供 fusion 组件样式按需加载及主题配置能力。","s":"@ice/plugin-fusion","u":"/docs/guide/plugins/plugin-list","h":"#iceplugin-fusion","p":761},{"i":775,"t":"提供 UnoCSS 原子化 CSS 能力。","s":"@ice/plugin-unocss","u":"/docs/guide/plugins/plugin-list","h":"#iceplugin-unocss","p":761},{"i":777,"t":"@TODO.","s":"实战教程","u":"/docs/guide/practice","h":"","p":776},{"i":779,"t":"需要保证已安装 Node.js,并确保 Node 版本是 14 或以上。详见 开发环境。","s":"快速开始","u":"/docs/guide/start","h":"","p":778},{"i":781,"t":"在终端执行以下命令: $ npm create ice ice-app 然后按照提示操作即可! 或者你通过附加的命令行选项指定使用的模板: $ npm create ice ice-app --template @ice/lite-scaffold 看到如下信息说明项目创建成功: ✔ download npm tarball successfully. info clean package.json... Initialize project successfully. Starts the development server. cd ice-app npm install npm start","s":"创建应用","u":"/docs/guide/start","h":"#创建应用","p":778},{"i":783,"t":"首先需要安装项目依赖: # 进入项目目录 $ cd ice-app # 安装依赖 $ npm install 安装依赖完成以后,执行以下命令以启动调试: # 启动调试 $ npm start 此时会自动打开浏览器窗口并访问 http://localhost:3000,这时会看到默认页面。","s":"本地调试","u":"/docs/guide/start","h":"#本地调试","p":778},{"i":785,"t":"执行以下命令以构建生产环境产物: # 构建 $ npm build 产物默认生成到 build 目录下: ./build ├── css | └── index.css ├── index.html └── js ├── framework.js ├── index.js └── main.js 这时你可以把 build 目录部署到服务器上。","s":"部署发布","u":"/docs/guide/start","h":"#部署发布","p":778},{"i":787,"t":"通过小程序专用的模板创建项目并安装依赖: $ npm create ice ice-app --template @ice/miniapp-scaffold $ cd ice-app $ npm install 可以看到项目的 package.json 中已经配置好命令: package.json \"scripts\": { \"start\": \"ice start\", \"start:wechat\": \"ice start --target wechat-miniprogram\", \"start:ali\": \"ice start --target ali-miniapp\", \"build\": \"ice build\", \"build:wechat\": \"ice build --target wechat-miniprogram\", \"build:ali\": \"ice start --target ali-miniapp\" }","s":"小程序应用","u":"/docs/guide/start","h":"#小程序应用","p":778},{"i":789,"t":"当需要开发调试小程序时,执行对应的命令即可。例如,需要开发调试微信小程序时,执行 $ npm run start:wechat 编译完成后,命令行会给出相应提示,提醒开发者使用对应的小程序开发者工具打开编译产物目录进行调试预览: Use wechat-miniprogram developer tools to open the following folder: ~/miniapp-project/build 编译完成后,命令行会给出相应提示,提醒开发者使用对应的小程序开发者工具打开编译产物目录进行调试预览: Use wechat-miniprogram developer tools to open the following folder: ~/miniapp-project/build","s":"小程序调试","u":"/docs/guide/start","h":"#小程序调试","p":778},{"i":791,"t":"仍以微信小程序为例,执行以下命令以构建微信小程序生产环境产物: $ npm run build:wechat 产物同样默认生成到 build 目录下。这时你可以使用对应的小程序开发者工具打开 build 目录并将其上传发布。","s":"小程序部署发布","u":"/docs/guide/start","h":"#小程序部署发布","p":778},{"i":793,"t":"ice.js 底层基于 build-scripts 插件系统,在提供丰富的框架能力的基础上也可以让开发者可以在框架能力不满足诉求的情况下进行定制: 定制修改框架构建配置 支持在整个构建生命周期定制行为,比如项目启动前拉取某些资源 支持扩展运行时能力,比如统一为路由组件增加鉴权逻辑(添加高阶组件)","s":"开发插件","u":"/docs/guide/plugins/plugin-dev","h":"","p":792},{"i":795,"t":"ice.js 插件本质是一个 JS 模块,官方推荐以 TS 进行开发以获得良好的类型提示: import type { Plugin } from '@ice/app/types'; interface PluginOptions { id: string; } const plugin: Plugin = (options) => ({ // name 可选,插件名称 name: 'plugin-name', // setup 必选,用于定制工程构建配置 setup: (pluginAPI) => { console.log(options.id) }, // runtime 可选,用于定制运行时配置 runtime: '/path/to/runtime', }); export default plugin;","s":"插件规范","u":"/docs/guide/plugins/plugin-dev","h":"#插件规范","p":792},{"i":797,"t":"推荐在项目根目录下新建一个插件目录,目录名比如叫 my-plugin。然后在该目录下新建以下文件: index.ts:必选,插件入口,用于定制工程构建能力 runtime.tsx:可选,用于定制运行时能力 my-plugin/index.ts my-plugin/runtime.tsx import * as path from 'path'; import type { Plugin } from '@ice/app/types'; const plugin: Plugin = () => ({ name: 'my-plugin', setup: (pluginAPI) => { console.log(pluginAPI); }, // runtime 为可选,用于定制运行时配置。runtime 的值必须是一个绝对路径 runtime: path.join(__dirname, 'runtime.tsx'), }); export default plugin; import type { RuntimePlugin } from '@ice/runtime/types'; const runtime: RuntimePlugin = async ({ appContext }) => { console.log(appContext); } export default runtime; 开发完成后,我们需要把插件添加到应用的构建配置中: ice.config.mts import { defineConfig } from '@ice/app'; + import myPlugin from './my-plugin/index.js'; export default defineConfig(() => ({ plugins: [ + myPlugin(), ], }))","s":"开发本地插件","u":"/docs/guide/plugins/plugin-dev","h":"#开发本地插件","p":792},{"i":799,"t":"提示 插件模板可参考:https://github.com/ice-lab/icejs-plugin-template 假设现在需要开发一个插件(包括修改工程配置和运行时配置),并发布到 npm 上。插件的文件目录如下: /xxx/@ice/my-plugin ├── package.json ├── src | ├── index.ts // 插件入口 | └── runtime.tsx // 定制运行时能力 推荐以 ES Module 的方式编写插件,并使用 exports 字段导出插件入口和运行时配置: package.json { \"name\": \"@ice/my-plugin\", \"type\": \"module\", \"exports\": { \".\": { \"types\": \"./esm/index.d.ts\", \"import\": \"./esm/index.js\", \"default\": \"./esm/index.js\" }, \"./runtime\": { \"types\": \"./esm/runtime/index.d.ts\", \"import\": \"./esm/runtime/index.js\", \"default\": \"./esm/runtime/index.js\" } }, \"main\": \"./esm/index.js\", \"types\": \"./esm/index.d.ts\", \"files\": [ \"esm\", \"!esm/**/*.map\" ], } src/index.ts src/runtime.tsx import type { Plugin } from '@ice/app/types'; const plugin: Plugin = () => ({ name: '@ice/my-plugin', setup: (pluginAPI) => {}, // runtime 的值需要配置为「模块引入路径」,对应上面 package.json 中 exports 里的 \"./runtime\" 导出 runtime: '@ice/my-plugin/runtime', }); export default plugin; import type { RuntimePlugin } from '@ice/runtime/types'; const runtime: RuntimePlugin = async ({ appContext }) => { console.log(appContext); } export default runtime; 把插件发布到 npm 后,需要把插件添加到构建配置中: ice.config.mts import { defineConfig } from '@ice/app'; + import myPlugin from '@ice/my-plugin'; export default defineConfig(() => ({ plugins: [ + myPlugin(), ], }));","s":"发布插件到 npm","u":"/docs/guide/plugins/plugin-dev","h":"#发布插件到-npm","p":792},{"i":801,"t":"框架为定制工程能力提供了插件 API,方便开发者扩展和自定义能力。","s":"工程能力定制","u":"/docs/guide/plugins/plugin-dev","h":"#工程能力定制","p":792},{"i":803,"t":"context 包含构建时的上下文信息: command 当前运行命令,start/build/test commandArgs script 命令执行时接受到的参数 rootDir 项目根目录 userConfig 用户在构建配置文件 ice.config.mts 中配置的内容 pkg 项目 package.json 中的内容 webpack webpack 实例,工程不建议安装多个 webpack 版本,可以从 context.webpack 上获取内置的 webpack 实例 const plugin = () => ({ setup: ({ context }) => { console.log('context: ', context); }, }) export default plugin;","s":"context","u":"/docs/guide/plugins/plugin-dev","h":"#context","p":792},{"i":805,"t":"通过 onGetConfig 获取框架的工程配置,并可通过该 API 对配置进行自定义修改: const plugin = () => ({ name: 'plugin-test', setup: ({ onGetConfig }) => { onGetConfig((config) => { config.alias = { '@': './src/', }; }); }, }); export default plugin; 为了简化开发者的配置,通过 onGetConfig 修改配置项是基于底层工程工具的抽象,包括以下配置项: mode 配置 'none' | 'development' | 'production' 以确定构建环境 entry 配置应用入口文件 define 注入到运行时的变量 experimental 实验性能力,同 webpack.experiments outputDir 构建输出目录 externals 同 webpack.externals outputAssetsPath 静态资源输出目录,可以分别配置 js 和 css sourceMap 源码调试映射,同 webpack.devtool publicPath 同 webpack.output.publicPath alias 同 webpack.resolve.alias hash 配置资源输出文件名是否带 hash transformPlugins unplugin 标准 插件,该插件对于服务端和浏览器端产物同时生效 transforms 配置源码转化,支持对源码进行定制转化 middlewares development 开发阶段配置中间件 proxy 配置代理服务 compileIncludes 配置需要进行编译的三方依赖 minify 是否进行压缩 minimizerOptions 压缩配置项,基于 minify-options analyzer 开启产物分析 https 配置 https 服务 port 配置调试端口 cacheDir 配置构建缓存目录 tsCheckerOptions ts 类型检查 配置项 eslintOptions eslint 检查 配置项 splitChunks 是否分包 assetsManifest 是否生成资源 manifest devServer 配置 webpack dev server 配置 fastRefresh 是否开启 fast-refresh 能力 configureWebpack 如果上述快捷配置项不满足定制需求,可以通过 configureWebpack 进行自定义 export default () => ({ name: 'plugin-test', setup: ({ onGetConfig }) => { onGetConfig((config) => { config.configureWebpack.push((webpackConfig) => { webpackConfig.mode = 'development'; return webpackConfig; }) }); }, })","s":"onGetConfig","u":"/docs/guide/plugins/plugin-dev","h":"#ongetconfig","p":792},{"i":807,"t":"通过 onHook 监听命令构建时事件,onHook 注册的函数执行完成后才会执行后续操作,可以用于在命令运行中途插入插件想做的操作: export default () => ({ name: 'plugin-test', setup: ({ onHook }) => { onHook('before.build.load', () => { // do something before build }); onHook('after.build.compile', (stats) => { // do something after build }); }, }) 目前支持的生命周期如下: before.start.run 构建命令 start 执行前,该阶段可以获取各项构建任务最终配置 before.build.run 构建命令 build 执行前,同 start after.start.compile 构建命令 start 执行结束,该阶段可以获取构建的执行结果 after.build.compile 构建命令 build 执行结束,同 start after.start.devServer dev 阶段的 server 服务启动后,该阶段可以获取相关 dev server 启动的 url 等信息 每个周期可以获取的具体的参数类型可以参考 TS 类型。","s":"onHook","u":"/docs/guide/plugins/plugin-dev","h":"#onhook","p":792},{"i":809,"t":"为用户配置文件 ice.config.mts 中添加自定义字段: export default () => ({ name: 'plugin-test', setup: ({ registerUserConfig }) => { registerUserConfig({ name: 'custom-key', validation: 'boolean', // 可选,支持类型有 string, number, array, object, boolean setConfig: () => { // 该字段对于配置的影响,通过 onGetConfig 设置 }, }); }, });","s":"registerUserConfig","u":"/docs/guide/plugins/plugin-dev","h":"#registeruserconfig","p":792},{"i":811,"t":"为命令行启动添加自定义参数: export default () => ({ name: 'plugin-test', setup: ({ registerCliOption }) => { registerCliOption({ name: 'custom-option', commands: ['start'], // 支持的扩展的命令 setConfig: () => { // 该字段对于配置的影响,通过 onGetConfig 设置 }, }); }, });","s":"registerCliOption","u":"/docs/guide/plugins/plugin-dev","h":"#registerclioption","p":792},{"i":813,"t":"修改用户配置: export default () => ({ name: 'plugin-test', setup: ({ modifyUserConfig }) => { modifyUserConfig('key', 'value'); // key, value 分别为用户配置文件键值对 // 例如:把 ssr 配置项修改为 true,以开启 SSR modifyUserConfig('ssr', true); }, });","s":"modifyUserConfig","u":"/docs/guide/plugins/plugin-dev","h":"#modifyuserconfig","p":792},{"i":815,"t":"添加自定义任务: export default () => ({ name: 'plugin-test', setup: ({ registerTask }) => { const config = { sourceMap: true, }; registerTask('task name', config); // name: Task名, config: 对于任务配置同 onGetConfig 配置项 }, });","s":"registerTask","u":"/docs/guide/plugins/plugin-dev","h":"#registertask","p":792},{"i":817,"t":"获取所有任务名称,内置主要任务名为 web: export default () => ({ name: 'plugin-test', setup: ({ getAllTask }) => { const tasks = getAllTask(); console.log(tasks); }, });","s":"getAllTask","u":"/docs/guide/plugins/plugin-dev","h":"#getalltask","p":792},{"i":819,"t":"支持生成或者修改模版,支持的 API 如下: addRenderTemplate​ 添加模块生成目录: export default () => ({ name: 'plugin-test', setup: ({ generator }) => { generator.addRenderTemplate({ template: '/path/to/template/dir', targetDir: 'router', }, {}); }, }); addRenderFile​ 添加模块生成文件: export default () => ({ name: 'plugin-test', setup: ({ generator }) => { generator.addRenderFile('/path/to/file.ts.ejs', 'folder/file.ts', {}); }, }); addExport​ 向 ice.js 里注册模块,实现 import { request } from 'ice'; 的能力: export default () => ({ name: 'plugin-test', setup: ({ generator }) => { generator.addExport({ source: './request/request', exportName: 'request', }); }, }); addExportTypes​ 向 ice.js 里注册类型,实现 import type { Request } from 'ice'; 的能力: export default () => ({ name: 'plugin-test', setup: ({ generator }) => { generator.addExportTypes({ source: './request/types', specifier: '{ Request }', exportName: 'Request', }); }, }); addDataLoaderImport​ 向 ice.js 里注册 data-loader 的自定义发送方法,实现 import { customFetch as fetcher } from 'custom-fetch'; 的能力: export default () => ({ name: 'plugin-test', setup: ({ generator }) => { generator.addDataLoaderImport({ source: 'custom-fetch', alias: { customFetch: 'fetcher', }, specifier: ['customFetch'], }); }, });","s":"generator","u":"/docs/guide/plugins/plugin-dev","h":"#generator","p":792},{"i":821,"t":"支持统一的 watch 服务 addEvent​ 添加 watch 事件: export default () => ({ name: 'plugin-test', setup: ({ watch }) => { watch.addEvent([ /src\\/global.(scss|less|css)/, (event: string, filePath: string) => {}, 'cssWatch', ]); }, }); removeEvent​ 移除 watch 事件: export default () => ({ name: 'plugin-test', setup: ({ watch }) => { watch.removeEvent('cssWatch'); }, });","s":"watch","u":"/docs/guide/plugins/plugin-dev","h":"#watch","p":792},{"i":823,"t":"插件运行时可以定制框架的运行时能力: import type { Plugin } from '@ice/app/types'; const plugin: Plugin = () => ({ name: 'plugin-name', runtime: '/absolute/path/to/runtime', }); export default plugin; 框架运行时指向的文件地址为一个 JS 模块,源码阶段推荐用 TS 进行开发: import type { RuntimePlugin } from '@ice/runtime/types'; const runtime: RuntimePlugin = () => {}; export default runtime;","s":"运行时能力定制","u":"/docs/guide/plugins/plugin-dev","h":"#运行时能力定制","p":792},{"i":825,"t":"appContext 上包含框架相关上下文配置信息,主要包括: appConfig:应用配置,详细内容可以参考 应用入口 assetsManifest:应用资讯配置信息 routesData:路由信息 const runtime = ({ appContext }) => { console.log(appContext); } export default runtime;","s":"appContext","u":"/docs/guide/plugins/plugin-dev","h":"#appcontext","p":792},{"i":827,"t":"在应用最外层添加全局 Provider: export default ({ addProvider }) => { function Provider({ children }) { return (
{children}
) } const StoreProvider = ({ children }) => { return {children}; }; addProvider(StoreProvider); };","s":"addProvider","u":"/docs/guide/plugins/plugin-dev","h":"#addprovider","p":792},{"i":829,"t":"为所有路由组件添加一层包裹: import { useEffect } from 'react'; export default ({ addWrapper }) => { const PageWrapper = ({ children }) => { useEffect(() => { document.title = 'Hello ICE'; }, []) return <>{children} } addWrapper(PageWrapper); // 如果希望同样为 layout 组件添加可以添加第二个参数 addWrapper(PageWrapper, true); }; setAppRouter​ 定制 Router 渲染方式 export default ({ setAppRouter }) => { // setAppRouter 入参为路由数组 const renderRouter = (routes) => () => { return
route
; }; setAppRouter(renderRouter); };","s":"addWrapper","u":"/docs/guide/plugins/plugin-dev","h":"#addwrapper","p":792},{"i":831,"t":"自定义渲染,默认使用 react-dom 进行渲染 import ReactDOM from 'react-dom'; export default ({ setRender }) => { // App: React 组件 // appMountNode: App 挂载点 const DOMRender = (appMountNode, App) => { ReactDOM.render(, appMountNode); }; setRender(DOMRender); };","s":"setRender","u":"/docs/guide/plugins/plugin-dev","h":"#setrender","p":792},{"i":833,"t":"获取页面组件的数据,一般配合 addWrapper 进行使用: import { useEffect } from 'react'; export default ({ addWrapper, useData }) => { const PageWrapper = (PageComponent) => { const pageData = useData(); console.log(pageData); return PageComponent; }; addWrapper(PageWrapper); };","s":"useData","u":"/docs/guide/plugins/plugin-dev","h":"#usedata","p":792},{"i":835,"t":"获取页面组件的配置,一般配合 addWrapper 进行使用: import { useEffect } from 'react'; export default ({ addWrapper, useConfig }) => { const PageWrapper = (PageComponent) => { const pageConfig = useConfig(); console.log(pageConfig); return PageComponent; }; addWrapper(PageWrapper); };","s":"useConfig","u":"/docs/guide/plugins/plugin-dev","h":"#useconfig","p":792}],"index":{"version":"2.3.9","fields":["t"],"fieldVectors":[["t/2",[0,4.593,1,4.593,2,0.819,3,5.282,4,3.864,5,2.527,6,4.55,7,5.002,8,6.226,9,2.592,10,6.641,11,2.582,12,1.377,13,3.624,14,2.308,15,2.203,16,1.985,17,3.699,18,3.727,19,3.864,20,3.007,21,3.555,22,3.07,23,5.282,24,5.002,25,3.427,26,4.294,27,5.282,28,3.957,29,5.002,30,4.593,31,3.624,32,5.282,33,5.282]],["t/4",[2,0.306,4,1.916,5,1.253,6,2.717,9,1.548,10,2.481,11,1.28,12,0.683,14,2.611,15,1.093,16,0.984,17,1.834,18,3.093,19,1.916,20,2.243,21,1.763,22,1.522,23,2.619,24,2.481,27,4.187,29,3.965,31,4.1,34,2.198,35,2.37,36,3.088,37,1.24,38,1.73,39,1.874,40,2.932,41,4.484,42,3.088,43,3.088,44,4.39,45,2.481,46,2.37,47,1.202,48,4.129,49,1.501,50,1.643,51,2.766,52,1.253,53,1.371,54,2.619,55,1.67,56,0.816,57,1.962,58,1.371,59,1.834,60,1.797,61,2.805,62,3.023,63,3.404,64,1.617,65,1.567,66,1.782,67,1.461,68,1.386,69,1.874,70,2.481,71,2.012,72,3.088,73,1.388,74,1.179,75,2.068,76,3.088,77,2.805,78,1.538,79,3.229,80,1.73,81,1.763,82,2.277,83,2.481,84,3.178,85,2.367,86,2.37,87,3.088,88,3.523,89,1.339,90,2.37,91,2.012,92,5.02,93,2.997,94,1.113,95,1.567,96,2.717,97,2.481,98,4.936,99,3.404,100,3.088,101,2.805,102,3.088,103,2.198,104,2.995,105,1.916,106,2.012,107,1.797,108,1.922,109,1.544,110,3.088,111,2.805,112,1.73,113,2.805,114,2.805,115,3.088]],["t/7",[2,0.481,4,3.011,6,2.671,11,2.012,12,1.073,14,1.799,15,2.879,16,1.547,18,1.949,19,3.011,20,3.562,21,2.77,22,2.392,23,4.116,24,3.898,30,3.579,34,3.455,40,2.882,44,4.954,45,3.898,46,3.724,47,1.889,50,2.582,51,2.719,60,2.824,62,2.44,66,1.228,68,1.369,69,4.222,93,2.359,108,2.709,116,4.133,117,4.852,118,6.958,119,1.586,120,4.408,121,3.455,122,2.295,123,4.852,124,1.044,125,4.852,126,3.724,127,3.579,128,3.898,129,6.322,130,5.903,131,4.852,132,4.408,133,4.318,134,1.302,135,4.852,136,4.852,137,3.579,138,3.724,139,4.852,140,3.579,141,2.77,142,4.408]],["t/9",[2,0.949,7,3.66,12,2.119,13,5.342,14,1.689,15,1.612,20,1.657,25,3.66,65,2.313,68,0.897,73,2.048,79,1.91,84,3.427,93,3.232,108,2.589,143,3.66,144,3.142,145,2.765,146,3.142,147,3.375,148,5.103,149,2.728,150,3.361,151,3.865,152,3.497,153,2.085,154,2.765,155,2.765,156,3.278,157,3.051,158,1.722,159,1.351,160,4.556,161,4.556,162,2.97,163,2.508,164,4.556,165,3.865,166,2.895,167,2.291,168,4.556,169,4.556,170,4.556,171,2.827,172,1.441,173,1.932,174,4.556,175,0.96,176,2.424,177,2.765,178,4.734,179,2.652,180,3.142,181,2.508,182,4.556,183,4.556,184,4.556,185,3.497]],["t/11",[6,5.151,18,2.543,19,5.188,25,3.485,32,5.372,33,5.372,73,3.758,134,2.243,149,2.201,186,6.332,187,6.332,188,5.753,189,3.686,190,8.359,191,5.087,192,6.332,193,3.167,194,4.67,195,3.485,196,5.753,197,5.753,198,5.753,199,4.024,200,5.753,201,4.127,202,6.332,203,6.332,204,5.753,205,6.332,206,3.615,207,4.241,208,4.67,209,3.167]],["t/13",[0,5.511,1,5.511,6,5.116,15,2.644,22,3.684,34,5.32,45,6.003,46,5.734,48,5.004,50,3.975,51,4.187,65,3.793,68,1.47,85,3.583,103,5.32,126,5.734,191,6.003,210,7.472,211,6.789,212,6.789]],["t/15",[0,3.909,1,3.909,2,0.734,5,3.752,9,1.662,11,2.198,12,1.638,29,5.95,56,1.401,63,5.107,66,1.341,68,1.68,73,2.383,79,2.222,92,3.454,94,1.91,119,2.422,122,2.507,133,3.289,134,1.422,147,2.69,159,1.571,171,3.289,172,2.342,173,2.247,175,1.561,176,2.82,194,3.909,213,6.283,214,3.549,215,2.69,216,4.067,217,4.815,218,2.82,219,4.815,220,2.273,221,3.909,222,4.496,223,5.299,224,5.299,225,3.368,226,2.383,227,1.101,228,4.257,229,5.299,230,3.773,231,4.067,232,4.257,233,4.496]],["t/17",[0,5.457,1,5.457,5,3.003,9,2.32,11,3.068,18,2.971,65,3.755,68,1.456,78,2.304,105,4.591,106,4.822,175,1.559,178,5.267,181,4.072,193,3.7,209,3.7,234,6.276,235,6.186,236,3.813,237,6.721]],["t/19",[0,5.808,1,5.808,10,6.326,11,2.402,18,2.326,20,2.107,24,6.326,27,4.914,28,3.681,29,4.653,31,5.208,32,4.914,33,4.914,49,4.349,66,1.466,82,5.808,85,2.777,126,6.044,175,1.221,236,2.985,238,7.155,239,3.681,240,4.653,241,5.792,242,5.792,243,7.874,244,5.792,245,5.792,246,5.263,247,5.792,248,5.792,249,3.879,250,3.994,251,3.879,252,5.792,253,3.595,254,5.792,255,4.914]],["t/21",[2,0.805,231,6.233,233,6.89,256,5.782,257,3.565,258,5.99,259,4.123,260,7.379,261,6.525,262,8.121,263,8.887,264,8.121]],["t/23",[2,0.333,12,1.169,15,1.191,18,1.352,21,1.922,26,2.321,37,3.226,49,2.569,56,0.89,62,1.18,65,2.683,66,0.852,68,0.662,78,1.627,85,1.614,94,1.213,96,1.853,106,5.557,108,2.541,116,1.999,119,1.1,122,4.687,134,0.903,137,2.483,145,2.042,158,1.998,163,2.909,167,1.542,171,3.28,172,1.064,175,1.558,181,1.853,214,2.254,216,2.583,227,1.356,231,2.583,236,2.724,255,2.855,265,1.659,266,2.704,267,4.676,268,4.346,269,2.483,270,2.704,271,1.082,272,0.781,273,4.246,274,2.855,275,2.704,276,3.058,277,3.058,278,0.982,279,2.254,280,4.334,281,3.058,282,2.583,283,3.058,284,2.704,285,3.058,286,1.959,287,1.922,288,1.999,289,5.673,290,5.673,291,3.058,292,1.886,293,2.089,294,2.483,295,2.583,296,2.855,297,1.367,298,3.207,299,1.762,300,3.058,301,1.821,302,1.396,303,2.483,304,3.058,305,1.427,306,2.855,307,2.483,308,2.583,309,1.236]],["t/25",[2,1.045,62,3.051,74,2.569,106,6.641,227,1.399,271,3.099,272,1.286,310,3.367,311,3.843,312,2.944,313,3.422,314,2.822,315,3.051,316,1.728,317,1.03,318,1.172,319,5.408,320,2.569]],["t/28",[78,2.094,106,5.472,267,4.887,268,4.542,280,4.081,321,2.549,322,3.972,323,3.269,324,3.6,325,3.972]],["t/30",[293,5.392,321,2.638,322,4.11,323,3.383,324,3.726,326,4.41,327,8.688]],["t/32",[293,5.392,321,2.638,322,4.11,323,3.383,324,3.726,326,4.41,328,8.688]],["t/34",[2,0.931,106,6.762,124,1.808,271,2.703,272,1.243,293,3.963,312,2.161,313,2.512,315,2.948,316,1.64,317,0.977,318,1.112,321,1.939,323,2.487,329,4.547,330,3.376,331,6.48,332,4.404,333,2.708,334,8.406,335,5.985,336,6.386,337,6.386]],["t/37",[2,0.627,12,1.849,14,2.348,16,2.665,37,3.357,49,3.078,75,4.241,81,3.615,112,3.548,119,2.733,153,1.986,154,3.842,167,2.731,172,2.002,176,3.369,199,4.024,251,4.241,338,5.753,339,6.332,340,6.332,341,4.508,342,3.264,343,2.598,344,5.087,345,5.087,346,6.332,347,4.024,348,3.615,349,5.087,350,5.087,351,3.93,352,4.367,353,3.369]],["t/39",[5,2.614,15,2.279,68,1.268,75,5.661,78,2.108,159,1.909,167,1.88,172,2.037,272,1.25,284,5.175,317,0.986,318,1.122,347,4.093,353,3.427,354,4.751,355,5.852,356,5.175,357,7.172,358,8.453,359,6.441,360,10.018,361,5.464,362,1.642,363,3.909,364,1.956,365,2.322,366,1.768,367,3.625]],["t/41",[2,0.815,53,2.743,84,4.237,85,2.961,109,4.112,112,3.46,119,2.019,124,1.328,153,1.937,159,1.831,172,1.953,176,3.286,272,0.913,294,4.555,312,2.09,313,2.429,315,2.883,316,1.585,317,0.945,318,1.076,325,2.922,347,3.924,349,4.961,351,3.832,354,6.064,368,6.605,369,4.135,370,5.61,371,4.961,372,4.555,373,5.239,374,6.175,375,4.258,376,7.469,377,2.205]],["t/43",[2,0.595,9,1.246,12,0.879,14,1.474,28,3.818,44,2.83,51,4.856,52,1.613,53,1.765,62,1.394,66,1.006,78,0.991,85,2.88,86,3.05,88,3.005,89,1.724,93,1.932,95,2.018,121,2.83,148,3.05,149,1.381,153,2.718,156,1.959,167,1.16,208,2.932,209,1.988,225,3.818,227,1.801,265,1.959,271,1.278,278,1.753,303,2.932,305,1.685,321,1.824,369,2.662,378,3.611,379,3.611,380,3.974,381,2.227,382,3.974,383,3.193,384,3.974,385,3.193,386,2.932,387,3.611,388,5.458,389,6.572,390,3.728,391,2.526,392,3.611,393,3.193,394,3.974,395,2.269,396,3.974,397,3.372,398,4.037,399,1.959,400,3.193,401,3.915,402,3.568,403,3.372,404,3.611,405,4.302,406,2.188,407,2.932,408,2.526,409,2.59,410,2.269,411,3.974]],["t/45",[2,1.051,62,3.087,74,2.617,227,1.425,271,3.126,272,1.301,310,3.429,311,3.913,312,2.979,313,3.463,314,2.874,315,3.087,316,1.76,317,1.049,318,1.194,390,6.367]],["t/47",[2,0.472,6,2.62,28,3.024,51,2.667,52,3.266,53,2.114,57,4.361,66,1.204,134,1.277,153,1.493,166,3.024,225,3.024,226,2.14,227,0.989,271,1.53,272,0.704,282,3.653,297,1.775,316,1.762,317,0.728,320,1.817,322,2.252,324,2.041,330,1.911,362,1.749,366,1.306,389,6.037,390,4.994,395,2.717,412,2.977,413,2.827,414,4.038,415,4.759,416,3.51,417,4.324,418,3.389,419,3.483,420,2.645,421,2.38,422,3.994,423,3.187,424,3.282,425,3.389,426,2.314,427,4.324,428,5.822,429,3.51,430,5.822,431,2.166,432,3.824,433,2.492,434,3.282,435,2.314,436,2.575,437,2.827,438,1.853,439,2.14,440,3.389,441,3.824]],["t/49",[2,0.709,78,1.259,124,1.086,147,2.563,153,2.838,159,1.497,227,1.049,268,3.873,272,1.058,278,2.089,297,1.851,299,2.643,317,1.385,318,1.247,362,1.824,364,2.173,365,2.58,366,1.965,367,3.88,369,3.381,377,2.556,389,5.615,390,4.442,398,3.58,399,3.529,416,3.724,440,5.096,441,5.751,442,4.94,443,5.048,444,1.946,445,2.444,446,5.897,447,3.387]],["t/51",[25,3.844,28,4.438,52,3.615,66,1.767,68,1.753,73,3.14,78,2.221,85,3.348,112,3.913,180,4.815,227,1.851,369,4.676,389,6.087,400,5.61,412,3.029,448,4.676,449,6.345,450,4.815,451,3.715,452,5.61,453,5.151,454,5.359]],["t/53",[2,0.74,5,3.773,52,3.033,99,6.41,272,1.374,362,1.904,364,2.268,366,2.051,389,4.637,390,5.768,398,3.737,439,3.359,447,3.535,452,7.467,455,4.748,456,5.152]],["t/55",[2,0.607,5,3.318,52,2.486,99,5.638,119,2.002,159,1.816,180,5.638,272,1.209,320,2.338,324,2.626,362,1.561,364,2.482,365,2.207,366,1.681,389,5.074,390,5.712,398,3.063,431,2.788,439,2.754,440,4.361,441,4.92,447,2.898,449,5.564,452,6.569,456,4.223,457,7.429,458,5.564,459,8.176,460,6.789,461,4.361]],["t/57",[2,0.481,5,2.824,28,3.083,30,3.579,58,2.155,68,0.955,73,2.181,78,1.21,93,2.359,156,2.392,175,1.022,225,3.083,235,3.249,265,2.392,272,1.203,278,2.03,317,0.742,318,0.845,333,2.057,362,1.773,363,2.944,364,2.112,366,2.233,389,6.076,390,6.076,416,3.579,431,2.209,450,3.346,451,2.582,452,5.59,455,3.083,460,6,462,4.852,463,2.295,464,3.346,465,3.898,466,4.408,467,8.135,468,5.132,469,8.135,470,5.59,471,6.958,472,2.295,473,3.162,474,2.54,475,4.852,476,4.116]],["t/59",[2,0.627,56,1.674,78,1.579,119,2.07,124,1.362,153,1.986,271,2.036,272,0.936,278,1.848,297,1.638,316,1.626,317,0.969,320,2.417,362,1.614,366,2.294,367,3.585,389,5.188,390,5.188,401,4.127,428,5.372,430,7.092,431,2.882,432,5.087,433,3.315,440,4.508,445,2.162,447,2.996,463,2.996,477,4.86,478,6.332,479,7.595,480,2.715,481,2.715]],["t/61",[482,7.503]],["t/63",[14,2.43,15,2.319,18,3.434,20,2.384,37,2.632,49,3.186,62,2.298,78,1.635,109,3.278,167,1.913,173,2.779,176,4.549,189,3.815,226,2.947,227,1.362,278,2.495,309,3.14,369,4.389,399,3.231,483,3.977,484,6.554,485,5.266,486,7.254,487,6.554,488,6.554,489,4.667,490,2.632,491,5.955,492,5.56,493,3.815]],["t/65",[2,1.039,37,3.454,62,3.016,74,2.524,227,1.374,271,3.073,272,1.272,310,3.307,311,3.775,312,2.91,313,3.383,314,2.772,315,3.016,316,1.698,317,1.012,318,1.152,494,5.759,495,5.108,496,8.599]],["t/68",[59,5.102,321,2.607,323,3.344,330,3.449,494,5.751,497,7.803,498,7.803,499,6.9]],["t/70",[37,3.449,309,3.154,321,2.607,323,3.344,330,3.449,497,7.803,500,6.9,501,4.999]],["t/72",[17,4.987,62,2.944,278,2.45,321,2.549,322,3.972,323,3.269,324,3.6,451,4.467,502,5.622,503,5.21]],["t/74",[6,3.844,12,1.544,15,3.152,18,2.804,37,2.804,49,3.395,59,4.148,73,4.005,74,2.665,79,2.928,95,4.522,108,2.719,134,1.874,159,2.07,167,2.038,179,4.065,485,5.61,489,4.972,504,3.443,505,3.493,506,3.913,507,3.179,508,3.545,509,5.359,510,5.359]],["t/76",[9,2.547,18,3.262,59,4.824,94,2.927,158,3.07,159,2.407,172,2.568,175,1.711,305,3.444,489,5.782,511,8.121,512,7.379,513,7.379]],["t/78",[47,2.552,66,2.164,68,1.29,133,4.067,145,3.977,158,2.477,159,1.943,163,3.608,250,4.52,341,4.667,343,2.689,399,3.231,413,3.893,485,5.266,490,2.632,505,3.278,508,3.327,510,5.03,514,4.067,515,6.554,516,5.955,517,3.977,518,4.52,519,3.815,520,6.554,521,6.554,522,6.554,523,5.56,524,4.667,525,6.554,526,6.554,527,6.554,528,3.815,529,3.815]],["t/80",[15,2.132,47,2.346,59,3.579,68,1.186,124,1.296,220,2.584,305,2.555,309,2.213,314,2.527,399,2.971,413,3.579,444,2.323,505,5.09,507,4.156,508,3.059,509,6.207,528,3.508,530,5.112,531,8.087,532,4.035,533,4.625,534,5.112,535,9.757,536,4.625,537,4.445,538,5.475,539,6.026,540,7.348,541,6.026,542,6.026,543,4.841,544,8.087]],["t/82",[2,0.879,12,1.262,15,2.018,18,2.291,47,2.221,63,3.933,73,2.564,74,2.177,108,3.034,119,1.865,173,2.418,214,3.82,258,4.207,286,3.32,298,3.461,299,2.986,310,2.853,377,2.037,505,3.898,517,3.461,532,3.82,538,5.182,545,10.553,546,5.079,547,3.086,548,3.625,549,7.08,550,4.582,551,3.933,552,4.839,553,5.704,554,5.704,555,5.704,556,2.895,557,4.839,558,4.839,559,3.461,560,3.14,561,5.704,562,5.704]],["t/85",[2,0.719,9,1.786,12,1.455,16,0.876,37,1.804,38,1.539,58,1.22,74,1.714,80,3.687,89,2.471,108,1.07,124,0.591,163,1.512,173,1.165,194,2.026,218,1.462,227,0.933,257,3.417,258,2.026,259,1.395,261,2.207,297,0.71,301,2.43,316,1.999,317,0.42,362,1.849,364,0.834,367,1.926,424,1.894,431,1.25,433,1.438,436,1.486,444,2.536,480,1.178,481,1.178,507,2.593,536,5.049,537,4.852,550,2.207,551,1.894,563,9.343,564,3.62,565,2.747,566,2.331,567,5.175,568,2.747,569,5.214,570,2.108,571,1.395,572,3.608,573,2.496,574,2.787,575,3.456,576,2.207,577,2.207,578,2.026,579,2.496,580,2.496,581,1.84,582,3.197,583,2.331,584,2.496,585,2.108,586,1.395,587,1.206,588,2.207,589,3.608,590,2.331,591,2.351,592,2.207,593,2.331,594,2.517,595,3.608,596,2.331,597,2.026,598,3.447,599,4.537,600,2.026,601,1.894,602,2.331,603,1.335,604,1.956,605,2.43,606,1.894,607,5.696,608,3.928,609,3.007,610,2.496,611,2.496,612,2.496,613,2.496,614,3.81,615,1.894,616,4.055,617,5.696,618,1.894,619,2.331,620,2.331,621,2.496,622,2.496,623,2.747,624,1.22,625,2.747,626,1.599,627,2.747,628,1.894]],["t/87",[2,0.607,6,2.247,12,1.356,16,1.302,37,2.462,67,1.932,89,1.771,163,2.247,172,1.291,194,3.012,256,2.907,257,1.792,297,1.056,301,3.317,330,1.64,366,1.121,367,2.629,431,1.859,444,3.55,470,3.28,477,3.134,507,3.351,564,2.595,573,3.71,574,3.804,575,4.466,576,3.28,577,3.28,578,3.012,579,3.71,580,3.71,581,2.734,582,4.365,583,3.464,584,3.71,585,3.134,586,2.073,587,1.792,588,3.28,589,4.925,590,3.464,591,3.209,592,3.28,593,3.464,594,3.435,595,4.925,596,3.464,597,3.012,598,4.705,599,6.046,600,3.012,601,2.816,602,3.464,603,1.985,604,2.907,605,3.317,606,2.816,621,3.71,622,3.71,629,4.083,630,6.13,631,3.642,632,6.13,633,3.71,634,6.13,635,4.083,636,3.464,637,4.678,638,4.083,639,4.083,640,3.71,641,3.28]],["t/89",[15,2.018,22,2.812,47,2.221,74,2.177,88,2.853,95,2.895,108,2.221,153,1.789,159,1.691,175,1.202,181,4.289,220,3.342,299,4.08,353,3.035,388,5.182,403,4.839,413,3.388,504,2.812,505,2.853,506,3.196,510,6.812,514,3.54,558,6.611,624,2.534,628,3.933,642,3.625,643,4.378,644,4.207,645,2.663,646,5.219,647,5.981,648,5.704,649,2.695,650,4.207,651,5.704,652,5.182,653,5.704,654,3.54,655,5.704,656,5.704,657,5.704,658,5.704]],["t/92",[12,1.74,18,3.159,37,3.159,59,4.672,124,1.692,134,2.111,172,2.487,486,6.672,501,4.578,508,4.87,599,5.424,659,7.146,660,5.424,661,4.49,662,7.146]],["t/94",[2,0.612,9,1.937,16,2.621,79,2.589,124,1.328,134,1.657,153,1.937,167,1.802,215,3.135,226,2.776,272,0.913,297,1.597,316,1.585,317,0.945,318,1.076,343,2.533,351,3.832,365,2.963,399,3.044,413,3.668,420,2.381,473,4.025,489,4.397,502,4.135,528,3.594,660,4.258,663,4.025,664,4.555,665,4.555,666,9.242,667,3.924,668,6.175,669,7.469,670,5.239,671,5.669,672,4.739]],["t/96",[2,0.466,5,3.243,9,2.506,12,1.039,14,1.742,16,2.168,18,1.887,20,1.71,40,2.792,56,2.457,60,2.735,62,2.384,63,3.241,68,1.338,83,6.419,89,2.039,105,2.916,108,1.83,134,1.261,150,3.466,153,1.474,172,1.486,175,1.433,177,2.852,178,3.346,201,3.063,220,2.015,230,3.346,234,3.987,305,1.993,326,2.386,342,2.422,343,1.928,348,3.882,624,2.087,645,2.194,673,6.459,674,7.85,675,3.987,676,3.987,677,3.241,678,2.422,679,4.699,680,3.466,681,4.27,682,3.775,683,3.607,684,2.735,685,4.27,686,4.699,687,4.699,688,4.699,689,2.063,690,4.699,691,4.699]],["t/98",[2,0.888,62,2.474,73,2.225,74,1.889,134,1.328,193,2.475,227,1.029,271,2.644,272,1.043,305,2.098,310,2.475,311,2.825,312,1.675,313,1.947,314,2.075,315,2.474,316,1.27,317,0.757,318,0.862,413,2.939,495,2.939,504,2.44,506,2.773,673,6.614,674,3.798,684,4.108,692,3.412,693,4.496,694,3.65,695,6.179,696,5.698,697,5.672,698,6.411,699,3.798,700,3.798,701,4.948,702,4.496,703,3.225,704,4.496,705,3.798,706,4.948,707,4.496,708,6.411,709,4.948,710,4.948,711,4.948,712,4.948,713,4.948,714,4.948]],["t/100",[2,0.631,16,2.991,62,1.506,73,1.931,119,1.404,124,0.924,141,2.452,153,2.631,167,1.858,220,3.253,227,0.893,240,3.45,271,2.046,272,0.941,297,1.111,305,1.821,315,2.232,316,1.103,317,0.657,318,0.748,342,2.213,343,3.111,348,2.452,365,3.023,377,1.534,395,3.634,399,2.117,445,1.466,447,2.032,472,2.032,473,5.467,490,2.556,495,2.551,499,3.45,663,4.149,673,5.594,674,4.885,684,5.805,694,3.167,695,4.944,696,4.82,697,5.23,699,3.296,715,2.606,716,3.167,717,9.382,718,3.902,719,3.643]],["t/103",[2,0.771,9,2.441,56,2.058,64,4.075,272,1.151,412,3.376,447,3.682,480,3.338,481,3.338,684,4.53,695,5.073,696,4.946,697,5.367,720,9.362,721,3.228]],["t/105",[2,0.788,9,2.493,119,2.599,124,1.71,272,1.175,412,3.448,480,3.409,481,3.409,684,4.627,695,5.181,696,5.051,721,3.296,722,10.399]],["t/107",[2,0.633,25,2.377,53,1.918,57,2.745,78,1.077,119,1.412,144,2.978,153,2.816,167,1.26,175,0.91,180,4.408,207,2.892,220,1.852,226,1.942,227,1.329,272,0.639,278,1.26,317,0.661,318,0.752,343,2.622,362,1.101,364,1.941,365,1.557,366,1.185,367,2.741,395,2.466,398,2.16,399,2.129,406,2.377,426,2.1,438,1.682,447,3.98,453,3.186,461,3.075,465,3.47,472,2.043,480,1.852,481,1.852,495,4.997,661,3.65,664,3.186,683,3.315,684,5.473,689,1.896,695,4.96,696,4.836,697,2.978,721,1.791,723,6.456,724,3.075,725,2.815,726,3.315,727,5.841,728,3.519,729,2.466,730,3.47,731,3.47,732,2.621,733,3.47,734,3.924,735,5.136,736,2.68]],["t/109",[2,0.656,53,2.011,57,2.878,68,0.891,78,1.651,92,2.952,119,1.481,144,3.123,153,2.699,167,1.932,175,0.954,180,3.123,207,3.033,220,1.942,226,2.036,227,0.941,272,0.67,278,1.321,317,0.693,318,0.789,364,1.375,365,2.386,366,1.243,367,2.839,395,2.585,398,2.265,399,2.233,406,2.493,426,2.201,447,3.701,461,3.224,465,3.638,472,2.142,480,1.942,481,1.942,495,5.438,661,2.585,683,3.476,684,5.329,689,1.988,695,5.099,696,4.971,697,3.123,727,3.476,728,2.493,729,2.585,730,3.638,731,3.638,732,2.748,733,3.638,734,4.114,735,6.913,736,2.81,737,7.823,738,2.142,739,3.638,740,3.476,741,3.033,742,2.371]],["t/111",[2,0.61,78,1.024,158,1.552,159,1.217,175,1.556,179,2.39,272,0.91,317,0.942,318,1.072,330,1.649,362,2.352,364,1.869,366,2.027,367,2.64,429,3.028,461,4.383,495,5.221,533,6.296,594,4.925,631,3.657,684,2.39,695,2.676,696,2.609,708,3.73,720,5.593,723,6.96,735,7.061,736,3.82,738,2.912,743,2.749,744,6.96,745,6.96,746,6.155,747,5.347,748,4.54,749,6.296,750,4.105,751,4.105,752,3.483,753,6.155,754,3.028,755,6.155,756,5.593,757,4.383,758,6.155,759,2.831]],["t/113",[2,0.7,16,2.461,40,1.842,80,1.737,91,3.228,112,1.737,119,1.014,134,1.659,153,0.972,167,0.905,172,1.566,175,0.653,193,1.551,215,2.514,220,1.33,226,1.394,227,1.285,240,2.491,271,1.592,272,1.044,301,3.345,315,1.737,316,1.813,317,0.474,318,0.54,320,1.183,326,1.574,329,2.207,330,1.989,333,1.315,348,4.031,362,1.262,375,2.138,399,1.529,402,1.842,433,1.623,436,1.677,444,1.195,447,2.343,489,2.207,490,1.245,495,3.673,505,2.477,559,1.881,574,1.924,587,2.174,609,3.316,641,4.967,661,2.827,673,4.561,674,2.38,682,4.967,684,2.883,695,3.228,696,3.147,697,2.138,698,2.817,699,4.745,730,3.978,731,3.978,743,2.076,752,4.201,757,2.207,760,2.63,761,2.207,762,2.287,763,3.1,764,2.38,765,2.817,766,2.817,767,2.491,768,2.287,769,1.737,770,4.264,771,3.1,772,2.076,773,2.491,774,2.817,775,6.415,776,4.952,777,1.924,778,2.38,779,2.817,780,5.245,781,6.938,782,6.183,783,4.499,784,3.1,785,1.97,786,2.38,787,3.1,788,3.1,789,2.38,790,4.952]],["t/115",[2,0.743,16,1.721,68,1.063,85,1.659,109,1.73,124,0.744,134,1.449,157,2.317,166,2.198,180,2.385,199,2.198,227,1.692,236,1.783,271,1.112,272,0.982,279,2.317,297,0.895,305,1.467,316,0.888,317,0.826,318,0.603,320,1.32,322,1.637,324,1.483,343,2.215,362,1.376,364,1.639,365,1.247,366,1.823,398,2.701,402,2.055,406,1.904,420,1.334,422,2.014,431,1.575,448,2.317,461,2.463,495,3.945,519,2.014,528,3.143,575,2.099,594,3.721,615,2.385,661,3.791,663,2.255,664,3.983,673,2.552,682,2.779,683,4.144,684,4.368,689,1.518,695,4.328,696,4.22,700,2.655,723,4.581,730,6.928,731,4.338,732,3.276,735,5.335,736,4.121,768,2.552,791,2.463,792,3.143,793,2.317,794,2.779,795,3.459,796,3.459,797,3.459,798,3.459,799,2.463,800,2.655,801,4.906,802,5.399,803,3.459,804,5.399,805,2.463,806,3.459,807,3.459,808,3.459,809,2.935,810,3.143,811,2.655,812,3.431,813,3.143,814,2.385,815,3.143]],["t/117",[2,0.702,47,1.94,60,2.9,62,1.747,73,2.24,91,3.247,112,2.791,124,1.525,141,2.844,153,1.562,167,2.069,193,2.492,220,2.136,271,2.279,272,1.048,297,1.288,304,4.526,305,2.112,309,1.829,315,2.486,316,1.279,317,0.762,318,0.868,326,2.529,342,3.654,377,1.779,395,2.844,444,3.808,445,2.421,490,2.847,495,4.212,505,3.546,507,4.496,661,2.844,673,6.089,684,2.9,695,4.621,696,4.506,697,4.889,699,3.823,718,4.526,726,3.823,772,3.336,816,3.166,817,4.526]],["t/120",[9,2.725,56,2.297,321,2.638,330,3.489,684,5.057,721,3.603,818,5.392]],["t/122",[9,2.52,119,2.627,134,2.156,321,2.439,330,3.227,395,4.587,495,4.772,661,4.587,684,4.677,699,6.166,725,5.236,729,4.587,818,4.986,819,5.106]],["t/124",[80,3.913,119,2.283,134,1.874,153,2.19,172,2.208,175,1.472,215,3.545,220,2.995,239,4.438,320,2.665,321,2.12,322,3.304,323,2.719,324,2.995,348,3.987,398,3.493,559,4.237,560,3.844,665,5.151,682,5.61,683,5.359,684,4.065,689,3.065,743,4.676,773,5.61,774,6.345,820,4.438,821,6.345]],["t/126",[2,0.38,12,0.847,15,1.356,18,1.539,21,2.188,26,2.642,37,2.844,49,2.84,56,1.013,62,1.344,65,2.966,66,0.97,68,0.754,78,1.766,85,1.837,96,2.109,105,4.395,108,2.758,116,2.276,119,1.253,122,4.558,158,2.208,167,1.705,171,3.626,172,1.212,175,1.492,181,2.109,214,2.566,216,2.941,227,1.472,231,2.941,236,1.975,255,3.251,265,1.889,266,3.078,267,4.964,268,4.614,269,2.826,270,3.078,271,1.232,272,0.864,273,4.694,274,3.251,275,3.078,276,3.481,277,3.481,278,1.118,279,2.566,280,4.146,281,3.481,282,2.941,283,3.481,284,3.078,285,3.481,286,2.23,287,2.188,288,2.276,289,4.484,290,4.484,291,3.481,292,2.147,293,2.378,294,2.826,295,2.941,296,3.251,297,1.511,298,3.545,299,2.006,300,3.481,301,2.073,822,3.078,823,4.31,824,3.832]],["t/128",[2,1.045,62,3.051,74,2.569,105,6.323,227,1.399,271,3.099,272,1.286,310,3.367,311,3.843,312,2.944,313,3.422,314,2.822,315,3.051,316,1.728,317,1.03,318,1.172,319,5.408,320,2.569]],["t/131",[14,2.496,37,2.703,68,1.325,78,2.17,105,5.399,119,2.201,124,1.448,172,2.128,206,3.843,267,3.918,268,3.642,280,4.953,319,5.408,321,2.641,322,3.185,323,2.621,324,2.887,325,4.56,409,4.387,490,2.703,825,7.744,826,4.177]],["t/133",[2,0.959,75,4.549,78,1.694,105,6.345,124,1.461,193,3.397,271,2.813,272,1.294,293,4.215,312,2.299,313,2.672,315,3.069,316,1.744,317,1.039,318,1.183,321,2.062,323,2.645,330,2.728,331,4.684,592,5.457,822,5.457,827,6.171,828,6.171]],["t/135",[2,0.947,37,2.656,71,4.31,105,5.931,106,4.31,124,1.85,271,2.765,272,1.272,293,4.103,312,2.238,313,2.601,315,3.016,316,1.698,317,1.012,318,1.152,321,2.007,323,2.575,329,4.708,330,3.454,331,5.93,332,4.56,333,2.804,823,4.877,829,6.612]],["t/137",[2,0.916,31,3.598,37,3.713,62,1.448,66,1.045,79,1.731,85,1.979,94,1.488,96,2.272,105,5.738,121,2.939,122,1.953,124,1.33,156,3.047,158,2.336,159,1.224,166,2.623,172,1.305,178,2.939,216,3.168,227,0.858,265,2.035,271,2.645,272,1.303,280,3.999,289,3.168,290,3.168,292,2.313,293,2.562,294,3.045,295,3.168,297,1.599,298,3.751,299,2.161,301,2.233,305,1.75,312,2.092,313,2.431,315,2.885,316,1.587,317,0.946,318,1.077,319,4.966,320,1.576,331,4.262,401,2.691,592,4.966,743,2.765,822,4.966,825,4.966,827,3.751,828,5.616,830,3.317,831,6.181,832,3.502,833,3.045]],["t/139",[2,0.625,5,3.058,12,1.666,14,1.574,18,1.705,20,2.741,26,2.928,30,3.131,62,1.489,68,1.483,78,1.574,84,2.188,85,2.036,88,3.768,93,2.064,94,1.53,101,3.857,122,2.986,126,3.258,129,3.857,134,1.139,137,3.131,153,1.979,156,2.093,159,1.871,172,1.996,175,1.588,209,2.123,228,3.411,273,5.071,278,1.239,302,1.761,305,1.8,316,1.62,325,2.009,385,5.071,398,2.123,401,2.767,463,2.009,624,2.804,649,2.287,736,2.635,834,4.855,835,5.557,836,7.533,837,4.245,838,4.245,839,4.245,840,3.131,841,4.245,842,4.245,843,4.245,844,4.245,845,4.245,846,4.513,847,4.245,848,4.245,849,2.424,850,3.023,851,2.767,852,2.767,853,3.131,854,3.411]],["t/141",[2,0.793,5,2.407,9,1.86,10,4.764,11,2.459,12,2.003,13,3.452,15,2.098,16,1.891,55,3.208,65,3.01,68,1.167,78,1.479,119,1.939,124,1.721,141,3.386,163,3.264,173,3.393,175,2.043,227,1.233,235,3.971,278,1.73,316,1.522,618,4.089,675,5.031,677,4.089,702,5.388,834,5.643,855,4.764,856,5.93,857,5.93,858,3.598,859,6.318]],["t/143",[14,2.541,68,1.349,73,3.082,91,4.468,108,2.669,124,1.475,134,1.84,144,4.727,156,3.38,175,1.445,181,3.773,189,3.99,246,6.228,287,3.913,316,1.76,348,3.913,398,4.403,552,5.815,834,5.124,835,7.172,860,6.855,861,5.507,862,6.855,863,5.056,864,4.16,865,4.881]],["t/145",[74,3.436,834,5.24,861,7.232,866,8.179]],["t/147",[2,0.698,12,1.559,47,3.489,66,1.784,124,1.516,173,2.989,220,3.023,287,5.624,316,1.81,342,3.633,644,5.199,650,5.199,662,6.404,834,6.23,861,7.199,867,6.404,868,6.38,869,5.019]],["t/149",[21,4.967,62,2.36,91,4.387,116,3.999,124,1.448,134,1.806,181,4.789,253,4.177,287,3.843,348,3.843,398,3.367,552,5.711,667,4.278,677,4.642,759,4.642,834,3.918,835,7.11,861,5.408,864,5.279,865,4.793,870,6.731,871,4.177,872,6.731,873,6.116,874,6.116,875,4.642,876,4.642]],["t/151",[0,5.199,1,5.199,2,0.888,6,4.932,7,7.199,9,2.211,12,1.559,14,3.322,22,4.418,62,2.472,71,5.84,73,3.169,128,5.663,201,4.594,208,5.199,211,6.404,271,2.266,303,5.199,344,5.663,877,7.049,878,6.404]],["t/154",[2,0.705,6,3.917,9,2.827,11,2.951,22,3.508,66,1.801,71,5.876,74,3.777,104,4.318,107,4.142,201,4.638,343,2.919,548,4.522,551,4.907,566,6.037,631,4.227,855,7.242,879,6.037,880,6.465,881,6.465,882,4.063]],["t/156",[2,0.719,9,2.862,22,3.576,66,1.836,71,5.947,74,3.81,104,4.402,107,4.223,201,4.728,343,2.976,548,4.61,551,5.002,566,6.154,880,6.591,881,6.591,882,4.141,883,5.828,884,8.469]],["t/158",[66,2.101,104,5.038,107,4.832,134,2.228,159,2.461,172,2.625,253,5.152,643,6.372,885,6.123,886,7.543,887,7.043]],["t/160",[2,0.871,71,5.729,74,3.355,271,2.826,570,6.746,888,6.062]],["t/162",[2,0.883,9,3.034,11,1.761,14,1.574,22,3.714,62,1.489,71,6.306,78,1.059,124,1.621,227,0.882,257,1.863,259,2.155,271,2.422,272,1.318,275,3.411,297,1.098,312,1.437,313,1.67,314,1.78,315,2.213,316,1.62,317,0.966,318,0.739,321,1.289,362,1.082,363,2.576,383,3.411,420,1.637,423,2.843,431,2.873,444,1.637,507,1.933,516,3.857,547,2.297,556,3.204,591,2.223,608,2.928,631,3.749,689,1.863,696,2.698,721,1.761,738,2.009,786,3.258,855,5.071,884,3.602,889,2.522,890,2.337,891,2.379,892,5.734,893,6.845,894,3.857,895,6.311,896,4.245,897,4.245,898,4.245,899,4.245,900,4.245,901,6.311,902,1.982]],["t/164",[2,0.961,9,3.153,22,4.193,62,1.845,68,1.036,71,6.323,124,1.132,227,1.094,271,2.735,272,1.258,312,2.494,313,2.899,314,2.206,315,2.584,316,1.351,317,1.128,318,0.916,321,1.597,362,1.341,408,3.344,418,3.746,431,3.355,504,4.193,689,2.31,851,3.43,884,6.252,889,3.126,890,2.896,891,2.949,903,3.43,904,7.37,905,4.464,906,4.464,907,5.262,908,4.781]],["t/167",[9,2.952,22,4.64,124,1.64,321,2.315,323,2.969,364,2.315,410,4.353,412,3.307,624,3.387,721,3.162,894,6.927,909,6.125,910,7.624,911,5.851,912,5.106,913,5.106,914,5.624]],["t/169",[2,0.525,6,4.077,9,2.323,11,2.198,22,3.651,58,4.106,71,4.827,78,1.322,79,2.222,95,2.69,124,1.14,220,2.273,227,1.101,271,1.704,272,1.095,297,1.915,316,1.901,317,1.133,318,0.923,321,1.609,362,1.351,363,4.494,364,1.609,366,1.454,367,3.176,420,2.855,431,2.412,468,6.298,631,5.072,721,2.198,816,4.707,819,4.707,890,2.917,891,2.97,892,6.729,893,8.399,915,3.549,916,5.299]],["t/171",[9,2.055,16,2.09,22,3.231,50,5.063,71,4.272,84,3.378,88,3.278,93,3.186,124,1.839,173,2.779,227,1.362,230,4.667,278,2.777,325,4.045,351,4.067,386,4.834,560,3.608,667,4.165,728,3.608,814,4.52,903,4.272,917,6.554,918,6.554,919,6.554,920,6.554,921,5.56,922,4.834,923,6.554,924,4.272]],["t/173",[9,2.952,22,4.64,321,2.857,364,2.857,408,4.845,490,3.78,504,4.64,728,5.181,905,6.468,906,6.468,908,6.927,925,7.624]],["t/175",[482,7.503]],["t/177",[2,0.638,5,4.066,12,1.425,14,2.388,20,3.075,56,1.703,74,2.459,78,2.108,89,2.794,134,1.729,145,3.909,159,1.909,175,1.357,278,1.88,310,3.222,736,3.997,926,7.242,927,7.242,928,5.175,929,4.442,930,4.586,931,4.944,932,5.372,933,8.574,934,5.175]],["t/179",[2,0.764,12,1.243,14,2.083,16,2.459,50,2.989,64,2.941,78,2.477,122,2.658,167,1.639,176,2.989,227,1.168,272,0.831,278,1.639,292,3.148,297,1.995,299,2.941,302,2.33,309,2.063,317,0.86,318,0.978,364,1.706,366,1.542,377,2.754,445,2.633,631,5.231,721,2.33,736,3.486,826,3.486,926,4.312,927,4.312,929,5.318,930,4,935,9.933,936,5.104,937,5.618,938,5.919,939,5.618]],["t/181",[5,3.799,14,1.776,16,1.527,68,0.943,78,2.014,93,2.328,175,1.009,213,4.063,265,2.361,272,0.708,317,0.733,318,0.834,362,1.757,364,1.454,365,1.726,366,1.315,367,2.956,390,5.012,420,1.847,440,6.665,457,7.338,460,6.516,461,4.908,466,4.352,587,3.026,676,4.063,727,5.291,929,4.754,940,4.063,941,4.79,942,10.046,943,4.352,944,4.352,945,4.79,946,4.352,947,4.063,948,4.779,949,5.291,950,6.894,951,6.894,952,6.264]],["t/183",[19,4.374,44,5.019,56,1.864,62,2.472,69,5.437,93,3.427,157,4.721,195,3.88,207,4.721,208,5.199,209,3.526,253,4.374,953,7.602,954,5.891,955,7.049,956,5.98,957,5.98,958,7.049,959,7.199,960,5.41]],["t/185",[3,4.09,12,1.532,48,3.228,49,2.343,59,2.864,68,1.363,93,3.367,103,3.432,104,2.925,122,2.281,132,4.38,147,2.447,150,3.556,157,3.228,171,2.992,173,2.044,195,4.877,209,2.411,227,1.002,273,3.873,278,1.407,292,2.701,372,3.556,381,2.701,407,3.556,670,4.09,676,4.09,736,2.992,772,3.228,816,3.064,849,2.752,858,2.925,932,3.064,954,5.166,959,5.564,960,5.315,961,4.82,962,4.82,963,4.82,964,4.82,965,4.09,966,4.82,967,4.82,968,3.7,969,4.38,970,4.09,971,3.556,972,3.873,973,4.09,974,4.09,975,4.82,976,3.432,977,4.82,978,4.82,979,4.09,980,4.82,981,3.873,982,4.82,983,4.82,984,4.82,985,3.873,986,4.38,987,4.82,988,4.38]],["t/187",[2,0.913,61,4.781,62,1.845,68,1.036,74,2.009,93,2.558,124,1.132,163,4.682,175,1.553,195,2.896,271,2.735,272,1.09,311,3.004,312,1.781,313,2.07,315,2.584,316,1.351,317,0.805,318,0.916,362,1.341,364,1.597,366,1.444,367,4.518,440,3.746,441,4.227,528,3.063,587,2.31,741,4.935,954,4.682,989,6.252,990,6.696,991,5.262,992,5.262,993,7.37,994,7.37,995,5.656,996,5.921]],["t/189",[48,5.887,305,3.727,909,7.062,954,4.838,960,6.746,997,7.457]],["t/191",[68,1.257,133,3.963,163,5.978,195,3.515,302,2.648,351,3.963,569,7.134,766,7.638,819,4.058,858,3.875,924,4.162,960,4.901,998,6.386,999,3.343,1000,9.397,1001,6.386,1002,4.901,1003,6.386,1004,6.386,1005,5.797,1006,6.386,1007,5.802,1008,4.547]],["t/193",[25,3.238,68,1.158,163,5.319,175,1.24,195,3.238,214,3.94,227,1.223,278,1.717,321,1.786,422,3.425,429,6.652,444,2.268,450,4.057,455,5.058,725,3.835,785,3.739,883,4.727,995,7.748,1005,4.057,1009,4.727,1010,5.345,1011,8.779,1012,9.662,1013,5.883,1014,5.883,1015,4.727,1016,5.883,1017,5.883,1018,5.345,1019,5.883,1020,7.231]],["t/195",[30,4.921,58,4.263,154,4.048,163,3.672,195,3.672,265,3.289,278,1.947,490,2.679,582,4.75,721,2.767,748,6.38,794,5.36,929,5.965,1005,4.6,1021,3.883,1022,5.66,1023,4.75,1024,5.66,1025,5.36,1026,4.75,1027,6.671,1028,5.36,1029,5.36,1030,6.061,1031,6.671,1032,6.671,1033,6.671,1034,6.671,1035,6.671]],["t/197",[14,1.659,89,1.941,163,4.71,195,2.463,414,5.566,444,3.299,569,7.505,587,1.964,626,2.604,649,1.358,741,6.376,770,6.566,954,2.463,959,3.595,985,3.595,995,7.307,1011,4.065,1036,4.474,1037,9.509,1038,4.474,1039,4.474,1040,4.474,1041,4.474,1042,9.11,1043,9.11,1044,4.474,1045,4.065,1046,3.595,1047,4.474,1048,4.474,1049,4.474,1050,4.474]],["t/199",[14,3.603,78,2.004,163,5.751,175,1.693,235,5.38,960,6.166,1029,6.455,1037,7.3,1051,8.034,1052,6.455,1053,8.034]],["t/201",[20,2.494,67,3.243,74,2.617,75,4.591,84,3.533,93,3.332,163,3.773,195,3.773,320,3.36,367,3.775,410,3.913,624,4.319,738,3.243,740,5.261,954,3.773,989,5.815,995,6.756,1054,8.802,1055,8.802,1056,7.462,1057,6.855]],["t/203",[5,3.909,11,2.421,12,1.987,14,2.164,20,2.88,25,3.213,56,1.543,66,2.003,68,1.149,122,2.762,147,2.963,173,2.475,175,1.23,227,1.213,251,3.909,278,1.703,421,2.92,438,3.083,464,4.025,490,2.344,581,6.016,618,4.025,834,6.18,859,3.805,863,4.306,1058,4.952,1059,5.304,1060,5.304,1061,4.306,1062,5.304,1063,5.837,1064,5.837,1065,5.837]],["t/205",[2,0.961,12,1.164,38,2.949,62,1.845,66,1.331,68,1.45,74,2.009,78,1.312,95,2.671,112,2.949,122,2.489,173,2.231,175,1.109,227,1.094,265,2.594,271,2.963,272,0.778,280,3.583,312,1.781,313,2.07,315,1.845,317,0.805,318,0.916,320,2.009,326,4.318,332,3.629,398,2.632,450,3.629,451,3.921,570,4.038,581,5.696,603,3.583,728,2.896,834,5.364,888,3.629,1066,7.216,1067,5.921,1068,5.436,1069,4.781,1070,3.629,1071,3.881]],["t/208",[64,4.206,67,3.801,68,1.581,249,5.38,438,3.129,512,7.3,513,7.3,581,5.38,624,3.569,675,6.816,834,6.082,909,6.455]],["t/210",[5,3.142,20,2.376,21,3.729,55,2.406,66,1.653,67,2.104,68,1.286,78,1.109,121,4.651,122,2.104,144,3.067,156,2.193,158,1.681,167,1.298,175,1.631,221,4.818,227,0.924,230,3.167,236,2.292,272,0.658,279,4.375,316,1.142,364,1.35,366,1.221,367,2.801,401,2.899,560,2.448,581,4.375,618,4.505,678,3.367,810,4.041,834,5.29,852,2.899,858,2.699,865,3.167,887,3.773,979,3.773,1024,3.773,1072,6.568,1073,6.532,1074,3.773,1075,4.258,1076,5.542,1077,4.447,1078,4.041,1079,4.447,1080,5.942,1081,6.532,1082,4.258,1083,4.447,1084,3.573,1085,3.413,1086,4.447,1087,5.935,1088,4.041,1089,4.447,1090,4.447,1091,4.447,1092,3.773,1093,3.281]],["t/212",[2,0.46,18,1.864,37,3.713,38,3.776,55,3.646,62,1.627,65,2.356,167,2.54,175,0.978,194,3.423,222,3.937,232,3.729,271,1.492,272,0.996,278,1.966,297,1.743,309,2.475,335,4.798,348,2.65,365,2.859,377,2.406,401,3.025,422,2.701,425,3.304,445,1.584,455,4.282,480,1.99,481,1.99,581,3.108,589,5.414,628,3.2,661,2.65,800,3.562,834,3.922,902,2.167,940,3.937,1024,3.937,1067,6.374,1085,3.562,1094,4.217,1095,3.937,1096,4.641,1097,4.641,1098,5.717,1099,4.282,1100,3.025,1101,6.731,1102,4.641,1103,4.641,1104,6.122,1105,6.738,1106,6.122,1107,4.641]],["t/214",[2,0.716,37,3.365,38,2.868,55,2.769,56,1.353,68,1.007,81,2.922,108,1.993,134,1.373,147,2.598,172,1.618,175,1.523,179,2.979,227,1.064,250,3.529,271,2.324,272,1.069,280,3.513,298,3.106,312,1.732,313,2.013,315,1.795,317,0.783,318,0.891,332,3.529,490,2.055,503,3.176,529,2.979,547,2.769,581,3.427,603,3.513,678,2.638,728,2.817,834,4.877,973,4.342,1021,2.979,1025,4.112,1066,6.131,1067,5.806,1068,5.331,1071,3.775,1108,3.529,1109,9.103,1110,4.342,1111,3.775,1112,3.336,1113,4.65,1114,5.118,1115,5.118,1116,5.118,1117,5.118]],["t/216",[2,0.745,15,1.916,38,3.034,55,4.067,68,1.066,81,4.292,108,2.108,133,3.36,134,1.453,167,1.58,171,3.36,172,1.712,175,1.82,227,1.125,236,2.791,271,2.417,272,0.801,280,4.199,292,3.034,312,1.832,313,2.13,315,1.899,317,0.829,318,0.943,332,3.734,351,3.36,581,5.035,603,3.655,678,2.791,728,2.98,834,5.027,1066,6.378,1067,6.939,1068,5.545,1071,3.994,1099,3.441,1118,5.414,1119,5.414,1120,4.35,1121,4.593,1122,5.414,1123,3.994,1124,4.593]],["t/218",[5,3.247,12,1.312,66,1.5,133,3.68,158,2.241,167,1.73,172,1.875,175,1.686,227,2.015,250,4.089,292,3.323,302,2.459,372,4.374,401,3.865,412,2.573,422,3.452,435,2.883,463,4.284,738,2.806,741,3.971,772,3.971,834,3.452,846,3.208,864,3.598,888,4.089,932,3.769,974,5.031,1005,4.089,1008,4.222,1100,5.902,1125,3.68,1126,5.93,1127,8.001,1128,5.93,1129,5.93,1130,5.93,1131,4.374]],["t/220",[5,3.163,12,1.262,66,1.972,67,2.698,144,3.933,147,2.895,159,1.691,167,1.664,175,1.202,176,3.035,215,2.895,218,3.035,227,1.186,351,3.54,399,2.812,418,4.061,490,2.291,678,2.94,738,2.698,821,5.182,834,4.536,846,4.216,852,6.509,859,3.718,932,3.625,957,4.839,974,4.839,1005,5.374,1029,4.582,1121,4.839,1132,5.704,1133,5.182,1134,5.182,1135,5.704,1136,5.704,1137,5.704,1138,5.704,1139,5.704,1140,5.704,1141,5.704,1142,5.704,1143,4.207,1144,5.704]],["t/222",[2,0.627,3,5.372,6,3.485,9,1.986,12,1.4,14,2.348,18,2.543,31,3.686,51,3.548,52,3.393,53,3.713,57,4.024,65,3.214,66,2.115,67,2.996,94,2.282,149,2.201,167,1.848,178,4.508,235,4.241,257,2.779,381,3.548,517,3.842,689,2.779,863,4.67,902,2.957,911,4.86,934,5.087,1145,6.332,1146,6.332,1147,6.332,1148,6.332,1149,6.332,1150,5.087,1151,6.332,1152,3.842]],["t/224",[2,1.025,20,2.304,53,2.813,62,2.931,74,2.417,134,1.699,175,1.334,227,1.316,271,3.2,272,1.236,310,3.167,311,3.615,312,2.143,313,2.491,314,2.655,315,2.931,316,1.626,317,0.969,318,1.103,361,5.372,371,5.087,408,4.024,769,5.798,889,3.761,903,4.127]],["t/226",[2,0.405,11,1.693,47,2.387,52,2.488,53,3.634,66,1.033,85,2.94,127,3.012,153,1.28,250,2.816,272,0.604,288,2.425,297,1.056,316,1.048,317,0.625,318,0.711,333,2.599,362,1.041,363,3.72,365,2.21,366,2.245,377,2.189,406,2.247,407,3.012,419,2.073,420,3.154,433,3.854,435,2.98,436,3.982,438,2.866,444,1.574,445,1.394,529,2.377,547,2.209,571,3.112,586,2.073,603,2.98,606,2.816,637,3.896,721,1.693,724,2.907,754,3.012,769,4.913,819,2.595,902,1.907,948,3.317,995,6.279,1152,2.478,1153,6.467,1154,3.71,1155,4.797,1156,3.71,1157,3.28,1158,3.71,1159,3.464,1160,4.083,1161,4.522,1162,3.71,1163,4.083,1164,4.083,1165,3.134,1166,3.28,1167,3.71]],["t/228",[94,2.776,227,1.969,386,5.682,406,5.214,409,5.021,569,6.343,572,6.188,637,4.895,1153,8.103,1168,5.682,1169,6.535]],["t/230",[5,2.448,26,2.755,47,1.556,50,2.126,51,3.38,52,2.949,53,3.227,66,1.011,159,1.184,175,0.842,227,1.51,272,1.074,297,1.033,317,0.611,318,0.696,362,1.852,365,1.44,366,1.655,381,3.38,406,5.027,419,3.062,420,1.54,425,2.845,433,2.092,435,2.932,436,2.162,483,3.66,569,2.676,571,3.062,572,4.846,587,1.754,637,5.143,738,3.437,812,2.539,948,4.941,1023,2.845,1153,5.969,1157,3.21,1169,6.866,1170,4.629,1171,5.48,1172,3.996,1173,3.39,1174,3.996,1175,2.845,1176,4.629,1177,6.031,1178,4.629,1179,4.294,1180,7.265,1181,3.833,1182,4.316,1183,3.63,1184,3.63,1185,5.48,1186,3.21]],["t/232",[2,0.565,5,3.163,47,2.221,51,3.196,52,3.602,53,3.943,66,1.443,265,2.812,272,1.312,317,0.873,318,0.993,362,1.454,364,1.732,365,2.056,366,1.565,381,3.196,406,4.289,419,2.895,425,4.061,435,2.773,483,3.461,569,3.82,572,4.582,769,4.367,875,3.933,922,4.207,948,3.086,1023,5.548,1153,7.366,1157,4.582,1171,7.08,1181,4.952,1183,5.182,1187,7.53]],["t/235",[2,0.215,4,1.348,12,0.48,19,1.348,20,0.79,52,0.882,53,0.965,56,0.574,57,1.38,66,0.55,80,1.217,84,1.12,93,1.056,94,1.331,99,1.498,119,1.207,124,0.467,159,0.644,163,1.196,175,1.015,253,1.348,257,2.113,268,1.175,272,0.321,301,1.175,312,1.63,318,0.989,320,0.829,324,1.583,326,1.103,333,1.565,362,0.941,364,0.659,366,0.596,410,2.108,426,2.341,431,1.681,433,1.137,435,4.077,436,1.997,438,1.438,439,1.66,464,1.498,480,1.583,481,1.583,524,2.629,529,4.028,582,1.547,587,1.621,603,1.056,606,1.498,609,3.803,624,0.965,626,1.264,633,1.974,759,1.498,769,5.729,770,5.358,777,4.294,783,4.375,785,2.346,789,4.358,859,1.416,902,1.014,911,2.834,931,1.667,948,3.443,1010,1.974,1015,1.745,1161,2.723,1165,4.884,1188,5.16,1189,2.172,1190,1.455,1191,1.745,1192,6.186,1193,4.375,1194,2.172,1195,3.692,1196,3.132,1197,1.602,1198,4.189,1199,2.966,1200,2.172,1201,1.348,1202,4.815,1203,3.354,1204,2.172,1205,2.172,1206,2.172,1207,2.172,1208,1.974,1209,1.974,1210,2.172,1211,2.172,1212,5.679,1213,1.974,1214,2.172,1215,1.843,1216,1.974,1217,2.172,1218,2.172,1219,2.172,1220,2.172,1221,1.974,1222,1.318,1223,3.692,1224,3.692,1225,2.172,1226,1.843,1227,1.974,1228,3.692,1229,3.692,1230,1.974,1231,3.692,1232,3.692,1233,1.29,1234,2.172,1235,1.196,1236,2.172,1237,2.172,1238,4.815,1239,1.974,1240,1.974,1241,2.172,1242,3.132,1243,2.172,1244,1.974,1245,1.974,1246,2.172,1247,2.172,1248,2.172,1249,2.172,1250,1.843,1251,2.172,1252,2.172,1253,2.172,1254,1.843]],["t/237",[2,0.175,4,1.096,11,0.733,13,1.028,44,1.258,50,2.19,51,0.99,52,0.717,53,4.474,55,1.671,65,1.568,67,0.836,68,0.608,73,0.794,84,1.592,93,2.001,94,1.113,112,0.99,119,2.171,124,0.665,134,1.105,140,1.303,142,1.605,147,0.897,153,0.554,157,1.183,162,1.151,167,1.441,172,1.302,175,1.3,217,1.605,226,0.794,253,1.096,265,0.871,272,0.261,278,1.8,320,1.885,323,0.688,324,1.765,343,0.725,352,2.13,362,1.258,404,1.605,412,1.34,422,1.028,424,1.218,426,0.859,429,1.303,435,3.425,437,1.835,438,1.923,447,1.948,448,1.183,451,1.644,464,1.218,473,2.013,490,0.709,504,2.434,518,1.218,529,1.798,560,0.972,586,0.897,603,1.502,640,2.807,642,1.123,650,2.279,689,2.167,715,1.072,724,1.258,725,1.151,728,0.972,742,0.925,759,1.218,769,4.145,789,2.371,814,2.839,820,2.616,859,1.151,865,2.931,875,3.868,902,3.101,922,4.137,971,1.303,1023,3.993,1026,5.266,1078,1.605,1101,3.492,1131,1.303,1150,1.419,1153,3.036,1155,2.683,1159,1.499,1161,4.137,1167,1.605,1187,6.275,1188,2.807,1197,1.303,1255,1.766,1256,3.089,1257,1.766,1258,1.766,1259,1.151,1260,4.116,1261,2.371,1262,1.258,1263,1.499,1264,1.766,1265,2.279,1266,1.766,1267,1.499,1268,1.419,1269,1.766,1270,4.938,1271,3.089,1272,1.766,1273,1.605,1274,1.499,1275,1.766,1276,3.089,1277,1.499,1278,1.766,1279,1.766,1280,1.303,1281,1.766,1282,1.766,1283,1.605,1284,1.183,1285,1.766,1286,1.766,1287,1.766,1288,1.766,1289,1.303,1290,1.766,1291,1.766,1292,1.766,1293,5.609,1294,4.116,1295,1.766,1296,1.766,1297,1.766,1298,2.807,1299,1.766,1300,4.506,1301,3.089,1302,1.766,1303,1.766,1304,3.089,1305,1.183,1306,1.766,1307,3.089,1308,3.089,1309,1.766,1310,3.089,1311,1.766,1312,1.499,1313,3.089,1314,3.089,1315,3.307,1316,1.356,1317,1.419]],["t/239",[2,0.34,9,1.075,50,1.824,53,3.988,57,2.178,68,1.055,108,1.335,119,1.121,124,1.153,134,1.439,147,3.351,159,1.589,179,1.995,189,3.12,225,2.178,227,1.114,271,1.102,272,0.507,279,4.421,286,1.995,297,0.886,299,1.794,312,2.234,316,0.88,317,0.525,324,2.299,362,0.874,366,2.049,381,3.7,408,2.178,417,3.114,422,1.995,426,2.606,431,1.56,435,2.606,438,1.335,445,1.17,451,1.824,464,2.364,477,2.631,480,2.831,481,2.831,493,1.995,547,3.572,586,2.721,660,2.364,678,1.767,689,1.504,769,3.7,770,5.149,875,6.191,902,1.6,903,2.234,914,2.528,924,2.234,1087,3.114,1159,2.908,1165,4.114,1191,2.754,1192,7.044,1193,3.114,1198,4.869,1262,2.44,1280,2.528,1283,4.871,1316,4.114,1318,4.548,1319,3.427,1320,4.548,1321,3.114,1322,3.427,1323,5.361,1324,2.754,1325,5.361,1326,3.427,1327,3.114,1328,3.427,1329,3.114]],["t/241",[2,0.631,9,1.347,53,3.726,65,2.18,68,0.845,73,1.931,85,2.059,89,1.863,119,2.081,124,1.632,172,1.358,175,1.768,227,0.893,271,1.381,272,0.941,286,3.705,297,1.111,316,1.103,317,0.974,318,0.748,341,3.057,352,2.961,362,1.095,366,1.747,369,2.876,405,3.781,406,3.504,422,2.5,431,1.955,433,3.333,436,3.444,438,2.479,445,1.466,463,2.032,529,3.705,603,3.094,738,3.011,769,5.442,840,3.167,902,2.972,931,5.821,948,4.103,1155,2.799,1157,3.45,1158,3.902,1198,5.594,1239,5.783,1240,5.783,1318,5.4,1320,5.4,1330,4.294,1331,3.057,1332,4.294,1333,2.18,1334,6.365]],["t/243",[50,3.155,57,5.085,65,3.01,191,4.764,212,5.388,278,2.335,292,5.432,305,2.514,312,2.007,321,1.8,362,1.511,422,3.452,426,4.402,435,2.883,483,3.598,769,4.484,770,4.089,816,3.769,875,4.089,902,2.769,912,5.358,913,5.358,924,5.902,1143,4.374,1165,4.551,1187,5.031,1192,4.374,1198,4.374,1203,5.388,1244,5.388,1263,5.031,1321,5.388,1329,5.388,1335,6.788]],["t/246",[6,4.032,20,2.665,39,5.571,66,1.854,68,1.442,79,3.849,88,3.664,94,2.64,108,2.852,149,2.546,176,3.898,405,5.454,434,5.051,502,4.906,624,3.254,1123,5.403,1336,7.325,1337,7.325,1338,7.325,1339,7.325]],["t/248",[53,2.677,56,1.593,66,1.525,138,7.006,149,2.094,153,1.89,158,2.278,167,1.758,171,3.739,218,3.206,249,4.035,257,2.645,278,1.758,372,4.445,399,3.987,405,4.804,410,3.44,528,3.508,609,4.035,624,2.677,715,4.908,1061,4.445,1123,4.445,1261,4.625,1340,7.348,1341,4.841,1342,6.026,1343,5.475,1344,8.294,1345,9.757,1346,6.026,1347,6.026,1348,6.026,1349,5.475]],["t/250",[2,0.602,6,2.223,15,1.429,26,2.785,49,1.963,53,2.701,65,2.05,66,1.022,67,1.911,112,2.263,124,1.573,134,1.084,141,4.175,149,1.404,167,1.179,172,1.277,175,0.851,215,3.087,218,2.149,220,1.732,226,1.816,227,0.84,257,2.669,259,3.087,271,1.955,272,0.899,278,1.179,297,1.891,299,2.115,316,1.877,317,0.93,362,1.55,399,1.991,405,3.612,413,2.399,431,2.768,438,3.169,439,1.816,445,2.497,447,1.911,483,2.451,495,2.399,536,3.1,626,3.539,715,2.451,769,4.56,800,3.1,863,2.979,1061,2.979,1153,2.979,1198,4.485,1262,2.876,1300,3.245,1318,8.308,1320,6.903,1340,5.524,1350,4.039,1351,4.039,1352,4.039,1353,4.344,1354,3.67,1355,3.426,1356,4.039,1357,2.785]],["t/252",[2,0.733,11,3.068,12,1.636,14,2.743,34,5.267,89,3.209,124,1.592,201,4.822,209,3.7,230,5.267,234,6.276,307,5.457,343,3.035,465,5.943,826,4.591,1358,6.814,1359,7.09,1360,5.678,1361,7.398,1362,6.276]],["t/255",[35,6.1,74,3.034,128,6.386,158,3.004,172,2.513,175,2.035,311,4.538,420,3.064,1358,7.671,1362,6.743,1363,5.481,1364,6.386]],["t/257",[2,0.759,5,1.773,12,0.966,56,1.705,68,0.86,95,2.218,108,1.702,119,1.429,124,1.941,134,1.173,227,0.908,269,3.223,272,0.953,307,3.223,309,1.605,312,3.053,314,1.832,316,1.655,317,0.987,318,1.123,409,2.848,413,2.596,426,2.124,439,2.899,463,2.067,528,2.544,546,2.848,564,2.777,605,2.364,692,3.013,738,2.067,761,4.591,762,3.223,778,5.881,814,3.013,869,4.591,1082,2.848,1316,3.354,1358,7.676,1362,3.707,1363,3.013,1364,6.156,1365,2.848,1366,8.578,1367,3.013,1368,3.013,1369,2.848,1370,3.97,1371,3.97,1372,4.369,1373,4.369,1374,4.369,1375,4.202,1376,3.549]],["t/259",[13,3.479,74,2.282,92,3.896,162,3.896,173,2.534,272,0.884,297,2.08,317,0.915,318,1.041,333,2.534,343,2.452,364,2.442,366,1.641,420,3.101,448,4.003,564,3.799,586,3.034,642,3.799,660,4.122,663,3.896,716,4.409,728,3.29,749,6.174,1284,4.003,1360,6.174,1376,5.005,1377,8.725,1378,5.977,1379,4.802,1380,4.588,1381,4.802,1382,5.431]],["t/261",[2,0.343,5,2.695,68,0.681,69,2.099,74,2.061,78,1.656,92,2.255,108,1.347,109,1.73,158,1.308,173,1.467,175,0.729,227,0.719,235,2.317,272,1.109,297,0.895,310,1.73,311,1.975,312,1.827,316,0.888,317,0.826,318,0.94,343,1.419,363,4.03,364,1.05,366,0.949,413,2.055,420,2.56,435,1.682,445,1.843,448,2.317,528,2.014,564,2.198,591,2.827,615,3.723,642,2.198,663,2.255,667,2.198,692,2.385,716,2.552,761,2.463,762,3.983,770,6.427,778,4.144,811,2.655,932,4.22,1284,2.317,1358,7.477,1360,5.097,1363,2.385,1365,2.255,1366,4.906,1376,5.58,1379,2.779,1380,2.655,1381,2.779,1383,7.316,1384,4.906,1385,4.906,1386,3.866,1387,2.935,1388,3.143,1389,4.906,1390,3.459,1391,2.779,1392,3.459,1393,3.276,1394,3.143,1395,4.906,1396,3.143,1397,3.143]],["t/264",[74,3.478,311,5.202,1359,6.993]],["t/266",[2,0.77,12,1.451,56,1.735,108,1.742,119,1.463,124,1.671,134,1.201,227,0.93,269,3.3,272,0.97,309,1.643,312,2.629,313,1.76,316,1.684,317,1.004,318,1.143,413,2.658,420,1.725,426,2.175,439,2.95,445,1.528,463,2.117,546,2.916,564,2.843,605,2.421,692,3.085,738,2.117,742,2.342,761,4.671,762,3.3,778,6.567,814,3.085,902,2.089,954,2.463,1071,4.839,1316,5.035,1353,2.658,1359,7.902,1365,2.916,1367,3.085,1368,3.085,1369,2.916,1375,4.276,1376,4.71,1380,3.434,1398,8.651,1399,3.796,1400,7.058,1401,4.065,1402,4.474]],["t/268",[13,3.594,68,1.215,74,2.357,78,1.54,92,4.025,162,4.025,173,2.618,227,1.284,235,4.135,250,4.258,272,1.216,297,1.597,305,2.618,420,2.381,586,3.135,642,3.924,716,4.555,770,4.258,791,4.397,1284,4.135,1358,4.555,1359,4.739,1360,7.093,1363,4.258,1376,5.424,1377,8.244,1379,4.961,1380,4.739,1381,6.605,1382,5.61,1403,4.961]],["t/270",[2,0.325,5,3.421,12,1.418,13,1.908,56,0.866,68,0.645,69,1.989,74,1.975,78,1.291,92,2.136,108,1.276,109,1.639,162,2.136,173,1.39,195,1.804,227,0.681,271,2.062,272,1.305,297,0.848,310,1.639,311,1.871,312,1.751,316,0.841,317,0.792,318,0.901,343,1.344,363,3.891,364,0.995,366,0.899,413,1.947,435,1.593,445,1.767,528,1.908,564,2.083,586,1.664,591,2.709,615,3.569,642,2.083,663,2.136,667,2.083,692,2.26,716,2.417,761,2.333,762,3.817,770,6.309,778,3.972,811,2.515,932,3.289,954,1.804,1284,2.195,1358,3.817,1359,7.227,1360,3.972,1363,2.26,1365,2.136,1376,5.505,1379,2.633,1380,2.515,1381,5.852,1383,6.18,1384,2.978,1385,4.702,1386,3.733,1387,2.78,1388,6.618,1389,4.702,1393,3.14,1394,2.978,1395,4.702,1396,2.978,1397,2.978,1398,4.702,1404,5.175,1405,2.978,1406,3.277,1407,2.26]],["t/272",[2,0.771,4,4.83,7,6.253,12,1.721,14,2.886,50,5.072,51,5.774,89,3.376,177,4.723,274,6.603,840,5.741,1152,4.723,1182,4.623,1408,7.783]],["t/274",[2,1.051,62,3.087,74,2.617,227,1.425,271,3.126,272,1.301,310,3.429,311,3.913,312,2.979,313,3.463,314,2.874,315,3.087,316,1.76,317,1.049,318,1.194,1182,6.094]],["t/276",[18,3.094,50,5.04,78,1.921,141,4.398,153,2.416,158,2.912,193,3.853,227,1.969,293,4.78,398,3.853,547,4.167,556,3.91,674,5.912,684,4.484,793,5.159,1409,7.703]],["t/278",[2,0.511,47,2.007,50,4.475,272,0.762,297,1.878,317,0.789,318,0.898,330,2.917,366,1.414,398,2.577,419,2.616,420,1.987,433,2.698,436,2.788,454,3.955,546,3.359,547,3.929,571,4.887,587,3.691,603,4.088,637,6.118,678,2.656,728,3.997,812,5.803,948,4.55,1092,4.372,1170,3.955,1175,3.669,1176,5.574,1178,5.574,1179,3.669,1221,4.682,1410,5.357,1411,4.682,1412,4.682,1413,4.372,1414,4.682,1415,5.153,1416,4.682,1417,4.372]],["t/280",[2,0.74,227,1.553,272,1.374,297,2.404,317,1.143,318,1.301,419,3.793,420,3.583,424,5.152,637,4.748,948,5.474,1182,6.01,1418,7.467]],["t/282",[5,2.708,272,1.279,317,1.021,318,1.162,362,1.7,364,2.025,365,2.404,366,1.831,587,2.928,603,3.243,742,3.493,812,4.24,948,3.609,996,8.158,1023,4.75,1179,4.75,1181,5.497,1182,5.701,1184,8.72,1185,7.859,1186,5.36,1414,6.061,1419,6.671]],["t/284",[50,4.369,78,2.048,138,6.302,153,3.307,175,2.075,227,1.707,302,3.405,864,4.982,1420,6.966]],["t/286",[2,0.597,16,1.921,47,3.149,153,1.89,272,0.891,297,2.092,317,0.922,318,1.049,333,2.555,365,3.29,366,1.654,377,2.888,419,3.059,420,3.118,444,2.323,445,2.057,447,2.851,564,3.829,571,4.634,591,3.155,637,6.659,812,5.802,1175,4.29,1176,4.625,1178,6.207,1410,5.965,1421,5.965]],["t/288",[2,0.612,16,1.969,47,2.405,107,3.594,153,1.937,272,1.216,297,2.126,309,2.268,317,0.945,318,1.076,362,1.574,365,3.331,377,2.936,419,3.135,420,3.563,444,2.381,445,2.108,447,2.922,564,3.924,571,3.135,637,5.873,1182,6.268,1418,6.605,1421,7.268]],["t/290",[2,0.673,5,2.757,272,1.294,297,1.757,317,1.039,318,1.183,362,1.731,364,2.062,365,3.154,366,1.864,377,2.426,444,2.619,445,2.319,591,4.581,938,6.716,1176,5.213,1181,5.561,1182,4.035,1186,5.457,1421,5.01,1422,8.75,1423,8.75,1424,8.75]],["t/293",[2,0.859,12,0.879,50,2.115,52,1.613,53,1.765,56,1.051,68,0.782,73,2.701,149,1.381,153,1.246,227,0.826,271,1.278,272,1.348,288,2.361,297,2.241,302,1.648,316,1.542,317,1.235,318,1.261,362,1.531,366,1.091,420,3.341,431,1.809,433,2.081,434,2.741,435,1.932,436,2.15,437,2.361,439,1.787,529,2.314,586,2.018,587,2.637,637,5.792,663,2.59,689,2.637,726,4.61,812,3.818,826,2.466,948,4.931,1182,3.568,1190,2.662,1222,2.412,1367,2.741,1368,2.741,1410,5.953,1418,5.818,1425,7.241,1426,8.281,1427,5.458,1428,3.974,1429,6.007,1430,3.974,1431,5.458,1432,3.372]],["t/295",[2,0.566,18,1.107,28,1.752,47,1.074,50,3.038,62,0.967,68,0.543,85,1.322,94,0.994,108,1.074,119,0.902,133,3.544,134,0.74,156,1.359,159,1.335,175,0.949,180,3.106,189,1.605,227,0.573,272,0.844,278,0.805,297,1.165,309,2.097,317,0.874,318,0.995,330,1.809,341,1.963,343,2.981,362,1.455,366,1.236,377,0.985,406,3.143,410,1.574,419,1.4,421,1.379,422,1.605,423,3.017,431,2.05,433,1.444,436,1.492,437,1.638,439,1.24,447,1.304,454,2.116,529,1.605,571,2.287,586,2.287,637,4.19,678,1.421,728,3.629,738,3.438,812,6.425,814,1.901,902,2.103,972,2.215,1021,1.605,1092,2.339,1169,6.616,1170,5.06,1175,5.553,1178,6.315,1179,3.207,1196,6.165,1222,2.733,1273,2.505,1305,1.846,1367,3.106,1368,3.106,1410,5.36,1412,2.505,1413,3.821,1427,7.086,1433,2.757,1434,4.504,1435,2.733,1436,2.757,1437,2.116,1438,2.215,1439,5.71,1440,5.71,1441,2.757,1442,1.901,1443,4.504,1444,2.757,1445,4.504,1446,2.505,1447,2.215,1448,2.757,1449,2.505]],["t/297",[2,0.438,66,1.646,172,1.398,198,4.017,272,0.654,297,2.2,302,1.834,317,0.995,318,1.133,343,1.814,362,1.658,406,4.247,420,3.28,433,4.039,435,4.136,436,4.905,437,4.583,439,1.988,455,4.133,587,1.941,637,6.025,726,3.393,812,4.133,864,2.683,931,3.393,948,4.905,1170,6.529,1175,3.148,1179,4.631,1182,2.626,1222,2.683,1274,7.217,1377,5.225,1410,4.797,1450,4.017,1451,3.552,1452,7.874,1453,5.518,1454,6.504]],["t/299",[2,0.59,13,2.289,28,3.787,56,1.576,66,0.995,94,1.417,119,1.948,157,2.634,158,1.486,172,1.243,175,1.256,189,2.289,226,1.768,236,2.027,272,0.881,317,0.912,318,1.038,321,1.194,343,1.613,366,1.975,407,2.901,422,2.289,426,1.912,519,3.469,586,3.025,587,1.726,661,2.245,678,2.027,728,3.28,729,2.245,732,2.386,749,3.018,794,3.159,812,6.897,819,2.499,840,2.901,864,2.386,1162,7.294,1173,6.104,1175,4.243,1178,6.967,1222,2.386,1261,3.018,1263,3.336,1369,3.884,1377,3.159,1410,5.921,1442,2.712,1452,7.293,1455,5.414,1456,3.336,1457,3.933,1458,7.195,1459,3.933,1460,3.933,1461,3.933,1462,3.018,1463,3.933,1464,3.573,1465,3.933]],["t/301",[50,4.35,66,1.55,272,0.906,299,3.206,320,2.338,325,2.898,362,2.084,364,1.859,412,2.657,438,2.385,480,3.506,481,3.506,812,3.892,875,5.638,924,3.992,1170,4.7,1179,5.821,1181,3.892,1182,5.834,1186,4.92,1426,7.429,1449,8.362,1466,8.176,1467,8.176,1468,6.124,1469,9.204,1470,5.196]],["t/303",[2,0.894,9,1.845,50,4.234,124,1.266,134,1.579,153,3.166,159,1.744,167,1.717,172,1.86,271,2.559,272,1.177,278,2.322,305,2.495,312,1.991,313,2.314,314,2.467,315,2.791,316,1.51,317,0.9,318,1.025,320,2.246,424,4.057,619,4.991,620,4.991,650,4.34,733,4.727,736,4.939,1026,4.189,1182,5.74,1471,4.515,1472,4.189,1473,4.515,1474,5.345]],["t/305",[5,2.333,9,1.802,50,3.058,51,3.221,66,1.454,67,2.719,68,1.131,134,1.542,175,1.211,195,3.164,227,1.195,272,0.85,314,2.41,317,0.88,318,1.001,320,2.194,362,1.997,363,4.753,420,2.216,439,2.584,480,2.465,481,2.465,482,7.159,483,3.488,503,3.567,615,3.964,645,2.684,740,6.012,741,3.849,812,5.663,971,4.239,1179,4.092,1182,5.294,1387,4.876,1405,5.222,1475,7.833,1476,5.747,1477,5.222,1478,5.747,1479,5.747,1480,5.747]],["t/307",[17,3.523,62,2.079,68,1.575,84,3.056,93,2.883,119,1.939,120,5.388,124,1.948,134,2.147,172,1.875,227,1.663,257,2.603,258,4.374,259,3.01,438,2.309,528,3.452,571,3.01,613,5.388,624,2.634,833,4.374,902,2.769,948,3.208,1233,3.523,1367,4.089,1368,4.089,1418,6.428,1455,8.808,1481,8.808,1482,5.93,1483,5.93,1484,5.93,1485,5.93,1486,5.93,1487,5.93,1488,5.93]],["t/309",[2,0.749,12,1.206,14,2.022,20,2.749,21,3.114,37,4.187,56,1.442,62,1.912,63,3.761,66,1.38,68,1.487,79,2.287,193,2.728,271,1.753,280,4.215,309,2.003,313,2.145,326,2.769,341,3.883,343,2.237,344,4.382,347,3.466,357,4.627,395,3.114,490,2.19,519,3.175,915,3.652,953,4.627,957,4.627,986,4.955,1100,3.555,1191,4.382,1369,3.555,1489,8.504,1490,5.454,1491,5.454,1492,4.955,1493,5.454,1494,5.454,1495,4.955,1496,5.799,1497,4.382,1498,5.454]],["t/311",[2,1.051,62,3.087,74,2.617,227,1.425,271,3.126,272,1.301,310,3.429,311,3.913,312,2.979,313,3.463,314,2.874,315,3.087,316,1.76,317,1.049,318,1.194,1497,8.242]],["t/313",[2,0.865,20,2.896,62,2.374,66,1.182,68,0.919,84,2.407,88,2.336,93,2.27,119,1.527,121,3.325,124,2.145,147,2.371,159,1.384,175,0.984,199,2.968,209,3.386,271,2.56,272,1.177,312,1.58,313,1.837,315,2.792,316,1.199,317,0.715,318,0.813,331,3.22,335,3.325,410,2.666,518,3.22,596,3.962,624,2.074,833,3.445,869,3.325,1190,3.127,1333,3.436,1496,3.584,1497,8.009,1499,3.752,1500,6.15,1501,3.22,1502,6.769,1503,6.769,1504,6.769,1505,6.769,1506,6.769,1507,6.769,1508,6.769,1509,3.584]],["t/315",[2,0.779,9,3.246,12,1.74,14,2.916,58,3.494,66,1.99,68,1.548,94,2.835,96,4.329,112,4.407,124,2.064,209,3.934,524,5.6]],["t/317",[2,0.698,9,2.81,11,2.923,66,1.784,94,2.541,124,1.516,158,2.664,272,1.042,297,1.823,316,2.301,317,1.079,318,1.228,320,2.691,321,2.14,420,2.717,421,3.526,645,3.291,671,6.793,680,5.199,889,4.187,1435,4.277,1510,5.41,1511,5.199]],["t/319",[9,3.15,56,2.245,124,2.161,890,4.673,891,4.758,1197,6.263,1501,5.855]],["t/321",[2,0.627,5,3.393,20,2.304,55,3.426,56,1.674,149,2.201,321,2.841,322,3.955,323,3.644,324,3.585,326,3.214,330,2.543,451,4.448,503,3.93,603,3.078,604,4.508,645,2.957,649,1.922,742,3.315,760,5.372,924,4.127,1005,4.367,1333,3.214,1510,4.86,1512,7.595,1513,6.332,1514,6.332,1515,6.332,1516,5.372,1517,6.332]],["t/323",[2,0.518,16,3.199,56,1.382,58,3.258,124,1.578,134,1.968,149,1.816,153,1.639,220,2.241,266,4.198,272,0.773,278,2.14,317,0.8,318,0.91,321,3.046,323,3.3,330,2.098,365,2.643,431,3.338,624,2.321,645,3.424,646,3.499,649,2.226,669,6.663,671,5.057,672,6.503,689,3.719,1254,6.222,1518,3.72,1519,8.473,1520,9.187,1521,5.225]],["t/325",[2,0.886,9,2.47,14,2.147,20,3.255,25,3.188,56,1.531,62,2.031,69,3.515,124,1.694,173,2.456,193,2.897,271,2.532,272,1.164,278,1.69,316,1.487,317,1.205,318,1.009,320,3.006,362,1.476,366,1.59,389,3.595,390,5.552,421,2.897,428,4.914,430,6.681,431,2.637,432,4.653,440,4.124,571,2.94,671,5.43,890,3.188,891,3.246,940,4.914,1510,4.445,1522,4.914,1523,5.792]],["t/327",[20,2.449,56,1.78,66,1.703,68,1.325,78,1.679,134,1.806,149,2.339,179,3.918,193,3.367,278,2.539,343,2.761,351,4.177,447,3.185,451,5.129,474,3.524,645,3.143,649,2.044,909,5.408,1075,5.67,1076,7.381,1093,4.965,1524,8.699,1525,6.731,1526,6.731,1527,6.116,1528,6.731]],["t/329",[2,0.957,66,2.011,74,3.034,78,2.408,122,3.761,134,2.133,253,4.933,310,3.976,570,6.1,1080,7.41,1093,5.863,1333,4.035]],["t/331",[2,0.771,272,1.151,317,1.191,318,1.356,364,2.363,365,2.805,366,2.136,480,3.338,481,3.338,1072,8.087,1080,5.973,1093,7.6,1529,6.603,1530,6.253]],["t/333",[2,0.677,5,1.919,12,1.046,13,2.753,49,2.299,66,1.197,67,3.232,68,0.931,73,3.071,89,2.052,134,1.269,272,1.01,297,1.223,316,1.214,317,0.724,318,0.824,320,1.805,324,2.028,343,1.94,362,1.741,364,2.074,365,1.704,366,2.201,367,2.929,377,1.689,444,1.823,445,1.615,453,3.488,463,2.237,480,2.028,481,2.028,493,2.753,569,3.167,748,5.038,759,3.261,947,5.795,999,2.476,1022,4.012,1056,3.63,1072,4.012,1075,3.082,1076,4.012,1080,5.243,1093,5.915,1099,3.005,1216,4.297,1324,3.799,1527,4.297,1531,4.729,1532,4.297,1533,4.729,1534,8.018,1535,6.831,1536,6.831,1537,6.831,1538,6.831,1539,6.831,1540,4.729]],["t/335",[2,0.607,18,2.46,78,1.527,148,4.7,167,1.787,175,1.291,176,3.259,250,4.223,272,0.906,278,1.787,297,1.584,302,2.54,317,0.937,318,1.067,364,1.859,365,2.947,366,1.681,377,2.187,385,4.92,410,3.497,418,5.821,445,2.091,480,2.626,481,2.626,729,3.497,869,4.361,915,4.101,932,3.892,1023,4.361,1075,5.329,1080,4.7,1088,7.429,1093,6.789,1529,5.196,1530,4.92,1541,5.564,1542,5.564]],["t/337",[11,3.65,59,4.072,82,5.056,94,3.173,119,2.241,121,4.881,122,3.243,156,3.38,189,3.99,209,4.403,226,3.082,239,4.356,345,5.507,508,4.936,678,5.011,689,3.009,1333,3.48,1496,5.261,1499,5.507,1543,4.933,1544,5.815,1545,5.815]],["t/339",[11,2.108,15,1.799,47,1.979,66,1.286,68,1,94,1.832,119,1.662,122,2.405,133,3.154,158,1.921,167,1.483,193,2.542,227,1.057,251,3.404,297,1.86,303,3.749,305,2.155,309,2.641,325,2.405,413,3.019,486,4.312,490,2.041,494,6.078,508,5.048,528,2.959,601,6.604,659,4.618,678,4.302,715,3.084,1070,3.505,1259,3.313,1333,2.58,1518,3.619,1546,5.083,1547,5.083,1548,5.083,1549,5.083,1550,5.083,1551,5.083,1552,5.083,1553,5.083,1554,6.102,1555,6.535,1556,6.706,1557,5.083,1558,5.083,1559,4.618,1560,5.083]],["t/341",[272,1.214,297,2.123,317,1.256,318,1.43,364,2.493,366,2.253,494,5.499,601,5.662,1556,8.473,1561,6.302]],["t/343",[159,2.215,172,2.363,227,1.553,269,5.511,280,3.632,309,2.744,494,5.004,508,3.793,529,4.349,601,5.152,604,5.32,645,3.489,832,6.339,1068,5.511,1556,7.467,1562,6.003,1563,7.472,1564,7.472,1565,7.472,1566,7.472]],["t/345",[11,3.296,14,2.947,85,3.811,94,2.865,147,4.035,156,3.919,159,2.356,226,3.574,508,4.035,678,4.097,976,5.659,1333,4.035,1499,6.386,1543,4.454,1567,7.222]],["t/347",[12,1.377,19,3.864,37,2.501,66,2.092,68,1.225,94,2.979,159,2.451,172,1.969,206,3.555,227,1.294,272,0.921,333,2.64,474,5.176,508,5.019,529,5.402,678,3.209,715,3.778,1095,5.282,1543,3.489,1568,6.226,1569,8.266,1570,6.226,1571,6.226,1572,6.226,1573,6.226,1574,6.226,1575,6.226,1576,5.002,1577,4.593]],["t/349",[66,1.891,122,3.535,272,1.105,474,4.866,490,3.001,508,4.718,606,5.152,818,4.637,1435,4.534,1462,5.734,1576,6.003,1577,5.511,1578,9.619,1579,6.339,1580,7.472,1581,6.789]],["t/351",[11,1.573,15,2.051,47,3.486,59,3.444,65,1.925,66,0.96,68,1.141,73,2.607,78,0.946,119,1.896,122,1.794,159,1.719,166,2.41,167,1.692,175,0.799,181,2.088,193,3.52,206,3.31,227,1.205,251,2.54,257,1.665,259,1.925,278,1.692,299,1.986,301,3.136,302,1.573,309,2.894,317,0.58,318,0.661,342,1.955,344,3.047,345,3.047,364,1.151,366,1.041,399,1.87,489,2.701,507,2.639,508,4.544,530,3.218,574,3.598,594,2.125,595,3.047,597,5.19,598,2.911,600,5.19,626,2.208,636,7.202,772,2.54,793,2.54,819,2.41,849,4.017,911,2.911,1025,3.047,1070,5.434,1084,3.047,1235,3.191,1365,3.779,1435,2.302,1437,2.911,1518,2.701,1554,4.918,1559,6.394,1581,3.446,1582,5.97,1583,3.446,1584,3.793,1585,3.793,1586,3.218,1587,3.446,1588,3.793]],["t/354",[2,0.705,12,1.574,13,4.142,15,2.518,18,2.858,31,4.142,34,5.066,68,1.4,84,3.668,91,4.638,93,3.459,148,5.461,149,2.473,152,5.461,153,2.232,154,4.318,163,3.917,166,4.522,185,5.461,193,3.559,373,6.037,649,2.16,1589,7.242,1590,6.465,1591,7.116]],["t/357",[2,1.05,12,1.282,13,3.375,20,2.109,31,2.208,37,2.328,56,1.533,62,2.033,74,1.448,84,1.955,88,1.897,94,1.367,95,1.925,105,3.598,106,3.779,109,2.9,158,1.434,162,2.472,175,0.799,185,2.911,220,1.627,271,3.439,272,0.857,293,2.354,308,2.911,312,1.284,313,1.492,315,2.033,316,1.488,317,0.58,318,0.661,494,3.882,495,4.681,504,1.87,505,4.658,586,1.925,926,4.449,927,4.449,954,3.873,989,5.97,990,5.267,1082,2.472,1176,2.911,1222,5.651,1541,3.446,1592,3.793,1593,4.658,1594,5.797,1595,5.267,1596,3.047,1597,3.446,1598,3.793,1599,3.793]],["t/359",[2,0.745,12,0.447,13,2.019,20,1.659,31,1.176,37,1.393,39,1.225,40,1.2,45,1.622,46,2.663,47,1.351,48,1.352,55,1.093,56,1.759,62,1.217,63,1.393,66,1.369,68,1.065,73,0.908,85,0.968,86,1.55,93,0.982,94,1.25,96,2.979,108,0.786,109,1.01,116,4.994,124,1.857,134,0.542,145,2.105,157,2.323,158,1.311,159,0.599,162,1.316,163,1.112,166,1.283,167,0.589,172,1.097,175,0.426,177,1.225,181,1.112,199,1.283,221,1.49,226,0.908,227,0.948,257,0.886,265,1.71,267,1.176,268,1.093,271,0.649,272,0.513,275,2.787,280,0.982,286,1.176,289,1.55,290,1.55,292,1.132,308,3.5,309,1.675,312,1.831,313,1.365,315,1.217,316,0.518,317,0.309,318,0.352,320,0.771,321,0.613,324,1.488,326,1.761,333,1.471,338,1.835,366,0.554,375,1.393,381,1.132,390,1.253,412,0.876,416,1.49,420,0.779,439,0.908,445,0.689,458,1.835,463,1.641,490,1.393,494,1.352,599,1.393,616,1.438,624,1.541,645,0.943,672,1.55,727,1.55,742,2.833,743,1.352,769,1.132,777,1.253,785,1.283,786,2.663,805,3.247,830,1.622,853,1.49,876,2.392,891,2.556,1110,1.713,1150,1.622,1152,1.225,1182,1.2,1197,1.49,1222,1.225,1233,1.2,1333,3.093,1364,1.622,1383,1.713,1473,1.55,1499,1.622,1501,1.393,1518,1.438,1543,1.944,1577,3.991,1586,1.713,1600,2.019,1601,1.835,1602,4.917,1603,1.622,1604,1.622,1605,2.019,1606,1.622,1607,1.622,1608,1.713,1609,1.713,1610,1.622,1611,2.019,1612,1.835,1613,1.835,1614,2.019,1615,1.835,1616,1.713,1617,2.019,1618,1.835,1619,1.835,1620,1.622,1621,2.019,1622,1.253,1623,2.019,1624,1.713,1625,1.835,1626,2.019,1627,1.835,1628,1.835,1629,2.019,1630,1.835,1631,1.835,1632,4.348,1633,1.835,1634,3.469,1635,2.019,1636,1.835,1637,1.713,1638,2.019,1639,2.019,1640,1.835,1641,1.835,1642,1.835,1643,2.019,1644,2.019,1645,2.019,1646,2.019,1647,1.835,1648,1.835,1649,1.835,1650,1.835,1651,1.835,1652,1.713,1653,3.152,1654,1.835,1655,1.835,1656,4.348,1657,1.835,1658,2.019,1659,1.622,1660,2.663,1661,1.835,1662,1.835,1663,3.869,1664,3.152,1665,2.019,1666,2.019]],["t/361",[2,0.929,11,1.24,20,0.619,37,3.044,38,1.676,56,0.45,62,1.687,68,0.335,80,0.954,85,0.816,94,0.613,96,1.646,99,2.062,103,1.212,116,4.939,124,0.86,156,0.839,158,0.643,159,0.886,163,0.937,172,1.264,175,0.359,189,0.991,195,0.937,206,0.972,226,0.765,261,2.402,270,3.865,271,1.286,272,1.258,278,0.497,292,0.954,299,0.891,305,1.268,308,1.306,312,2.88,313,2.56,314,1.677,315,2.985,316,1.671,317,0.996,318,1.134,320,0.65,362,0.434,366,1.898,393,1.367,397,1.444,422,0.991,433,0.891,490,0.684,603,1.944,624,0.756,727,4.995,742,1.566,754,2.206,825,3.865,835,2.206,849,0.972,869,2.129,930,1.212,934,1.367,1020,1.546,1026,1.212,1071,1.255,1099,1.082,1152,1.033,1154,1.546,1175,2.129,1215,1.444,1233,3.585,1333,1.518,1370,1.546,1371,1.546,1442,2.062,1543,0.954,1577,6.739,1618,1.546,1619,2.717,1640,1.546,1641,1.546,1642,1.546,1647,1.546,1648,1.546,1649,2.717,1650,1.546,1653,6.886,1654,5.483,1655,5.913,1656,6.981,1659,1.367,1660,1.306,1661,5.913,1662,4.371,1663,1.444,1667,1.702,1668,3.865,1669,4.81,1670,4.81,1671,1.109,1672,1.702,1673,2.99,1674,7.269,1675,1.367,1676,1.546,1677,1.702,1678,2.99,1679,2.99,1680,2.99,1681,1.702,1682,1.702,1683,1.546,1684,2.537,1685,2.717,1686,1.444,1687,2.537,1688,1.546,1689,1.702,1690,1.367,1691,1.546,1692,1.546]],["t/363",[2,0.817,9,1.731,11,1.476,14,2.046,16,2.902,20,2.46,47,1.386,58,1.58,62,1.248,64,1.863,66,1.396,88,1.78,94,1.282,119,1.163,124,0.765,127,2.624,141,2.031,153,1.116,158,2.556,159,1.636,172,1.125,177,2.159,199,3.507,272,1,312,1.204,313,1.4,314,1.492,315,1.935,316,1.417,317,1.035,318,1.178,321,1.08,324,1.526,333,1.509,362,0.907,365,1.989,410,2.031,419,2.802,420,1.372,444,2.128,445,2.815,472,1.683,474,1.863,519,3.936,624,1.58,631,4.016,645,1.661,671,3.806,680,2.624,703,2.319,742,2.889,760,3.019,816,2.261,826,2.208,835,2.624,840,2.624,863,2.624,890,3.038,914,4.987,1008,2.533,1026,2.533,1259,2.319,1369,2.319,1435,2.159,1473,4.236,1510,2.731,1511,2.624,1543,3.789,1663,3.019,1693,5.519,1694,3.558,1695,3.558,1696,3.558,1697,5.522,1698,3.019,1699,3.019,1700,5.254]],["t/365",[2,1.041,31,4.052,50,3.236,51,3.901,52,1.971,53,3.092,62,2.133,74,2.322,84,3.135,93,2.957,124,1.498,175,1.282,227,1.585,268,3.291,271,3.149,272,1.203,297,1.8,310,3.042,311,3.472,312,2.754,313,3.202,314,2.55,315,2.854,316,2.196,317,1.167,318,1.059,320,1.155,362,1.238,371,2.43,381,1.695,389,4.32,390,4.731,420,2.684,421,2.429,432,2.43,624,2.702,769,4.272,1182,4.528,1198,2.231,1315,4.887,1474,2.749,1620,4.887]],["t/368",[2,0.927,11,3.13,124,1.624,272,1.116,297,1.952,316,2.401,317,1.155,318,1.314,321,2.291,412,3.274,420,2.91,604,5.374,645,3.524,671,6.45,721,3.13,738,3.571,1512,6.857]],["t/370",[2,0.667,16,2.146,56,2.3,62,2.36,68,1.325,69,4.085,78,1.679,124,1.872,272,0.995,297,1.741,317,1.03,321,2.044,331,4.642,335,4.793,362,1.716,365,2.426,377,2.404,412,2.92,442,3.999,445,2.298,446,5.67,575,4.085,582,4.793,587,2.955,591,3.524,721,2.792,738,3.185,1701,4.793,1702,6.116]],["t/372",[2,0.583,9,2.496,16,1.876,18,2.363,94,2.868,95,2.987,107,3.425,158,2.224,159,1.744,175,1.677,272,0.87,278,1.717,297,1.522,302,2.44,316,1.51,317,0.9,330,2.363,364,1.786,402,3.495,406,3.238,412,2.552,420,2.268,424,4.057,464,4.057,504,3.924,556,2.987,594,4.46,664,4.34,721,2.44,799,4.189,890,3.238,1108,4.057,1111,4.34,1143,4.34,1259,3.835,1442,4.057,1703,7.763,1704,5.345,1705,5.345,1706,5.345]],["t/374",[2,0.592,16,2.565,56,1.58,149,2.077,272,0.884,302,2.479,317,0.915,318,1.041,362,1.524,364,1.815,365,3.505,366,1.641,377,2.135,426,2.906,438,2.328,447,2.828,472,2.828,501,3.479,649,1.815,667,3.799,728,3.29,876,4.122,1155,5.243,1161,5.933,1393,4.881,1543,3.35,1701,4.256,1707,7.713,1708,5.977,1709,6.824,1710,8.044,1711,8.044,1712,6.824]],["t/376",[2,0.46,25,2.555,56,1.227,66,1.705,68,0.913,149,2.342,153,1.455,167,1.354,220,1.99,272,0.686,302,1.925,317,0.71,318,0.808,330,3.186,362,1.717,364,1.409,365,2.859,366,1.274,377,2.406,399,2.288,406,2.555,412,2.013,426,3.857,438,1.807,447,4.119,480,1.99,481,1.99,529,3.922,536,3.562,537,3.423,559,2.816,649,2.046,661,2.65,663,3.025,721,1.925,742,4.154,820,2.949,851,3.025,902,2.167,1393,4.089,1709,6.731,1712,5.717,1713,3.937,1714,7.096,1715,7.91,1716,6.731,1717,4.641,1718,6.731,1719,4.641,1720,4.641]],["t/378",[2,0.583,56,1.556,66,1.489,68,1.158,78,1.985,149,2.045,159,1.744,272,0.87,302,2.44,317,0.9,318,1.025,320,2.246,343,2.414,362,1.5,364,1.786,365,2.868,366,1.615,377,2.101,402,5.357,416,5.87,426,2.86,438,3.099,501,3.425,594,3.297,649,2.416,721,2.44,728,4.381,744,7.651,757,5.666,846,3.183,1058,4.991,1181,3.739,1393,4.829,1703,4.727,1721,5.345,1722,5.883]],["t/380",[2,0.692,56,1.846,149,2.427,272,1.032,302,2.896,362,1.78,364,2.12,365,3.21,366,1.916,377,2.494,426,3.395,438,2.719,447,3.304,533,7.528,556,3.545,649,2.12,745,8.321,1181,4.438,1393,5.405,1421,5.151,1723,5.61,1724,6.983]],["t/382",[2,0.764,9,1.762,52,3.13,78,1.401,97,4.513,134,1.508,159,1.665,175,1.184,227,1.168,237,5.104,272,1.14,297,1.995,316,1.98,317,0.86,362,1.966,364,1.706,365,2.78,366,2.117,377,2.006,405,3.337,420,2.973,421,2.81,426,3.749,435,3.749,436,3.039,437,3.337,438,3.003,472,2.658,547,3.039,948,4.172,1168,4.144,1305,3.762,1393,4.68,1725,7.471,1726,5.027,1727,5.165]],["t/384",[16,2.982,52,3.796,53,3.352,78,2.333,88,3.775,97,6.063,134,2.025,153,2.367,159,2.237,175,1.59,227,1.569,412,3.274,426,3.669,624,3.352,738,3.571,1156,6.857,1728,4.919]],["t/386",[2,0.633,16,2.036,78,1.593,97,5.131,124,1.374,272,0.944,297,1.652,312,2.161,317,1.286,318,1.112,331,4.404,335,4.547,362,2.143,364,1.939,365,3.387,366,1.753,377,3.002,426,3.105,442,3.794,445,2.18,446,6.125,575,3.875,582,4.547,587,2.803,591,3.343,1393,5.101,1702,5.802,1729,8.538]],["t/388",[2,0.469,5,1.919,9,1.483,40,2.809,56,1.25,58,3.901,60,2.753,78,1.179,89,2.052,95,2.401,141,3.9,149,3.237,167,1.38,172,1.495,175,1.69,176,2.516,226,2.126,227,1.667,239,3.005,253,2.935,272,0.699,278,1.38,302,2.833,320,1.805,326,2.401,351,2.935,362,1.741,365,1.704,366,1.298,367,2.929,405,2.809,416,3.488,426,2.299,438,1.842,447,2.237,450,4.71,451,2.516,453,3.488,649,1.436,667,3.005,721,1.961,738,2.237,768,3.488,777,4.239,805,5.709,819,3.005,905,5.795,1005,3.261,1061,3.488,1261,3.63,1265,3.488,1657,4.297,1730,6.206,1731,8.018,1732,4.729,1733,4.729]],["t/390",[2,0.565,9,1.789,40,4.629,55,3.086,58,2.534,60,3.32,66,1.443,272,0.843,288,3.388,297,1.475,301,4.216,322,3.687,330,2.291,362,1.454,364,1.732,366,1.565,395,3.256,412,2.474,420,2.199,451,4.146,474,2.986,480,2.446,481,2.446,507,3.547,571,2.895,574,4.836,671,3.933,747,3.718,767,6.26,785,3.625,912,3.82,913,3.82,914,5.748,1235,4.289,1734,4.839,1735,8.876,1736,5.704,1737,5.704,1738,5.182,1739,7.792]],["t/392",[2,0.618,5,2.53,12,0.923,56,1.104,58,3.313,78,2.521,80,2.339,89,1.811,95,3.164,122,1.975,144,2.879,149,2.592,172,1.32,173,1.77,175,0.88,193,2.088,218,2.221,227,1.719,272,1.103,302,1.731,317,0.954,343,2.557,364,1.892,365,2.246,366,1.711,367,3.547,377,1.491,399,2.058,422,2.43,426,2.029,448,2.795,468,3.079,470,5.992,504,2.058,529,2.43,533,3.204,598,3.204,645,1.949,649,1.267,728,3.431,739,3.354,741,2.795,768,4.597,777,2.591,799,2.972,805,2.972,820,2.653,903,2.721,922,4.597,996,5.007,1021,2.43,1235,2.298,1730,5.663,1740,9.89,1741,4.174,1742,7.458]],["t/394",[16,2.481,50,4.141,56,2.058,64,4.075,78,2.377,88,3.893,94,2.805,149,2.705,175,1.64,302,3.228,624,3.457,649,2.363,926,5.973,927,5.973,929,5.367,1624,6.603]],["t/396",[2,0.612,5,2.506,52,2.506,58,2.743,78,2.305,91,4.025,149,2.146,272,0.913,362,1.574,364,1.875,365,2.963,366,1.695,377,2.205,402,3.668,405,3.668,426,3.002,435,3.997,438,2.405,472,2.922,556,3.135,594,5.75,649,1.875,721,2.561,757,4.397,846,3.341,948,5,1075,4.025,1393,4.989,1725,5.239,1743,4.739,1744,6.175]],["t/398",[2,0.633,16,2.68,56,1.688,58,3.734,78,2.096,149,2.219,225,4.058,227,1.747,272,0.944,297,1.652,302,2.648,317,0.977,318,1.112,351,3.963,364,1.939,366,1.753,367,3.605,445,2.87,591,3.343,631,5.932,649,1.939,721,2.648,883,5.131,938,6.452,1745,8.538,1746,6.386]],["t/400",[2,0.655,9,2.697,11,2.742,66,2.176,68,1.301,94,3.099,124,1.423,158,2.499,172,2.091,272,0.978,302,2.742,321,3.073,393,5.312,412,2.868,420,2.549,431,3.01,571,3.357,671,4.56,721,2.742,890,3.64,914,6.343,1111,4.877,1259,4.31,1747,6.008,1748,6.008,1749,6.008,1750,5.61]],["t/402",[2,0.649,9,2.055,16,2.726,66,2.164,68,1.29,78,1.635,94,3.082,124,1.41,158,2.477,172,2.072,227,1.362,272,0.969,302,2.718,321,3.062,393,5.266,412,2.843,420,2.527,431,2.984,446,4.272,479,7.769,571,3.327,721,2.718,1111,4.834,1259,4.272,1747,5.955,1748,5.955,1749,5.955,1750,5.56]],["t/404",[56,2.427,78,2.29,85,3.512,88,3.664,149,2.546,175,1.935,227,1.523,297,1.894,302,3.038,445,2.501,575,4.445,591,3.835,594,4.105,605,3.963,624,3.254,649,2.224,747,4.774,1021,4.264,1235,5.053]],["t/406",[2,0.828,74,3.799,84,3.264,94,2.282,134,1.699,137,4.67,146,4.367,227,1.738,257,4.107,309,2.325,409,4.127,439,2.847,474,4.899,605,3.426,644,6.166,645,2.957,882,6.067,902,4.369,1375,4.127,1751,6.332,1752,6.332,1753,6.332]],["t/408",[2,0.43,9,1.362,15,2.272,17,2.581,39,3.896,55,2.35,79,3.537,90,3.334,108,1.692,119,1.42,165,3.685,175,0.915,214,2.909,215,2.205,218,2.311,257,3.352,312,2.173,321,1.319,322,4.258,326,3.259,330,3.615,347,2.761,418,3.093,473,2.831,474,4.932,501,2.529,502,4.299,509,4.927,517,2.636,532,2.909,616,4.571,628,2.996,694,4.735,721,1.802,748,3.204,801,3.947,849,2.48,882,2.48,889,2.581,929,2.996,949,5.861,1015,3.49,1112,2.831,1233,2.581,1365,2.831,1391,5.158,1601,5.833,1603,3.49,1610,3.49,1627,3.947,1676,3.947,1754,5.632,1755,5.833,1756,4.344,1757,3.947,1758,4.344,1759,3.685,1760,4.344,1761,3.947,1762,3.685]],["t/410",[2,0.574,9,1.816,15,2.786,55,3.134,108,2.255,165,4.914,175,1.221,214,3.879,215,3.997,312,2.665,321,1.758,322,2.74,326,2.94,330,3.856,347,3.681,473,3.775,474,5.026,501,3.372,505,2.897,508,2.94,665,4.272,694,5.808,849,3.307,876,3.994,889,3.441,949,6.867,1112,3.775,1233,3.441,1365,3.775,1391,6.326,1610,4.653,1754,6.599,1755,5.263,1759,4.914,1762,4.914]],["t/412",[2,0.892,92,5.867,208,6.64,1762,7.637]],["t/414",[2,0.995,12,1.878,13,4.942,92,5.534,145,5.152,1222,6.095,1763,7.203]],["t/416",[9,2.633,79,4.184,197,7.628,215,4.262,310,4.199,408,5.335,1764,8.395,1765,8.395,1766,8.395]],["t/418",[6,2.779,9,1.583,12,1.117,13,2.939,51,2.829,79,2.117,80,5.718,134,1.355,137,3.724,145,5.046,158,1.908,163,2.779,175,1.753,179,2.939,257,2.216,259,2.563,310,4.526,408,3.208,451,2.686,546,3.291,548,4.549,586,2.563,609,3.381,768,5.28,885,3.724,1120,4.056,1280,3.724,1578,4.587,1767,8.679,1768,10.203,1769,5.048,1770,5.048,1771,5.048,1772,5.048,1773,5.048,1774,7.158,1775,5.048,1776,5.048,1777,5.048,1778,4.587,1779,4.587,1780,5.048,1781,5.048]],["t/420",[12,1.066,51,2.701,64,2.524,74,3.382,75,3.228,80,2.701,89,2.091,92,3.142,119,1.576,134,1.294,158,3.349,159,1.429,167,1.407,172,1.524,175,1.459,257,2.116,259,2.447,286,2.806,310,4.432,333,2.044,392,4.38,395,2.752,451,3.685,548,3.064,586,2.447,609,3.228,736,2.992,866,6.293,1280,5.108,1416,4.38,1763,4.09,1778,6.293,1779,4.38,1782,4.38,1783,4.82,1784,4.82,1785,9.385,1786,4.82,1787,4.82,1788,4.82,1789,4.82,1790,4.82,1791,6.293,1792,8.105,1793,8.105,1794,9.77,1795,4.82,1796,4.38]],["t/422",[6,3.955,9,2.253,17,5.387,79,3.012,99,4.954,155,4.36,158,3.757,159,2.13,167,2.097,175,1.514,177,4.36,603,4.409,606,4.954,685,6.528,826,4.459,1797,6.528,1798,7.184,1799,7.184,1800,7.184,1801,7.184,1802,7.184]],["t/424",[17,4.351,22,3.611,175,1.544,181,5.786,209,4.592,220,3.141,268,3.963,514,4.546,646,6.715,647,7.046,654,4.546,703,4.774,826,4.546,1664,6.655,1803,7.325,1804,7.325]],["t/427",[2,0.585,4,1.189,5,1.346,9,1.04,11,1.817,12,0.733,15,0.678,44,3.12,48,1.283,52,3.728,53,4.012,55,1.794,56,0.507,58,1.473,65,0.973,66,1.109,67,1.568,68,0.377,73,0.861,78,1.302,79,0.803,89,0.831,94,1.195,95,0.973,108,0.746,109,0.958,122,0.906,127,1.413,141,1.094,147,0.973,152,1.47,153,2.657,154,1.163,155,1.163,158,0.724,159,0.983,167,1.886,172,0.606,177,1.163,193,0.958,215,0.973,227,1.086,235,3.497,239,2.107,253,1.189,257,1.455,259,1.683,272,0.49,278,1.279,288,1.969,297,0.857,316,0.492,317,0.671,318,0.577,325,3.279,333,0.812,353,1.019,356,1.539,362,1.504,364,1.006,365,1.195,366,1.203,367,3.144,377,1.565,381,1.074,409,1.249,410,1.094,414,1.625,419,0.973,421,0.958,433,1.736,435,3.564,436,1.794,437,1.969,438,1.291,439,1.491,444,1.278,445,1.132,456,2.286,490,1.331,493,1.115,504,0.945,524,1.364,556,0.973,571,1.683,585,1.47,626,1.93,643,1.47,649,0.582,650,1.413,678,0.987,680,1.413,703,1.249,851,2.161,859,1.249,891,1.074,921,1.625,943,1.741,947,2.813,971,1.413,999,1.736,1022,3.718,1046,1.539,1058,1.625,1112,2.856,1120,1.539,1152,1.163,1181,3.319,1277,2.813,1289,1.413,1300,5.568,1369,1.249,1407,3.022,1438,1.539,1451,1.539,1456,1.625,1464,3.012,1532,3.981,1590,1.741,1713,1.625,1726,4.211,1727,2.22,1728,2.161,1805,3.012,1806,1.916,1807,1.916,1808,1.916,1809,1.625,1810,1.916,1811,3.521,1812,2.813,1813,1.741,1814,3.012,1815,1.916,1816,3.315,1817,2.22,1818,1.916,1819,1.916,1820,2.663,1821,1.916,1822,1.916,1823,1.916,1824,1.916,1825,1.916,1826,1.625,1827,1.625,1828,1.741,1829,1.916,1830,1.741,1831,1.741]],["t/429",[2,0.489,52,3.748,53,2.739,58,3.129,67,1.461,68,0.971,78,1.757,95,1.567,109,1.544,119,1.01,153,2.415,167,0.901,172,0.976,175,0.651,178,2.198,226,2.219,227,0.642,235,4.129,257,1.355,259,1.567,265,1.522,268,1.67,272,0.457,278,2.247,297,0.799,307,2.277,317,0.755,318,0.538,320,2.354,325,1.461,333,1.309,362,1.572,364,0.937,365,1.113,366,1.355,367,3.841,377,1.103,405,2.932,422,1.797,423,2.068,426,1.501,433,1.617,435,3.993,436,4.665,437,1.834,438,1.202,439,1.388,444,1.19,445,1.054,456,2.129,470,3.965,472,2.917,477,3.788,557,2.619,571,2.506,626,1.797,678,1.591,729,1.763,739,2.481,818,1.916,871,1.916,875,2.129,902,1.442,921,2.619,922,2.277,956,2.619,999,1.617,1026,2.198,1168,3.641,1289,2.277,1317,3.965,1327,2.805,1438,3.965,1675,2.481,1726,4.591,1727,3.305,1728,4.019,1797,2.805,1817,2.068,1832,2.805,1833,2.805,1834,2.805,1835,3.088,1836,3.088,1837,3.088,1838,4.936,1839,5.602,1840,4.936,1841,3.088,1842,3.088,1843,2.619]],["t/431",[2,0.781,15,1.622,59,3.967,66,1.993,68,0.902,74,2.549,75,4.472,95,3.39,124,1.862,134,1.23,167,1.338,204,4.165,206,2.617,209,2.293,227,0.953,272,0.678,278,1.338,299,2.4,305,1.944,312,1.551,313,1.803,315,2.342,317,1.022,318,0.798,332,3.161,362,1.168,381,4.415,421,2.293,425,3.264,438,2.601,463,3.16,464,3.161,678,3.442,728,2.523,738,2.169,769,3.742,789,3.518,1152,2.782,1201,4.144,1233,3.967,1268,3.683,1324,5.365,1726,6.259,1727,3.07,1817,4.472,1844,8.41,1845,4.165,1846,6.678,1847,4.584]],["t/433",[89,4.002,287,5.266]],["t/435",[2,0.549,16,1.14,19,2.219,52,3.548,53,3.393,56,1.793,65,1.815,66,1.716,67,2.621,78,1.905,89,1.551,153,2.859,167,1.043,206,2.041,249,4.542,257,1.569,259,1.815,272,0.529,288,2.124,297,0.925,317,0.848,318,0.623,321,1.085,330,1.436,343,1.467,362,1.728,364,1.682,365,1.289,366,1.52,367,3.275,377,1.277,395,2.041,412,1.551,421,2.771,433,1.872,435,4.25,436,1.934,437,2.124,438,1.392,439,1.607,444,1.378,445,1.221,447,2.621,456,2.465,480,2.376,481,2.376,556,1.815,571,2.812,614,6.48,626,2.081,631,2.124,724,2.545,738,1.691,756,5.033,785,2.272,814,2.465,818,2.219,885,2.637,999,1.872,1168,2.637,1316,2.744,1367,2.465,1368,2.465,1407,2.465,1714,5.205,1726,4.42,1727,5.115,1728,4.42,1809,3.033,1817,2.394,1848,3.575,1849,2.872,1850,3.575,1851,3.575]],["t/437",[2,0.716,9,2.628,52,3.401,66,1.295,68,1.422,78,1.276,89,3.135,153,1.605,172,1.618,227,1.502,257,2.246,259,2.598,272,1.069,286,2.979,288,4.293,297,1.869,316,1.856,317,1.106,318,0.891,325,3.419,362,2.135,364,1.554,365,1.845,366,1.405,412,2.22,420,2.786,421,2.56,433,2.679,435,3.513,436,2.769,437,3.04,438,1.993,571,2.598,626,2.979,738,3.419,741,3.427,850,3.644,890,2.817,1152,3.106,1725,7.108,1726,4.711,1727,4.84,1817,3.427,1852,5.118]],["t/439",[2,0.429,16,1.762,25,1.448,52,3.544,53,3.388,58,1.169,67,1.245,68,1.088,78,1.081,89,1.141,94,0.948,111,2.39,127,1.941,134,0.706,141,3.156,153,1.359,158,0.994,172,1.748,175,0.554,220,1.128,226,1.183,227,0.547,257,2.813,259,3.254,272,0.641,278,1.265,317,0.981,318,0.755,320,1.004,352,3.812,362,2.148,364,1.316,365,1.562,366,2.093,367,3.614,412,1.141,423,1.762,426,1.279,433,3.356,435,3.116,436,4.865,437,3.807,438,2.496,439,1.949,456,2.989,472,1.245,490,1.057,571,1.336,587,1.903,614,5.438,626,3.731,692,1.814,719,2.232,724,1.873,725,3.603,732,1.597,814,1.814,818,1.633,850,1.873,999,2.269,1075,1.715,1168,1.941,1300,2.114,1317,3.482,1450,2.39,1451,2.114,1652,2.232,1675,3.482,1714,3.327,1726,4.178,1727,4.747,1728,4.62,1839,2.39,1853,1.814,1854,2.631,1855,2.631,1856,8.426,1857,8.992,1858,4.334,1859,2.019,1860,4.334]],["t/441",[2,0.683,9,2.162,12,1.059,14,1.776,15,2.439,16,1.527,35,3.676,37,1.924,39,2.906,44,3.41,47,3.645,49,2.328,52,1.944,59,2.845,78,2.014,104,2.906,119,1.566,124,1.03,153,1.502,251,3.208,280,2.328,297,1.239,298,2.906,312,1.621,313,1.884,316,1.23,333,2.031,353,2.548,363,2.906,365,1.726,377,1.71,419,2.431,420,2.658,434,3.303,439,3.1,444,1.847,445,3.016,463,2.266,502,3.208,505,2.396,507,2.18,508,2.431,547,3.73,600,5.085,631,2.845,636,4.063,816,4.381,889,4.095,890,2.636,915,3.208,1235,2.636,1353,2.845,1375,3.122,1477,4.352,1511,3.533,1582,4.063,1622,2.972,1861,4.79,1862,4.79]],["t/443",[9,2.441,18,3.126,21,4.443,41,7.071,52,3.159,62,2.729,109,3.893,124,1.674,134,2.089,145,4.723,179,4.53,193,3.893,556,3.951,818,4.83,1331,5.541,1863,7.783,1864,7.071]],["t/445",[9,2.757,15,3.627,124,1.891,560,4.838,889,5.222]],["t/447",[124,1.937,560,4.955,1622,6.45]],["t/449",[35,6.909,268,4.87,849,5.139,889,5.347]],["t/451",[39,6.055,53,3.729,309,3.083,434,5.789,502,5.622,560,4.621,721,3.482,793,5.622,1865,8.395]],["t/453",[15,2.783,47,4.031,59,4.672,64,4.118,167,2.295,227,1.635,309,2.888,353,4.185,508,3.992,530,6.672,600,5.801,721,3.262,793,5.267,1582,6.672]],["t/455",[47,3.505,251,6.029,721,3.733,793,6.029]],["t/457",[9,2.952,16,2.431,18,3.062,108,2.969,124,1.64,147,3.87,159,2.26,173,3.233,278,2.225,309,2.8,314,3.197,547,4.125,560,4.197,677,5.258,721,3.162,890,5.181,1242,6.468]],["t/459",[104,4.823,175,1.675,195,4.375,342,4.097,353,4.229,444,3.064,507,4.734,560,4.375,721,3.296,954,4.375,985,6.386,1235,4.375,1866,7.948]],["t/461",[11,3.443,31,4.832,119,2.714,122,3.928,124,1.786,167,2.423,280,4.818,309,3.049,547,4.491,560,4.57]],["t/463",[2,0.755,12,1.686,16,3.399,47,2.969,78,1.901,112,4.272,167,2.225,175,1.607,309,2.8,342,3.93,348,4.353,419,3.87,519,4.438,560,4.197,793,5.106,1543,4.272]],["t/465",[16,2.336,37,2.942,38,4.105,47,3.575,78,2.501,82,5.403,108,2.852,122,3.466,158,2.769,167,2.138,225,4.655,227,1.523,297,1.894,332,5.051,333,3.106,363,4.445,444,3.539,445,2.501,1867,7.325]],["t/467",[2,0.872,12,1.516,15,3.115,47,4.132,74,2.617,108,2.669,119,2.241,124,1.475,134,1.84,159,2.032,173,3.732,278,2,342,3.533,353,3.647,501,3.99,505,4.403,652,6.228,742,4.608,876,4.727,1868,6.855,1869,6.228]],["t/469",[2,0.957,12,1.758,15,2.813,56,2.102,64,4.161,124,2.077,227,1.652,312,2.69,313,3.127,689,3.489,1197,5.863,1501,6.658]],["t/472",[2,1.002,12,1.653,158,2.824,199,4.748,272,1.105,312,2.529,313,2.939,315,3.259,316,1.918,317,1.143,318,1.301,321,2.268,412,3.241,599,5.152,645,3.489,889,4.438,1435,4.534,1511,5.511]],["t/474",[15,2.754,84,4.011,88,3.893,93,3.784,124,2.217,158,2.942,227,1.618,309,2.858,410,4.443,585,5.973,624,3.457,1633,7.071,1870,6.603,1871,7.783,1872,7.783]],["t/477",[2,0.768,12,1.252,81,3.232,108,2.204,119,1.851,124,1.668,134,2.08,147,2.873,159,1.678,172,1.79,236,2.917,272,1.406,282,4.344,297,2.005,299,2.964,315,2.718,316,1.453,317,0.866,318,0.986,321,1.718,323,2.204,324,2.427,329,4.03,330,3.113,363,4.704,377,2.768,407,4.175,501,3.295,664,4.175,1111,4.175,1197,4.175,1333,2.873,1543,3.172,1604,6.228,1873,4.802,1874,9.509,1875,5.66,1876,4.175]],["t/479",[2,0.685,56,1.829,116,4.11,124,1.905,149,2.404,272,1.023,302,2.869,315,3.105,316,1.776,317,1.059,318,1.205,321,2.1,323,2.694,324,3.797,325,3.273,350,5.558,474,3.622,503,4.293,609,4.633,649,2.1,1226,5.869,1230,6.286,1877,8.045,1878,6.918,1879,6.918]],["t/481",[2,0.496,12,0.694,49,3.457,66,0.794,80,1.759,84,1.618,94,1.803,134,1.342,141,2.856,147,1.594,156,3.074,157,2.103,158,1.187,159,0.931,167,1.819,173,1.331,175,1.314,176,1.67,179,2.912,215,1.594,220,1.346,226,1.412,227,1.04,236,1.618,239,1.995,265,1.548,272,0.922,278,2.075,286,1.827,314,1.316,315,1.754,316,0.806,317,0.48,318,0.547,321,0.953,322,1.485,323,1.223,329,2.235,330,2.504,342,1.618,343,1.288,364,0.953,425,3.561,439,2.803,448,2.103,456,4.299,480,3.049,481,3.049,490,2.009,494,3.35,504,1.548,571,1.594,575,3.035,586,2.539,615,2.165,661,2.856,678,2.578,689,1.378,707,2.852,721,1.302,729,1.792,738,2.366,777,1.948,785,1.995,805,2.235,849,2.856,970,2.663,985,2.522,999,1.644,1002,2.41,1025,2.522,1061,2.316,1062,4.545,1121,2.663,1152,1.905,1173,4.243,1222,4.315,1284,2.103,1353,2.971,1357,2.165,1462,3.839,1609,4.243,1622,1.948,1700,2.165,1754,2.316,1763,4.243,1873,2.663,1880,2.663,1881,2.103,1882,5.002,1883,3.139,1884,2.852,1885,5.002,1886,4.545,1887,4.243,1888,5.002,1889,3.139,1890,3.139,1891,3.139,1892,3.139,1893,3.139,1894,3.139,1895,2.663]],["t/483",[20,2.746,21,4.309,52,3.063,320,2.881,321,2.291,322,3.571,323,2.939,325,3.571,330,3.756,451,4.016,463,3.571,503,4.684,789,5.792,1333,3.831,1820,6.063,1844,7.935,1845,6.857,1896,7.547]],["t/485",[56,2.016,116,4.529,124,2.025,149,2.65,173,3.233,278,2.225,302,3.162,321,2.315,323,2.969,330,3.062,505,3.813,506,4.272,559,4.626,599,5.258,649,2.315,1021,4.438,1100,4.969,1897,6.927]],["t/487",[278,2.478,321,2.578,323,3.306,330,3.41,504,4.186,559,5.152,599,5.855,882,4.847,1021,4.942]],["t/489",[2,0.622,15,2.222,56,1.66,68,1.636,124,1.351,145,3.81,149,2.182,172,1.985,206,3.585,267,3.655,272,0.928,302,2.604,309,2.306,315,2.915,316,1.612,317,0.961,318,1.094,320,2.397,321,1.906,322,2.971,323,2.445,324,2.693,330,2.522,342,3.236,472,2.971,490,2.522,508,3.187,649,1.906,661,3.585,689,3.649,1028,5.044,1518,7.062,1898,8.312]],["t/491",[2,0.639,5,3.963,12,1.426,56,1.155,66,1.106,81,2.495,94,1.575,122,2.067,124,0.94,149,1.519,153,1.37,179,2.544,193,2.186,213,5.47,220,1.874,257,2.83,259,3.273,272,0.953,286,2.544,297,1.668,301,3.488,302,1.812,309,1.605,314,1.832,315,2.261,316,1.122,317,0.987,318,1.123,321,1.327,323,1.702,329,3.111,330,2.589,364,1.327,366,1.199,420,1.685,483,2.652,485,3.51,507,2.935,605,5.283,649,1.327,689,1.918,697,3.013,747,4.202,932,4.869,1113,5.858,1235,4.218,1607,3.51,1700,4.446,1899,3.97,1900,3.707,1901,4.369,1902,3.707,1903,3.97,1904,4.369,1905,5.858,1906,6.448,1907,6.448]],["t/493",[15,2.938,47,3.86,119,2.714,321,2.52,323,3.233,330,3.334,353,4.417,505,4.957,876,5.725]],["t/495",[2,0.638,56,1.703,91,4.198,116,3.826,124,2.03,149,2.238,257,2.827,259,3.27,272,0.952,302,2.671,315,2.964,316,1.654,317,0.986,318,1.122,320,2.459,321,1.956,323,2.508,438,3.292,649,1.956,785,4.093,888,4.442,1134,5.852,1190,4.314,1501,4.442,1608,7.172,1632,5.175,1754,4.751,1908,5.464,1909,6.441,1910,6.441,1911,6.441,1912,6.441]],["t/497",[119,2.685,320,3.134,321,2.493,322,3.885,323,3.197,353,4.369,505,4.107,559,4.982,772,5.499,826,5.095,1021,4.779,1913,6.966]],["t/499",[2,0.659,49,4.461,64,2.385,68,1.545,112,2.553,124,1.689,159,1.351,230,3.244,272,0.983,278,2.518,315,3.026,316,1.707,317,1.017,318,1.158,320,1.739,321,1.383,322,2.156,323,1.774,324,1.954,480,4.349,481,3.936,493,3.87,732,2.765,871,2.827,874,4.14,875,5.413,885,3.361,891,3.726,930,7.045,1084,3.66,1421,3.361,1472,3.244,1830,6.041,1913,3.865,1914,6.648,1915,6.648,1916,6.648,1917,6.648,1918,6.648]],["t/501",[2,0.635,21,1.871,25,1.804,38,3.594,49,1.593,66,1.309,68,1.262,80,4.082,94,1.865,109,2.588,119,1.072,124,0.705,134,1.721,140,3.817,146,2.26,147,3.255,150,2.417,155,1.989,159,2.159,167,0.956,172,2.303,189,3.012,199,2.083,206,1.871,215,1.664,226,1.473,272,0.948,289,3.972,290,3.972,295,2.515,302,1.359,309,1.204,315,2.956,316,1.646,317,0.981,318,1.117,320,2.448,321,0.995,322,1.55,323,1.276,347,2.083,355,2.978,410,1.871,450,2.26,472,1.55,490,1.316,505,3.967,559,1.989,624,1.456,689,2.271,703,2.136,772,5.645,820,2.083,822,4.158,823,3.817,833,2.417,849,5.039,885,2.417,888,5.469,1009,2.633,1353,3.074,1357,2.26,1613,5.827,1690,5.152,1870,2.78,1880,2.78,1881,2.195,1899,2.978,1908,2.78,1919,5.175,1920,5.175,1921,3.277,1922,5.175,1923,4.702,1924,2.978,1925,3.277,1926,3.277]],["t/503",[2,0.628,12,1.672,13,2.485,38,2.393,89,1.852,108,1.663,124,2.014,134,1.701,162,2.783,167,1.246,172,1.35,271,3.01,272,0.631,287,2.438,309,1.568,312,2.145,314,1.79,315,2.223,316,1.096,317,0.97,318,0.744,321,1.296,323,1.663,324,1.831,329,3.04,330,3.036,333,1.81,463,2.02,578,3.149,588,3.43,694,3.149,721,1.771,742,3.318,761,3.04,873,3.879,1110,3.622,1201,2.65,1333,3.837,1353,4.49,1365,2.783,1500,6.868,1660,8.319,1927,4.27,1928,4.27,1929,4.27,1930,4.27,1931,4.27,1932,6.338,1933,4.27,1934,4.27,1935,4.27,1936,4.27,1937,4.27,1938,4.27,1939,3.879,1940,4.27]],["t/505",[11,1.631,14,1.458,18,1.579,21,2.245,38,3.339,49,2.897,54,3.336,68,1.173,73,1.768,79,1.649,80,3.339,85,2.857,94,1.417,103,4.243,109,3.599,122,4.081,124,1.282,126,3.018,134,1.599,158,1.486,159,2.133,172,1.884,175,1.256,176,2.092,178,4.243,179,3.469,195,3.96,209,2.981,216,3.018,218,3.828,220,2.556,221,7.164,226,1.768,267,3.469,292,2.204,321,1.194,323,1.531,324,2.556,326,3.025,348,3.402,368,4.788,474,2.059,583,3.336,618,4.109,689,1.726,703,2.563,786,4.574,849,4.583,1030,3.573,1143,2.901,1254,3.336,1262,2.8,1335,3.336,1447,4.788,1620,3.159,1625,3.573,1690,4.788,1832,3.573,1886,3.573,1941,5.959,1942,3.018,1943,3.573,1944,3.933,1945,3.933,1946,3.336]],["t/507",[2,0.683,12,1.059,18,1.924,38,2.684,49,2.328,66,1.744,67,2.266,68,0.943,80,2.684,84,2.469,99,6.092,109,2.396,124,1.483,152,3.676,154,2.906,155,2.906,172,1.515,181,2.636,207,3.208,270,6.489,271,1.54,272,1.019,315,2.417,316,1.23,317,0.733,318,0.834,321,1.454,323,1.865,330,3.548,354,3.533,362,1.221,366,1.315,490,1.924,603,3.926,754,5.957,849,4.611,869,6.29,1071,3.533,1265,3.533,1333,2.431,1364,3.848,1470,4.063,1606,3.848,1659,3.848,1684,4.063,1685,6.264,1686,4.063,1690,3.848,1691,4.352,1692,4.352,1943,4.352,1947,6.894,1948,4.79]],["t/509",[20,2.718,40,6.01,56,1.976,84,3.851,88,3.737,93,3.632,124,1.607,149,2.597,302,3.099,321,2.268,322,3.535,323,2.91,324,3.204,326,3.793,451,3.975,472,3.535,624,3.319,649,2.268,891,4.187]],["t/511",[20,2.718,56,1.976,60,5.89,84,3.851,88,3.737,93,3.632,124,1.607,149,2.597,302,3.099,320,2.852,321,2.268,322,3.535,323,2.91,326,3.793,451,3.975,472,3.535,624,3.319,649,2.268,891,4.187]],["t/513",[2,0.716,5,2.079,14,1.199,15,1.812,40,3.043,56,0.855,60,2.981,66,1.609,68,1.423,81,2.924,124,0.696,149,2.21,155,1.963,158,1.223,159,1.518,166,2.056,171,2.007,172,1.023,180,2.231,206,1.847,220,2.196,267,1.883,268,2.771,272,1.069,278,1.495,302,1.341,309,2.335,315,3.193,316,1.857,317,1.107,318,1.259,320,1.955,321,0.982,322,2.423,323,1.26,324,2.196,330,1.299,333,1.372,343,1.327,353,3.848,472,2.423,474,2.682,495,1.921,501,1.883,504,2.525,517,1.963,649,0.982,667,3.255,689,1.42,705,3.931,764,2.483,777,5.202,902,2.969,903,2.108,932,2.056,944,6.57,1112,4.144,1401,5.777,1511,2.386,1543,1.813,1595,2.939,1607,6.331,1671,2.108,1688,2.939,1900,2.744,1949,7.231,1950,6.57,1951,3.235,1952,7.231,1953,5.122,1954,5.122,1955,3.235]],["t/515",[2,0.534,16,2.97,19,1.577,25,1.399,47,1.64,56,1.114,64,1.331,66,1.066,68,0.829,78,1.051,81,1.451,85,2.587,94,0.916,103,1.81,108,0.99,124,0.906,134,1.13,147,1.29,149,0.883,153,0.797,156,2.66,159,0.753,166,1.615,175,0.888,179,1.479,185,1.951,201,1.657,272,0.798,278,0.742,297,1.623,302,1.747,305,1.786,307,1.875,309,1.547,312,1.826,315,2.63,316,1.385,317,0.826,318,0.94,321,0.772,323,0.99,330,1.021,363,4.819,377,2.241,399,1.253,407,1.875,419,2.138,444,0.98,445,3.112,463,2.969,468,1.875,472,1.202,474,2.205,490,1.021,500,3.384,501,2.452,504,2.077,519,3.14,556,1.29,559,1.542,571,1.29,608,4.797,631,2.502,649,0.772,667,1.615,678,1.31,715,3.273,721,1.054,799,1.81,800,1.951,902,2.519,912,1.702,913,1.702,970,2.156,972,2.042,976,1.81,1008,2.999,1021,1.479,1028,2.042,1152,1.542,1420,2.156,1432,2.156,1446,2.309,1451,2.042,1473,1.951,1543,1.424,1579,2.156,1671,1.657,1697,5.95,1698,4.576,1699,5.323,1700,2.905,1853,2.905,1956,2.541,1957,2.541,1958,2.541,1959,2.309,1960,2.541,1961,2.541,1962,2.541,1963,2.541,1964,2.541,1965,2.541,1966,2.541,1967,6.275,1968,4.212,1969,4.212,1970,4.212]],["t/517",[38,4.065,55,4.937,56,2.413,66,1.836,119,2.983,286,4.223,321,2.202,322,3.432,323,2.825,324,3.913,330,2.913,375,5.002,661,4.141,689,3.184,754,5.351,1687,6.154,1700,5.002,1881,4.858,1971,7.254,1972,7.254]],["t/519",[20,2.384,56,1.733,81,3.742,84,3.378,112,3.673,119,2.143,124,1.41,149,2.278,167,2.495,172,2.072,175,1.381,176,3.487,206,3.742,256,4.667,302,2.718,308,5.03,324,2.811,347,4.165,348,3.742,349,5.266,350,5.266,351,5.306,352,4.52,353,3.487,354,4.834,376,5.955,649,1.99,689,2.877,1112,5.573,1597,5.955,1671,4.272,1900,5.56]],["t/521",[11,2.332,12,1.244,16,1.793,19,3.489,20,1.326,64,1.908,68,0.717,78,1.402,81,2.081,85,1.748,108,1.419,109,3.433,112,2.043,119,1.838,121,2.595,124,0.784,158,1.378,172,2.171,226,1.639,227,1.169,267,3.273,268,3.714,284,2.928,292,2.043,294,2.688,320,1.391,321,1.107,322,1.724,323,1.419,324,2.411,325,2.66,347,2.316,348,2.081,349,2.928,350,7.078,354,4.147,368,4.517,372,2.688,375,2.513,377,3.146,381,3.151,423,3.766,483,3.412,490,2.258,619,3.092,689,2.468,833,2.688,853,4.147,929,3.877,988,3.312,1284,2.441,1289,2.688,1333,1.85,1343,8.84,1399,3.092,1471,2.797,1473,2.797,1544,3.092,1587,3.312,1636,8.343,1637,3.092,1671,2.376,1831,3.312,1859,2.797,1973,5.623,1974,5.623,1975,4.77,1976,3.645,1977,3.645,1978,3.645,1979,5.623,1980,2.688,1981,3.645]],["t/523",[2,0.612,12,1.366,56,2.174,68,1.215,73,2.776,103,4.397,124,1.328,156,3.044,158,2.334,159,2.437,172,1.953,175,1.301,195,4.525,200,5.61,206,3.525,209,3.089,317,0.945,318,1.076,321,1.875,322,3.89,323,2.405,503,3.832,1108,4.258,1265,4.555,1333,3.135,1620,4.961,1805,5.61,1833,5.61,1946,5.239,1982,6.175,1983,6.175,1984,8.221,1985,5.61,1986,6.175,1987,6.175,1988,6.175,1989,6.175]],["t/525",[35,6.166,119,2.627,124,1.728,268,4.347,299,4.206,320,3.067,321,2.95,322,3.801,323,3.129,324,3.445,326,4.078,375,5.54,1990,7.3]],["t/527",[55,3.577,56,2.274,84,3.408,90,5.075,93,3.214,116,5.108,124,1.85,153,2.074,214,4.428,271,2.126,320,3.283,321,2.007,322,3.128,323,2.575,324,2.836,477,5.075,490,2.656,785,5.465,902,3.088,924,5.605,1021,3.849,1265,4.877,1576,5.312,1616,8.108,1990,6.008,1991,6.008]],["t/529",[2,0.644,21,3.709,39,5.75,47,3.311,56,1.718,124,1.829,149,2.258,227,1.351,272,0.961,302,2.694,309,3.48,315,2.981,316,1.668,317,0.994,318,1.132,321,1.973,323,2.53,330,2.609,420,3.278,438,3.311,649,1.973,1008,6.053,1201,5.276,1992,7.724]],["t/531",[60,5.344,68,1.442,172,2.316,226,3.294,320,2.796,321,2.224,322,3.466,323,2.852,324,3.141,326,3.719,342,4.732,353,3.898,372,5.403,375,5.051,490,2.942,507,4.179,689,3.215,1542,6.655,1761,6.655,1993,6.214]],["t/533",[2,0.899,62,2.519,271,3.195,272,1.469,312,2.431,314,3.012,315,3.18,316,1.845,317,1.099,318,1.251,321,2.181,323,2.798,1201,4.459,1994,7.184,1995,7.184,1996,9.069,1997,7.694]],["t/535",[2,0.786,4,2.88,12,1.49,14,1.721,15,2.807,18,1.864,62,1.627,68,0.913,79,1.946,80,2.601,94,1.673,96,3.709,116,5.911,119,1.517,124,1.873,147,2.356,152,3.562,155,2.816,158,1.754,159,1.997,181,2.555,226,2.087,261,3.729,265,2.288,271,2.166,272,0.996,306,3.937,312,1.571,314,1.946,315,2.363,316,1.192,317,0.71,318,0.808,320,1.771,321,1.409,323,1.807,366,1.274,398,3.37,645,2.167,742,2.43,864,2.816,976,3.304,1259,3.025,1353,4.003,1357,3.2,1376,2.555,1442,3.2,1656,7.428,1659,3.729,1880,3.937,1998,4.641,1999,6.738,2000,6.738,2001,4.641,2002,4.641]],["t/537",[2,0.671,12,1.033,15,2.817,37,2.718,68,0.919,86,3.584,96,3.726,116,2.774,119,1.527,124,1.456,167,1.975,226,2.1,231,3.584,233,3.962,257,2.971,258,3.445,259,2.371,260,4.243,272,0.69,278,1.363,280,2.27,294,3.445,315,2.374,316,1.199,317,0.715,318,0.813,321,1.418,323,1.819,330,1.876,342,2.407,463,2.209,493,2.718,507,2.126,550,3.752,574,4.201,578,4.993,624,2.074,661,2.666,740,6.111,1056,3.584,1201,4.201,1331,3.325,1471,3.584,1518,5.669,1543,3.793,1577,4.993,2003,7.962,2004,6.769,2005,4.67,2006,6.15,2007,4.67,2008,5.743,2009,6.769,2010,6.769,2011,4.67,2012,4.67]],["t/539",[2,0.497,6,3.921,12,1.109,14,1.859,17,2.979,18,2.014,20,1.824,28,3.187,31,2.919,34,3.57,39,5.474,52,3.363,56,1.884,66,1.269,68,1.631,79,3.782,95,2.546,108,1.953,109,2.508,134,1.912,140,3.699,149,3.135,188,4.556,196,4.556,220,3.055,227,1.481,299,2.625,343,2.057,348,2.863,405,5.359,419,2.546,434,3.458,502,3.358,503,3.112,517,3.043,532,3.358,645,2.342,649,1.522,715,3.043,736,3.112,794,4.029,2013,4.556,2014,5.015,2015,5.015,2016,5.015,2017,4.556,2018,5.015,2019,4.556,2020,5.015]],["t/541",[2,0.686,12,1.066,21,2.752,39,6.25,47,3.805,66,1.22,68,0.949,108,1.877,124,1.037,134,1.859,146,3.324,159,1.429,167,1.407,172,1.524,193,2.411,227,1.002,272,0.713,287,2.752,297,1.247,305,2.044,309,3.588,312,1.631,313,1.896,315,2.429,316,1.238,317,0.738,318,0.84,369,3.228,420,3.88,438,2.697,439,2.167,444,2.67,463,2.281,517,4.919,564,3.064,765,4.38,816,3.064,948,3.747,1008,3.432,1201,4.298,1375,3.142,1407,3.324,1435,2.925,1992,4.38]],["t/543",[17,3.551,39,4.881,49,2.906,52,2.426,218,3.18,227,1.242,257,2.624,265,2.947,299,3.129,305,2.534,309,2.195,317,0.915,318,1.041,399,2.947,405,3.551,420,2.304,426,2.906,438,3.132,455,3.799,483,3.627,517,4.881,532,5.387,537,5.933,586,4.083,587,3.531,603,3.911,663,3.896,811,4.588,948,4.919,1222,5.517,1341,4.802,2021,4.802,2022,5.977,2023,4.409]],["t/545",[49,2.671,53,3.866,56,1.453,68,1.081,89,2.383,119,1.796,162,5.673,257,2.411,317,0.841,318,0.957,333,2.33,438,3.656,455,5.531,574,3.41,586,4.766,587,4.326,603,4.564,700,4.217,738,4.118,948,5.332,1199,6.101,1208,4.992,1209,4.992,1233,3.264,1369,3.581,1576,4.414,2021,6.101,2024,6.9,2025,5.494]],["t/547",[2,0.472,52,1.932,56,1.258,68,0.937,134,1.277,175,1.003,193,2.38,272,0.704,278,1.389,316,1.222,317,1.05,318,1.195,321,2.674,330,2.756,332,3.282,362,1.213,405,2.827,426,2.314,431,2.166,438,3.43,455,4.361,586,4.085,587,3.866,603,4.874,724,6.648,728,2.62,769,4.936,785,4.361,948,4.354,972,3.824,1009,5.513,1161,3.51,1192,6.497,1199,5.513,1222,2.888,1701,3.389,1723,3.824,1782,4.324,2021,5.513,2024,4.324,2026,4.759]],["t/549",[39,5.978,52,2.861,53,3.131,66,1.784,68,1.763,73,3.169,74,2.691,79,2.956,95,3.578,149,3.114,305,2.989,375,6.179,405,4.187,426,3.427,506,3.95,517,5.437,642,4.48,732,4.277,882,4.024,1123,5.199,2027,6.404]],["t/551",[12,1.751,39,6.299,52,3.213,68,1.149,73,2.625,83,4.69,88,2.92,181,3.213,195,3.213,201,3.805,208,4.306,272,0.863,317,0.893,318,1.017,342,4.08,343,2.395,362,1.488,410,3.333,434,4.025,435,2.838,438,2.273,586,4.56,603,2.838,624,2.593,780,4.952,781,6.36,911,4.48,1165,4.48,1196,8.171,1492,5.304,1723,4.69,2028,7.916,2029,5.837,2030,5.837]],["t/553",[49,2.86,52,2.388,53,2.613,68,1.158,89,2.552,172,1.86,175,1.24,189,3.425,206,3.359,272,1.177,301,4.306,305,2.495,317,0.9,318,1.025,324,2.523,398,2.943,422,3.425,431,2.678,438,2.291,439,2.645,480,2.523,481,2.523,624,2.613,678,3.032,769,4.46,773,4.727,775,5.345,780,8.197,781,7.246,1192,5.87,1199,4.727,1510,4.515,1723,4.727,2031,7.958,2032,5.883,2033,5.883,2034,5.883,2035,5.883]],["t/555",[2,0.877,12,1.53,15,2.448,25,3.808,66,1.751,67,3.273,91,4.509,124,1.905,167,2.019,173,3.754,175,1.458,215,3.512,227,1.438,278,2.584,309,2.541,902,3.23,1268,5.558,1333,3.512,1353,4.11,1622,6.06,2036,6.286,2037,5.869,2038,6.286]],["t/558",[2,0.673,12,1.502,68,1.337,74,2.593,79,2.848,89,2.947,94,2.448,124,1.461,134,1.823,175,1.844,227,1.819,493,3.954,502,4.549,517,4.122,616,4.836,618,4.684,644,5.01,742,3.556,882,3.878,1226,7.424,1353,5.198,1355,5.763,1622,5.431,2039,6.792,2040,6.792,2041,6.792]],["t/560",[2,0.398,12,0.889,19,2.493,51,2.251,55,2.173,56,1.062,68,1.192,79,1.684,89,2.627,124,1.568,130,3.408,134,1.078,141,2.293,144,4.176,145,2.438,167,1.172,172,1.27,175,0.847,222,3.408,227,1.81,238,3.65,239,2.553,256,2.86,309,3.488,325,2.865,333,1.703,348,2.293,455,2.553,474,2.103,490,1.613,495,5.437,502,4.056,518,4.176,537,4.467,616,4.312,689,1.763,729,2.293,761,2.86,859,2.618,871,2.493,888,4.176,949,6.682,1018,3.65,1094,3.65,1333,2.039,1341,4.865,1353,6.304,1354,3.65,1355,5.137,1357,2.77,1472,2.86,1622,4.523,1700,2.77,1859,3.083,1869,3.65,1881,2.69,2021,3.227,2042,6.056,2043,4.017,2044,4.017]],["t/562",[2,0.912,12,1.355,15,2.167,65,3.109,85,2.937,134,1.644,173,2.597,175,1.723,227,1.273,278,2.866,320,2.338,321,2.794,324,3.947,330,2.46,409,3.992,450,4.223,455,5.196,689,2.688,729,4.668,1353,3.638,1357,4.223,1462,4.7,1602,7.429,1622,5.074,2045,6.124,2046,7.429,2047,8.176]],["t/564",[2,0.685,15,3.133,62,2.426,64,3.622,65,3.512,66,1.751,68,1.362,119,2.262,167,2.019,215,3.512,226,3.111,227,1.438,232,5.558,309,2.541,312,2.341,313,2.722,362,1.763,399,3.411,616,6.304,689,3.037,1353,5.26,1357,6.106,1622,4.293,1887,5.869,1895,5.869]],["t/566",[2,0.886,5,3.196,49,2.816,68,1.14,119,1.894,134,1.554,146,3.994,173,3.339,215,2.94,218,3.082,226,2.604,227,1.637,272,0.856,278,2.611,316,2.022,317,0.886,318,1.009,364,1.758,366,1.59,399,4.411,499,4.653,543,4.653,603,3.828,689,2.542,799,4.124,938,6.044,1353,4.678,1357,3.994,1622,4.887,2036,5.263,2048,5.792,2049,7.874,2050,5.792,2051,7.155]],["t/568",[2,0.969,12,1.796,167,2.37,189,4.727,225,5.161,333,3.444,1333,4.123,1622,5.04,1686,6.89,2037,6.89,2052,8.121,2053,8.121]],["t/570",[2,0.851,12,1.899,55,4.646,173,3.641,176,4.569,721,3.562,1700,5.922,1881,5.751]],["t/572",[11,3.521,16,2.707,176,4.518,320,3.241,324,3.641,451,4.518,503,5.269,721,3.521,1131,6.263]],["t/574",[11,3.482,176,4.467,320,3.204,324,3.6,451,4.467,503,5.21,721,3.482,924,5.472,1131,6.192,1516,7.122]],["t/576",[11,3.482,52,3.407,176,4.467,320,3.204,324,3.6,451,4.467,454,6.443,503,5.21,721,3.482,1131,6.192]],["t/578",[2,0.861,12,1.922,79,3.643,721,3.603,1131,6.408,1757,7.894,2054,8.688]],["t/580",[2,0.755,12,1.686,20,2.774,56,2.016,104,4.626,149,2.65,153,2.391,175,1.607,297,1.972,445,2.603,507,3.471,645,3.56,649,2.315,816,4.845,890,4.197,954,4.197,1235,4.197,2055,6.927,2056,6.927]],["t/582",[2,0.631,12,1.408,37,1.725,58,2.827,67,2.032,68,0.845,78,1.892,104,3.863,109,3.184,119,1.404,122,2.032,124,0.924,133,2.665,141,2.452,153,2.942,272,0.635,301,3.444,305,1.821,317,0.657,318,0.748,333,1.821,364,1.304,366,1.179,442,2.551,454,3.296,507,3.453,508,3.231,549,3.902,556,3.231,574,3.95,575,5.693,576,3.45,577,3.45,578,3.167,582,4.532,586,2.18,587,2.794,588,3.45,589,5.114,590,3.643,591,3.971,594,4.7,605,4.103,743,2.876,747,4.944,1005,2.961,1125,2.665,1235,4.175,1812,3.643,1864,3.902,2057,3.902,2058,3.902,2059,4.294,2060,3.902,2061,3.902,2062,3.45,2063,3.902,2064,3.296]],["t/585",[5,2.466,12,1.344,68,1.196,78,2.028,79,2.547,153,1.905,154,3.686,167,1.773,232,4.88,286,3.536,297,1.571,301,4.399,302,2.519,367,3.487,408,3.86,463,2.874,472,2.874,493,3.536,504,2.995,508,3.084,528,3.536,605,4.959,729,3.468,747,3.959,879,5.154,954,3.344,999,3.18,1084,4.88,1085,4.662,1112,3.959,1235,3.344,1305,4.068,1407,4.189,1811,4.88,1817,4.068,1942,4.662,2065,6.533,2066,6.075]],["t/587",[26,4.155,49,2.929,89,2.614,94,2.172,134,1.617,175,1.27,194,4.445,195,3.317,227,1.252,250,4.155,314,2.527,333,2.555,335,4.29,345,4.841,431,2.743,480,2.584,481,2.584,507,4.156,605,4.939,606,4.155,748,4.445,954,3.317,999,3.155,1002,4.625,1068,4.445,1075,3.927,1098,5.112,1099,5.802,1108,4.155,1235,3.317,1509,4.625,2067,5.475,2068,9.129,2069,8.087,2070,5.112,2071,6.026]],["t/589",[12,1.789,16,1.921,58,2.677,66,1.525,68,1.186,138,4.625,153,2.536,227,1.252,297,1.558,301,4.376,314,2.527,364,1.829,366,1.654,412,2.614,447,2.851,507,4.156,547,3.26,605,4.376,645,2.814,715,3.656,741,4.035,749,4.625,902,2.814,924,3.927,1125,3.739,1235,3.317,1267,5.112,1344,5.475,1877,7.348,1884,5.475,1905,7.348,2064,4.625,2072,9.129,2073,6.026,2074,6.026]],["t/591",[2,0.759,18,2.233,49,1.746,58,1.596,66,1.407,68,0.707,78,1.696,172,1.136,193,1.797,206,2.051,253,2.229,272,1.132,297,0.929,301,5.106,364,2.325,366,2.59,418,4.843,423,2.406,463,3.918,480,1.541,481,1.541,507,4.296,571,1.824,574,5.857,575,5.026,591,4.336,594,4.908,605,5.241,738,1.7,741,6.32,747,6.151,1068,2.65,1125,2.229,1201,2.229,1235,4.215,1472,2.558,2038,3.264,2075,3.264,2076,3.264,2077,3.592,2078,3.592,2079,3.592,2080,3.592,2081,3.592]],["t/593",[2,0.622,12,1.839,37,2.522,64,3.287,153,1.969,272,0.928,297,2.41,301,4.497,362,2.119,364,1.906,366,1.723,395,3.585,412,2.724,420,2.421,447,2.971,480,2.693,481,2.693,494,4.205,507,3.784,508,3.187,574,5.159,586,3.187,747,4.092,1235,4.576,2082,8.312,2083,8.312,2084,8.312,2085,6.279,2086,6.279]],["t/595",[2,0.748,9,2.367,12,1.669,15,2.671,16,2.982,58,3.352,150,5.567,154,4.58,177,4.58,279,5.054,303,5.567,325,3.571,391,4.796,419,3.831,519,4.393,973,6.403,1853,5.205,2087,6.403,2088,6.857]],["t/598",[9,2.232,11,2.951,12,1.574,16,2.874,47,3.51,89,3.087,108,2.771,112,3.988,167,2.631,297,1.84,309,2.613,333,3.017,342,3.668,343,3.698,348,4.063,377,2.541,445,2.429,556,3.612,715,4.318,816,4.522,954,3.917,1876,5.249]],["t/600",[2,0.497,12,1.109,16,2.271,47,1.953,66,1.269,79,2.103,89,2.175,134,1.346,156,2.472,159,1.487,167,1.463,171,3.112,175,1.057,227,1.875,236,2.585,278,1.463,297,1.297,309,1.842,316,1.829,317,0.767,325,2.373,333,2.126,362,1.278,377,2.544,398,2.508,419,2.546,421,2.508,439,2.255,444,2.746,445,1.712,474,3.73,490,2.014,501,2.919,519,2.919,649,2.739,725,3.269,729,2.863,846,2.713,864,3.043,1155,4.643,1166,4.029,1190,3.358,1262,3.57,1435,3.043,1437,3.849,1589,4.029,1697,4.771,2089,4.254,2090,7.528,2091,6.473,2092,5.723,2093,4.029,2094,4.556]],["t/602",[2,0.633,16,2.68,52,2.592,56,1.688,66,1.616,67,3.021,78,2.096,124,1.374,153,2.947,249,4.277,288,3.794,297,1.652,309,2.345,317,1.286,318,1.464,325,3.021,343,2.62,364,1.939,365,2.302,366,1.753,367,3.605,377,2.281,421,3.194,444,2.462,445,2.18,493,3.717,556,3.242,560,3.515,890,3.515,999,3.343,1152,3.875]],["t/604",[2,0.579,12,0.847,16,2.258,25,2.109,47,2.758,56,1.013,64,2.006,66,0.97,67,1.813,68,0.754,78,2.621,107,2.23,134,1.028,149,1.332,153,2.484,167,1.118,172,2.239,220,1.643,249,2.566,272,0.567,286,2.23,288,4.207,292,2.147,302,1.589,317,0.894,318,1.018,364,1.163,366,1.052,367,2.506,377,2.086,400,3.078,419,1.945,421,1.917,445,1.308,490,2.346,523,3.251,534,3.251,547,4.285,631,4.207,649,1.163,764,2.941,883,4.694,915,6.744,938,4.484,954,2.109,968,2.941,999,2.006,1070,2.642,1085,2.941,1095,4.957,1393,3.545,1435,3.545,1522,3.251,1544,3.251,1745,6.434,1853,5.462,2055,3.481,2056,5.308,2095,3.832,2096,3.832,2097,3.832,2098,3.832]],["t/606",[2,0.245,9,0.776,11,2.195,12,0.547,15,0.876,16,2.881,25,1.362,47,0.963,52,1.004,53,1.099,58,2.741,66,1.042,68,1.456,73,1.852,78,2.049,82,1.825,85,1.186,89,1.787,94,0.892,107,3.081,127,1.825,141,1.413,147,1.256,148,1.899,149,0.86,150,3.038,153,1.935,154,1.501,155,2.5,157,1.657,159,0.733,166,1.572,167,1.202,172,0.782,175,0.521,177,2.5,193,1.238,220,1.061,227,0.856,267,1.44,268,1.339,278,1.202,279,1.657,287,1.413,292,1.386,297,1.596,303,1.825,305,1.049,325,3.501,343,1.015,365,2.224,373,2.099,377,2.204,397,2.099,399,2.031,402,2.447,444,2.04,445,3.085,472,1.171,490,2.478,493,2.398,500,1.988,508,2.091,523,2.099,524,1.762,528,2.398,534,2.099,603,3,620,2.099,631,2.447,645,1.155,680,1.825,715,2.5,732,2.5,736,1.535,816,1.572,817,2.248,820,1.572,858,1.501,871,1.535,885,3.038,915,2.759,928,1.988,954,1.362,968,1.899,1023,1.762,1026,1.762,1070,1.706,1152,1.501,1155,5.561,1277,3.495,1312,2.099,1472,1.762,1652,2.099,1671,1.613,1843,2.099,1853,5.411,1975,2.099,1980,1.825,1993,2.099,2008,4.49,2013,2.248,2063,2.248,2064,1.899,2093,4.252,2099,2.474,2100,2.474,2101,2.474,2102,4.119,2103,2.474,2104,2.474,2105,4.119,2106,3.743,2107,4.119,2108,4.119,2109,2.474]],["t/608",[16,2.291,56,1.9,68,1.414,85,3.445,107,4.182,134,1.928,149,2.497,176,3.823,193,3.593,297,1.858,302,2.979,369,4.811,377,2.566,445,2.453,474,3.761,493,4.182,603,4.409,649,2.181,948,4.907,1070,4.954,1701,5.115,2037,6.095,2110,6.528]],["t/610",[16,2.996,47,2.487,58,2.837,68,1.257,78,2.096,146,4.404,153,2.003,167,2.453,172,2.019,207,4.277,225,4.058,230,4.547,297,2.174,309,2.345,377,3.002,399,3.148,401,4.162,445,2.87,447,3.021,463,3.021,490,3.376,540,5.802,667,4.058,1407,4.404,1435,3.875,1671,4.162,2111,8.406,2112,8.406]],["t/612",[16,3.407,68,1.51,119,1.823,156,2.749,172,1.763,175,1.175,206,3.183,226,2.507,297,2.562,309,3.221,342,2.874,351,3.46,377,3.538,444,4.18,445,3.382,732,4.656,820,3.544,1462,4.28,1471,4.28,1543,3.125,1671,3.634,2023,4.113,2113,5.576,2114,5.576]],["t/614",[2,0.705,12,1.574,14,2.638,16,2.269,58,3.161,68,1.4,94,2.565,143,5.717,153,2.827,154,4.318,155,4.318,159,2.672,177,4.318,325,3.367,343,2.919,402,4.227,447,3.367,528,4.142,732,4.318,928,5.717,1112,4.638,1399,6.037,1980,5.249,2064,5.461]],["t/616",[2,0.796,16,2.562,159,2.382,175,1.693,272,1.188,317,1.229,318,1.399,402,4.772,438,3.129,1442,5.54,1703,8.394,2115,8.034]],["t/618",[2,0.755,16,2.431,68,1.5,78,1.901,159,2.26,175,1.607,272,1.127,317,1.167,318,1.328,362,1.943,402,4.529,453,5.624,744,8.662,757,6.701,1305,5.106,1721,6.927]],["t/620",[2,0.931,16,2.036,67,3.021,68,1.257,78,2.49,159,1.893,175,1.346,227,1.327,272,0.944,297,1.652,317,0.977,318,1.112,364,1.939,365,2.302,366,1.753,367,3.605,377,2.281,402,3.794,444,2.462,445,2.18,556,3.242,594,5.814,649,1.939,757,4.547,846,3.455,999,3.343,1305,4.277,1743,4.901]],["t/623",[2,0.796,175,1.693,272,1.188,317,1.229,318,1.399,362,2.048,364,2.439,412,3.485,533,7.458,556,4.078,745,8.864]],["t/625",[2,0.733,175,1.559,272,1.094,317,1.132,318,1.288,362,1.886,364,2.246,412,3.209,480,3.172,481,3.172,556,3.755,742,3.873,1155,4.822,1714,5.678,1715,8.393,1716,8.545,1718,7.837,2008,6.276]],["t/627",[2,0.667,16,3.073,78,1.679,175,1.419,272,0.995,317,1.03,318,1.172,362,1.716,364,2.044,412,2.92,447,4.116,480,2.887,481,2.887,501,3.918,603,4.229,902,3.143,1155,6.283,1161,6.417,1417,7.381,1543,3.772,1701,4.793,1707,8.178]],["t/629",[2,0.846,12,1.638,16,2.722,47,2.884,66,1.874,68,1.043,78,2.305,119,1.733,124,1.593,153,2.323,159,1.571,167,1.546,172,2.342,189,3.085,226,2.383,272,0.784,297,1.371,309,1.946,312,1.793,313,2.085,314,2.222,315,2.597,316,1.361,317,0.811,318,0.923,341,3.773,343,3.038,363,4.494,377,1.892,445,2.529,447,2.507,715,3.216,793,3.549,954,2.917,1008,3.773,1201,3.289,1407,5.107,1671,4.827,1697,3.549,1698,6.283,1876,3.909,1993,4.496]],["t/631",[2,0.847,16,2.726,66,1.658,68,1.29,85,3.143,94,2.362,156,3.231,159,1.943,272,0.969,312,2.218,313,2.578,315,2.998,316,1.683,317,1.003,318,1.142,399,3.231,419,3.327,445,2.919,463,3.101,472,3.101,474,3.431,490,2.632,519,3.815,976,4.667,999,4.477,1697,6.373,1699,7.254]],["t/633",[12,1.333,20,2.942,40,4.804,55,3.26,56,1.593,57,3.829,58,4.055,68,1.186,80,3.377,93,2.929,94,2.172,143,4.841,149,2.811,154,4.908,155,3.656,173,2.555,177,3.656,218,3.206,219,5.475,226,2.709,342,3.106,371,4.841,507,2.743,509,4.625,615,4.155,645,2.814,649,2.455,681,5.475,767,4.841,777,3.739,953,5.112,1046,4.841,1701,4.29,1826,5.112,1942,4.625,1980,4.445,2116,5.475,2117,6.026]],["t/635",[2,1.013,12,1.502,40,5.198,60,3.954,119,2.221,124,1.461,134,1.823,141,3.878,146,4.684,227,1.819,253,4.215,272,1.004,312,2.961,313,3.442,315,3.069,316,1.744,317,1.039,318,1.183,320,2.593,326,3.448,333,2.88,503,4.215,865,4.836]],["t/637",[2,0.483,15,1.075,16,1.945,30,2.24,40,4.145,52,3.1,53,3.393,58,1.349,65,1.542,66,1.233,67,1.437,68,0.598,78,1.215,89,2.113,94,1.095,109,1.519,134,1.307,149,2.833,153,1.528,167,2.036,172,1.54,175,0.64,207,2.034,218,1.616,226,1.366,227,0.631,236,1.566,239,1.93,257,2.138,259,2.473,272,0.72,278,1.422,297,1.26,317,0.933,326,1.542,353,1.616,362,1.554,366,1.915,377,1.74,402,1.804,406,2.681,421,2.437,433,3.193,436,3.775,437,2.894,438,1.897,445,1.663,455,3.096,474,1.59,490,1.956,504,2.402,571,1.542,626,2.836,733,2.44,738,2.305,777,4.33,805,5.439,818,1.885,820,1.93,891,1.702,930,2.163,968,2.331,971,2.24,1085,2.331,1280,2.24,1284,2.034,1305,2.034,1583,2.76,1726,5.314,1727,4.673,1728,3.175,1738,2.76,1817,3.262,1849,2.44,2062,2.44,2118,4.871,2119,4.871,2120,6.099,2121,3.037,2122,3.037,2123,4.871,2124,3.037,2125,6.978,2126,4.681]],["t/639",[2,0.826,9,1.763,12,1.244,15,2.429,20,2.046,52,2.282,55,1.972,56,0.964,58,3.049,59,3.34,60,4.492,65,1.85,68,0.717,78,0.909,89,1.581,109,1.823,119,1.192,134,0.978,149,1.267,153,1.143,227,1.427,240,2.928,272,0.539,278,2.003,297,0.943,301,3.042,317,0.558,318,0.635,325,1.724,326,1.85,333,1.545,342,3.538,362,0.929,364,1.107,365,2.474,366,1,367,4.337,377,1.302,435,2.733,445,1.244,451,1.939,472,3.945,476,5.824,490,1.464,507,3.513,528,2.122,557,3.092,574,3.489,603,1.772,604,2.595,645,1.702,649,1.107,764,2.797,767,4.517,779,3.312,871,2.262,999,2.944,1046,2.928,1227,3.312,1250,3.092,1407,2.513,1432,3.092,1438,4.517,1447,4.517,1728,3.665,1809,5.824,1834,3.312,1975,3.092,2067,3.312,2116,3.312,2127,3.645,2128,3.645,2129,3.645]],["t/641",[12,1.77,15,2.831,49,3.89,58,2.634,60,3.452,80,4.484,134,2.147,149,2.061,159,1.758,167,2.335,173,2.514,189,3.452,215,3.01,218,3.155,228,4.764,236,4.124,278,2.829,435,3.89,448,3.971,450,5.517,618,4.089,864,3.598,1052,4.764,1168,5.902,1265,4.374,1267,5.031,1289,4.374,1470,5.031,1622,3.68,1849,4.764,2130,8.001,2131,5.93,2132,5.93]],["t/643",[2,0.568,15,1.322,16,1.191,52,3.611,53,3.097,60,4.551,66,1.45,67,1.768,68,0.735,73,2.577,78,1.429,109,1.869,134,1.003,149,1.298,167,1.09,175,0.787,218,1.988,225,3.642,257,1.64,259,1.897,272,0.552,278,2.461,297,0.966,317,1.067,318,0.651,352,2.576,353,1.988,362,1.777,364,1.134,365,1.347,366,1.913,367,3.353,377,1.334,398,1.869,399,1.842,405,2.219,412,2.486,426,1.816,435,2.786,437,2.219,444,1.44,445,1.275,447,1.768,476,6.632,571,3.539,626,2.175,645,1.744,660,2.576,719,3.169,721,1.549,724,2.66,725,2.435,732,2.267,738,1.768,799,2.66,805,2.66,891,2.094,930,2.66,981,3.001,999,1.956,1061,2.756,1222,2.267,1261,2.867,1367,2.576,1368,2.576,1567,3.394,1726,2.435,1727,4.669,1728,4.544,1814,3.394,1849,3.001,2062,3.001,2126,2.867,2133,7.817,2134,6.971,2135,3.736,2136,3.736]],["t/645",[2,1.012,60,4.438,124,1.64,267,4.438,272,1.127,312,3.185,313,3.703,315,3.3,316,1.957,317,1.167,318,1.328,324,3.27,333,3.233,742,3.992]],["t/647",[2,0.713,12,1.591,21,2.902,25,2.798,31,4.187,37,3.993,38,2.848,56,1.902,69,3.084,140,3.749,158,1.921,175,1.516,256,3.619,272,1.234,280,2.471,299,2.661,309,1.867,331,3.505,335,3.619,364,1.543,365,3.009,366,1.395,367,3.084,444,3.218,445,1.735,667,3.23,825,4.084,826,3.154,846,2.75,849,2.902,1056,3.901,1098,4.312,1363,3.505,1369,4.688,1393,5.065,1579,4.312,1660,3.901,1668,5.778,1820,5.778,1853,3.505,2137,5.083,2138,4.618,2139,5.083,2140,4.312,2141,4.618,2142,5.083]],["t/649",[11,3.068,37,2.971,108,2.881,119,2.419,122,3.5,156,3.647,167,2.159,227,1.538,280,3.596,297,1.913,298,4.489,301,4.002,309,3.392,381,4.146,524,5.267,547,4.002,571,3.755,1509,5.678,2143,6.721,2144,6.721,2145,6.721]],["t/651",[5,1.079,18,1.068,25,1.464,31,1.548,37,3.793,38,5.388,46,2.041,47,1.035,48,1.781,49,1.293,56,0.703,63,1.834,64,1.392,65,1.35,73,1.196,78,1.091,79,1.833,84,2.87,88,2.187,93,1.293,141,1.518,153,1.371,156,1.311,158,1.005,171,3.456,175,0.921,176,1.415,179,1.548,199,1.69,207,1.781,220,1.14,227,0.909,236,1.371,249,1.781,272,1.054,278,0.776,280,4.261,288,2.597,297,0.688,305,1.127,309,0.977,317,0.407,318,0.463,333,1.127,343,2.284,364,1.327,365,0.958,366,1.2,367,3.287,377,0.95,381,1.49,410,1.518,419,1.35,427,2.416,444,3.123,445,1.493,490,1.068,518,1.834,547,3.49,559,1.614,591,1.392,604,3.965,624,1.181,670,2.256,689,1.167,726,2.041,740,2.041,748,3.225,816,1.69,840,1.961,924,1.733,999,1.392,1002,2.041,1052,2.136,1056,4.274,1070,3.015,1099,2.779,1108,1.834,1124,2.256,1133,2.416,1289,1.961,1349,2.416,1393,3.915,1456,2.256,1496,2.041,1543,1.49,1556,2.136,1668,3.513,1817,1.781,1820,2.136,1873,2.256,1939,2.416,2140,3.71,2141,2.416,2146,2.659,2147,4.372,2148,3.71,2149,2.659,2150,2.416,2151,2.659,2152,2.659,2153,5.059,2154,4.372,2155,2.659,2156,2.659,2157,2.659,2158,2.659,2159,2.659,2160,2.659,2161,2.659,2162,2.659,2163,2.659,2164,2.659,2165,2.659,2166,4.372,2167,4.372,2168,4.372]],["t/654",[2,0.727,12,1.623,56,1.614,58,1.804,68,1.444,112,2.276,134,1.09,149,1.411,159,1.81,166,2.581,167,1.782,171,2.52,175,1.546,218,2.161,227,1.525,236,2.093,265,3.01,280,1.974,306,3.445,309,1.491,381,2.276,490,2.452,519,2.364,546,2.647,586,3.099,649,1.233,705,3.117,820,2.581,846,2.197,1007,3.69,1045,3.69,1101,6.224,1104,8.349,1106,5.547,1108,2.8,1191,3.262,1192,2.995,1222,2.464,1298,6.666,1435,2.464,1471,3.117,1683,7.413,1791,3.69,1813,3.69,2169,4.061,2170,4.061,2171,4.061,2172,4.061,2173,4.061,2174,4.061,2175,6.105,2176,3.69,2177,3.69,2178,3.69,2179,7.336,2180,4.061,2181,6.105,2182,3.69,2183,6.105,2184,7.336,2185,7.336,2186,6.105,2187,4.061,2188,4.061,2189,4.061,2190,4.061]],["t/656",[9,2.038,37,3.414,64,3.402,66,1.644,78,2.12,94,2.342,158,2.456,167,1.896,227,1.351,280,4.133,297,2.199,298,5.159,301,3.515,460,4.792,518,6.535,547,3.515,823,6.271,1100,4.235,1509,7.273,2070,7.213,2143,5.903,2144,5.903,2145,5.903,2191,5.903,2192,6.497]],["t/658",[37,2.174,38,3.034,56,1.432,66,1.37,78,1.875,81,3.091,94,1.951,153,1.698,158,2.047,172,2.377,280,3.655,298,3.286,317,0.829,318,0.943,364,1.644,365,3.533,366,1.486,377,2.685,400,4.35,444,2.898,445,1.849,460,6.37,483,3.286,518,5.184,742,3.936,823,3.994,1021,3.152,1099,5.489,1100,4.9,1245,4.919,1472,3.855,1495,4.919,1509,4.155,2070,4.593,2087,4.593,2191,4.919,2193,5.414,2194,5.414,2195,5.414,2196,5.414,2197,5.414,2198,5.414,2199,5.414]],["t/660",[56,2.147,62,2.848,68,1.598,134,2.179,227,1.688,310,4.062,752,6.89,1369,5.293,1660,6.233,1853,5.6,2200,8.121,2201,8.121,2202,8.121]],["t/663",[16,2.551,18,2.382,66,1.5,124,1.721,147,3.01,159,2.372,175,1.25,209,2.966,227,1.233,297,2.069,316,2.054,317,0.907,362,1.511,410,3.386,420,3.085,421,2.966,444,3.085,624,2.634,649,2.429,729,3.386,768,5.902,912,5.358,913,5.358,1376,4.404,1697,5.358,2092,6.428,2203,5.93,2204,5.031,2205,3.769,2206,5.388,2207,5.93,2208,8.001]],["t/665",[2,0.494,18,2.001,56,1.317,66,1.794,94,1.795,124,1.935,149,1.731,153,2.821,173,2.112,227,1.035,257,2.186,259,2.529,272,0.737,278,1.454,297,1.288,317,0.762,362,1.27,377,1.779,421,2.492,442,4.212,444,1.92,445,1.701,446,4.621,472,2.357,514,4.4,546,3.247,575,3.023,591,2.608,594,2.791,597,3.674,601,3.435,605,2.695,649,2.73,703,3.247,809,4.226,818,4.4,858,3.023,1100,3.247,1561,3.823,2204,4.226,2209,4.226,2210,4.526,2211,4.526,2212,4.526,2213,4.526,2214,4.526,2215,4.526,2216,4.526,2217,4.526,2218,4.526,2219,4.526,2220,4.526,2221,6.442,2222,4.526,2223,4.526,2224,4.526]],["t/667",[9,2.253,62,2.519,78,1.792,124,2.138,153,2.844,312,2.431,325,3.399,439,3.23,649,3.017,846,5.647,851,5.911,852,5.911,853,5.299,868,5.115,2225,6.528]],["t/670",[2,0.525,9,1.662,12,1.172,14,3.165,18,2.128,20,1.928,22,2.613,34,3.773,49,2.576,54,4.496,56,1.958,66,1.341,68,1.043,69,3.216,70,4.257,73,2.383,75,3.549,79,2.222,88,2.651,93,3.6,94,1.91,114,4.815,128,4.257,133,3.289,155,3.216,175,1.117,185,4.067,201,4.827,209,3.704,215,3.76,267,3.085,295,4.067,347,3.368,357,4.496,391,3.368,406,2.917,438,3.788,514,3.289,560,2.917,649,2.592,654,3.289,1516,4.496,2088,4.815,2226,5.299,2227,5.299,2228,6.283,2229,5.299,2230,4.815]],["t/672",[2,0.588,12,1.312,18,2.382,22,2.924,26,4.089,68,1.575,85,2.843,89,2.573,138,4.551,149,2.061,156,2.924,159,1.758,172,1.875,175,1.25,227,1.233,265,2.924,272,0.877,333,2.514,364,1.8,401,3.865,438,3.526,518,4.089,649,2.749,654,3.68,678,3.056,830,4.764,846,3.208,1123,4.374,1353,4.753,2228,7.682,2231,8.001,2232,8.001,2233,8.001,2234,8.001,2235,5.93]],["t/674",[6,4.673,22,4.186,149,2.951,438,3.911,514,5.269,649,3.049,654,5.269]],["t/677",[2,0.617,9,1.953,68,1.225,159,1.846,175,1.312,227,1.294,271,2.002,272,0.921,297,2.138,316,2.122,317,0.953,362,1.587,366,1.709,421,3.114,445,2.822,480,3.545,481,3.545,846,3.369,850,4.433,851,4.058,852,4.058,1082,4.058,1233,5.873,1529,5.282,1828,5.657,2205,3.957,2236,9.28,2237,8.266,2238,6.226,2239,6.226]],["t/679",[2,0.454,9,1.438,66,1.69,78,1.143,134,1.792,162,2.988,167,1.338,227,1.637,265,2.26,272,0.678,286,2.668,297,1.727,302,1.901,317,1.022,318,0.798,354,3.381,364,2.027,365,2.407,366,2.162,377,2.813,391,2.913,442,3.967,444,3.037,445,2.28,453,3.381,480,1.966,481,1.966,559,2.782,569,4.472,586,3.39,591,3.496,608,3.161,738,2.169,818,2.845,820,2.913,826,2.845,850,4.755,851,2.988,852,5.641,886,4.165,1021,2.668,1074,3.889,1233,3.967,1413,3.889,1417,3.889,1589,3.683,1843,3.889,2206,4.165,2240,6.678,2241,4.584,2242,8.655,2243,4.584,2244,4.165,2245,7.878]],["t/681",[2,0.789,12,1.033,22,3.337,62,1.638,68,0.919,88,2.336,95,2.371,108,3.1,113,4.243,124,1.713,149,1.623,159,1.384,175,0.984,220,2.003,227,1.815,271,2.176,272,0.69,287,2.666,292,2.617,309,1.715,312,2.291,313,1.837,315,1.638,316,1.199,317,0.715,318,0.813,333,1.98,343,1.916,361,3.962,439,3.58,472,2.209,490,1.876,514,4.201,603,2.27,624,2.074,646,3.127,649,2.814,654,4.201,703,3.044,793,3.127,811,3.584,849,3.864,854,3.752,868,4.819,889,4.021,912,4.533,913,4.533,1331,3.325,2051,4.243,2205,5.06,2246,4.67,2247,4.67,2248,6.769]],["t/683",[16,2.593,18,2.44,48,4.068,52,2.466,53,2.698,65,3.084,67,2.874,68,1.6,78,2.545,79,2.547,119,1.986,153,2.875,249,4.068,352,4.189,395,3.468,419,4.128,421,4.585,442,3.609,556,3.084,575,3.686,591,3.18,762,4.481,903,5.3,915,5.446,1671,3.959,1726,3.959,2249,6.075,2250,6.075,2251,6.075,2252,6.075,2253,5.154]],["t/685",[2,0.852,16,2.108,58,2.937,78,2.145,134,1.774,153,2.074,220,2.836,227,1.374,272,0.978,297,1.71,317,1.012,318,1.152,362,1.685,364,2.007,365,2.383,366,1.815,367,4.34,377,2.361,435,4.181,439,2.973,444,2.549,445,2.257,456,4.56,472,3.128,915,4.428,999,3.462,1728,5.605]],["t/687",[52,3.698,325,4.311,560,5.015]],["t/689",[56,1.956,66,1.872,68,1.456,82,5.457,104,4.489,124,1.592,134,1.985,153,2.897,286,4.306,288,4.394,395,4.223,421,3.7,442,4.394,472,4.37,473,4.822,507,3.367,818,4.591,1522,6.276,2064,5.678,2254,7.398]],["t/691",[2,0.755,66,1.929,68,1.5,88,3.813,89,3.307,167,2.225,272,1.127,317,1.167,362,1.943,365,2.748,442,4.529,446,6.135,473,4.969,591,4.928,689,3.346,1100,4.969,2060,6.927]],["t/693",[2,0.649,66,1.658,68,1.29,88,3.278,89,2.843,167,1.913,272,0.969,317,1.003,362,1.671,442,3.893,446,5.573,473,4.272,556,3.327,575,5.775,576,5.266,577,5.266,578,4.834,587,3.753,591,3.431,641,6.869,689,2.877,1100,4.272,1530,5.266,2057,5.955,2093,5.266,2255,6.554,2256,6.554,2257,6.554,2258,6.554,2259,6.554]],["t/695",[2,0.656,11,1.878,14,1.679,20,1.647,37,2.658,78,1.129,134,1.776,153,2.453,154,2.748,155,2.748,158,2.502,167,1.321,175,0.954,177,2.748,257,2.905,259,3.36,272,0.67,288,2.69,297,1.171,317,1.013,318,0.789,325,3.701,362,1.154,364,1.375,365,1.632,366,1.243,367,2.839,377,1.617,431,2.061,442,2.69,444,1.746,445,1.546,446,4.314,574,2.81,594,4.384,595,6.285,597,3.34,598,6.004,600,3.34,601,4.564,602,5.615,626,3.853,833,3.34,968,3.476,999,2.371,1099,4.206,1112,2.952,1125,4.108,1305,4.433,1453,3.842,1562,3.638,1750,3.842,1811,3.638,1980,3.34,2065,5.318,2260,4.528,2261,4.528,2262,4.528,2263,4.114,2264,4.528]],["t/697",[2,0.578,12,1.751,58,2.593,78,1.456,134,1.566,153,2.483,154,3.542,155,3.542,158,2.206,167,2.31,177,3.542,221,4.306,225,3.71,257,2.562,259,2.963,267,3.398,268,3.158,269,4.306,272,0.863,288,3.468,297,1.51,317,0.893,325,4.25,362,1.488,408,3.71,423,3.909,442,3.468,444,2.25,446,5.16,508,2.963,547,3.158,605,3.158,626,3.398,721,2.421,858,3.542,879,4.952,1112,3.805,1305,3.909,1811,4.69,1980,4.306,2065,4.69,2263,5.304,2265,5.837]],["t/699",[2,0.511,18,2.07,56,1.362,66,1.838,94,1.857,124,1.809,149,1.791,153,2.637,257,2.262,259,2.616,272,0.762,297,1.333,317,0.789,362,1.313,377,1.84,421,2.577,442,4.314,444,1.987,445,1.759,446,4.733,472,2.438,514,4.507,546,3.359,575,3.127,591,2.698,594,2.888,597,3.801,601,3.554,605,2.788,649,2.772,703,3.359,809,4.372,818,4.507,858,3.127,1259,3.359,1561,3.955,2204,4.372,2209,4.372,2210,4.682,2211,4.682,2212,4.682,2213,4.682,2214,4.682,2215,4.682,2216,4.682,2217,4.682,2218,4.682,2219,4.682,2220,4.682,2221,6.598,2222,4.682,2223,4.682,2224,4.682]],["t/701",[2,0.841,12,1.878,56,2.245,78,2.118,175,1.789,305,3.6,321,2.578,649,2.578,2266,8.49]],["t/703",[2,0.633,12,1.414,18,1.735,22,3.152,49,2.1,64,2.261,66,1.093,78,1.594,89,1.874,94,1.557,108,1.682,134,2.042,149,1.501,175,1.604,195,2.377,220,1.852,227,1.866,265,2.129,305,1.831,403,6.456,431,3.464,460,6.934,461,3.075,493,2.514,499,5.136,514,2.68,519,2.514,643,4.906,649,2.726,654,3.967,678,3.295,700,3.315,704,3.924,729,3.65,732,2.621,846,2.337,852,2.815,858,2.621,954,4.189,1029,3.47,1333,2.192,1363,2.978,1437,3.315,1543,2.42,1985,3.924,2046,3.924,2153,3.924,2267,7.61,2268,4.319,2269,7.61,2270,4.319,2271,6.392,2272,6.392,2273,6.392,2274,4.319]],["t/705",[175,1.897,507,4.098,560,4.955,1125,5.586]],["t/707",[56,2.409,815,8.279,2275,9.111]],["t/709",[2,0.755,12,1.686,56,2.016,79,3.197,175,1.607,265,3.759,278,2.225,317,1.167,318,1.328,364,2.315,365,2.748,366,2.092,367,4.036,507,3.471,649,2.315,999,3.992,1002,5.851,1125,4.731]],["t/712",[2,0.832,12,0.818,14,1.371,37,2.284,56,0.978,64,2.977,68,0.728,70,2.972,73,1.663,74,1.412,75,2.477,108,2.698,112,3.187,119,2.543,122,1.75,133,2.296,134,1.859,159,1.097,167,1.079,189,2.153,207,2.477,209,1.85,218,3.026,226,2.557,227,1.182,236,1.907,239,2.351,256,2.634,272,0.841,280,4.85,282,4.365,296,3.138,297,1.471,298,3.451,310,1.85,314,1.551,347,3.614,356,2.972,370,3.361,391,2.351,409,2.411,507,3.821,547,2.001,548,2.351,570,2.839,585,2.839,649,1.123,677,2.551,692,2.551,800,2.839,865,2.634,871,2.296,1099,4.942,1125,3.529,1312,3.138,1315,4.569,1333,3.948,1335,3.138,1812,3.138,1870,3.138,2017,3.361,2126,2.839,2176,3.361,2205,4.942,2276,3.699,2277,3.699,2278,3.699,2279,3.699,2280,6.928,2281,3.699,2282,7.777,2283,3.699]],["t/714",[2,0.374,18,3.156,37,1.516,65,1.916,73,2.596,78,1.75,119,2.57,122,1.785,134,1.882,167,1.685,172,1.193,175,1.217,176,2.008,191,3.032,209,1.888,218,3.073,236,1.945,265,1.861,272,0.558,279,2.527,280,3.82,297,0.976,298,2.29,343,1.548,367,1.618,473,2.46,483,2.29,507,2.629,569,3.867,606,6.16,618,2.602,649,1.146,732,2.29,738,2.732,749,2.896,858,2.29,871,2.342,996,7.469,1075,4.572,1099,2.398,1124,3.202,1125,4.353,1315,3.032,1369,2.46,1403,4.64,1420,4.899,1453,3.202,1561,2.896,1562,3.032,1827,3.202,1853,5.419,1876,6.247,1991,3.429,2138,3.429,2150,3.429,2205,2.398,2284,8.47,2285,3.774,2286,3.774,2287,3.774,2288,3.429,2289,3.774,2290,3.774,2291,4.432,2292,3.774,2293,3.774,2294,3.774,2295,3.774,2296,3.774,2297,3.774]],["t/716",[37,3.031,78,1.882,220,3.237,227,1.569,253,4.684,278,2.202,559,4.58,649,2.84,820,4.796,871,4.684,1100,6.625,1333,3.831,2148,7.935,2298,7.547,2299,7.547,2300,7.547]],["t/718",[56,2.409,1596,7.32,2301,9.111]],["t/720",[189,4.627,292,4.454,507,3.618,649,2.413,678,4.097,705,7.41,859,6.293,864,4.823,871,4.933,1059,7.222,1060,7.222,2209,6.743,2302,7.948]],["t/722",[48,3.707,67,2.619,78,2.349,134,1.485,167,1.615,175,2.082,236,2.853,265,2.729,278,2.228,292,3.102,356,4.447,386,4.082,398,3.818,409,3.607,431,3.475,507,3.475,645,2.584,649,2.317,859,4.975,865,3.941,871,3.435,952,6.935,1125,3.435,1233,3.288,1876,4.082,2148,4.695,2303,5.535,2304,5.535,2305,7.633,2306,7.633,2307,5.535,2308,7.633,2309,6.935,2310,7.633,2311,5.535,2312,5.535,2313,5.535]],["t/724",[2,0.706,12,1.576,14,1.859,68,0.987,73,2.255,133,3.112,145,3.043,227,1.481,236,2.585,362,2.429,406,2.76,412,3.09,423,4.771,436,2.713,438,3.226,480,3.553,481,3.553,649,2.163,781,7.953,832,6.044,858,3.043,932,3.187,1075,4.643,1235,3.921,1714,5.467,2019,4.556,2291,5.467,2309,4.556,2314,8.196,2315,6.473,2316,8.285,2317,8.285,2318,5.015,2319,5.015,2320,5.015,2321,5.015]],["t/726",[2,0.569,12,1.271,14,2.131,18,2.308,20,2.091,68,1.131,78,1.433,107,3.346,149,1.997,220,2.465,227,1.195,265,2.834,272,0.85,362,1.997,406,4.312,438,2.238,448,3.849,649,2.378,738,3.706,743,3.849,819,3.653,846,3.11,858,3.488,1075,3.746,1235,3.164,1675,4.618,1734,4.876,2228,6.645,2291,6.012,2314,7.117,2315,5.222,2322,5.747,2323,7.833,2324,5.747,2325,5.747,2326,7.833,2327,7.833,2328,7.833,2329,7.833]],["t/728",[119,2.002,130,8.931,167,2.386,175,1.94,218,3.259,227,1.913,278,2.686,280,2.977,398,3.063,519,3.565,649,1.859,689,4.04,813,5.564,819,3.892,1125,3.801,1435,3.716,1561,6.275,1562,4.92,2177,5.564,2178,9.565,2291,4.7,2330,6.124,2331,6.124]],["t/730",[2,0.698,4,4.374,5,2.861,12,1.559,67,4.239,78,1.758,91,4.594,167,2.057,175,1.888,236,3.633,463,3.335,500,5.663,864,4.277,871,4.374,946,6.404,1902,7.602,2006,6.404,2089,5.98,2288,6.404,2291,5.41,2332,7.049,2333,7.049,2334,7.049,2335,7.049]],["t/733",[56,2.38,175,1.897,1554,7.637,1596,7.232]],["t/735",[2,0.617,9,2.592,12,1.377,20,3.007,21,3.555,56,1.646,79,2.611,81,3.555,88,3.114,124,1.34,149,2.164,175,1.312,201,4.058,278,1.817,307,4.593,385,6.641,387,5.657,391,5.253,410,3.555,645,2.907,646,4.17,649,3.001,703,4.058,759,4.294,791,4.433,859,4.058,863,4.593,1021,3.624,1108,4.294,1924,5.657,2336,6.226,2337,6.226,2338,6.226,2339,6.226]],["t/737",[2,0.851,9,2.693,12,1.899,94,3.095,107,4.999,409,5.598,649,2.607,2182,7.803]],["t/739",[2,1.045,15,2.618,17,4.394,68,1.456,74,3.526,107,4.306,265,3.647,316,2.372,548,4.701,551,5.101,791,5.267,2205,4.701,2244,6.721,2340,6.276,2341,5.678,2342,6.276,2343,7.398]],["t/741",[2,1.001,9,1.47,12,0.641,16,0.923,37,1.163,56,0.766,62,2.071,74,1.789,88,1.449,108,1.826,109,2.345,122,1.37,124,1.604,134,0.777,151,3.977,153,1.47,159,0.859,173,1.228,175,1.245,199,1.841,221,2.136,227,1.746,266,2.327,268,1.567,271,2.182,272,0.693,278,1.368,280,2.871,297,1.212,298,1.757,305,1.988,310,1.449,311,1.653,312,1.587,313,1.844,314,1.214,315,1.016,316,0.744,317,0.717,318,0.504,343,1.188,362,0.738,391,2.979,421,1.449,424,1.997,439,1.302,444,1.807,445,0.989,474,1.516,490,1.163,505,3.729,506,2.627,507,3.632,548,2.979,560,2.58,605,2.536,646,3.955,649,1.793,725,1.888,764,2.223,835,2.136,882,4.796,887,2.457,934,2.327,997,2.457,1021,1.686,1082,3.056,1099,1.841,1125,4.212,1375,1.888,1593,5.453,1697,3.14,1754,5.007,2092,4.745,2205,5.899,2344,2.896,2345,5.007,2346,3.598,2347,2.896,2348,2.896,2349,2.896,2350,2.896]],["t/743",[2,0.494,15,1.763,17,4.212,22,3.495,47,1.94,74,2.706,79,2.973,90,3.823,95,2.529,99,3.435,134,2.215,159,1.477,175,1.05,181,2.742,209,2.492,215,2.529,220,3.041,278,2.409,299,2.608,353,3.772,493,2.9,504,4.07,505,3.546,506,3.973,609,3.336,626,2.9,628,3.435,642,4.506,645,2.326,646,3.336,647,3.823,649,2.506,654,4.4,665,3.674,823,3.674,849,4.048,854,4.002,868,3.547,882,2.844,1545,4.226,1603,4.002,1881,3.336,2205,3.166,2345,6.089,2346,3.823,2351,4.526,2352,4.526,2353,4.526,2354,4.526,2355,4.226]],["t/745",[2,0.518,9,1.639,12,1.156,18,2.098,22,2.576,56,2.24,68,1.028,79,3.553,134,1.402,143,4.198,263,6.663,333,3.109,383,7.381,391,3.321,506,2.928,514,3.243,649,2.938,654,3.243,826,3.243,902,2.44,956,4.433,1143,3.854,1268,4.198,1331,5.221,1593,4.198,1596,4.198,1796,4.747,2023,3.854,2062,5.892,2205,3.321,2230,4.747,2345,3.854,2346,5.628,2356,9.676,2357,5.225,2358,5.225,2359,5.225,2360,5.225,2361,5.225,2362,5.225,2363,5.225,2364,5.225,2365,5.225,2366,5.225]],["t/747",[9,2.253,62,2.519,78,1.792,124,2.138,153,2.844,312,2.431,325,3.399,439,3.23,649,3.017,846,5.647,851,5.911,852,5.911,853,5.299,868,5.115,2225,6.528]],["t/749",[2,0.706,12,1.576,14,2.642,15,1.37,18,1.555,20,2.142,22,2.903,37,1.555,39,4.324,40,2.3,51,2.17,52,3.477,53,1.72,57,2.46,58,2.616,60,2.254,66,0.98,69,2.349,78,1.469,83,4.731,85,1.856,88,1.936,96,2.131,105,2.403,106,2.523,124,0.833,134,1.039,147,1.965,149,2.046,151,3.284,159,1.746,167,1.13,175,1.805,181,2.131,209,1.936,215,1.965,227,1.224,236,1.995,265,1.909,278,1.13,305,1.642,381,2.17,383,3.11,389,2.403,391,3.742,401,2.523,434,4.061,438,2.293,492,3.284,507,1.762,508,1.965,514,3.654,556,2.989,649,3.006,654,3.654,769,2.17,791,2.756,864,2.349,891,3.994,926,2.971,927,2.971,997,3.284,1069,3.518,1447,4.731,1555,3.518,1826,3.284,1827,3.284,2126,2.971,2367,3.871,2368,3.871,2369,3.518,2370,3.871,2371,3.871]],["t/751",[16,3.352,56,1.937,78,1.827,149,3.19,305,3.106,649,2.787,729,4.182,759,5.051,791,5.215,891,4.105,915,4.906,959,5.885,1021,4.264,1190,4.906,1701,5.215,2369,6.655,2372,7.325,2373,6.655]],["t/753",[2,0.671,12,1.497,16,2.784,47,1.819,66,1.182,79,1.958,89,2.026,134,1.253,156,2.302,159,1.384,167,1.363,171,2.898,175,0.984,227,1.815,236,2.407,278,1.363,297,1.208,309,1.715,316,1.738,317,0.715,325,2.209,333,1.98,362,1.19,377,2.417,398,2.336,419,3.436,421,2.336,439,2.1,444,2.61,445,1.594,474,3.544,490,1.876,501,2.718,519,3.94,649,2.651,725,3.044,729,2.666,791,3.325,792,4.243,846,2.527,858,2.834,864,2.834,1155,4.412,1166,3.752,1190,3.127,1262,3.325,1435,2.834,1437,3.584,1589,3.752,1697,4.533,2087,3.962,2089,3.962,2090,7.234,2091,6.15,2092,5.438,2093,3.752,2094,4.243,2373,4.243]],["t/756",[2,0.967,12,1.333,14,2.234,16,2.579,20,2.192,66,1.525,78,2.017,149,2.094,272,0.891,297,1.558,317,0.922,318,1.049,364,1.829,365,2.172,366,1.654,367,3.468,377,2.152,391,3.829,402,3.579,419,3.059,444,2.323,445,2.057,519,3.508,529,3.508,594,5.468,649,2.455,757,4.29,846,3.26,902,2.814,928,4.841,981,4.841,999,3.155,1052,4.841,1190,4.035,1743,4.625]],["t/758",[2,0.689,9,1.522,12,1.073,14,1.799,16,2.218,20,1.765,66,1.228,67,2.295,68,1.369,94,2.508,95,2.463,107,2.824,153,1.522,158,1.834,159,1.438,175,1.714,228,3.898,272,0.717,278,1.416,297,1.255,302,2.012,316,1.246,317,0.742,330,1.949,364,1.473,377,1.733,402,2.882,406,2.671,420,1.87,424,3.346,438,1.889,444,1.87,464,3.346,501,2.824,504,2.392,514,3.011,529,4.05,546,3.162,594,3.899,649,2.47,664,3.579,729,2.77,799,3.455,819,3.083,846,2.625,890,2.671,891,2.719,902,2.266,1108,3.346,1111,3.579,1143,3.579,1155,3.162,1190,3.249,1259,3.162,1262,3.455,1442,3.346,1703,7.14,1704,4.408,1705,4.408,1706,4.408,2126,3.724,2374,4.852]],["t/760",[2,0.644,16,2.072,68,1.279,153,2.038,175,1.369,220,2.786,272,0.961,317,0.994,318,1.132,362,1.656,364,1.973,365,3.415,366,1.783,377,2.32,412,2.819,472,3.074,649,1.973,738,3.074,846,3.515,876,4.48,902,3.034,1393,5.159,1543,3.641,1707,5.512,1709,7.213,1712,7.213,1713,5.512,1716,7.213,1718,7.213]],["t/763",[14,3.337,20,3.275,79,3.774,649,2.733]],["t/765",[14,3.337,31,5.24,51,5.045,389,5.586]],["t/767",[4,5.455,14,3.259,31,5.117,2375,8.79,2376,8.79,2377,8.79]],["t/769",[14,3.221,20,3.161,37,3.489,227,1.806,490,3.489,491,7.894,492,7.371]],["t/771",[14,3.112,20,3.054,78,2.094,106,5.472,124,1.806,267,4.887,268,4.542,280,4.081,293,5.21,325,3.972]],["t/773",[14,3.112,20,3.054,78,2.094,105,5.21,124,1.806,267,4.887,268,4.542,280,4.081,293,5.21,325,3.972]],["t/775",[14,3.298,20,3.236,37,3.572,1489,8.082,1497,7.146]],["t/777",[482,7.503]],["t/779",[12,1.796,79,3.405,80,5.481,134,2.179,137,5.99,140,5.99,145,4.928,215,4.123,310,4.062,560,4.47,1120,6.525,1767,7.379]],["t/781",[2,1.005,28,3.441,66,1.37,74,3.742,104,3.286,107,3.152,108,2.108,175,1.141,179,3.152,214,3.626,299,2.835,305,2.296,316,2.217,333,2.296,413,3.216,439,2.434,474,2.835,504,2.669,506,3.034,548,3.441,551,3.734,556,2.749,593,4.593,643,4.155,644,3.994,645,2.528,693,4.919,694,3.994,777,3.36,868,3.855,882,4.292,1280,3.994,1375,3.529,1421,3.994,1881,3.626,2023,3.994,2058,4.919,2340,6.378,2341,4.155,2342,4.593,2378,5.414,2379,5.414,2380,5.414,2381,7.518,2382,5.414]],["t/783",[2,0.607,17,4.857,47,2.385,74,3.121,95,3.109,108,3.184,109,4.604,134,1.644,167,2.386,218,3.259,257,2.688,305,2.597,310,4.604,316,1.572,348,3.497,399,3.019,504,3.019,506,3.432,532,5.476,536,4.7,537,4.517,548,3.892,551,4.223,628,4.223,650,4.517,660,4.223,692,4.223,882,3.497,1123,4.517,2023,4.517,2027,5.564,2061,5.564,2383,6.124,2384,6.124]],["t/785",[12,2.238,15,3.043,37,3.454,47,3.349,68,1.301,74,2.524,119,2.162,215,3.357,305,2.804,342,3.408,353,4.576,444,3.684,489,4.708,504,3.26,505,5.062,506,3.705,507,3.01,509,5.075,660,4.56,665,4.877,747,4.31,855,5.312]],["t/787",[2,1.067,66,1.286,68,1,74,2.745,104,3.084,107,2.959,108,2.801,109,2.542,124,1.094,227,1.057,310,2.542,316,1.847,439,3.234,505,4.79,506,2.848,548,3.23,551,3.505,605,2.75,649,1.543,882,5.836,979,4.312,1375,4.688,1593,7.291,1754,6.694,2023,3.749,2205,5.305,2340,4.312,2341,3.901,2342,4.312,2345,6.694,2346,5.52,2385,5.083]],["t/789",[17,5.112,22,2.233,47,2.577,74,1.729,79,2.775,90,5.08,95,3.36,134,1.776,159,1.962,175,1.395,181,3.643,209,3.311,220,3.355,278,1.932,299,2.371,353,3.522,493,2.636,504,3.263,505,3.311,506,4.384,609,4.433,628,4.564,642,2.878,645,3.091,646,4.433,647,5.08,649,2.009,654,2.81,849,4.913,854,5.318,868,4.713,882,2.585,1545,5.615,1603,5.318,1881,4.433,2205,4.206,2345,5.77,2346,5.08,2351,6.014,2352,6.014,2353,6.014,2354,6.014,2355,5.615]],["t/791",[15,2.279,22,4.168,47,3.292,68,1.268,74,2.459,119,2.106,175,1.357,181,3.545,215,3.27,220,2.762,305,2.731,342,3.32,353,4.498,490,2.587,504,3.176,505,4.72,506,3.61,510,4.944,546,4.198,558,5.464,628,4.442,642,4.093,646,4.314,647,4.944,649,2.566,654,5.246,660,4.442,665,4.751,1403,5.175,2345,4.751]],["t/793",[2,0.54,4,3.385,11,3.596,12,1.206,14,2.022,15,2.674,16,1.739,19,3.385,20,3.154,56,1.998,62,1.912,68,1.487,69,3.31,70,4.382,78,1.884,96,4.772,108,2.124,124,1.173,146,3.761,159,1.617,173,2.313,193,3.779,209,2.728,226,2.452,278,1.592,314,2.287,369,3.652,378,4.955,379,4.955,381,3.056,408,3.466,418,3.883,505,2.728,508,2.769,524,3.883,532,3.652,605,2.951,742,2.855,830,4.382,851,3.555,878,4.955,976,3.883,1152,3.31,1743,4.186,2075,4.955,2076,4.955,2386,5.454]],["t/795",[2,0.727,12,1.622,15,1.849,62,2.572,63,3.603,79,2.191,81,2.983,96,4.037,124,1.578,158,1.975,159,1.549,173,2.215,271,3.111,272,0.773,278,1.525,287,2.983,316,1.342,317,0.8,318,0.91,321,1.586,330,2.098,343,2.144,362,1.332,420,2.014,431,3.338,480,2.241,481,2.241,587,3.719,603,3.565,608,3.603,645,2.44,680,3.854,721,3.041,903,4.78,969,4.747,1082,5.523,1233,4.356,1331,3.72,1386,4.269,1411,4.747,1511,3.854,2253,4.433,2387,7.333,2388,4.433]],["t/797",[2,0.767,9,1.149,12,0.81,15,1.997,20,2.053,47,2.198,62,2.415,73,1.647,79,1.536,95,1.859,96,3.79,108,1.426,124,1.214,134,0.983,158,1.384,173,2.393,193,1.832,227,0.761,271,3.199,272,1.236,278,1.647,287,2.091,305,1.553,309,1.345,312,1.24,313,1.441,314,1.536,315,1.979,316,1.449,317,1.054,318,1.199,343,2.315,362,1.439,413,2.176,420,2.176,431,3.522,433,1.918,444,2.655,445,2.351,480,2.42,481,2.42,564,3.587,587,1.608,608,4.748,610,3.328,611,3.328,612,3.328,661,2.091,721,2.856,819,2.328,890,2.016,903,3.679,1082,6.351,1365,2.387,1386,2.132,1997,4.788,2110,3.328,2253,3.107,2388,4.788,2389,3.663,2390,3.663,2391,4.788,2392,4.788]],["t/799",[2,0.898,12,1.589,15,0.955,20,0.981,38,2.479,62,2.984,74,1.689,79,1.131,81,1.54,94,0.972,96,1.485,104,1.637,122,1.276,124,1.545,134,1.509,158,1.02,173,2.385,175,0.568,220,1.157,227,0.92,257,1.184,258,1.99,259,1.369,271,2.987,272,1.141,278,1.641,287,1.54,297,1.455,311,3.211,312,0.913,313,1.061,314,1.131,315,1.551,316,1.136,317,1.181,318,1.251,333,1.144,343,1.107,362,1.128,420,2.769,421,2.213,431,3.874,433,1.412,439,2.529,444,3.496,445,1.51,480,1.157,481,1.157,483,1.637,498,2.451,501,1.57,510,3.396,543,2.167,587,1.942,624,1.198,645,1.26,661,1.54,663,1.758,677,1.86,700,2.07,716,1.99,742,1.412,747,1.758,754,1.99,890,2.435,912,1.806,913,1.806,1082,6.292,1363,1.86,1375,3.666,1386,1.57,1817,1.806,1946,2.288,1950,8.239,1997,3.753,2341,2.07,2388,2.288,2391,3.753,2392,3.753,2393,2.697,2394,2.697]],["t/801",[11,3.405,14,3.044,20,3.582,62,2.879,69,4.982,96,4.519,209,4.107,287,4.688,438,3.197,463,3.885,1496,6.302]],["t/803",[2,0.511,15,2.57,68,1.014,77,4.682,108,2.828,116,5.718,124,1.109,145,3.127,173,2.185,227,1.51,256,3.669,271,2.335,278,2.119,287,2.942,310,2.577,312,1.744,313,2.027,317,0.789,318,0.898,352,3.554,362,1.313,395,2.942,398,2.577,412,2.235,439,2.317,447,2.438,472,3.436,480,2.21,481,2.21,504,2.541,505,2.577,506,4.07,556,2.616,605,2.788,882,2.942,889,3.061,902,2.406,931,5.574,965,4.372,981,4.14,1333,2.616,1365,3.359,1375,3.359,1376,2.836,1386,3,1391,4.14,1400,4.682,1734,8.167,2395,4.682,2396,5.153]],["t/805",[4,2.468,9,0.744,11,0.984,12,0.525,15,1.817,17,2.362,20,1.447,25,1.306,37,0.953,47,2,56,0.627,57,1.507,59,1.409,62,1.395,66,1.521,68,0.783,86,1.821,96,2.189,109,1.186,116,4.303,124,2.222,134,0.637,147,2.019,149,0.824,156,1.169,159,1.984,172,0.75,173,1.006,181,1.306,199,1.507,209,1.186,215,1.204,218,1.262,251,3.439,257,1.746,271,1.932,278,0.692,287,2.27,297,0.613,305,1.006,309,0.871,312,2.034,317,0.609,318,0.693,321,0.72,326,2.019,342,1.223,353,2.116,362,0.605,366,0.651,368,1.906,412,1.029,420,0.914,438,0.924,451,3.562,463,1.882,508,2.607,517,1.439,559,1.439,587,1.746,599,2.742,616,1.689,677,1.636,705,1.821,742,2.082,773,1.906,777,1.472,786,1.821,849,1.354,853,1.75,869,1.689,876,3.541,888,1.636,890,1.306,929,1.636,933,2.155,936,2.155,949,3.052,976,1.689,1028,1.906,1070,1.636,1150,1.906,1166,1.906,1233,1.409,1259,1.546,1274,2.012,1317,1.906,1341,1.906,1376,2.189,1386,2.315,1442,1.636,1481,2.155,1501,4.996,1518,2.832,1586,2.012,1604,4.125,1606,1.906,1607,3.195,1608,2.012,1609,2.012,1610,1.906,1612,3.613,1615,2.155,1616,2.012,1628,2.155,1630,2.155,1632,1.906,1637,2.012,1651,2.155,1656,4.125,1684,3.374,1700,1.636,1743,1.821,1759,2.012,1859,1.821,1876,1.75,1881,3.439,1887,2.012,1895,2.012,1897,2.155,1908,2.012,1913,3.374,2106,2.155,2397,5.82,2398,2.372,2399,2.372,2400,2.372,2401,2.372,2402,2.372,2403,2.372,2404,2.372,2405,2.372,2406,2.372,2407,3.977,2408,2.372,2409,2.155,2410,2.372,2411,2.372,2412,5.135]],["t/807",[15,3.255,18,1.471,28,3.587,56,0.968,62,1.284,66,0.927,68,1.737,95,1.859,124,0.788,167,1.069,173,1.553,249,2.453,271,1.178,278,1.069,279,2.453,317,0.561,318,0.638,321,1.714,333,1.553,341,2.608,408,3.587,412,3.356,420,1.412,425,2.608,504,4.535,505,4.75,506,4.947,517,2.223,529,2.132,532,3.78,556,1.859,587,1.608,624,1.627,642,3.587,721,1.519,728,2.016,772,5.181,777,3.503,826,2.273,850,2.608,851,2.387,852,2.387,882,5.251,888,3.892,891,2.053,902,1.71,922,2.702,971,2.702,1074,3.107,1215,6.563,1284,2.453,1376,2.016,1386,2.132,1472,2.608,1530,4.534,1631,3.328,1632,2.943,1923,6.256,2065,2.943,2413,8.356,2414,3.663,2415,3.663,2416,3.663,2417,3.107,2418,5.644,2419,3.663]],["t/809",[2,0.622,56,1.66,66,1.589,124,1.351,156,3.096,227,1.305,271,2.019,312,2.125,313,2.47,314,2.633,317,0.961,318,1.094,321,1.906,322,3.933,330,2.522,398,3.141,429,4.631,463,2.971,587,3.649,689,2.756,785,3.99,889,3.73,903,4.092,912,5.567,913,5.567,1009,5.044,1015,5.044,1201,3.897,1376,3.456,1386,3.655,1942,4.819,2397,5.044,2420,8.312,2421,6.279,2422,5.705]],["t/811",[56,1.812,66,1.734,69,4.16,124,1.475,156,3.38,271,2.204,314,2.874,317,1.049,318,1.194,463,3.243,506,3.841,532,4.591,587,3.864,644,5.056,689,3.009,882,3.913,902,3.201,912,4.591,913,4.591,1201,4.254,1233,4.072,1376,3.773,1386,3.99,1942,5.261,2395,6.228,2397,5.507,2422,6.228,2423,8.802]],["t/813",[40,5.751,124,1.883,147,3.448,271,2.184,317,1.039,318,1.183,320,3.34,326,3.448,398,4.377,429,6.454,493,3.954,587,2.981,641,7.03,742,4.581,889,4.035,1376,3.739,1386,3.954,1431,6.171,1501,4.684,1859,5.213,2424,9.681]],["t/815",[124,1.916,156,3.443,271,2.245,312,3.319,314,2.928,317,1.069,318,1.216,320,2.665,362,1.78,463,3.304,550,5.61,587,4.305,1376,3.844,1386,4.065,1452,7.156,1501,4.815,1606,5.61,2397,5.61,2417,7.556,2425,8.907]],["t/817",[64,3.873,271,2.378,317,1.132,318,1.288,362,1.886,386,5.457,391,4.701,412,3.209,480,3.172,481,3.172,587,3.247,867,6.721,1331,5.267,1333,3.755,1376,4.072,1386,4.306,1452,7.421,2417,7.837,2426,9.237]],["t/819",[2,0.808,12,1.473,20,2.423,47,1.353,56,1.433,67,3.151,81,3.803,179,2.023,271,2.622,272,0.985,309,1.276,314,2.272,317,1.248,318,1.42,321,1.055,333,1.474,342,3.433,420,2.089,431,2.467,435,1.689,437,3.219,438,1.353,463,1.644,483,4.042,543,4.354,567,3.158,587,3.58,608,3.737,672,2.667,738,1.644,742,1.82,769,5.231,850,4.742,1201,3.363,1213,4.924,1250,8.319,1324,2.792,1376,4.489,1386,4.747,1577,2.563,1604,2.792,1687,5.651,1844,4.597,1903,3.158,2341,4.159,2355,2.948,2427,5.419,2428,3.475,2429,3.475,2430,5.419,2431,5.419,2432,5.419,2433,5.419,2434,5.419,2435,6.66]],["t/821",[37,2.501,56,1.646,271,2.658,297,1.61,298,3.778,314,2.611,317,1.265,318,1.44,330,3.32,381,3.489,517,3.778,587,3.628,852,5.388,930,4.433,1376,4.55,1386,4.812,1668,5.002,2140,5.282,2436,10.792,2437,8.266,2438,6.226,2439,6.226,2440,8.266,2441,8.266]],["t/823",[2,0.76,11,3.182,12,1.233,20,2.029,62,1.955,68,1.097,79,2.338,81,3.183,96,3.069,158,2.108,159,1.653,173,3.719,251,3.734,271,3.185,272,1.134,278,2.56,309,2.048,316,1.432,317,1.174,318,1.336,343,2.287,362,1.956,420,2.15,431,4.301,587,3.368,608,3.845,715,3.384,772,3.734,1082,6.457,2391,6.509,2442,5.576,2443,5.576]],["t/825",[9,2.984,11,2.718,16,2.09,68,1.29,124,2.047,317,1.003,318,1.142,362,1.671,386,4.834,395,3.742,472,3.101,480,2.811,481,2.811,556,4.831,624,2.911,677,4.52,890,3.608,891,3.673,914,4.834,965,5.56,1082,5.573,1624,5.56,2392,8.073,2409,5.955,2444,6.554,2445,6.554]],["t/827",[9,2.275,314,3.042,317,1.11,318,1.263,362,1.849,364,2.202,366,2.504,367,3.913,468,7.726,547,3.925,1242,8.887,2446,7.254,2447,9.124,2448,9.124]],["t/829",[2,0.536,5,2.198,16,2.397,58,2.405,64,2.835,68,1.066,78,1.875,94,1.951,96,2.98,172,1.712,206,3.091,272,0.801,314,3.621,317,1.15,318,1.309,320,2.067,362,1.916,366,2.063,367,3.224,468,5.545,591,2.835,631,3.216,672,4.155,725,3.529,739,4.35,902,2.528,999,2.835,1181,4.778,1235,2.98,1367,3.734,1368,3.734,1403,4.35,1697,5.035,1959,4.919,2449,5.414,2450,7.327,2451,7.327,2452,9.33,2453,7.518]],["t/831",[5,3.912,58,3.864,78,1.679,119,2.201,159,1.995,175,1.419,272,0.995,316,2.616,317,1.03,318,1.172,362,1.716,463,3.185,615,4.642,759,4.642,906,5.711,932,5.529,1902,7.381,2454,8.699,2455,9.639,2456,8.699]],["t/833",[5,2.808,52,2.808,78,1.725,153,2.17,159,2.051,175,1.458,239,4.397,272,1.023,317,1.059,318,1.205,362,2.257,366,1.899,412,3.001,480,2.967,481,2.967,743,4.633,1181,4.397,1728,5.771,2450,8.284,2451,7.512,2457,8.045,2458,8.854]],["t/835",[5,2.808,78,1.725,124,1.488,153,2.17,159,2.051,175,1.458,239,4.397,272,1.023,317,1.059,318,1.205,362,2.257,366,1.899,412,3.001,442,5.26,480,2.967,481,2.967,743,4.633,1181,4.397,1729,8.045,2450,8.284,2451,7.512,2457,8.045]]],"invertedIndex":[["0",{"_index":1222,"t":{"235":{"position":[[1293,1]]},"293":{"position":[[441,1]]},"295":{"position":[[182,1],[486,1]]},"297":{"position":[[188,1]]},"299":{"position":[[652,1]]},"357":{"position":[[39,1],[41,1],[63,1],[65,1],[91,1],[93,1],[459,1]]},"359":{"position":[[96,1]]},"414":{"position":[[33,1],[35,1]]},"481":{"position":[[339,1],[343,1],[441,1],[445,1]]},"543":{"position":[[91,1],[168,1],[170,1]]},"547":{"position":[[148,1]]},"643":{"position":[[587,1]]},"654":{"position":[[205,1]]}}}],["1",{"_index":586,"t":{"85":{"position":[[267,1]]},"87":{"position":[[155,1]]},"226":{"position":[[693,1]]},"237":{"position":[[1302,1]]},"239":{"position":[[459,1],[652,1]]},"259":{"position":[[185,1]]},"268":{"position":[[162,1]]},"270":{"position":[[92,1]]},"293":{"position":[[795,1]]},"295":{"position":[[632,1],[750,1]]},"299":{"position":[[691,1],[712,1]]},"357":{"position":[[89,1]]},"418":{"position":[[178,1]]},"420":{"position":[[165,1]]},"481":{"position":[[341,1],[443,1]]},"543":{"position":[[115,1],[172,1]]},"545":{"position":[[143,1],[223,1],[281,1],[309,1]]},"547":{"position":[[172,1],[217,1],[240,1]]},"551":{"position":[[155,1],[171,1],[175,1]]},"582":{"position":[[260,1]]},"593":{"position":[[211,1]]},"654":{"position":[[213,1],[284,1]]},"679":{"position":[[0,1],[568,1]]}}}],["10",{"_index":1492,"t":{"309":{"position":[[74,2]]},"551":{"position":[[157,2]]}}}],["1000",{"_index":1221,"t":{"235":{"position":[[1272,4]]},"278":{"position":[[406,4]]}}}],["100vw",{"_index":2188,"t":{"654":{"position":[[269,5]]}}}],["10px",{"_index":1495,"t":{"309":{"position":[[91,4]]},"658":{"position":[[82,4]]}}}],["11",{"_index":1886,"t":{"481":{"position":[[354,2],[495,2]]},"505":{"position":[[338,2]]}}}],["114",{"_index":2221,"t":{"665":{"position":[[410,3],[414,3]]},"699":{"position":[[400,3],[404,3]]}}}],["123",{"_index":1417,"t":{"278":{"position":[[448,3]]},"627":{"position":[[97,3],[192,3]]},"679":{"position":[[519,3]]}}}],["1234",{"_index":1712,"t":{"374":{"position":[[133,4],[240,4]]},"376":{"position":[[231,4],[407,4]]},"760":{"position":[[99,4],[209,4]]}}}],["12345",{"_index":1206,"t":{"235":{"position":[[950,5]]}}}],["123456",{"_index":2050,"t":{"566":{"position":[[80,6]]}}}],["127",{"_index":2022,"t":{"543":{"position":[[164,3]]}}}],["14",{"_index":1767,"t":{"418":{"position":[[33,2],[208,2],[228,2],[241,2],[254,2]]},"779":{"position":[[29,2]]}}}],["16",{"_index":223,"t":{"15":{"position":[[127,2]]}}}],["16px",{"_index":2199,"t":{"658":{"position":[[295,4]]}}}],["18",{"_index":213,"t":{"15":{"position":[[25,2],[40,2]]},"181":{"position":[[23,2]]},"491":{"position":[[413,2],[513,2]]}}}],["18px",{"_index":2192,"t":{"656":{"position":[[130,4]]}}}],["19",{"_index":1781,"t":{"418":{"position":[[288,2]]}}}],["1da57a",{"_index":337,"t":{"34":{"position":[[276,6]]}}}],["1rpx",{"_index":2186,"t":{"654":{"position":[[198,4],[277,4]]}}}],["2",{"_index":162,"t":{"9":{"position":[[86,1]]},"237":{"position":[[1395,1]]},"259":{"position":[[188,1]]},"268":{"position":[[165,1]]},"270":{"position":[[96,1]]},"357":{"position":[[37,1]]},"359":{"position":[[86,1]]},"503":{"position":[[714,1]]},"545":{"position":[[167,1],[247,1],[284,1]]},"679":{"position":[[247,1]]}}}],["20",{"_index":1174,"t":{"230":{"position":[[255,2]]}}}],["200",{"_index":1243,"t":{"235":{"position":[[1933,3]]}}}],["2009",{"_index":1935,"t":{"503":{"position":[[416,4]]}}}],["20px",{"_index":2071,"t":{"587":{"position":[[181,4]]}}}],["24px",{"_index":2196,"t":{"658":{"position":[[158,4]]}}}],["262833",{"_index":2214,"t":{"665":{"position":[[327,6]]},"699":{"position":[[317,6]]}}}],["3",{"_index":13,"t":{"2":{"position":[[46,1]]},"9":{"position":[[7,1],[62,1],[144,1],[170,1],[214,1]]},"141":{"position":[[85,1]]},"237":{"position":[[1520,1]]},"259":{"position":[[197,1]]},"268":{"position":[[174,1]]},"270":{"position":[[94,1]]},"299":{"position":[[193,1]]},"333":{"position":[[542,1]]},"354":{"position":[[10,1]]},"357":{"position":[[61,1],[457,1]]},"359":{"position":[[94,1],[1119,1]]},"414":{"position":[[31,1]]},"418":{"position":[[291,1]]},"503":{"position":[[380,1]]}}}],["300",{"_index":1102,"t":{"212":{"position":[[346,3]]}}}],["3000",{"_index":537,"t":{"80":{"position":[[109,4]]},"85":{"position":[[940,4],[968,4],[1197,4],[1226,4]]},"376":{"position":[[217,4]]},"543":{"position":[[142,4],[174,4]]},"560":{"position":[[80,4],[175,4]]},"783":{"position":[[129,4]]}}}],["375px",{"_index":2181,"t":{"654":{"position":[[151,5],[181,5]]}}}],["39",{"_index":1776,"t":{"418":{"position":[[175,2]]}}}],["3g",{"_index":1823,"t":{"427":{"position":[[1140,2]]}}}],["4",{"_index":304,"t":{"23":{"position":[[352,1]]},"117":{"position":[[346,1]]}}}],["404",{"_index":540,"t":{"80":{"position":[[169,3],[199,3]]},"610":{"position":[[94,3]]}}}],["4321",{"_index":1720,"t":{"376":{"position":[[507,4]]}}}],["5",{"_index":306,"t":{"23":{"position":[[365,1]]},"535":{"position":[[175,1]]},"654":{"position":[[295,1]]}}}],["55",{"_index":1872,"t":{"474":{"position":[[42,2]]}}}],["5mb",{"_index":2035,"t":{"553":{"position":[[228,3]]}}}],["5px",{"_index":2187,"t":{"654":{"position":[[207,3]]}}}],["5vw",{"_index":2189,"t":{"654":{"position":[[288,3]]}}}],["7",{"_index":1791,"t":{"420":{"position":[[163,1],[167,1]]},"654":{"position":[[286,1]]}}}],["750",{"_index":2183,"t":{"654":{"position":[[160,3],[189,3]]}}}],["750rpx",{"_index":2179,"t":{"654":{"position":[[125,6],[172,6],[260,6]]}}}],["8",{"_index":578,"t":{"85":{"position":[[202,1]]},"87":{"position":[[90,1]]},"503":{"position":[[235,1]]},"537":{"position":[[146,1],[419,1]]},"582":{"position":[[139,1]]},"693":{"position":[[153,1]]}}}],["8kb",{"_index":1564,"t":{"343":{"position":[[77,3]]}}}],["9999",{"_index":1355,"t":{"250":{"position":[[384,4]]},"558":{"position":[[57,4]]},"560":{"position":[[188,4],[253,4]]}}}],["__dirnam",{"_index":611,"t":{"85":{"position":[[805,9]]},"797":{"position":[[386,9]]}}}],["__html",{"_index":2069,"t":{"587":{"position":[[144,6],[260,6]]}}}],["abc",{"_index":666,"t":{"94":{"position":[[37,3],[50,3],[215,3]]}}}],["abort",{"_index":1220,"t":{"235":{"position":[[1254,7]]}}}],["absolut",{"_index":2442,"t":{"823":{"position":[[129,8]]}}}],["acc",{"_index":1669,"t":{"361":{"position":[[310,3],[345,3],[1423,3],[1458,3]]}}}],["accept",{"_index":771,"t":{"113":{"position":[[443,6]]}}}],["acceptcooki",{"_index":808,"t":{"115":{"position":[[425,12]]}}}],["access",{"_index":1228,"t":{"235":{"position":[[1366,6],[2132,8]]}}}],["activ",{"_index":1054,"t":{"201":{"position":[[32,6],[97,6]]}}}],["activelocal",{"_index":746,"t":{"111":{"position":[[228,12],[311,12]]}}}],["add",{"_index":1377,"t":{"259":{"position":[[8,3],[28,3],[59,3],[103,3],[122,3],[139,3],[151,3],[181,3]]},"268":{"position":[[50,3],[108,3],[125,3],[137,3],[158,3]]},"297":{"position":[[496,3],[528,3]]},"299":{"position":[[667,3]]}}}],["addattribut",{"_index":638,"t":{"87":{"position":[[616,12]]}}}],["adddataloaderimport",{"_index":2434,"t":{"819":{"position":[[887,19],[1088,19]]}}}],["addev",{"_index":2437,"t":{"821":{"position":[[15,8],[113,8]]}}}],["addeventlisten",{"_index":1136,"t":{"220":{"position":[[61,16]]}}}],["addexport",{"_index":2431,"t":{"819":{"position":[[402,9],[550,9]]}}}],["addexporttyp",{"_index":2433,"t":{"819":{"position":[[625,14],[783,14]]}}}],["addload",{"_index":1679,"t":{"361":{"position":[[2189,9],[2430,9]]}}}],["addmodul",{"_index":1575,"t":{"347":{"position":[[128,9]]}}}],["addprovid",{"_index":2447,"t":{"827":{"position":[[39,11],[213,11]]}}}],["addrenderfil",{"_index":2430,"t":{"819":{"position":[[226,13],[334,13]]}}}],["addrendertempl",{"_index":2427,"t":{"819":{"position":[[23,17],[135,17]]}}}],["addtask",{"_index":1460,"t":{"299":{"position":[[214,8]]}}}],["addwrapp",{"_index":2450,"t":{"829":{"position":[[68,10],[207,10],[264,10]]},"833":{"position":[[15,10],[85,10],[230,10]]},"835":{"position":[[15,10],[85,10],[238,10]]}}}],["admin",{"_index":440,"t":{"47":{"position":[[372,5]]},"49":{"position":[[244,5],[269,5]]},"55":{"position":[[170,5]]},"59":{"position":[[184,5]]},"181":{"position":[[223,5],[282,5],[295,5],[405,5],[437,5]]},"187":{"position":[[339,5]]},"325":{"position":[[256,5]]}}}],["ag",{"_index":1173,"t":{"230":{"position":[[250,3]]},"299":{"position":[[188,3],[423,3],[462,3]]},"481":{"position":[[348,3],[462,3]]}}}],["ahook",{"_index":1256,"t":{"237":{"position":[[44,6],[1687,6]]}}}],["alert",{"_index":1087,"t":{"210":{"position":[[267,5],[307,5]]},"239":{"position":[[657,5]]}}}],["ali",{"_index":1593,"t":{"357":{"position":[[110,3],[139,3]]},"741":{"position":[[177,3],[203,3],[303,3],[329,3]]},"745":{"position":[[111,3]]},"787":{"position":[[249,3],[275,3],[375,3],[401,3]]}}}],["alia",{"_index":1604,"t":{"359":{"position":[[167,5]]},"477":{"position":[[73,5],[322,5]]},"805":{"position":[[155,5],[560,5],[584,5]]},"819":{"position":[[1134,5]]}}}],["alibaba",{"_index":260,"t":{"21":{"position":[[25,7]]},"537":{"position":[[468,7]]}}}],["alicdn",{"_index":2216,"t":{"665":{"position":[[373,6]]},"699":{"position":[[363,6]]}}}],["alifd",{"_index":822,"t":{"126":{"position":[[309,5]]},"133":{"position":[[210,5]]},"137":{"position":[[224,5],[350,5]]},"501":{"position":[[337,5],[723,5]]}}}],["aliv",{"_index":927,"t":{"177":{"position":[[13,5],[34,5],[74,5]]},"179":{"position":[[283,5]]},"357":{"position":[[437,5],[468,5]]},"394":{"position":[[41,5]]},"749":{"position":[[260,5]]}}}],["aliyunc",{"_index":900,"t":{"162":{"position":[[619,8]]}}}],["allowsbouncevert",{"_index":2210,"t":{"665":{"position":[[251,20]]},"699":{"position":[[241,20]]}}}],["analyz",{"_index":1610,"t":{"359":{"position":[[323,8]]},"408":{"position":[[363,8]]},"410":{"position":[[194,8]]},"805":{"position":[[827,8]]}}}],["anonym",{"_index":1877,"t":{"479":{"position":[[27,9],[170,9]]},"589":{"position":[[132,9],[240,9]]}}}],["anothercondit",{"_index":1001,"t":{"191":{"position":[[56,16]]}}}],["antd",{"_index":106,"t":{"4":{"position":[[393,4]]},"17":{"position":[[58,4]]},"23":{"position":[[17,4],[28,4],[240,4],[302,4],[312,4],[360,4]]},"25":{"position":[[29,4],[121,4],[144,4],[199,4]]},"28":{"position":[[25,4]]},"34":{"position":[[38,4],[125,4],[148,4],[203,4],[238,4]]},"135":{"position":[[38,4]]},"357":{"position":[[283,4],[303,4]]},"749":{"position":[[269,4]]},"771":{"position":[[3,4]]}}}],["antd5",{"_index":691,"t":{"96":{"position":[[259,5]]}}}],["antialias",{"_index":2145,"t":{"649":{"position":[[80,11]]},"656":{"position":[[74,11]]}}}],["anymock",{"_index":2370,"t":{"749":{"position":[[180,7]]}}}],["api",{"_index":438,"t":{"47":{"position":[[328,3]]},"107":{"position":[[34,3]]},"203":{"position":[[62,3],[120,3]]},"208":{"position":[[25,3]]},"226":{"position":[[421,3],[487,3],[580,3]]},"235":{"position":[[261,3],[363,3]]},"237":{"position":[[197,3],[1366,3],[1473,3],[1622,3]]},"239":{"position":[[300,3]]},"241":{"position":[[182,3],[407,3]]},"250":{"position":[[30,3],[278,3],[389,3],[431,3]]},"301":{"position":[[24,3]]},"307":{"position":[[242,3]]},"374":{"position":[[12,3]]},"376":{"position":[[75,3]]},"378":{"position":[[12,3],[44,3]]},"380":{"position":[[12,3]]},"382":{"position":[[179,3],[298,3]]},"388":{"position":[[12,3]]},"396":{"position":[[161,3]]},"427":{"position":[[466,3],[971,3]]},"429":{"position":[[650,3]]},"431":{"position":[[139,3],[484,3]]},"435":{"position":[[508,3]]},"437":{"position":[[227,3]]},"439":{"position":[[446,3],[549,3],[1157,3],[1259,3]]},"495":{"position":[[173,3],[267,3]]},"529":{"position":[[179,3],[213,3]]},"541":{"position":[[337,3],[371,3]]},"543":{"position":[[58,3],[179,3]]},"545":{"position":[[111,3],[191,3],[260,3],[299,3]]},"547":{"position":[[74,3],[115,3],[207,3],[364,3]]},"551":{"position":[[97,3]]},"553":{"position":[[155,3]]},"616":{"position":[[12,3]]},"637":{"position":[[428,3],[811,3]]},"670":{"position":[[42,3],[58,3],[76,3],[88,3],[168,3]]},"672":{"position":[[7,3],[47,3],[62,3]]},"674":{"position":[[8,3],[19,3]]},"724":{"position":[[17,3],[155,3],[308,3]]},"726":{"position":[[174,3]]},"749":{"position":[[90,3],[203,3]]},"758":{"position":[[232,3]]},"801":{"position":[[15,3]]},"805":{"position":[[31,3]]},"819":{"position":[[15,3]]}}}],["api2",{"_index":1334,"t":{"241":{"position":[[297,4],[511,4]]}}}],["app",{"_index":316,"t":{"25":{"position":[[108,3]]},"34":{"position":[[112,3]]},"41":{"position":[[127,3]]},"45":{"position":[[108,3]]},"47":{"position":[[60,3],[162,3]]},"59":{"position":[[36,3]]},"65":{"position":[[120,3]]},"85":{"position":[[637,3],[745,3],[781,3],[851,3],[974,3],[1162,3]]},"94":{"position":[[107,3]]},"98":{"position":[[114,3]]},"100":{"position":[[90,3]]},"113":{"position":[[126,3],[609,3],[626,3],[664,3]]},"115":{"position":[[188,3]]},"117":{"position":[[184,3]]},"128":{"position":[[110,3]]},"133":{"position":[[90,3]]},"135":{"position":[[112,3]]},"137":{"position":[[83,3],[447,3]]},"139":{"position":[[14,3],[184,3]]},"141":{"position":[[13,3]]},"143":{"position":[[11,3]]},"147":{"position":[[10,3]]},"162":{"position":[[64,3],[248,3]]},"164":{"position":[[64,3]]},"169":{"position":[[211,3],[225,3]]},"187":{"position":[[90,3]]},"210":{"position":[[230,3]]},"224":{"position":[[136,3]]},"226":{"position":[[267,3]]},"239":{"position":[[93,3]]},"241":{"position":[[45,3]]},"250":{"position":[[122,3],[441,3],[474,3]]},"257":{"position":[[98,3],[344,3]]},"261":{"position":[[342,3]]},"266":{"position":[[104,3],[406,3]]},"270":{"position":[[378,3]]},"274":{"position":[[109,3]]},"293":{"position":[[460,3],[489,3]]},"303":{"position":[[110,3]]},"311":{"position":[[110,3]]},"313":{"position":[[125,3]]},"317":{"position":[[8,3],[104,3]]},"325":{"position":[[319,3]]},"333":{"position":[[472,3]]},"357":{"position":[[53,3],[544,3]]},"359":{"position":[[1260,3]]},"361":{"position":[[113,3],[525,3],[873,3],[1226,3],[1680,3],[2174,3],[2948,3]]},"363":{"position":[[209,3],[421,3]]},"365":{"position":[[142,3],[433,3],[555,3],[578,3],[775,3],[888,3],[909,3]]},"368":{"position":[[22,3],[108,3]]},"372":{"position":[[139,3]]},"382":{"position":[[29,3],[60,3]]},"427":{"position":[[1244,3]]},"437":{"position":[[24,3],[70,3]]},"441":{"position":[[336,3]]},"472":{"position":[[81,3]]},"477":{"position":[[279,3]]},"479":{"position":[[106,3]]},"481":{"position":[[254,3]]},"489":{"position":[[153,3]]},"491":{"position":[[119,3]]},"495":{"position":[[119,3]]},"499":{"position":[[200,3],[422,3]]},"501":{"position":[[229,3],[495,3],[656,3]]},"503":{"position":[[146,3]]},"507":{"position":[[154,3]]},"513":{"position":[[302,3],[465,3],[742,3],[933,3]]},"515":{"position":[[210,3],[420,3],[995,3]]},"529":{"position":[[97,3]]},"533":{"position":[[89,3]]},"535":{"position":[[255,3]]},"537":{"position":[[339,3]]},"541":{"position":[[255,3]]},"547":{"position":[[334,3]]},"566":{"position":[[73,3],[196,3]]},"600":{"position":[[36,3],[95,3]]},"629":{"position":[[151,3]]},"631":{"position":[[91,3]]},"635":{"position":[[117,3]]},"645":{"position":[[77,3]]},"663":{"position":[[10,3],[72,3]]},"677":{"position":[[9,3],[84,3]]},"681":{"position":[[309,3]]},"739":{"position":[[21,3],[67,3]]},"741":{"position":[[662,3]]},"753":{"position":[[63,3],[122,3]]},"758":{"position":[[152,3]]},"781":{"position":[[32,3],[91,3],[276,3]]},"783":{"position":[[30,3]]},"787":{"position":[[42,3],[88,3]]},"795":{"position":[[80,3]]},"797":{"position":[[208,3],[683,3]]},"799":{"position":[[711,3],[1185,3]]},"823":{"position":[[53,3]]},"831":{"position":[[99,3],[130,3],[171,3],[198,3]]}}}],["appconf",{"_index":1694,"t":{"363":{"position":[[46,10]]}}}],["appconfig",{"_index":914,"t":{"167":{"position":[[59,9]]},"239":{"position":[[70,9]]},"363":{"position":[[72,9],[101,9],[241,9]]},"390":{"position":[[22,9],[63,9]]},"400":{"position":[[0,9],[46,9]]},"825":{"position":[[32,9]]}}}],["appcontext",{"_index":2392,"t":{"797":{"position":[[537,10],[568,10]]},"799":{"position":[[1037,10],[1068,10]]},"825":{"position":[[0,10],[120,10],[151,10]]}}}],["appdata",{"_index":1852,"t":{"437":{"position":[[373,7]]}}}],["appear",{"_index":1080,"t":{"210":{"position":[[52,6],[274,6],[375,6]]},"329":{"position":[[43,6],[68,6]]},"331":{"position":[[35,6]]},"333":{"position":[[149,6],[423,8]]},"335":{"position":[[54,6]]}}}],["appid",{"_index":2051,"t":{"566":{"position":[[149,5],[170,5]]},"681":{"position":[[295,5]]}}}],["applic",{"_index":1207,"t":{"235":{"position":[[1020,10]]}}}],["appmountnod",{"_index":2455,"t":{"831":{"position":[[116,12],[157,12],[206,12]]}}}],["approut",{"_index":901,"t":{"162":{"position":[[699,9],[717,9]]}}}],["appwork",{"_index":100,"t":{"4":{"position":[[358,8]]}}}],["arg",{"_index":1538,"t":{"333":{"position":[[245,4],[301,4]]}}}],["argument",{"_index":1487,"t":{"307":{"position":[[246,9]]}}}],["array",{"_index":1009,"t":{"193":{"position":[[8,5]]},"501":{"position":[[3,5]]},"547":{"position":[[13,5],[99,5]]},"809":{"position":[[207,5]]}}}],["arraybuff",{"_index":1234,"t":{"235":{"position":[[1557,11]]}}}],["asset",{"_index":494,"t":{"65":{"position":[[33,6],[170,6]]},"68":{"position":[[29,6]]},"339":{"position":[[127,6],[160,6],[207,6],[228,6]]},"341":{"position":[[26,6]]},"343":{"position":[[38,6]]},"357":{"position":[[325,6],[357,6]]},"359":{"position":[[528,6]]},"481":{"position":[[307,6],[396,6]]},"593":{"position":[[10,6]]}}}],["assets_vers",{"_index":1885,"t":{"481":{"position":[[307,14],[396,14]]}}}],["assetsmanifest",{"_index":2409,"t":{"805":{"position":[[965,14]]},"825":{"position":[[61,14]]}}}],["assetsmanifestplugin",{"_index":1678,"t":{"361":{"position":[[2018,20],[2076,20]]}}}],["async",{"_index":433,"t":{"47":{"position":[[271,5]]},"59":{"position":[[146,5]]},"85":{"position":[[859,5]]},"113":{"position":[[672,5]]},"226":{"position":[[380,5],[444,5],[518,5]]},"230":{"position":[[372,5]]},"235":{"position":[[195,5]]},"241":{"position":[[419,5],[521,5]]},"278":{"position":[[372,5]]},"293":{"position":[[602,5]]},"295":{"position":[[1052,5]]},"297":{"position":[[212,5],[412,5],[490,5]]},"361":{"position":[[3080,5]]},"427":{"position":[[406,5],[911,5]]},"429":{"position":[[590,5]]},"435":{"position":[[394,5]]},"437":{"position":[[167,5]]},"439":{"position":[[382,5],[482,5],[1094,5],[1192,5]]},"637":{"position":[[358,5],[757,5],[898,5]]},"797":{"position":[[528,5]]},"799":{"position":[[1028,5]]}}}],["asyncdecr",{"_index":1449,"t":{"295":{"position":[[1058,14]]},"301":{"position":[[284,14],[337,14],[399,14]]}}}],["atom",{"_index":1802,"t":{"422":{"position":[[95,4]]}}}],["audio",{"_index":2324,"t":{"726":{"position":[[13,5]]}}}],["auth",{"_index":390,"t":{"43":{"position":[[66,4],[229,4]]},"45":{"position":[[26,4],[121,4],[144,4],[199,4]]},"47":{"position":[[71,4],[215,4],[332,4]]},"49":{"position":[[261,4],[461,4]]},"53":{"position":[[82,4],[145,4]]},"55":{"position":[[83,4],[124,4],[244,4]]},"57":{"position":[[149,4],[196,4],[242,4],[373,4],[412,4],[477,4]]},"59":{"position":[[24,4],[90,4]]},"181":{"position":[[190,4],[395,4],[489,4]]},"325":{"position":[[124,4],[143,4],[171,4]]},"359":{"position":[[979,4]]},"365":{"position":[[667,4],[693,4],[788,4],[811,4],[866,4]]}}}],["authconfig",{"_index":432,"t":{"47":{"position":[[241,10]]},"59":{"position":[[116,10]]},"325":{"position":[[194,10]]},"365":{"position":[[929,10]]}}}],["authkey",{"_index":469,"t":{"57":{"position":[[166,7],[247,7],[417,7]]}}}],["auto",{"_index":2212,"t":{"665":{"position":[[301,4]]},"699":{"position":[[291,4]]}}}],["automat",{"_index":1374,"t":{"257":{"position":[[500,9]]}}}],["autoprefix",{"_index":1933,"t":{"503":{"position":[[384,12]]}}}],["autoredirect",{"_index":763,"t":{"113":{"position":[[278,12]]}}}],["avatar",{"_index":360,"t":{"39":{"position":[[70,6],[92,6],[133,6],[193,6]]}}}],["await",{"_index":436,"t":{"47":{"position":[[314,5]]},"85":{"position":[[882,5]]},"113":{"position":[[751,5]]},"226":{"position":[[405,5],[471,5],[557,5]]},"230":{"position":[[409,5]]},"235":{"position":[[238,5],[340,5]]},"241":{"position":[[444,5],[548,5]]},"278":{"position":[[394,5]]},"293":{"position":[[645,5]]},"295":{"position":[[1091,5]]},"297":{"position":[[244,5],[443,5],[508,5],[571,5],[631,5]]},"382":{"position":[[165,5]]},"427":{"position":[[433,5],[938,5]]},"429":{"position":[[153,5],[230,5],[356,5],[496,5],[617,5],[743,5],[754,5]]},"435":{"position":[[475,5]]},"437":{"position":[[194,5]]},"439":{"position":[[413,5],[516,5],[706,5],[871,5],[943,5],[951,5],[1027,5],[1036,5],[1124,5],[1226,5]]},"637":{"position":[[395,5],[469,5],[778,5],[919,5]]},"724":{"position":[[408,5]]}}}],["axio",{"_index":1188,"t":{"235":{"position":[[11,5],[30,5],[133,5],[2277,5]]},"237":{"position":[[107,5],[1400,5]]}}}],["b",{"_index":749,"t":{"111":{"position":[[288,1],[308,1],[330,1],[351,1]]},"259":{"position":[[66,1],[82,1]]},"299":{"position":[[155,1]]},"589":{"position":[[177,1]]},"714":{"position":[[161,1]]}}}],["babel",{"_index":270,"t":{"23":{"position":[[61,5]]},"126":{"position":[[65,5]]},"361":{"position":[[2846,5],[2876,5],[2986,5],[3183,5]]},"507":{"position":[[192,5],[319,5],[503,5]]}}}],["babelplugin",{"_index":1647,"t":{"359":{"position":[[1040,12]]},"361":{"position":[[2808,12]]}}}],["babelpreset",{"_index":1648,"t":{"359":{"position":[[1055,12]]},"361":{"position":[[2823,12]]}}}],["background",{"_index":1556,"t":{"339":{"position":[[134,10],[167,10],[257,10]]},"341":{"position":[[7,10],[33,10],[98,10]]},"343":{"position":[[13,10],[45,10]]},"651":{"position":[[414,10]]}}}],["baidu",{"_index":2363,"t":{"745":{"position":[[218,5]]}}}],["bar",{"_index":2021,"t":{"543":{"position":[[105,3]]},"545":{"position":[[157,3],[237,3]]},"547":{"position":[[162,3],[230,3]]},"560":{"position":[[89,3]]}}}],["barbuttonthem",{"_index":2223,"t":{"665":{"position":[[452,14]]},"699":{"position":[[442,14]]}}}],["base64",{"_index":1565,"t":{"343":{"position":[[85,6]]}}}],["basenam",{"_index":669,"t":{"94":{"position":[[88,8],[203,8]]},"323":{"position":[[378,8],[391,8]]}}}],["baseurl",{"_index":1318,"t":{"239":{"position":[[31,7],[289,7]]},"241":{"position":[[171,7],[286,7]]},"250":{"position":[[105,7],[246,7],[308,7],[359,7],[403,7],[461,7],[598,7],[619,7]]}}}],["bash",{"_index":1777,"t":{"418":{"position":[[193,4]]}}}],["becom",{"_index":2256,"t":{"693":{"position":[[240,7]]}}}],["befor",{"_index":1215,"t":{"235":{"position":[[1157,6]]},"361":{"position":[[2472,6]]},"807":{"position":[[146,6],[190,6],[301,6],[351,6]]}}}],["bind",{"_index":1985,"t":{"523":{"position":[[146,4]]},"703":{"position":[[402,4]]}}}],["bindgetphonenumb",{"_index":2271,"t":{"703":{"position":[[208,18],[451,18]]}}}],["bindtap",{"_index":2270,"t":{"703":{"position":[[190,7]]}}}],["blink",{"_index":2283,"t":{"712":{"position":[[336,5]]}}}],["blob",{"_index":1484,"t":{"307":{"position":[[225,4]]}}}],["block",{"_index":2139,"t":{"647":{"position":[[168,5]]}}}],["blog",{"_index":627,"t":{"85":{"position":[[1137,4]]}}}],["blue",{"_index":2168,"t":{"651":{"position":[[864,4],[875,4]]}}}],["bob",{"_index":1459,"t":{"299":{"position":[[182,3]]}}}],["bodi",{"_index":301,"t":{"23":{"position":[[323,4]]},"85":{"position":[[498,4],[614,4]]},"87":{"position":[[376,4],[487,4]]},"113":{"position":[[742,4],[969,4],[1010,4]]},"126":{"position":[[340,4]]},"137":{"position":[[389,4]]},"235":{"position":[[1007,4]]},"351":{"position":[[283,4],[295,4]]},"390":{"position":[[349,4],[366,4]]},"491":{"position":[[344,4],[573,4]]},"553":{"position":[[67,4],[285,4]]},"582":{"position":[[304,4],[333,4]]},"585":{"position":[[55,4],[125,4]]},"589":{"position":[[101,4],[190,4]]},"591":{"position":[[209,4],[338,4],[530,4],[547,4],[742,4],[759,4],[948,4],[965,4]]},"593":{"position":[[273,4],[290,4]]},"639":{"position":[[478,4],[558,4]]},"649":{"position":[[49,4]]},"656":{"position":[[43,4]]}}}],["bodypars",{"_index":2031,"t":{"553":{"position":[[50,10],[202,10]]}}}],["boolean",{"_index":322,"t":{"28":{"position":[[4,7]]},"30":{"position":[[4,7]]},"32":{"position":[[4,7]]},"47":{"position":[[145,7]]},"72":{"position":[[16,7]]},"115":{"position":[[478,7]]},"124":{"position":[[3,7]]},"131":{"position":[[4,7]]},"321":{"position":[[111,7],[163,7]]},"390":{"position":[[128,7],[157,7]]},"408":{"position":[[283,7],[310,7],[342,7],[372,7],[405,7]]},"410":{"position":[[203,7]]},"481":{"position":[[27,7]]},"483":{"position":[[4,7]]},"489":{"position":[[18,7]]},"497":{"position":[[3,7]]},"499":{"position":[[3,7]]},"501":{"position":[[11,7]]},"509":{"position":[[18,7]]},"511":{"position":[[18,7]]},"513":{"position":[[51,7],[117,7]]},"517":{"position":[[3,7]]},"521":{"position":[[3,7]]},"523":{"position":[[24,7],[47,7]]},"525":{"position":[[3,7]]},"527":{"position":[[3,7]]},"531":{"position":[[3,7]]},"809":{"position":[[169,7],[222,7]]}}}],["border",{"_index":1572,"t":{"347":{"position":[[88,6]]}}}],["boundingclientrect",{"_index":2320,"t":{"724":{"position":[[235,18]]}}}],["bracket",{"_index":1248,"t":{"235":{"position":[[2151,7]]}}}],["browser",{"_index":1254,"t":{"235":{"position":[[2477,7]]},"323":{"position":[[72,7],[96,7]]},"505":{"position":[[178,7]]}}}],["browserlist",{"_index":1635,"t":{"359":{"position":[[703,11]]}}}],["browserrout",{"_index":622,"t":{"85":{"position":[[1078,13]]},"87":{"position":[[711,13]]}}}],["browserslist",{"_index":1633,"t":{"359":{"position":[[684,12]]},"474":{"position":[[53,12]]}}}],["browserslistrc",{"_index":1871,"t":{"474":{"position":[[15,14]]}}}],["btn",{"_index":2191,"t":{"656":{"position":[[113,3]]},"658":{"position":[[141,3]]}}}],["build",{"_index":505,"t":{"74":{"position":[[20,5]]},"78":{"position":[[49,5]]},"80":{"position":[[6,5],[87,5],[126,5],[139,5],[163,5]]},"82":{"position":[[94,5],[118,5]]},"89":{"position":[[11,5]]},"113":{"position":[[578,5],[650,5]]},"117":{"position":[[32,5],[363,5]]},"357":{"position":[[114,5],[158,5],[216,5],[270,5],[308,5],[370,5],[419,5]]},"410":{"position":[[23,5]]},"441":{"position":[[42,5]]},"467":{"position":[[0,5],[16,5]]},"485":{"position":[[70,5]]},"493":{"position":[[14,5],[33,5]]},"497":{"position":[[32,5]]},"501":{"position":[[76,5],[149,5],[386,5],[424,5],[609,5]]},"741":{"position":[[218,5],[231,5],[240,5],[260,5],[297,5]]},"743":{"position":[[93,5],[267,5]]},"785":{"position":[[28,5],[42,5],[55,5],[156,5]]},"787":{"position":[[290,5],[303,5],[312,5],[332,5],[369,5]]},"789":{"position":[[202,5],[346,5]]},"791":{"position":[[42,5],[65,5],[96,5]]},"793":{"position":[[12,5]]},"803":{"position":[[42,5]]},"807":{"position":[[153,5],[197,5],[221,5],[272,5],[358,5],[373,5],[448,5],[467,5]]}}}],["bundl",{"_index":1112,"t":{"214":{"position":[[112,6]]},"408":{"position":[[383,6]]},"410":{"position":[[214,6]]},"427":{"position":[[69,6],[134,6],[1038,6]]},"513":{"position":[[43,6],[149,6],[370,6]]},"519":{"position":[[74,6],[95,6]]},"585":{"position":[[165,6]]},"614":{"position":[[46,6]]},"695":{"position":[[47,6]]},"697":{"position":[[22,6]]}}}],["button",{"_index":460,"t":{"55":{"position":[[259,6],[272,6],[309,6]]},"57":{"position":[[440,6],[453,6],[467,6]]},"181":{"position":[[251,6],[302,6],[311,6],[360,6]]},"656":{"position":[[152,6]]},"658":{"position":[[122,6],[268,6],[308,6]]},"703":{"position":[[86,6],[137,6],[161,6],[256,6],[289,6],[378,6]]}}}],["byted",{"_index":2360,"t":{"745":{"position":[[196,9]]}}}],["cachedir",{"_index":2405,"t":{"805":{"position":[[873,8]]}}}],["cachekey",{"_index":1287,"t":{"237":{"position":[[697,8]]}}}],["call",{"_index":1536,"t":{"333":{"position":[[196,6],[261,6]]}}}],["callback",{"_index":1962,"t":{"515":{"position":[[649,8]]}}}],["cancel",{"_index":1272,"t":{"237":{"position":[[366,6]]}}}],["canva",{"_index":2322,"t":{"726":{"position":[[0,6]]}}}],["case",{"_index":1247,"t":{"235":{"position":[[2115,5]]}}}],["cd",{"_index":551,"t":{"82":{"position":[[106,2]]},"85":{"position":[[56,2]]},"154":{"position":[[85,2]]},"156":{"position":[[75,2]]},"739":{"position":[[60,2]]},"781":{"position":[[269,2]]},"783":{"position":[[23,2]]},"787":{"position":[[81,2]]}}}],["cdn",{"_index":485,"t":{"63":{"position":[[16,3]]},"74":{"position":[[76,3]]},"78":{"position":[[79,3]]},"491":{"position":[[250,3]]}}}],["chain",{"_index":1665,"t":{"359":{"position":[[1786,5]]}}}],["chang",{"_index":1035,"t":{"195":{"position":[[126,6]]}}}],["changeorigin",{"_index":1911,"t":{"495":{"position":[[229,12]]}}}],["changesearch",{"_index":1719,"t":{"376":{"position":[[418,12]]}}}],["charset",{"_index":576,"t":{"85":{"position":[[189,7]]},"87":{"position":[[77,7]]},"582":{"position":[[126,7]]},"693":{"position":[[139,7]]}}}],["cheap",{"_index":1971,"t":{"517":{"position":[[44,5]]}}}],["checkbox",{"_index":2305,"t":{"722":{"position":[[55,8],[99,8]]}}}],["child",{"_index":884,"t":{"156":{"position":[[44,5],[67,5],[87,5]]},"162":{"position":[[641,5]]},"164":{"position":[[177,5],[201,5]]}}}],["children",{"_index":468,"t":{"57":{"position":[[156,8],[293,8]]},"169":{"position":[[30,8],[96,8],[160,8]]},"392":{"position":[[152,8]]},"515":{"position":[[1131,8]]},"827":{"position":[[79,8],[108,8],[153,8],[188,8]]},"829":{"position":[[110,8],[192,8]]}}}],["choos",{"_index":751,"t":{"111":{"position":[[332,6]]}}}],["chrome",{"_index":585,"t":{"85":{"position":[[260,6]]},"87":{"position":[[148,6]]},"427":{"position":[[1128,6]]},"474":{"position":[[35,6]]},"712":{"position":[[329,6]]}}}],["chunk",{"_index":350,"t":{"37":{"position":[[85,5]]},"479":{"position":[[217,5]]},"519":{"position":[[58,6]]},"521":{"position":[[35,6],[84,6],[135,6],[301,6],[346,6],[385,6]]}}}],["cj",{"_index":1401,"t":{"266":{"position":[[496,3]]},"513":{"position":[[37,3],[250,3],[364,3]]}}}],["clark",{"_index":1711,"t":{"374":{"position":[[122,5],[223,5]]}}}],["class",{"_index":740,"t":{"109":{"position":[[22,5]]},"201":{"position":[[11,5]]},"305":{"position":[[19,5],[114,5]]},"537":{"position":[[56,5],[229,5],[286,5]]},"651":{"position":[[575,5]]}}}],["classnam",{"_index":1056,"t":{"201":{"position":[[61,9],[72,10],[115,10]]},"333":{"position":[[454,9]]},"537":{"position":[[190,9]]},"647":{"position":[[233,9]]},"651":{"position":[[507,9],[797,9],[842,9]]}}}],["clean",{"_index":2382,"t":{"781":{"position":[[183,5]]}}}],["clickm",{"_index":2269,"t":{"703":{"position":[[122,7],[199,7],[323,7]]}}}],["client",{"_index":805,"t":{"115":{"position":[[378,6]]},"359":{"position":[[923,6],[1454,6],[1518,6]]},"388":{"position":[[147,6],[166,6],[353,6]]},"392":{"position":[[56,6]]},"481":{"position":[[121,6]]},"637":{"position":[[61,6],[127,6],[195,6],[700,6],[954,6]]},"643":{"position":[[676,6]]}}}],["clientonli",{"_index":1740,"t":{"392":{"position":[[16,10],[77,10],[256,10],[317,10],[420,10],[455,10],[557,10],[628,10]]}}}],["clientrequest",{"_index":1252,"t":{"235":{"position":[[2387,13]]}}}],["cn",{"_index":696,"t":{"98":{"position":[[219,2],[259,2],[290,2],[329,2]]},"100":{"position":[[195,2],[238,2],[314,2]]},"103":{"position":[[108,2]]},"105":{"position":[[114,2]]},"107":{"position":[[370,2],[411,2],[424,2]]},"109":{"position":[[335,2],[376,2],[389,2]]},"111":{"position":[[781,2]]},"113":{"position":[[231,2],[271,2]]},"115":{"position":[[738,2],[765,2],[781,2]]},"117":{"position":[[289,2],[323,2]]},"162":{"position":[[607,2]]}}}],["cnpm",{"_index":1786,"t":{"420":{"position":[[49,4]]}}}],["code",{"_index":99,"t":{"4":{"position":[[350,4],[417,4]]},"53":{"position":[[124,4],[153,4]]},"55":{"position":[[223,4],[252,4]]},"235":{"position":[[1895,4]]},"361":{"position":[[3200,4],[3293,4]]},"422":{"position":[[60,4]]},"507":{"position":[[4,4],[42,4],[336,4],[435,4]]},"743":{"position":[[228,4]]}}}],["codesplit",{"_index":376,"t":{"41":{"position":[[59,13],[170,13]]},"519":{"position":[[14,13]]}}}],["color",{"_index":335,"t":{"34":{"position":[[230,5],[266,5]]},"212":{"position":[[164,5],[300,5]]},"313":{"position":[[425,6]]},"370":{"position":[[185,5]]},"386":{"position":[[302,5]]},"587":{"position":[[158,5]]},"647":{"position":[[142,5]]}}}],["com",{"_index":259,"t":{"21":{"position":[[21,3]]},"85":{"position":[[1116,3]]},"162":{"position":[[628,3]]},"250":{"position":[[274,3],[427,3]]},"307":{"position":[[185,3]]},"351":{"position":[[471,3]]},"418":{"position":[[157,3]]},"420":{"position":[[131,3]]},"427":{"position":[[462,3],[967,3]]},"429":{"position":[[646,3]]},"435":{"position":[[504,3]]},"437":{"position":[[223,3]]},"439":{"position":[[442,3],[545,3],[1153,3],[1255,3]]},"491":{"position":[[403,3],[499,3]]},"495":{"position":[[222,3]]},"537":{"position":[[464,3]]},"637":{"position":[[424,3],[807,3]]},"643":{"position":[[473,3]]},"665":{"position":[[380,3]]},"695":{"position":[[297,3],[489,3]]},"697":{"position":[[194,3]]},"699":{"position":[[370,3]]},"799":{"position":[[26,3]]}}}],["command",{"_index":2395,"t":{"803":{"position":[[21,7]]},"811":{"position":[[139,8]]}}}],["commandarg",{"_index":2396,"t":{"803":{"position":[[53,11]]}}}],["commit",{"_index":1354,"t":{"250":{"position":[[348,9]]},"560":{"position":[[233,9]]}}}],["compat",{"_index":581,"t":{"85":{"position":[[231,10]]},"87":{"position":[[119,10]]},"203":{"position":[[10,6],[45,6],[149,6]]},"205":{"position":[[29,6],[84,6],[158,6]]},"208":{"position":[[4,6]]},"210":{"position":[[110,6],[395,6]]},"212":{"position":[[33,6]]},"214":{"position":[[241,6]]},"216":{"position":[[58,6],[179,6]]}}}],["compatrax",{"_index":1066,"t":{"205":{"position":[[126,9],[217,9],[303,9]]},"214":{"position":[[209,9],[300,9]]},"216":{"position":[[147,9],[238,9]]}}}],["compil",{"_index":1923,"t":{"501":{"position":[[357,7],[743,7]]},"807":{"position":[[227,7],[403,7],[454,7]]}}}],["compiledepend",{"_index":1613,"t":{"359":{"position":[[379,19]]},"501":{"position":[[272,19],[538,19],[699,19]]}}}],["compileinclud",{"_index":1615,"t":{"359":{"position":[[407,15]]},"805":{"position":[[742,15]]}}}],["compileropt",{"_index":1478,"t":{"305":{"position":[[304,15]]}}}],["compon",{"_index":363,"t":{"39":{"position":[[122,10]]},"57":{"position":[[120,10]]},"162":{"position":[[354,10]]},"169":{"position":[[3,9],[331,10]]},"226":{"position":[[186,10],[234,10]]},"261":{"position":[[507,10],[729,10],[767,9]]},"270":{"position":[[605,10],[868,10],[906,9]]},"305":{"position":[[25,9],[143,9]]},"441":{"position":[[167,10]]},"465":{"position":[[29,10]]},"477":{"position":[[144,10],[195,10]]},"515":{"position":[[283,10],[315,10],[1100,9],[1165,9],[1222,9],[1280,9],[1337,9]]},"629":{"position":[[230,10],[258,10]]}}}],["condit",{"_index":998,"t":{"191":{"position":[[16,9]]}}}],["config",{"_index":312,"t":{"25":{"position":[[40,6],[62,6]]},"34":{"position":[[66,6]]},"41":{"position":[[81,6]]},"45":{"position":[[40,6],[62,6]]},"65":{"position":[[52,6],[74,6]]},"98":{"position":[[58,6]]},"128":{"position":[[42,6],[64,6]]},"133":{"position":[[44,6]]},"135":{"position":[[66,6]]},"137":{"position":[[37,6],[401,6]]},"162":{"position":[[18,6]]},"164":{"position":[[18,6],[248,6]]},"187":{"position":[[44,6]]},"205":{"position":[[106,6]]},"214":{"position":[[191,6]]},"216":{"position":[[129,6]]},"224":{"position":[[90,6]]},"235":{"position":[[2233,6],[2248,6],[2300,6]]},"239":{"position":[[389,6],[437,6],[471,6]]},"243":{"position":[[208,6]]},"257":{"position":[[20,6],[48,6],[237,6],[263,6],[294,6]]},"261":{"position":[[267,6],[292,6]]},"266":{"position":[[22,6],[52,6],[354,6]]},"270":{"position":[[299,6],[326,6]]},"274":{"position":[[41,6],[63,6]]},"303":{"position":[[64,6]]},"311":{"position":[[42,6],[64,6]]},"313":{"position":[[79,6]]},"357":{"position":[[498,6]]},"359":{"position":[[49,6],[125,6],[1214,6],[1367,7]]},"361":{"position":[[67,6],[220,7],[479,6],[632,7],[827,6],[980,7],[1180,6],[1333,7],[1634,6],[1787,7],[2128,6],[2306,7],[2902,6],[3048,7]]},"363":{"position":[[375,6]]},"365":{"position":[[74,6],[96,6],[365,6],[387,6],[707,6],[729,6]]},"386":{"position":[[149,6]]},"408":{"position":[[125,6],[133,6]]},"410":{"position":[[121,6],[129,6]]},"431":{"position":[[217,6]]},"441":{"position":[[380,6]]},"469":{"position":[[30,6]]},"472":{"position":[[27,6]]},"503":{"position":[[564,6],[612,6]]},"515":{"position":[[861,6],[942,6],[1041,6]]},"533":{"position":[[14,6]]},"535":{"position":[[82,6]]},"541":{"position":[[209,6]]},"564":{"position":[[35,6]]},"629":{"position":[[105,6]]},"631":{"position":[[45,6]]},"635":{"position":[[46,6],[71,6]]},"645":{"position":[[6,6],[31,6]]},"667":{"position":[[50,6]]},"681":{"position":[[59,6],[175,6]]},"741":{"position":[[504,6],[526,6]]},"747":{"position":[[50,6]]},"797":{"position":[[637,6]]},"799":{"position":[[1139,6]]},"803":{"position":[[123,6]]},"805":{"position":[[135,6],[148,6],[1214,6],[1227,6]]},"809":{"position":[[12,6]]},"815":{"position":[[91,6],[148,6],[173,6]]}}}],["configurewebpack",{"_index":2412,"t":{"805":{"position":[[1064,16],[1103,16],[1234,16]]}}}],["consol",{"_index":480,"t":{"59":{"position":[[239,7]]},"85":{"position":[[1002,7]]},"103":{"position":[[70,7]]},"105":{"position":[[74,7]]},"107":{"position":[[301,7]]},"109":{"position":[[266,7]]},"212":{"position":[[267,7]]},"235":{"position":[[276,7],[401,7]]},"239":{"position":[[735,7],[769,7],[805,7]]},"301":{"position":[[312,7],[374,7]]},"305":{"position":[[232,7]]},"331":{"position":[[122,7]]},"333":{"position":[[390,7]]},"335":{"position":[[144,7]]},"376":{"position":[[366,7]]},"390":{"position":[[292,7]]},"435":{"position":[[411,7],[438,7]]},"481":{"position":[[384,7],[428,7],[450,7],[483,7]]},"499":{"position":[[51,7],[70,7],[97,7],[116,7],[132,7],[144,7],[280,7],[298,7]]},"553":{"position":[[269,7]]},"587":{"position":[[270,7]]},"591":{"position":[[289,7]]},"593":{"position":[[215,7]]},"625":{"position":[[166,7]]},"627":{"position":[[162,7]]},"677":{"position":[[249,7],[305,7]]},"679":{"position":[[450,7]]},"724":{"position":[[121,7],[271,7],[442,7]]},"795":{"position":[[270,7]]},"797":{"position":[[295,7],[556,7]]},"799":{"position":[[1056,7]]},"803":{"position":[[294,7]]},"817":{"position":[[125,7]]},"825":{"position":[[139,7]]},"833":{"position":[[182,7]]},"835":{"position":[[188,7]]}}}],["const",{"_index":362,"t":{"39":{"position":[[86,5]]},"47":{"position":[[235,5],[300,5]]},"49":{"position":[[190,5],[390,5]]},"53":{"position":[[75,5]]},"55":{"position":[[76,5]]},"57":{"position":[[189,5],[226,5]]},"59":{"position":[[110,5]]},"85":{"position":[[645,5],[681,5],[711,5],[739,5],[955,5]]},"107":{"position":[[260,5]]},"111":{"position":[[189,5],[221,5],[639,5],[674,5],[706,5],[738,5]]},"113":{"position":[[603,5],[694,5]]},"115":{"position":[[261,5],[649,5]]},"162":{"position":[[390,5]]},"164":{"position":[[330,5]]},"169":{"position":[[367,5]]},"181":{"position":[[106,5],[183,5]]},"187":{"position":[[265,5]]},"226":{"position":[[544,5]]},"230":{"position":[[396,5],[559,5],[601,5]]},"232":{"position":[[250,5]]},"235":{"position":[[222,5],[303,5]]},"237":{"position":[[202,5],[1311,5],[1411,5],[1536,5]]},"239":{"position":[[173,5]]},"241":{"position":[[125,5]]},"243":{"position":[[54,5]]},"250":{"position":[[202,5],[554,5]]},"282":{"position":[[101,5]]},"288":{"position":[[246,5]]},"290":{"position":[[130,5]]},"293":{"position":[[564,5],[631,5]]},"295":{"position":[[542,5],[601,5],[1077,5]]},"297":{"position":[[230,5],[430,5]]},"301":{"position":[[136,5],[194,5]]},"305":{"position":[[166,5],[196,5]]},"325":{"position":[[188,5]]},"333":{"position":[[189,5],[349,5]]},"361":{"position":[[3192,5]]},"363":{"position":[[40,5]]},"365":{"position":[[592,5],[923,5]]},"370":{"position":[[101,5]]},"374":{"position":[[171,5]]},"376":{"position":[[269,5],[412,5]]},"378":{"position":[[163,5]]},"380":{"position":[[100,5]]},"382":{"position":[[114,5],[258,5]]},"386":{"position":[[143,5],[218,5]]},"388":{"position":[[278,5],[299,5]]},"390":{"position":[[252,5]]},"396":{"position":[[121,5]]},"427":{"position":[[360,5],[420,5],[756,5],[875,5],[925,5]]},"429":{"position":[[298,5],[554,5],[604,5]]},"431":{"position":[[101,5]]},"435":{"position":[[250,5],[358,5],[462,5]]},"437":{"position":[[131,5],[181,5],[367,5]]},"439":{"position":[[203,5],[344,5],[396,5],[499,5],[818,5],[1056,5],[1108,5],[1209,5]]},"507":{"position":[[328,5]]},"547":{"position":[[424,5]]},"551":{"position":[[124,5]]},"564":{"position":[[77,5]]},"593":{"position":[[108,5],[144,5]]},"600":{"position":[[146,5]]},"618":{"position":[[91,5]]},"623":{"position":[[95,5]]},"625":{"position":[[107,5]]},"627":{"position":[[134,5]]},"637":{"position":[[322,5],[721,5],[850,5]]},"639":{"position":[[230,5]]},"643":{"position":[[279,5],[399,5],[515,5]]},"663":{"position":[[86,5]]},"665":{"position":[[185,5]]},"677":{"position":[[166,5]]},"685":{"position":[[108,5]]},"691":{"position":[[79,5]]},"693":{"position":[[84,5]]},"695":{"position":[[140,5]]},"697":{"position":[[114,5]]},"699":{"position":[[175,5]]},"724":{"position":[[35,5],[81,5],[169,5],[350,5],[396,5]]},"726":{"position":[[56,5],[233,5]]},"741":{"position":[[735,5]]},"753":{"position":[[173,5]]},"760":{"position":[[137,5]]},"795":{"position":[[132,5]]},"797":{"position":[[220,5],[497,5]]},"799":{"position":[[723,5],[997,5]]},"803":{"position":[[244,5]]},"805":{"position":[[47,5]]},"815":{"position":[[85,5]]},"817":{"position":[[97,5]]},"823":{"position":[[65,5],[279,5]]},"825":{"position":[[101,5]]},"827":{"position":[[128,5]]},"829":{"position":[[87,5],[390,5]]},"831":{"position":[[138,5]]},"833":{"position":[[113,5],[154,5]]},"835":{"position":[[115,5],[156,5]]}}}],["contain",{"_index":604,"t":{"85":{"position":[[517,9]]},"87":{"position":[[395,9]]},"321":{"position":[[33,9]]},"343":{"position":[[1,9]]},"368":{"position":[[128,9]]},"639":{"position":[[497,9]]},"651":{"position":[[402,9],[525,9],[582,9]]}}}],["content",{"_index":582,"t":{"85":{"position":[[243,7],[295,7]]},"87":{"position":[[131,7],[183,7]]},"195":{"position":[[109,7]]},"235":{"position":[[2200,7]]},"370":{"position":[[193,7]]},"386":{"position":[[310,7]]},"582":{"position":[[170,7],[217,7]]}}}],["contenthash",{"_index":1898,"t":{"489":{"position":[[90,11],[203,11]]}}}],["context",{"_index":1734,"t":{"390":{"position":[[6,7]]},"726":{"position":[[151,7]]},"803":{"position":[[0,7],[210,7],[278,7],[307,7],[319,7]]}}}],["contextregexp",{"_index":1954,"t":{"513":{"position":[[562,13],[628,13]]}}}],["control",{"_index":633,"t":{"87":{"position":[[501,10]]},"235":{"position":[[1373,7]]}}}],["cooki",{"_index":730,"t":{"107":{"position":[[112,6]]},"109":{"position":[[111,6]]},"113":{"position":[[329,6],[400,6]]},"115":{"position":[[24,6],[66,6],[125,6],[152,6],[176,6],[527,6]]}}}],["cool",{"_index":2255,"t":{"693":{"position":[[194,4]]}}}],["cor",{"_index":1345,"t":{"248":{"position":[[55,4],[89,4],[102,4],[116,4]]}}}],["core",{"_index":1686,"t":{"361":{"position":[[2992,4]]},"507":{"position":[[198,4]]},"568":{"position":[[29,4]]}}}],["count",{"_index":1427,"t":{"293":{"position":[[434,5],[788,5]]},"295":{"position":[[175,5],[479,5],[624,5],[654,5],[729,5],[742,5]]}}}],["counter",{"_index":1426,"t":{"293":{"position":[[44,7],[105,7],[192,7],[215,7],[260,7],[777,7]]},"301":{"position":[[181,7],[243,7]]}}}],["creat",{"_index":2340,"t":{"739":{"position":[[6,6]]},"781":{"position":[[17,6],[76,6]]},"787":{"position":[[27,6]]}}}],["createel",{"_index":1024,"t":{"195":{"position":[[11,13]]},"210":{"position":[[193,13]]},"212":{"position":[[206,13]]}}}],["createmodel",{"_index":1410,"t":{"278":{"position":[[65,11],[151,11]]},"286":{"position":[[187,11],[228,11]]},"293":{"position":[[281,11],[322,11],[370,11],[411,11]]},"295":{"position":[[111,11],[152,11],[426,11],[933,11],[974,11]]},"297":{"position":[[107,11],[148,11]]},"299":{"position":[[72,11],[113,11],[590,11],[631,11]]}}}],["createselectorqueri",{"_index":2319,"t":{"724":{"position":[[188,19]]}}}],["createstor",{"_index":1418,"t":{"280":{"position":[[51,11],[126,11]]},"288":{"position":[[186,11],[260,11]]},"293":{"position":[[125,11],[240,11],[725,11]]},"307":{"position":[[80,11],[109,11]]}}}],["createvideocontext",{"_index":2328,"t":{"726":{"position":[[193,18],[254,18]]}}}],["credenti",{"_index":1230,"t":{"235":{"position":[[1414,11]]},"479":{"position":[[45,11]]}}}],["cross",{"_index":1226,"t":{"235":{"position":[[1355,5]]},"479":{"position":[[200,5]]},"558":{"position":[[42,5],[79,5]]}}}],["crossorigin",{"_index":1905,"t":{"491":{"position":[[369,11],[465,11]]},"589":{"position":[[119,11],[227,11]]}}}],["crossoriginload",{"_index":1878,"t":{"479":{"position":[[149,18]]}}}],["crud",{"_index":2020,"t":{"539":{"position":[[163,4]]}}}],["csr",{"_index":767,"t":{"113":{"position":[[325,3]]},"390":{"position":[[98,3],[143,3]]},"633":{"position":[[108,3]]},"639":{"position":[[119,3],[356,3]]}}}],["css",{"_index":37,"t":{"4":{"position":[[28,3]]},"23":{"position":[[263,3],[289,3],[317,3],[374,3],[403,3]]},"37":{"position":[[50,3],[58,3]]},"63":{"position":[[57,3]]},"65":{"position":[[29,3],[166,3]]},"70":{"position":[[10,3]]},"74":{"position":[[50,3]]},"85":{"position":[[454,3],[464,3]]},"87":{"position":[[332,3],[342,3]]},"92":{"position":[[8,3]]},"126":{"position":[[269,3],[295,3],[334,3]]},"131":{"position":[[74,3]]},"135":{"position":[[226,3]]},"137":{"position":[[271,3],[304,3],[310,3],[336,3],[383,3],[605,3]]},"212":{"position":[[72,3],[85,3],[106,3],[153,3],[261,3]]},"214":{"position":[[56,3],[79,3],[123,3]]},"309":{"position":[[4,3],[12,3],[22,3],[63,3],[105,3],[130,3],[190,3]]},"347":{"position":[[111,3]]},"357":{"position":[[321,3],[353,3]]},"359":{"position":[[1585,3],[1660,3]]},"361":{"position":[[280,3],[378,3],[1393,3],[2397,3],[2466,3],[2481,3],[2605,3],[2620,3],[2710,3],[2725,3]]},"441":{"position":[[288,3]]},"465":{"position":[[71,3]]},"537":{"position":[[106,3],[176,3]]},"582":{"position":[[439,3]]},"593":{"position":[[23,3]]},"647":{"position":[[14,3],[61,3],[97,3],[128,3],[195,3],[255,3]]},"649":{"position":[[29,3]]},"651":{"position":[[20,3],[62,3],[270,3],[352,3],[387,3],[469,3],[541,3],[607,3],[633,3],[897,3],[916,3],[933,3]]},"656":{"position":[[16,3],[39,3]]},"658":{"position":[[61,3]]},"695":{"position":[[313,3],[505,3]]},"712":{"position":[[278,3],[412,3]]},"714":{"position":[[309,3]]},"716":{"position":[[8,3]]},"741":{"position":[[877,3]]},"749":{"position":[[245,3]]},"769":{"position":[[4,3]]},"775":{"position":[[14,3]]},"785":{"position":[[65,3],[81,3]]},"805":{"position":[[482,3]]},"821":{"position":[[148,3]]}}}],["cssassetsloc",{"_index":496,"t":{"65":{"position":[[133,14],[233,14]]}}}],["cssloaderopt",{"_index":1640,"t":{"359":{"position":[[799,16]]},"361":{"position":[[45,16]]}}}],["cssmodul",{"_index":2004,"t":{"537":{"position":[[40,10],[382,10]]}}}],["csswatch",{"_index":2440,"t":{"821":{"position":[[197,8],[333,8]]}}}],["ct",{"_index":1402,"t":{"266":{"position":[[507,3]]}}}],["ctx",{"_index":614,"t":{"85":{"position":[[875,3],[888,3]]},"435":{"position":[[401,3],[423,3],[450,3],[586,3]]},"439":{"position":[[489,3],[563,3],[1199,3],[1273,3]]}}}],["cur",{"_index":1670,"t":{"361":{"position":[[315,3],[362,3],[1428,3],[1475,3]]}}}],["curl",{"_index":1771,"t":{"418":{"position":[[118,4]]}}}],["current",{"_index":750,"t":{"111":{"position":[[290,7]]}}}],["custom",{"_index":1201,"t":{"235":{"position":[[744,6]]},"431":{"position":[[309,6],[453,6]]},"503":{"position":[[441,6]]},"529":{"position":[[163,6],[200,6]]},"533":{"position":[[123,6]]},"537":{"position":[[201,6],[236,6]]},"541":{"position":[[321,6],[358,6]]},"591":{"position":[[302,6]]},"629":{"position":[[213,6]]},"809":{"position":[[143,6]]},"811":{"position":[[123,6]]},"819":{"position":[[985,6],[1119,6]]}}}],["customfetch",{"_index":2435,"t":{"819":{"position":[[954,11],[1143,11],[1183,11]]}}}],["customplugin",{"_index":1996,"t":{"533":{"position":[[102,12],[226,12]]}}}],["customtip",{"_index":1874,"t":{"477":{"position":[[118,10],[155,10],[176,10],[206,10]]}}}],["customtyp",{"_index":2267,"t":{"703":{"position":[[101,10],[176,10],[302,10]]}}}],["d",{"_index":311,"t":{"25":{"position":[[15,1]]},"45":{"position":[[32,1]]},"65":{"position":[[15,1]]},"98":{"position":[[48,1]]},"128":{"position":[[15,1]]},"187":{"position":[[30,1]]},"224":{"position":[[72,1]]},"255":{"position":[[14,1]]},"261":{"position":[[154,1]]},"264":{"position":[[16,1]]},"270":{"position":[[99,1]]},"274":{"position":[[33,1]]},"311":{"position":[[15,1]]},"365":{"position":[[66,1],[357,1],[699,1]]},"741":{"position":[[458,1]]},"799":{"position":[[359,1],[470,1],[602,1]]}}}],["dangerouslysetinnerhtml",{"_index":2068,"t":{"587":{"position":[[77,23],[118,23],[234,23]]}}}],["dashboard",{"_index":2115,"t":{"616":{"position":[[93,9]]}}}],["data",{"_index":435,"t":{"47":{"position":[[306,4]]},"218":{"position":[[157,4]]},"226":{"position":[[550,4],[611,4]]},"230":{"position":[[402,4],[459,4]]},"232":{"position":[[258,4]]},"235":{"position":[[69,4],[331,4],[413,4],[518,4],[963,4],[976,4],[1078,4],[1501,4],[1800,4],[1854,4]]},"237":{"position":[[235,4],[415,4],[565,4],[598,4],[1319,4],[1419,4],[1544,4],[1648,4]]},"239":{"position":[[636,4],[762,4]]},"243":{"position":[[103,4]]},"261":{"position":[[577,4]]},"270":{"position":[[675,4]]},"293":{"position":[[637,4]]},"297":{"position":[[236,4],[317,4],[436,4],[480,4]]},"382":{"position":[[264,4],[288,4]]},"396":{"position":[[127,4],[151,4]]},"427":{"position":[[367,4],[426,4],[485,4],[553,4],[762,4],[834,4],[931,4],[989,4]]},"429":{"position":[[304,4],[371,4],[449,4],[479,4],[610,4],[668,4]]},"435":{"position":[[256,4],[328,4],[468,4],[526,4],[683,4],[698,4]]},"437":{"position":[[187,4],[245,4]]},"439":{"position":[[900,4],[921,4],[980,4],[1010,4]]},"551":{"position":[[218,4]]},"639":{"position":[[236,4],[300,4]]},"641":{"position":[[4,4],[23,4]]},"643":{"position":[[285,4],[349,4]]},"685":{"position":[[114,4],[186,4]]},"819":{"position":[[921,4]]}}}],["dataload",{"_index":1726,"t":{"382":{"position":[[41,10],[120,10]]},"427":{"position":[[613,10],[881,10],[1002,10],[1150,10],[1188,10],[1220,10]]},"429":{"position":[[116,10],[520,10],[560,10],[701,10]]},"431":{"position":[[25,10],[69,10],[107,10],[186,10],[265,10],[340,10]]},"435":{"position":[[26,10],[109,10],[364,10]]},"437":{"position":[[38,10],[137,10]]},"439":{"position":[[350,10],[648,10],[680,10],[1062,10]]},"637":{"position":[[18,10],[77,10],[138,10],[159,10],[328,10],[727,10]]},"643":{"position":[[405,10]]},"683":{"position":[[81,10]]}}}],["dataset",{"_index":1127,"t":{"218":{"position":[[50,7],[149,7]]}}}],["datasourc",{"_index":994,"t":{"187":{"position":[[282,10],[395,10]]}}}],["de",{"_index":698,"t":{"98":{"position":[[234,2],[365,2]]},"113":{"position":[[246,2]]}}}],["debounceinterv",{"_index":1309,"t":{"237":{"position":[[1089,16]]}}}],["debug",{"_index":1918,"t":{"499":{"position":[[318,5],[367,5]]}}}],["decor",{"_index":1691,"t":{"361":{"position":[[3259,10]]},"507":{"position":[[401,10]]}}}],["decrement",{"_index":1444,"t":{"295":{"position":[[690,9]]}}}],["def",{"_index":1594,"t":{"357":{"position":[[131,3],[154,3]]}}}],["default",{"_index":318,"t":{"25":{"position":[[158,7]]},"34":{"position":[[162,7]]},"39":{"position":[[151,7]]},"41":{"position":[[140,7]]},"45":{"position":[[158,7]]},"49":{"position":[[132,7],[330,7]]},"57":{"position":[[365,7]]},"65":{"position":[[192,7]]},"94":{"position":[[160,7]]},"98":{"position":[[164,7]]},"100":{"position":[[140,7]]},"107":{"position":[[234,7]]},"109":{"position":[[413,7]]},"111":{"position":[[161,7],[611,7]]},"113":{"position":[[176,7]]},"115":{"position":[[623,7]]},"117":{"position":[[234,7]]},"128":{"position":[[164,7]]},"133":{"position":[[144,7]]},"135":{"position":[[166,7]]},"137":{"position":[[137,7],[501,7]]},"162":{"position":[[122,7]]},"164":{"position":[[122,7]]},"169":{"position":[[61,7]]},"179":{"position":[[230,7]]},"181":{"position":[[157,7]]},"187":{"position":[[147,7]]},"205":{"position":[[174,7]]},"214":{"position":[[257,7]]},"216":{"position":[[195,7]]},"224":{"position":[[192,7]]},"226":{"position":[[362,7]]},"230":{"position":[[211,7]]},"232":{"position":[[206,7]]},"235":{"position":[[719,7],[1281,7],[1453,7],[1633,7]]},"241":{"position":[[379,7]]},"257":{"position":[[111,7],[357,7]]},"259":{"position":[[42,7]]},"261":{"position":[[355,7],[536,7]]},"266":{"position":[[117,7],[419,7]]},"270":{"position":[[435,7],[634,7]]},"274":{"position":[[161,7]]},"278":{"position":[[143,7]]},"280":{"position":[[118,7]]},"282":{"position":[[73,7]]},"286":{"position":[[220,7]]},"288":{"position":[[290,7]]},"290":{"position":[[102,7]]},"293":{"position":[[232,7],[314,7],[403,7]]},"295":{"position":[[144,7],[459,7],[966,7]]},"297":{"position":[[140,7],[365,7]]},"299":{"position":[[105,7],[623,7]]},"303":{"position":[[162,7]]},"305":{"position":[[106,7]]},"311":{"position":[[164,7]]},"313":{"position":[[343,7]]},"317":{"position":[[71,7]]},"323":{"position":[[270,7]]},"325":{"position":[[286,7]]},"331":{"position":[[51,7]]},"333":{"position":[[322,7]]},"335":{"position":[[70,7]]},"341":{"position":[[57,7]]},"351":{"position":[[179,7]]},"357":{"position":[[601,7]]},"359":{"position":[[1325,7]]},"361":{"position":[[178,7],[590,7],[938,7],[1291,7],[1745,7],[2264,7],[3006,7]]},"363":{"position":[[93,7],[176,7],[434,7]]},"365":{"position":[[194,7],[489,7],[825,7]]},"368":{"position":[[75,7]]},"374":{"position":[[145,7]]},"376":{"position":[[243,7]]},"378":{"position":[[137,7]]},"386":{"position":[[117,7]]},"398":{"position":[[119,7]]},"427":{"position":[[334,7],[730,7]]},"429":{"position":[[272,7]]},"431":{"position":[[235,7]]},"435":{"position":[[224,7]]},"437":{"position":[[336,7]]},"439":{"position":[[177,7],[792,7]]},"472":{"position":[[94,7]]},"477":{"position":[[292,7]]},"479":{"position":[[119,7]]},"481":{"position":[[267,7]]},"489":{"position":[[166,7]]},"491":{"position":[[132,7],[599,7]]},"495":{"position":[[132,7]]},"499":{"position":[[213,7],[435,7]]},"501":{"position":[[242,7],[508,7],[669,7]]},"503":{"position":[[159,7]]},"507":{"position":[[212,7]]},"513":{"position":[[315,7],[478,7],[755,7],[946,7]]},"515":{"position":[[223,7],[433,7],[1008,7]]},"523":{"position":[[122,7]]},"529":{"position":[[110,7]]},"533":{"position":[[185,7]]},"535":{"position":[[331,7]]},"537":{"position":[[352,7]]},"541":{"position":[[268,7]]},"543":{"position":[[42,7]]},"545":{"position":[[70,7]]},"547":{"position":[[40,7],[347,7]]},"551":{"position":[[81,7]]},"553":{"position":[[138,7]]},"566":{"position":[[132,7]]},"582":{"position":[[359,7]]},"602":{"position":[[27,7],[74,7]]},"604":{"position":[[106,7],[160,7]]},"616":{"position":[[62,7]]},"618":{"position":[[75,7]]},"620":{"position":[[82,7]]},"623":{"position":[[73,7]]},"625":{"position":[[81,7]]},"627":{"position":[[108,7]]},"629":{"position":[[164,7]]},"631":{"position":[[104,7]]},"635":{"position":[[130,7]]},"639":{"position":[[204,7]]},"643":{"position":[[253,7]]},"645":{"position":[[90,7]]},"651":{"position":[[763,7]]},"658":{"position":[[233,7]]},"679":{"position":[[371,7]]},"681":{"position":[[236,7]]},"685":{"position":[[82,7]]},"695":{"position":[[385,7]]},"709":{"position":[[37,7]]},"741":{"position":[[587,7]]},"756":{"position":[[147,7]]},"760":{"position":[[111,7]]},"795":{"position":[[361,7]]},"797":{"position":[[424,7],[590,7],[743,7]]},"799":{"position":[[395,7],[514,7],[924,7],[1090,7],[1239,7]]},"803":{"position":[[342,7]]},"805":{"position":[[201,7],[1133,7]]},"807":{"position":[[75,7]]},"809":{"position":[[40,7]]},"811":{"position":[[22,7]]},"813":{"position":[[15,7]]},"815":{"position":[[16,7]]},"817":{"position":[[30,7]]},"819":{"position":[[59,7],[258,7],[474,7],[707,7],[1012,7]]},"821":{"position":[[45,7],[252,7]]},"823":{"position":[[167,7],[327,7]]},"825":{"position":[[173,7]]},"827":{"position":[[28,7]]},"829":{"position":[[57,7],[334,7]]},"831":{"position":[[67,7]]},"833":{"position":[[74,7]]},"835":{"position":[[74,7]]}}}],["defaultlocal",{"_index":699,"t":{"98":{"position":[[240,13]]},"100":{"position":[[219,13]]},"113":{"position":[[252,13],[382,13],[461,13]]},"117":{"position":[[304,13]]},"122":{"position":[[44,13]]}}}],["defaultparam",{"_index":1292,"t":{"237":{"position":[[756,13]]}}}],["defaulttitl",{"_index":2204,"t":{"663":{"position":[[122,12]]},"665":{"position":[[231,12]]},"699":{"position":[[221,12]]}}}],["defer",{"_index":1839,"t":{"429":{"position":[[131,5],[535,5],[679,5]]},"439":{"position":[[1321,5]]}}}],["defin",{"_index":1609,"t":{"359":{"position":[[271,6]]},"481":{"position":[[297,6],[516,6]]},"805":{"position":[[339,6]]}}}],["defineappconfig",{"_index":671,"t":{"94":{"position":[[123,15],[168,15]]},"317":{"position":[[34,15],[79,15],[138,15]]},"323":{"position":[[233,15],[278,15]]},"325":{"position":[[48,15],[294,15]]},"363":{"position":[[139,15],[184,15]]},"368":{"position":[[38,15],[83,15]]},"390":{"position":[[43,15]]},"400":{"position":[[78,15]]}}}],["defineauthconfig",{"_index":430,"t":{"47":{"position":[[178,16],[254,16]]},"59":{"position":[[53,16],[129,16]]},"325":{"position":[[87,16],[207,16]]}}}],["definechildconfig",{"_index":904,"t":{"164":{"position":[[268,17],[347,17]]}}}],["defineconfig",{"_index":315,"t":{"25":{"position":[[82,12],[166,12]]},"34":{"position":[[86,12],[170,12]]},"41":{"position":[[101,12],[148,12]]},"45":{"position":[[82,12],[166,12]]},"65":{"position":[[94,12],[200,12]]},"98":{"position":[[88,12],[172,12]]},"100":{"position":[[64,12],[148,12]]},"113":{"position":[[100,12],[184,12]]},"117":{"position":[[158,12],[242,12]]},"128":{"position":[[84,12],[172,12]]},"133":{"position":[[64,12],[152,12]]},"135":{"position":[[86,12],[174,12]]},"137":{"position":[[57,12],[145,12],[421,12],[509,12]]},"162":{"position":[[38,12],[130,12]]},"164":{"position":[[38,12],[130,12]]},"187":{"position":[[64,12],[155,12]]},"205":{"position":[[182,12]]},"214":{"position":[[265,12]]},"216":{"position":[[203,12]]},"224":{"position":[[110,12],[200,12]]},"274":{"position":[[83,12],[169,12]]},"303":{"position":[[84,12],[170,12]]},"311":{"position":[[84,12],[172,12]]},"313":{"position":[[99,12],[181,12],[351,12]]},"357":{"position":[[518,12],[609,12]]},"359":{"position":[[1234,12],[1333,12]]},"361":{"position":[[87,12],[186,12],[499,12],[598,12],[847,12],[946,12],[1200,12],[1299,12],[1654,12],[1753,12],[2148,12],[2272,12],[2922,12],[3014,12]]},"363":{"position":[[395,12],[442,12]]},"365":{"position":[[116,12],[202,12],[407,12],[497,12],[749,12],[833,12]]},"431":{"position":[[170,12],[243,12]]},"472":{"position":[[55,12],[102,12]]},"477":{"position":[[253,12],[300,12]]},"479":{"position":[[80,12],[127,12]]},"481":{"position":[[228,12],[275,12]]},"489":{"position":[[127,12],[174,12]]},"491":{"position":[[93,12],[140,12]]},"495":{"position":[[93,12],[140,12]]},"499":{"position":[[174,12],[221,12],[396,12],[443,12]]},"501":{"position":[[203,12],[250,12],[469,12],[516,12],[630,12],[677,12]]},"503":{"position":[[120,12],[167,12]]},"507":{"position":[[128,12],[220,12]]},"513":{"position":[[276,12],[323,12],[439,12],[486,12],[716,12],[763,12],[907,12],[954,12]]},"515":{"position":[[184,12],[231,12],[394,12],[441,12],[969,12],[1016,12]]},"529":{"position":[[71,12],[118,12]]},"533":{"position":[[63,12],[193,12]]},"535":{"position":[[229,12],[339,12]]},"537":{"position":[[313,12],[360,12]]},"541":{"position":[[229,12],[276,12]]},"629":{"position":[[125,12],[172,12]]},"631":{"position":[[65,12],[112,12]]},"635":{"position":[[91,12],[138,12]]},"645":{"position":[[51,12],[98,12]]},"681":{"position":[[244,12]]},"741":{"position":[[595,12]]},"797":{"position":[[657,12],[751,12]]},"799":{"position":[[1159,12],[1247,12]]}}}],["definedataload",{"_index":1727,"t":{"382":{"position":[[76,16],[133,16]]},"427":{"position":[[677,16],[894,16]]},"429":{"position":[[212,16],[573,16]]},"431":{"position":[[120,16]]},"435":{"position":[[72,16],[186,16],[377,16],[536,16]]},"437":{"position":[[86,16],[150,16]]},"439":{"position":[[83,16],[139,16],[363,16],[754,16],[1075,16]]},"637":{"position":[[249,16],[341,16],[642,16],[740,16]]},"643":{"position":[[191,16],[418,16],[602,16]]}}}],["defineframeworkconfig",{"_index":892,"t":{"162":{"position":[[264,21],[407,21]]},"169":{"position":[[241,21],[384,21]]}}}],["definei18nconfig",{"_index":802,"t":{"115":{"position":[[204,16],[280,16]]}}}],["definejestconfig",{"_index":1366,"t":{"257":{"position":[[68,16],[119,16],[141,16],[205,16],[314,16],[365,16]]},"261":{"position":[[312,16],[363,16]]}}}],["defineminiappconfig",{"_index":2236,"t":{"677":{"position":[[21,19],[101,19],[192,19]]}}}],["definepageconfig",{"_index":446,"t":{"49":{"position":[[94,16],[209,16],[292,16],[409,16]]},"370":{"position":[[63,16],[120,16]]},"386":{"position":[[22,16],[68,16],[237,16]]},"402":{"position":[[82,16]]},"665":{"position":[[147,16],[204,16]]},"691":{"position":[[41,16],[98,16]]},"693":{"position":[[46,16],[103,16]]},"695":{"position":[[102,16],[159,16]]},"697":{"position":[[76,16],[133,16]]},"699":{"position":[[137,16],[194,16]]}}}],["definerequestconfig",{"_index":1320,"t":{"239":{"position":[[110,19],[195,19]]},"241":{"position":[[62,19],[147,19]]},"250":{"position":[[139,19],[224,19],[491,19],[576,19]]}}}],["definerout",{"_index":1699,"t":{"363":{"position":[[508,12]]},"515":{"position":[[43,12],[340,12],[473,12],[883,12]]},"631":{"position":[[19,12],[137,12]]}}}],["defineroutefunct",{"_index":1956,"t":{"515":{"position":[[65,19]]}}}],["defineserverdataload",{"_index":2120,"t":{"637":{"position":[[267,22],[660,22],[875,22]]}}}],["definestaticdataload",{"_index":2134,"t":{"643":{"position":[[209,22],[540,22],[639,22]]}}}],["definestoreconfig",{"_index":1429,"t":{"293":{"position":[[505,17],[584,17]]}}}],["definevitestconfig",{"_index":1398,"t":{"266":{"position":[[72,18],[125,18],[149,18],[219,18],[374,18],[427,18]]},"270":{"position":[[346,18],[443,18]]}}}],["delay",{"_index":1415,"t":{"278":{"position":[[400,5]]}}}],["delet",{"_index":2024,"t":{"545":{"position":[[21,6],[291,6]]},"547":{"position":[[199,6]]}}}],["demo",{"_index":549,"t":{"82":{"position":[[69,4],[113,4]]},"582":{"position":[[186,4]]}}}],["descript",{"_index":2057,"t":{"582":{"position":[[157,11]]},"693":{"position":[[213,11]]}}}],["design",{"_index":592,"t":{"85":{"position":[[338,6]]},"87":{"position":[[226,6]]},"133":{"position":[[222,6]]},"137":{"position":[[236,6],[362,6]]}}}],["detail",{"_index":1162,"t":{"226":{"position":[[584,6]]},"299":{"position":[[165,6],[392,6],[413,6],[455,6]]}}}],["dev",{"_index":888,"t":{"160":{"position":[[15,3]]},"205":{"position":[[98,3]]},"218":{"position":[[78,3]]},"495":{"position":[[35,3]]},"501":{"position":[[36,3],[132,3],[176,3],[418,3],[603,3]]},"560":{"position":[[71,3],[244,3]]},"805":{"position":[[1017,3]]},"807":{"position":[[508,3],[539,3]]}}}],["dev_port",{"_index":2042,"t":{"560":{"position":[[71,8],[244,8]]}}}],["devdepend",{"_index":1592,"t":{"357":{"position":[[3,15]]}}}],["develop",{"_index":1881,"t":{"481":{"position":[[67,11]]},"501":{"position":[[319,11]]},"517":{"position":[[24,11]]},"560":{"position":[[329,11]]},"570":{"position":[[20,11]]},"743":{"position":[[180,9]]},"781":{"position":[[249,11]]},"789":{"position":[[138,9],[282,9]]},"805":{"position":[[288,11],[707,11],[1299,11]]}}}],["devic",{"_index":590,"t":{"85":{"position":[[310,6]]},"87":{"position":[[198,6]]},"582":{"position":[[232,6]]}}}],["devpublicpath",{"_index":1605,"t":{"359":{"position":[[192,13]]}}}],["devserv",{"_index":1632,"t":{"359":{"position":[[637,9],[657,9],[1443,9],[1508,9]]},"495":{"position":[[62,9]]},"805":{"position":[[996,9]]},"807":{"position":[[498,9]]}}}],["devtool",{"_index":1481,"t":{"307":{"position":[[15,8],[43,8],[63,8],[206,8]]},"805":{"position":[[513,7]]}}}],["devtoolopt",{"_index":1482,"t":{"307":{"position":[[142,14]]}}}],["diff",{"_index":1031,"t":{"195":{"position":[[61,4]]}}}],["dir",{"_index":2428,"t":{"819":{"position":[[184,3]]}}}],["dirnam",{"_index":612,"t":{"85":{"position":[[807,7]]},"797":{"position":[[388,7]]}}}],["disabl",{"_index":1602,"t":{"359":{"position":[[138,7],[292,7],[520,7],[559,7]]},"562":{"position":[[102,7],[140,7]]}}}],["disabledcooki",{"_index":804,"t":{"115":{"position":[[324,14],[491,14]]}}}],["disableruntim",{"_index":1646,"t":{"359":{"position":[[1021,14]]}}}],["disappear",{"_index":1089,"t":{"210":{"position":[[314,9]]}}}],["dispatch",{"_index":1179,"t":{"230":{"position":[[356,8],[438,8]]},"278":{"position":[[356,8]]},"282":{"position":[[190,10]]},"295":{"position":[[785,8],[1036,8]]},"297":{"position":[[396,8],[577,8]]},"301":{"position":[[150,11],[272,11]]},"305":{"position":[[210,11]]}}}],["display",{"_index":2138,"t":{"647":{"position":[[159,7]]},"714":{"position":[[350,7]]}}}],["dist",{"_index":300,"t":{"23":{"position":[[307,4]]},"126":{"position":[[320,4]]}}}],["div",{"_index":367,"t":{"39":{"position":[[187,3],[205,3]]},"49":{"position":[[166,3],[176,3],[365,3],[376,3]]},"59":{"position":[[290,3],[300,3]]},"85":{"position":[[505,3],[530,3]]},"87":{"position":[[383,3],[408,3]]},"107":{"position":[[378,3],[428,3]]},"109":{"position":[[343,3],[393,3]]},"111":{"position":[[835,3],[873,3]]},"169":{"position":[[123,3],[172,3]]},"181":{"position":[[245,3],[370,3]]},"187":{"position":[[314,3],[320,3],[346,3],[352,3],[370,3],[376,3],[435,3],[442,3]]},"201":{"position":[[5,3],[57,3]]},"210":{"position":[[245,3],[340,3]]},"333":{"position":[[450,3],[570,3]]},"388":{"position":[[337,3],[374,3]]},"392":{"position":[[339,3],[355,3],[579,3],[595,3]]},"398":{"position":[[157,3],[190,3]]},"427":{"position":[[512,3],[527,3],[533,3],[561,3],[793,3],[808,3],[814,3],[842,3]]},"429":{"position":[[335,3],[350,3],[388,3],[404,3],[425,3],[437,3],[459,3],[487,3]]},"435":{"position":[[287,3],[302,3],[308,3],[336,3]]},"439":{"position":[[256,3],[284,3],[290,3],[322,3],[910,3],[934,3],[990,3],[1018,3]]},"585":{"position":[[62,3],[73,3]]},"602":{"position":[[110,3],[125,3]]},"604":{"position":[[198,3],[256,3]]},"620":{"position":[[121,3],[136,3]]},"639":{"position":[[267,3],[282,3],[288,3],[314,3],[335,3],[485,3],[510,3],[525,3],[531,3],[544,3],[551,3]]},"643":{"position":[[316,3],[331,3],[337,3],[363,3]]},"647":{"position":[[229,3],[274,3]]},"651":{"position":[[503,3],[560,3],[571,3],[625,3],[793,3],[886,3]]},"685":{"position":[[145,3],[160,3],[166,3],[194,3]]},"695":{"position":[[424,3],[439,3]]},"709":{"position":[[73,3],[92,3]]},"714":{"position":[[194,3]]},"756":{"position":[[186,3],[201,3]]},"827":{"position":[[103,3],[119,3]]},"829":{"position":[[439,3],[450,3]]}}}],["doc",{"_index":1486,"t":{"307":{"position":[[237,4]]}}}],["doctyp",{"_index":573,"t":{"85":{"position":[[155,7]]},"87":{"position":[[43,7]]}}}],["document",{"_index":1235,"t":{"235":{"position":[[1572,8]]},"351":{"position":[[154,8],[196,8]]},"390":{"position":[[181,8],[239,8]]},"392":{"position":[[133,8]]},"404":{"position":[[58,8],[82,8]]},"441":{"position":[[306,8]]},"459":{"position":[[52,8]]},"491":{"position":[[228,8],[304,8],[607,8]]},"580":{"position":[[55,8]]},"582":{"position":[[0,8],[84,8],[367,8]]},"585":{"position":[[22,8]]},"587":{"position":[[6,8]]},"589":{"position":[[59,8]]},"591":{"position":[[165,8],[412,8],[621,8],[831,8]]},"593":{"position":[[37,8],[95,8]]},"724":{"position":[[46,8],[361,8]]},"726":{"position":[[67,8]]},"829":{"position":[[145,8]]}}}],["documentonli",{"_index":1736,"t":{"390":{"position":[[115,12]]}}}],["dom",{"_index":932,"t":{"177":{"position":[[101,3],[157,3]]},"185":{"position":[[95,3]]},"218":{"position":[[100,3]]},"220":{"position":[[142,3]]},"261":{"position":[[60,3],[149,3],[252,3]]},"270":{"position":[[67,3],[215,3]]},"335":{"position":[[243,3]]},"491":{"position":[[198,3],[509,3],[526,3]]},"513":{"position":[[823,3]]},"724":{"position":[[13,3]]},"831":{"position":[[17,3],[54,3]]}}}],["domain",{"_index":555,"t":{"82":{"position":[[167,6]]}}}],["domrend",{"_index":2456,"t":{"831":{"position":[[144,9],[234,9]]}}}],["downgrad",{"_index":1737,"t":{"390":{"position":[[147,9]]}}}],["download",{"_index":2379,"t":{"781":{"position":[[143,8]]}}}],["droplog",{"_index":1915,"t":{"499":{"position":[[243,7],[465,7]]}}}],["droploglevel",{"_index":1611,"t":{"359":{"position":[[336,12]]}}}],["droptyp",{"_index":1914,"t":{"499":{"position":[[13,8],[26,8]]}}}],["dsl",{"_index":1079,"t":{"210":{"position":[[45,3]]}}}],["edg",{"_index":584,"t":{"85":{"position":[[255,4]]},"87":{"position":[[143,4]]}}}],["edit",{"_index":2102,"t":{"606":{"position":[[215,4],[235,4]]}}}],["eee",{"_index":1702,"t":{"370":{"position":[[204,3]]},"386":{"position":[[321,3]]}}}],["ef5b6544",{"_index":1558,"t":{"339":{"position":[[178,8]]}}}],["effect",{"_index":1170,"t":{"230":{"position":[[100,7],[346,7]]},"278":{"position":[[346,7]]},"295":{"position":[[407,7],[760,7],[774,7],[1026,7]]},"297":{"position":[[194,7],[386,7],[563,7],[623,7]]},"301":{"position":[[34,7]]}}}],["effectsst",{"_index":1469,"t":{"301":{"position":[[200,12],[324,12],[386,12]]}}}],["eg",{"_index":1097,"t":{"212":{"position":[[134,2]]}}}],["ej",{"_index":567,"t":{"85":{"position":[[91,3],[148,3],[841,3]]},"819":{"position":[[366,3]]}}}],["el",{"_index":2314,"t":{"724":{"position":[[41,2],[93,2],[356,2],[414,2]]},"726":{"position":[[62,2],[103,2]]}}}],["elseif",{"_index":1000,"t":{"191":{"position":[[48,6],[124,6],[156,6]]}}}],["en",{"_index":697,"t":{"98":{"position":[[225,2],[279,2],[352,2]]},"100":{"position":[[201,2],[338,2],[352,2]]},"103":{"position":[[114,2]]},"107":{"position":[[338,2]]},"109":{"position":[[303,2]]},"113":{"position":[[237,2]]},"117":{"position":[[295,2],[406,2]]},"491":{"position":[[338,2]]}}}],["end",{"_index":790,"t":{"113":{"position":[[1006,3],[1030,3]]}}}],["entri",{"_index":786,"t":{"113":{"position":[[853,7]]},"162":{"position":[[578,5]]},"359":{"position":[[908,5],[930,5]]},"505":{"position":[[14,5],[167,5]]},"805":{"position":[[324,5]]}}}],["env",{"_index":1353,"t":{"250":{"position":[[318,3],[394,3],[615,3]]},"266":{"position":[[294,3]]},"441":{"position":[[356,3]]},"481":{"position":[[51,3],[60,3]]},"501":{"position":[[301,3],[310,3]]},"503":{"position":[[363,3],[670,3],[697,3]]},"535":{"position":[[403,3],[412,3]]},"555":{"position":[[37,3]]},"558":{"position":[[48,3],[85,3]]},"560":{"position":[[14,3],[52,3],[60,3],[120,3],[138,3],[154,3],[209,3],[267,3],[282,3],[381,3],[386,3],[397,3],[410,3]]},"562":{"position":[[132,3]]},"564":{"position":[[67,3],[98,3]]},"566":{"position":[[65,3],[188,3]]},"672":{"position":[[91,3],[159,3]]}}}],["environ",{"_index":1384,"t":{"261":{"position":[[109,11],[458,11]]},"270":{"position":[[476,11]]}}}],["eot",{"_index":1553,"t":{"339":{"position":[[72,3]]}}}],["equiv",{"_index":579,"t":{"85":{"position":[[219,5]]},"87":{"position":[[107,5]]}}}],["error",{"_index":875,"t":{"149":{"position":[[94,5]]},"232":{"position":[[264,5]]},"237":{"position":[[266,5],[638,5],[1325,5],[1425,5],[1550,5]]},"239":{"position":[[492,5],[526,5],[704,5],[747,5],[781,5],[817,5],[864,5]]},"243":{"position":[[60,5]]},"301":{"position":[[68,5],[414,5]]},"429":{"position":[[429,5]]},"499":{"position":[[152,5],[254,5],[346,5]]}}}],["errorboundari",{"_index":1515,"t":{"321":{"position":[[129,13]]}}}],["errorcompon",{"_index":923,"t":{"171":{"position":[[103,14]]}}}],["errorel",{"_index":1840,"t":{"429":{"position":[[410,12],[807,12]]}}}],["es",{"_index":1946,"t":{"505":{"position":[[276,2]]},"523":{"position":[[85,2]]},"799":{"position":[[212,2]]}}}],["esbuild",{"_index":1998,"t":{"535":{"position":[[34,7]]}}}],["eslint",{"_index":1616,"t":{"359":{"position":[[426,6]]},"527":{"position":[[50,6],[67,6],[124,6]]},"805":{"position":[[934,6]]}}}],["eslintopt",{"_index":2408,"t":{"805":{"position":[[920,13]]}}}],["esm",{"_index":1950,"t":{"513":{"position":[[29,3],[143,3],[229,3],[1011,3]]},"799":{"position":[[349,3],[379,3],[408,3],[452,3],[490,3],[527,3],[565,3],[592,3],[621,3],[629,3]]}}}],["event",{"_index":2438,"t":{"821":{"position":[[156,5]]}}}],["eventtarget",{"_index":1135,"t":{"220":{"position":[[45,11]]}}}],["exampl",{"_index":626,"t":{"85":{"position":[[1126,8]]},"197":{"position":[[84,7]]},"235":{"position":[[2172,7]]},"250":{"position":[[266,7],[419,7]]},"351":{"position":[[463,7]]},"427":{"position":[[454,7],[959,7]]},"429":{"position":[[638,7]]},"435":{"position":[[496,7]]},"437":{"position":[[215,7]]},"439":{"position":[[434,7],[537,7],[1145,7],[1247,7]]},"637":{"position":[[416,7],[799,7]]},"643":{"position":[[465,7]]},"695":{"position":[[289,7],[481,7]]},"697":{"position":[[186,7]]},"743":{"position":[[242,8]]}}}],["examplecompon",{"_index":992,"t":{"187":{"position":[[239,16]]}}}],["exclud",{"_index":1992,"t":{"529":{"position":[[20,7],[189,7]]},"541":{"position":[[347,7]]}}}],["exec",{"_index":2321,"t":{"724":{"position":[[257,4]]}}}],["expect",{"_index":1381,"t":{"259":{"position":[[174,6]]},"261":{"position":[[807,6]]},"268":{"position":[[77,6],[151,6]]},"270":{"position":[[239,6],[263,6],[765,6],[946,6]]}}}],["experi",{"_index":2399,"t":{"805":{"position":[[385,11]]}}}],["experiment",{"_index":933,"t":{"177":{"position":[[107,12],[138,12],[161,12]]},"805":{"position":[[356,12]]}}}],["experimentaldecor",{"_index":1479,"t":{"305":{"position":[[324,22]]}}}],["export",{"_index":317,"t":{"25":{"position":[[151,6]]},"34":{"position":[[155,6]]},"39":{"position":[[144,6]]},"41":{"position":[[133,6]]},"45":{"position":[[151,6]]},"47":{"position":[[228,6]]},"49":{"position":[[125,6],[183,6],[323,6],[383,6]]},"57":{"position":[[358,6]]},"59":{"position":[[103,6]]},"65":{"position":[[185,6]]},"85":{"position":[[759,7]]},"94":{"position":[[153,6]]},"98":{"position":[[157,6]]},"100":{"position":[[133,6]]},"107":{"position":[[227,6]]},"109":{"position":[[406,6]]},"111":{"position":[[154,6],[604,6]]},"113":{"position":[[169,6]]},"115":{"position":[[254,6],[616,6]]},"117":{"position":[[227,6]]},"128":{"position":[[157,6]]},"133":{"position":[[137,6]]},"135":{"position":[[159,6]]},"137":{"position":[[130,6],[494,6]]},"162":{"position":[[115,6],[383,6]]},"164":{"position":[[115,6],[323,6]]},"169":{"position":[[54,6],[360,6]]},"179":{"position":[[223,6]]},"181":{"position":[[150,6]]},"187":{"position":[[140,6]]},"205":{"position":[[167,6]]},"214":{"position":[[250,6]]},"216":{"position":[[188,6]]},"224":{"position":[[185,6]]},"226":{"position":[[355,6]]},"230":{"position":[[204,6]]},"232":{"position":[[199,6]]},"239":{"position":[[166,6]]},"241":{"position":[[118,6],[372,6]]},"250":{"position":[[195,6],[547,6]]},"257":{"position":[[104,6],[350,6]]},"259":{"position":[[35,6]]},"261":{"position":[[348,6],[529,6]]},"266":{"position":[[110,6],[412,6]]},"270":{"position":[[428,6],[627,6]]},"274":{"position":[[154,6]]},"278":{"position":[[136,6]]},"280":{"position":[[111,6]]},"282":{"position":[[66,6]]},"286":{"position":[[213,6]]},"288":{"position":[[283,6]]},"290":{"position":[[95,6]]},"293":{"position":[[225,6],[307,6],[396,6],[557,6]]},"295":{"position":[[137,6],[452,6],[959,6]]},"297":{"position":[[133,6],[358,6]]},"299":{"position":[[98,6],[616,6]]},"303":{"position":[[155,6]]},"305":{"position":[[99,6]]},"311":{"position":[[157,6]]},"313":{"position":[[336,6]]},"317":{"position":[[64,6]]},"323":{"position":[[263,6]]},"325":{"position":[[181,6],[279,6]]},"331":{"position":[[44,6]]},"333":{"position":[[315,6]]},"335":{"position":[[63,6]]},"341":{"position":[[50,6]]},"351":{"position":[[172,6]]},"357":{"position":[[594,6]]},"359":{"position":[[1318,6]]},"361":{"position":[[171,6],[583,6],[931,6],[1284,6],[1738,6],[2257,6],[2999,6]]},"363":{"position":[[86,6],[169,6],[427,6]]},"365":{"position":[[187,6],[482,6],[585,6],[818,6],[916,6]]},"368":{"position":[[68,6]]},"370":{"position":[[94,6]]},"372":{"position":[[59,6]]},"374":{"position":[[138,6]]},"376":{"position":[[236,6]]},"378":{"position":[[130,6]]},"382":{"position":[[107,6]]},"386":{"position":[[110,6],[211,6]]},"392":{"position":[[281,6],[521,6]]},"398":{"position":[[112,6]]},"427":{"position":[[327,6],[723,6],[868,6]]},"429":{"position":[[265,6],[547,6]]},"431":{"position":[[94,6],[228,6]]},"435":{"position":[[217,6],[351,6]]},"437":{"position":[[124,6],[329,6]]},"439":{"position":[[170,6],[337,6],[785,6],[1049,6]]},"472":{"position":[[87,6]]},"477":{"position":[[285,6]]},"479":{"position":[[112,6]]},"481":{"position":[[260,6]]},"489":{"position":[[159,6]]},"491":{"position":[[125,6],[592,6]]},"495":{"position":[[125,6]]},"499":{"position":[[206,6],[428,6]]},"501":{"position":[[235,6],[501,6],[662,6]]},"503":{"position":[[152,6],[629,7]]},"507":{"position":[[205,6]]},"513":{"position":[[308,6],[471,6],[748,6],[939,6]]},"515":{"position":[[216,6],[426,6],[1001,6]]},"523":{"position":[[115,6]]},"529":{"position":[[103,6]]},"533":{"position":[[178,6]]},"535":{"position":[[324,6]]},"537":{"position":[[345,6]]},"541":{"position":[[261,6]]},"543":{"position":[[35,6]]},"545":{"position":[[63,6]]},"547":{"position":[[33,6],[340,6]]},"551":{"position":[[74,6]]},"553":{"position":[[131,6]]},"566":{"position":[[125,6]]},"582":{"position":[[352,6]]},"600":{"position":[[139,6]]},"602":{"position":[[20,6],[67,6]]},"604":{"position":[[99,6],[153,6]]},"616":{"position":[[55,6]]},"618":{"position":[[68,6]]},"620":{"position":[[75,6]]},"623":{"position":[[66,6]]},"625":{"position":[[74,6]]},"627":{"position":[[101,6]]},"629":{"position":[[157,6]]},"631":{"position":[[97,6]]},"635":{"position":[[123,6]]},"637":{"position":[[315,6],[714,6],[843,6]]},"639":{"position":[[197,6]]},"643":{"position":[[246,6],[392,6],[508,6]]},"645":{"position":[[83,6]]},"651":{"position":[[756,6]]},"658":{"position":[[226,6]]},"663":{"position":[[79,6]]},"665":{"position":[[178,6]]},"677":{"position":[[159,6]]},"679":{"position":[[147,6],[364,6]]},"681":{"position":[[229,6]]},"685":{"position":[[75,6]]},"691":{"position":[[72,6]]},"693":{"position":[[77,6]]},"695":{"position":[[133,6],[378,6]]},"697":{"position":[[107,6]]},"699":{"position":[[168,6]]},"709":{"position":[[30,6]]},"741":{"position":[[580,6],[728,6]]},"753":{"position":[[166,6]]},"756":{"position":[[140,6]]},"758":{"position":[[72,6]]},"760":{"position":[[104,6]]},"795":{"position":[[354,6]]},"797":{"position":[[417,6],[583,6],[736,6]]},"799":{"position":[[234,7],[318,7],[852,7],[917,6],[1083,6],[1232,6]]},"803":{"position":[[335,6]]},"805":{"position":[[194,6],[1126,6]]},"807":{"position":[[68,6]]},"809":{"position":[[33,6]]},"811":{"position":[[15,6]]},"813":{"position":[[8,6]]},"815":{"position":[[9,6]]},"817":{"position":[[23,6]]},"819":{"position":[[52,6],[251,6],[467,6],[700,6],[1005,6]]},"821":{"position":[[38,6],[245,6]]},"823":{"position":[[160,6],[320,6]]},"825":{"position":[[166,6]]},"827":{"position":[[21,6]]},"829":{"position":[[50,6],[327,6]]},"831":{"position":[[60,6]]},"833":{"position":[[67,6]]},"835":{"position":[[67,6]]}}}],["exportdefaultfrom",{"_index":1982,"t":{"523":{"position":[[5,17]]}}}],["exportnam",{"_index":2432,"t":{"819":{"position":[[591,10],[853,10]]}}}],["express",{"_index":775,"t":{"113":{"position":[[522,7],[536,7],[615,7],[634,7]]},"553":{"position":[[121,7]]}}}],["extend",{"_index":1405,"t":{"270":{"position":[[270,6]]},"305":{"position":[[129,7]]}}}],["extens",{"_index":613,"t":{"85":{"position":[[829,9]]},"307":{"position":[[215,9]]}}}],["extern",{"_index":1607,"t":{"359":{"position":[[224,9]]},"491":{"position":[[162,9]]},"513":{"position":[[86,9],[177,9],[661,9],[692,8],[795,9]]},"805":{"position":[[414,9],[434,9]]}}}],["extra",{"_index":1570,"t":{"347":{"position":[[72,5]]}}}],["fallback",{"_index":470,"t":{"57":{"position":[[175,8],[334,8]]},"87":{"position":[[766,8]]},"392":{"position":[[201,8],[328,8],[568,8]]},"429":{"position":[[377,8],[784,8]]}}}],["fals",{"_index":324,"t":{"28":{"position":[[17,5]]},"30":{"position":[[17,5]]},"32":{"position":[[17,5]]},"47":{"position":[[392,5]]},"55":{"position":[[177,5]]},"72":{"position":[[29,5]]},"115":{"position":[[460,5]]},"124":{"position":[[15,5]]},"131":{"position":[[24,5]]},"235":{"position":[[1443,5],[1698,5]]},"237":{"position":[[139,5],[922,5],[1204,5]]},"239":{"position":[[258,5],[282,5]]},"321":{"position":[[123,5],[175,5]]},"333":{"position":[[226,5]]},"359":{"position":[[372,5],[1535,5]]},"363":{"position":[[224,5]]},"477":{"position":[[27,5]]},"479":{"position":[[18,5],[62,5]]},"489":{"position":[[39,5]]},"499":{"position":[[39,5]]},"503":{"position":[[461,5]]},"505":{"position":[[23,5],[33,5]]},"509":{"position":[[30,5]]},"513":{"position":[[157,5],[202,5]]},"517":{"position":[[74,5],[112,5]]},"519":{"position":[[108,5]]},"521":{"position":[[249,5],[426,5]]},"525":{"position":[[15,5]]},"527":{"position":[[40,5]]},"531":{"position":[[40,5]]},"553":{"position":[[242,5]]},"562":{"position":[[74,5],[114,5],[157,5]]},"572":{"position":[[24,5]]},"574":{"position":[[26,5]]},"576":{"position":[[26,5]]},"645":{"position":[[132,5]]}}}],["fast",{"_index":2411,"t":{"805":{"position":[[1048,4]]}}}],["fastrefresh",{"_index":1628,"t":{"359":{"position":[[581,11]]},"805":{"position":[[1031,11]]}}}],["favicon",{"_index":600,"t":{"85":{"position":[[408,7]]},"87":{"position":[[291,7]]},"351":{"position":[[50,7],[104,7],[258,7]]},"441":{"position":[[119,7],[134,7]]},"453":{"position":[[11,7]]},"695":{"position":[[217,7]]}}}],["favorit",{"_index":1968,"t":{"515":{"position":[[1153,9],[1183,9]]}}}],["featur",{"_index":1936,"t":{"503":{"position":[[427,8]]}}}],["feed",{"_index":1117,"t":{"214":{"position":[[347,5]]}}}],["fetch",{"_index":437,"t":{"47":{"position":[[320,5]]},"237":{"position":[[474,7],[493,7]]},"293":{"position":[[651,5]]},"295":{"position":[[1097,5]]},"297":{"position":[[250,5],[449,5],[514,5]]},"382":{"position":[[171,5]]},"427":{"position":[[439,5],[944,5]]},"429":{"position":[[623,5]]},"435":{"position":[[481,5]]},"437":{"position":[[200,5]]},"439":{"position":[[419,5],[522,5],[1130,5],[1232,5]]},"637":{"position":[[401,5],[784,5]]},"643":{"position":[[450,5]]},"819":{"position":[[992,5],[1126,5]]}}}],["fetchdataatserv",{"_index":2123,"t":{"637":{"position":[[475,17],[925,17]]}}}],["fetcher",{"_index":1844,"t":{"431":{"position":[[46,7],[204,7],[279,7],[316,7],[437,7],[460,7],[474,7]]},"483":{"position":[[16,7],[99,7]]},"819":{"position":[[969,7],[1157,7]]}}}],["fetchkey",{"_index":1276,"t":{"237":{"position":[[453,8],[880,8]]}}}],["fetchuserinfo",{"_index":1180,"t":{"230":{"position":[[378,13],[696,13],[729,13]]}}}],["fff",{"_index":2164,"t":{"651":{"position":[[427,3]]}}}],["file",{"_index":543,"t":{"80":{"position":[[182,5]]},"566":{"position":[[59,4]]},"799":{"position":[[610,5]]},"819":{"position":[[358,4],[380,4]]}}}],["filepath",{"_index":2439,"t":{"821":{"position":[[171,8]]}}}],["filter",{"_index":2085,"t":{"593":{"position":[[175,6]]}}}],["first",{"_index":1540,"t":{"333":{"position":[[407,5]]}}}],["firstnam",{"_index":1210,"t":{"235":{"position":[[1086,9]]}}}],["flexbox",{"_index":1934,"t":{"503":{"position":[[402,7]]}}}],["fn",{"_index":1535,"t":{"333":{"position":[[183,2],[295,2]]}}}],["fnm",{"_index":1769,"t":{"418":{"position":[[79,3]]}}}],["focustimespan",{"_index":1306,"t":{"237":{"position":[[1046,13]]}}}],["folder",{"_index":2355,"t":{"743":{"position":[[218,6]]},"789":{"position":[[176,6],[320,6]]},"819":{"position":[[373,6]]}}}],["follow",{"_index":2354,"t":{"743":{"position":[[208,9]]},"789":{"position":[[166,9],[310,9]]}}}],["font",{"_index":1509,"t":{"313":{"position":[[544,5]]},"587":{"position":[[170,4]]},"649":{"position":[[64,4]]},"656":{"position":[[58,4],[119,4],[163,4]]},"658":{"position":[[147,4]]}}}],["fontsiz",{"_index":2198,"t":{"658":{"position":[[284,8]]}}}],["foo",{"_index":455,"t":{"53":{"position":[[67,3]]},"57":{"position":[[394,3]]},"193":{"position":[[53,3],[98,3]]},"212":{"position":[[158,3],[293,3]]},"297":{"position":[[285,3],[613,3]]},"543":{"position":[[81,3]]},"545":{"position":[[133,3],[213,3],[322,3]]},"547":{"position":[[86,3],[138,3]]},"560":{"position":[[85,3]]},"562":{"position":[[110,3],[148,3]]},"637":{"position":[[223,3],[616,3]]}}}],["footer",{"_index":1043,"t":{"197":{"position":[[212,6],[219,6],[366,6],[582,6],[590,6]]}}}],["forc",{"_index":1760,"t":{"408":{"position":[[399,5]]}}}],["foreach",{"_index":787,"t":{"113":{"position":[[904,7]]}}}],["format",{"_index":1949,"t":{"513":{"position":[[20,6],[134,6],[355,6],[1002,6]]}}}],["formatresult",{"_index":1285,"t":{"237":{"position":[[673,12]]}}}],["fragment",{"_index":1053,"t":{"199":{"position":[[45,8]]}}}],["framework",{"_index":855,"t":{"141":{"position":[[37,9]]},"154":{"position":[[49,9],[97,9]]},"162":{"position":[[178,9],[206,9]]},"785":{"position":[[111,9]]}}}],["frameworklayout",{"_index":893,"t":{"162":{"position":[[330,15],[365,15],[465,15]]},"169":{"position":[[78,15],[307,15],[342,15],[423,15]]}}}],["fred",{"_index":1211,"t":{"235":{"position":[[1098,4]]}}}],["full",{"_index":1237,"t":{"235":{"position":[[1666,4]]}}}],["function",{"_index":364,"t":{"39":{"position":[[159,8]]},"49":{"position":[[140,8],[338,8]]},"53":{"position":[[58,8]]},"55":{"position":[[58,8],[136,8]]},"57":{"position":[[140,8],[385,8]]},"85":{"position":[[865,8]]},"107":{"position":[[2,8],[242,8]]},"109":{"position":[[227,8]]},"111":{"position":[[169,8],[619,8]]},"115":{"position":[[315,8],[631,8]]},"167":{"position":[[11,8]]},"169":{"position":[[69,8]]},"173":{"position":[[10,8],[46,8]]},"179":{"position":[[238,8]]},"181":{"position":[[165,8]]},"187":{"position":[[230,8]]},"210":{"position":[[221,8]]},"232":{"position":[[214,8]]},"235":{"position":[[201,8]]},"259":{"position":[[50,8],[155,8]]},"261":{"position":[[544,8]]},"270":{"position":[[642,8]]},"282":{"position":[[81,8]]},"290":{"position":[[110,8]]},"301":{"position":[[105,8]]},"331":{"position":[[59,8]]},"333":{"position":[[166,8],[330,8]]},"335":{"position":[[78,8]]},"341":{"position":[[65,8]]},"351":{"position":[[187,8]]},"372":{"position":[[66,8]]},"374":{"position":[[153,8]]},"376":{"position":[[251,8]]},"378":{"position":[[145,8]]},"380":{"position":[[82,8]]},"382":{"position":[[240,8]]},"386":{"position":[[125,8]]},"390":{"position":[[230,8]]},"392":{"position":[[288,8],[528,8]]},"396":{"position":[[103,8]]},"398":{"position":[[127,8]]},"427":{"position":[[342,8],[738,8]]},"429":{"position":[[280,8]]},"435":{"position":[[232,8],[558,8]]},"437":{"position":[[344,8]]},"439":{"position":[[185,8],[800,8]]},"481":{"position":[[558,8]]},"491":{"position":[[295,8]]},"566":{"position":[[140,8]]},"582":{"position":[[75,8]]},"589":{"position":[[50,8]]},"591":{"position":[[156,8],[403,8],[612,8],[822,8]]},"593":{"position":[[86,8]]},"602":{"position":[[82,8]]},"604":{"position":[[168,8]]},"620":{"position":[[90,8]]},"623":{"position":[[81,8]]},"625":{"position":[[89,8]]},"627":{"position":[[116,8]]},"639":{"position":[[212,8]]},"643":{"position":[[261,8]]},"647":{"position":[[201,8]]},"651":{"position":[[475,8],[771,8]]},"658":{"position":[[241,8]]},"672":{"position":[[165,8]]},"679":{"position":[[154,8],[379,8]]},"685":{"position":[[90,8]]},"695":{"position":[[393,8]]},"709":{"position":[[45,8]]},"756":{"position":[[155,8]]},"758":{"position":[[79,8]]},"760":{"position":[[119,8]]},"827":{"position":[[59,8]]}}}],["functionbind",{"_index":1983,"t":{"523":{"position":[[33,12]]}}}],["functioncompon",{"_index":1468,"t":{"301":{"position":[[114,17]]}}}],["fusion",{"_index":105,"t":{"4":{"position":[[386,6]]},"17":{"position":[[51,6]]},"96":{"position":[[270,6]]},"126":{"position":[[17,6],[30,6],[244,6]]},"128":{"position":[[29,6],[123,6],[148,6],[205,6]]},"131":{"position":[[32,6],[51,6]]},"133":{"position":[[21,6],[103,6],[128,6],[185,6]]},"135":{"position":[[125,6],[150,6],[207,6]]},"137":{"position":[[96,6],[121,6],[178,6],[460,6],[485,6],[542,6]]},"357":{"position":[[229,6],[251,6]]},"749":{"position":[[274,6]]},"773":{"position":[[3,6]]}}}],["g",{"_index":866,"t":{"145":{"position":[[21,1]]},"420":{"position":[[91,1],[216,1]]}}}],["gener",{"_index":1250,"t":{"235":{"position":[[2345,9]]},"639":{"position":[[41,10]]},"819":{"position":[[107,9],[125,9],[306,9],[324,9],[522,9],[540,9],[755,9],[773,9],[1060,9],[1078,9]]}}}],["getalllocal",{"_index":720,"t":{"103":{"position":[[0,13],[42,13],[82,13]]},"111":{"position":[[107,13],[361,13]]}}}],["getalltask",{"_index":2426,"t":{"817":{"position":[[78,10],[111,10]]}}}],["getapp",{"_index":894,"t":{"162":{"position":[[500,7]]},"167":{"position":[[0,6]]}}}],["getattribut",{"_index":1129,"t":{"218":{"position":[[110,12]]}}}],["getboundingclientrect",{"_index":2317,"t":{"724":{"position":[[96,21],[320,21],[417,21]]}}}],["getbytestid",{"_index":1396,"t":{"261":{"position":[[821,11]]},"270":{"position":[[960,11]]}}}],["getdefaultlocal",{"_index":722,"t":{"105":{"position":[[0,16],[43,16],[86,16]]}}}],["getdetail",{"_index":1160,"t":{"226":{"position":[[524,9]]}}}],["getelementbyid",{"_index":2315,"t":{"724":{"position":[[55,14],[370,14]]},"726":{"position":[[76,14]]}}}],["getfoo",{"_index":1352,"t":{"250":{"position":[[34,6]]}}}],["getitem",{"_index":807,"t":{"115":{"position":[[416,7]]}}}],["getlist",{"_index":1194,"t":{"235":{"position":[[210,7]]}}}],["getmap",{"_index":634,"t":{"87":{"position":[[514,10],[731,10]]}}}],["getrepo",{"_index":1158,"t":{"226":{"position":[[450,7]]},"241":{"position":[[527,7]]}}}],["getus",{"_index":1157,"t":{"226":{"position":[[386,7]]},"230":{"position":[[427,7]]},"232":{"position":[[315,7]]},"241":{"position":[[425,7]]}}}],["getuserinfo",{"_index":1414,"t":{"278":{"position":[[378,11]]},"282":{"position":[[233,11]]}}}],["getwebpackconfig",{"_index":1682,"t":{"361":{"position":[[2680,16]]}}}],["gif",{"_index":1549,"t":{"339":{"position":[[44,3]]}}}],["git",{"_index":1869,"t":{"467":{"position":[[86,3]]},"560":{"position":[[457,3]]}}}],["github",{"_index":258,"t":{"21":{"position":[[14,6]]},"82":{"position":[[210,6]]},"85":{"position":[[1109,6]]},"307":{"position":[[178,6]]},"537":{"position":[[457,6]]},"799":{"position":[[19,6]]}}}],["githubusercont",{"_index":1773,"t":{"418":{"position":[[139,17]]}}}],["glob",{"_index":1957,"t":{"515":{"position":[[147,4]]}}}],["global",{"_index":298,"t":{"23":{"position":[[256,6],[282,6]]},"82":{"position":[[40,6]]},"126":{"position":[[262,6],[288,6]]},"137":{"position":[[297,6],[329,6]]},"214":{"position":[[72,6]]},"441":{"position":[[281,6]]},"649":{"position":[[22,6]]},"656":{"position":[[9,6],[32,6]]},"658":{"position":[[97,6]]},"712":{"position":[[271,6],[405,6]]},"714":{"position":[[302,6]]},"741":{"position":[[870,6]]},"821":{"position":[[130,6]]}}}],["group",{"_index":2308,"t":{"722":{"position":[[108,5],[122,5]]}}}],["guest",{"_index":441,"t":{"47":{"position":[[385,5]]},"49":{"position":[[444,5],[469,5]]},"55":{"position":[[184,5]]},"187":{"position":[[363,5]]}}}],["gui",{"_index":252,"t":{"19":{"position":[[78,3]]}}}],["guid",{"_index":1867,"t":{"465":{"position":[[46,5]]}}}],["h",{"_index":1755,"t":{"408":{"position":[[197,1],[423,1]]},"410":{"position":[[229,1]]}}}],["h1",{"_index":938,"t":{"179":{"position":[[271,2],[290,2]]},"290":{"position":[[279,2],[301,2]]},"398":{"position":[[163,2],[173,2]]},"566":{"position":[[167,2],[206,2]]},"604":{"position":[[204,2],[220,2]]}}}],["h2",{"_index":1393,"t":{"261":{"position":[[574,2],[608,2]]},"270":{"position":[[672,2],[708,2]]},"374":{"position":[[260,2],[274,2]]},"376":{"position":[[532,2],[546,2]]},"378":{"position":[[274,2],[288,2]]},"380":{"position":[[195,2],[209,2]]},"382":{"position":[[327,2],[341,2]]},"386":{"position":[[184,2],[198,2]]},"396":{"position":[[190,2],[204,2]]},"604":{"position":[[225,2],[239,2]]},"647":{"position":[[154,2],[252,2],[268,2]]},"651":{"position":[[538,2],[554,2],[604,2],[620,2]]},"760":{"position":[[229,2],[243,2]]}}}],["h5",{"_index":2291,"t":{"714":{"position":[[246,2],[340,2]]},"724":{"position":[[2,2],[32,2]]},"726":{"position":[[24,2],[53,2]]},"728":{"position":[[2,2]]},"730":{"position":[[81,2]]}}}],["handleappearonc",{"_index":1539,"t":{"333":{"position":[[355,16],[506,16]]}}}],["handlegetphonenumb",{"_index":2272,"t":{"703":{"position":[[228,20],[350,20]]}}}],["hangzhou",{"_index":899,"t":{"162":{"position":[[610,8]]}}}],["hasauth",{"_index":471,"t":{"57":{"position":[[232,7],[275,7]]}}}],["hash",{"_index":1518,"t":{"323":{"position":[[63,4]]},"339":{"position":[[101,4]]},"351":{"position":[[97,4]]},"359":{"position":[[238,4]]},"489":{"position":[[57,4],[69,4],[110,4],[196,4]]},"537":{"position":[[141,4],[156,4],[414,4]]},"805":{"position":[[590,4],[608,4]]}}}],["hashrout",{"_index":621,"t":{"85":{"position":[[1065,10]]},"87":{"position":[[693,10]]}}}],["head",{"_index":574,"t":{"85":{"position":[[177,4],[491,4]]},"87":{"position":[[65,4],[369,4]]},"113":{"position":[[993,4]]},"351":{"position":[[226,4],[276,4]]},"390":{"position":[[334,4],[342,4]]},"537":{"position":[[208,4],[243,4]]},"545":{"position":[[36,4]]},"582":{"position":[[114,4],[297,4]]},"591":{"position":[[195,4],[202,4],[442,4],[523,4],[651,4],[735,4],[861,4],[941,4]]},"593":{"position":[[258,4],[266,4]]},"639":{"position":[[459,4],[471,4]]},"695":{"position":[[29,4]]}}}],["header",{"_index":770,"t":{"113":{"position":[[433,6],[726,7],[862,7]]},"197":{"position":[[117,6],[124,6],[258,6],[323,6],[476,6],[484,6]]},"235":{"position":[[731,7],[751,7],[770,7],[2028,7],[2046,7],[2092,6],[2191,7],[2216,7]]},"239":{"position":[[42,6],[306,7],[444,7],[832,7]]},"243":{"position":[[125,7]]},"261":{"position":[[492,6],[518,6],[553,6],[634,6],[714,6],[740,6],[760,6],[795,6]]},"268":{"position":[[23,6]]},"270":{"position":[[590,6],[616,6],[651,6],[734,6],[853,6],[879,6],[899,6],[934,6]]}}}],["hello",{"_index":999,"t":{"191":{"position":[[27,5]]},"333":{"position":[[529,5]]},"427":{"position":[[516,5],[797,5]]},"429":{"position":[[339,5]]},"435":{"position":[[291,5]]},"439":{"position":[[260,5],[914,5]]},"481":{"position":[[660,5]]},"585":{"position":[[66,5]]},"587":{"position":[[283,5]]},"602":{"position":[[114,5]]},"604":{"position":[[228,5]]},"620":{"position":[[125,5]]},"631":{"position":[[170,5],[204,5]]},"639":{"position":[[271,5],[514,5]]},"643":{"position":[[320,5]]},"651":{"position":[[827,5]]},"685":{"position":[[149,5]]},"695":{"position":[[428,5]]},"709":{"position":[[78,5]]},"756":{"position":[[190,5]]},"829":{"position":[[163,5]]}}}],["help",{"_index":1762,"t":{"408":{"position":[[428,4]]},"410":{"position":[[234,4]]},"412":{"position":[[12,4]]}}}],["here",{"_index":1655,"t":{"359":{"position":[[1375,4]]},"361":{"position":[[228,4],[640,4],[988,4],[1341,4],[1795,4],[2314,4],[3056,4]]}}}],["hidden",{"_index":951,"t":{"181":{"position":[[427,6],[520,6]]}}}],["histori",{"_index":1703,"t":{"372":{"position":[[4,7],[37,7],[104,7],[155,7]]},"378":{"position":[[29,7]]},"616":{"position":[[4,7],[33,7],[78,7]]},"758":{"position":[[14,7],[50,7],[117,7],[168,7]]}}}],["historypush",{"_index":1704,"t":{"372":{"position":[[75,11]]},"758":{"position":[[88,11]]}}}],["hk",{"_index":710,"t":{"98":{"position":[[342,2]]}}}],["home",{"_index":365,"t":{"39":{"position":[[168,4]]},"49":{"position":[[149,4],[170,4]]},"55":{"position":[[67,4]]},"94":{"position":[[18,4],[54,4]]},"100":{"position":[[274,4],[303,4],[344,4],[368,4]]},"107":{"position":[[251,4]]},"109":{"position":[[236,4],[432,4]]},"115":{"position":[[640,4]]},"181":{"position":[[174,4]]},"212":{"position":[[148,4],[188,4],[256,4]]},"226":{"position":[[108,4],[303,4]]},"230":{"position":[[763,4]]},"232":{"position":[[381,4]]},"282":{"position":[[90,4]]},"286":{"position":[[53,4],[62,4],[158,4]]},"288":{"position":[[43,4],[52,4],[163,4]]},"290":{"position":[[10,4],[119,4]]},"323":{"position":[[335,4],[362,4]]},"331":{"position":[[68,4]]},"333":{"position":[[71,4]]},"335":{"position":[[10,4],[87,4]]},"363":{"position":[[547,4],[573,4]]},"370":{"position":[[45,4]]},"374":{"position":[[86,4],[117,4],[162,4],[263,4]]},"376":{"position":[[222,4],[260,4],[535,4]]},"378":{"position":[[154,4],[277,4]]},"380":{"position":[[91,4],[198,4]]},"382":{"position":[[249,4],[330,4]]},"386":{"position":[[50,4],[134,4],[187,4]]},"388":{"position":[[284,4]]},"392":{"position":[[297,4],[537,4]]},"396":{"position":[[112,4],[193,4]]},"427":{"position":[[351,4],[747,4]]},"429":{"position":[[289,4]]},"435":{"position":[[241,4]]},"437":{"position":[[353,4]]},"439":{"position":[[194,4],[809,4]]},"441":{"position":[[237,4]]},"602":{"position":[[91,4]]},"606":{"position":[[468,4],[489,4],[509,4],[533,4]]},"620":{"position":[[99,4]]},"639":{"position":[[157,4],[221,4],[365,4]]},"643":{"position":[[270,4]]},"647":{"position":[[135,4],[210,4],[244,4]]},"651":{"position":[[484,4]]},"658":{"position":[[43,4],[66,4],[91,4],[114,4],[211,4]]},"679":{"position":[[195,4],[388,4]]},"685":{"position":[[99,4]]},"691":{"position":[[132,4]]},"695":{"position":[[402,4]]},"709":{"position":[[54,4]]},"756":{"position":[[164,4]]},"760":{"position":[[90,4],[128,4],[232,4]]}}}],["homepag",{"_index":1183,"t":{"230":{"position":[[565,8]]},"232":{"position":[[223,8]]}}}],["homestor",{"_index":1422,"t":{"290":{"position":[[69,9],[167,9]]}}}],["hook",{"_index":453,"t":{"51":{"position":[[43,5]]},"107":{"position":[[29,4]]},"333":{"position":[[51,4]]},"388":{"position":[[203,4]]},"618":{"position":[[20,4]]},"679":{"position":[[273,5]]}}}],["host",{"_index":1601,"t":{"359":{"position":[[114,4]]},"408":{"position":[[202,4],[208,4]]}}}],["href",{"_index":598,"t":{"85":{"position":[[384,4],[430,4]]},"87":{"position":[[272,4],[313,4]]},"351":{"position":[[251,4]]},"392":{"position":[[404,4]]},"695":{"position":[[209,4],[274,4],[467,4]]}}}],["html",{"_index":507,"t":{"74":{"position":[[54,4]]},"80":{"position":[[153,4],[173,4],[203,4]]},"85":{"position":[[163,4],[170,4],[622,4]]},"87":{"position":[[51,4],[58,4],[495,4]]},"117":{"position":[[51,4],[350,4],[395,4],[442,4],[461,4],[478,4]]},"162":{"position":[[669,4]]},"351":{"position":[[219,4],[303,4]]},"390":{"position":[[327,4],[374,4]]},"441":{"position":[[322,4]]},"459":{"position":[[0,4],[29,4],[41,4]]},"491":{"position":[[327,4],[581,4]]},"531":{"position":[[29,4],[64,4]]},"537":{"position":[[167,4]]},"580":{"position":[[35,4]]},"582":{"position":[[107,4],[341,4],[537,4]]},"587":{"position":[[33,4],[146,4],[262,4]]},"589":{"position":[[44,4],[94,4],[198,4]]},"591":{"position":[[188,4],[346,4],[435,4],[555,4],[644,4],[767,4],[854,4],[973,4]]},"593":{"position":[[251,4],[298,4]]},"633":{"position":[[77,4]]},"639":{"position":[[66,4],[440,4],[452,4],[566,4]]},"689":{"position":[[17,4]]},"705":{"position":[[5,4]]},"709":{"position":[[21,4]]},"712":{"position":[[146,4],[188,4],[304,4],[316,4],[438,4]]},"714":{"position":[[415,4],[427,4]]},"720":{"position":[[0,4]]},"722":{"position":[[0,4],[133,4]]},"741":{"position":[[810,4],[845,4],[919,4],[931,4],[948,4],[968,4]]},"749":{"position":[[235,4]]},"785":{"position":[[95,4]]}}}],["html4",{"_index":2280,"t":{"712":{"position":[[207,5],[217,5],[232,5]]}}}],["html5",{"_index":2282,"t":{"712":{"position":[[323,5],[343,5],[369,5],[450,5]]}}}],["htmlelement",{"_index":2325,"t":{"726":{"position":[[35,11]]}}}],["http",{"_index":257,"t":{"21":{"position":[[6,5]]},"85":{"position":[[214,4],[923,4],[1028,4],[1101,5],[1182,4],[1209,4]]},"87":{"position":[[102,4]]},"162":{"position":[[586,5]]},"222":{"position":[[14,4]]},"235":{"position":[[1883,4],[1961,4],[2041,4]]},"248":{"position":[[79,4]]},"250":{"position":[[367,4],[411,5]]},"307":{"position":[[170,5]]},"351":{"position":[[458,4]]},"359":{"position":[[311,5]]},"406":{"position":[[103,5],[168,5],[197,5]]},"408":{"position":[[269,5],[276,5],[294,5]]},"418":{"position":[[127,5]]},"420":{"position":[[104,5]]},"427":{"position":[[446,5],[951,5]]},"429":{"position":[[630,5]]},"435":{"position":[[488,5]]},"437":{"position":[[207,5]]},"439":{"position":[[426,5],[529,5],[1137,5],[1239,5]]},"491":{"position":[[389,5],[485,5]]},"495":{"position":[[190,4]]},"537":{"position":[[75,5],[449,5]]},"543":{"position":[[157,4]]},"545":{"position":[[85,4]]},"637":{"position":[[408,5],[791,5]]},"643":{"position":[[457,5]]},"665":{"position":[[361,5]]},"695":{"position":[[281,5],[473,5]]},"697":{"position":[[178,5]]},"699":{"position":[[351,5]]},"783":{"position":[[112,4]]},"799":{"position":[[11,5]]},"805":{"position":[[843,5],[852,5]]}}}],["hydrat",{"_index":1730,"t":{"388":{"position":[[29,7],[215,7]]},"392":{"position":[[43,7],[223,7]]}}}],["i18n",{"_index":673,"t":{"96":{"position":[[12,4],[116,4],[133,4],[209,4]]},"98":{"position":[[42,4],[127,4],[150,4],[198,4]]},"100":{"position":[[103,4],[126,4],[174,4]]},"113":{"position":[[139,4],[162,4],[210,4]]},"115":{"position":[[241,4]]},"117":{"position":[[197,4],[220,4],[268,4]]}}}],["i18nconfig",{"_index":803,"t":{"115":{"position":[[267,10]]}}}],["i18next",{"_index":687,"t":{"96":{"position":[[158,7]]}}}],["i3",{"_index":2218,"t":{"665":{"position":[[388,2]]},"699":{"position":[[378,2]]}}}],["ic",{"_index":2,"t":{"2":{"position":[[4,3],[39,3]]},"4":{"position":[[233,3]]},"7":{"position":[[20,3]]},"9":{"position":[[0,3],[55,3],[79,3],[137,3],[163,3],[207,3]]},"15":{"position":[[5,3],[149,3]]},"21":{"position":[[33,3]]},"23":{"position":[[0,3]]},"25":{"position":[[18,3],[36,3],[58,3],[104,3],[133,3]]},"34":{"position":[[62,3],[108,3],[137,3]]},"37":{"position":[[13,3]]},"41":{"position":[[77,3],[123,3]]},"43":{"position":[[207,3],[218,3]]},"45":{"position":[[15,3],[36,3],[58,3],[104,3],[133,3]]},"47":{"position":[[204,3]]},"49":{"position":[[119,3],[317,3]]},"53":{"position":[[52,3]]},"55":{"position":[[52,3]]},"57":{"position":[[92,3]]},"59":{"position":[[79,3]]},"65":{"position":[[18,3],[48,3],[70,3],[116,3],[155,3]]},"82":{"position":[[65,3],[78,3],[109,3]]},"85":{"position":[[18,3],[40,3],[59,3],[334,3],[513,3]]},"87":{"position":[[222,3],[391,3]]},"94":{"position":[[147,3]]},"96":{"position":[[0,3]]},"98":{"position":[[31,3],[54,3],[110,3],[139,3]]},"100":{"position":[[86,3],[115,3]]},"103":{"position":[[64,3]]},"105":{"position":[[68,3]]},"107":{"position":[[121,3],[221,3]]},"109":{"position":[[120,3],[221,3]]},"111":{"position":[[148,3],[598,3]]},"113":{"position":[[122,3],[151,3],[338,3],[409,3]]},"115":{"position":[[34,3],[93,3],[230,3],[610,3]]},"117":{"position":[[180,3],[209,3]]},"126":{"position":[[0,3]]},"128":{"position":[[18,3],[38,3],[60,3],[106,3],[137,3]]},"133":{"position":[[40,3],[86,3],[117,3]]},"135":{"position":[[62,3],[108,3],[139,3]]},"137":{"position":[[33,3],[79,3],[110,3],[397,3],[443,3],[474,3]]},"139":{"position":[[29,3],[256,3]]},"141":{"position":[[0,3],[78,3]]},"147":{"position":[[72,3]]},"151":{"position":[[42,3],[65,3]]},"154":{"position":[[36,3]]},"156":{"position":[[31,3]]},"160":{"position":[[20,3]]},"162":{"position":[[14,3],[60,3],[93,3],[295,3],[654,3]]},"164":{"position":[[14,3],[60,3],[93,3],[244,3],[295,3]]},"169":{"position":[[272,3]]},"177":{"position":[[19,3]]},"179":{"position":[[0,3],[217,3]]},"187":{"position":[[9,3],[40,3],[86,3],[118,3]]},"205":{"position":[[14,3],[41,3],[69,3],[102,3],[143,3]]},"212":{"position":[[18,3]]},"214":{"position":[[187,3],[226,3]]},"216":{"position":[[125,3],[164,3]]},"222":{"position":[[33,3]]},"224":{"position":[[22,3],[52,3],[86,3],[132,3],[164,3]]},"226":{"position":[[349,3]]},"232":{"position":[[150,3]]},"235":{"position":[[189,3]]},"237":{"position":[[1290,3]]},"239":{"position":[[139,3]]},"241":{"position":[[91,3],[366,3]]},"250":{"position":[[168,3],[520,3]]},"252":{"position":[[25,3]]},"257":{"position":[[94,3],[165,3],[340,3]]},"261":{"position":[[338,3]]},"266":{"position":[[100,3],[175,3],[402,3]]},"270":{"position":[[374,3]]},"272":{"position":[[14,3]]},"274":{"position":[[15,3],[37,3],[59,3],[105,3],[135,3]]},"278":{"position":[[85,3]]},"280":{"position":[[71,3]]},"286":{"position":[[207,3]]},"288":{"position":[[206,3]]},"290":{"position":[[250,3]]},"293":{"position":[[145,3],[301,3],[390,3],[532,3],[765,3]]},"295":{"position":[[131,3],[446,3],[953,3]]},"297":{"position":[[127,3]]},"299":{"position":[[92,3],[610,3]]},"303":{"position":[[60,3],[106,3],[136,3]]},"309":{"position":[[140,3],[154,3]]},"311":{"position":[[18,3],[38,3],[60,3],[106,3],[137,3]]},"313":{"position":[[13,3],[75,3],[121,3],[152,3]]},"315":{"position":[[0,3]]},"317":{"position":[[58,3]]},"321":{"position":[[29,3]]},"323":{"position":[[257,3]]},"325":{"position":[[72,3],[113,3],[160,3]]},"329":{"position":[[39,3],[64,3]]},"331":{"position":[[31,3]]},"333":{"position":[[145,3],[535,3]]},"335":{"position":[[50,3]]},"354":{"position":[[3,3]]},"357":{"position":[[26,3],[49,3],[73,3],[127,3],[143,3],[190,3],[240,3],[292,3],[342,3],[396,3],[450,3],[494,3],[540,3],[572,3]]},"359":{"position":[[12,3],[45,3],[82,3],[90,3],[1112,3],[1210,3],[1256,3],[1297,3]]},"361":{"position":[[63,3],[109,3],[150,3],[475,3],[521,3],[562,3],[823,3],[869,3],[910,3],[1176,3],[1222,3],[1263,3],[1630,3],[1676,3],[1717,3],[2124,3],[2170,3],[2236,3],[2898,3],[2944,3]]},"363":{"position":[[34,3],[163,3],[306,3],[371,3],[417,3]]},"365":{"position":[[21,3],[48,3],[70,3],[92,3],[138,3],[168,3],[308,3],[337,3],[361,3],[383,3],[429,3],[461,3],[656,3],[682,3],[703,3],[725,3],[771,3],[800,3]]},"368":{"position":[[62,3],[124,3]]},"370":{"position":[[88,3]]},"372":{"position":[[53,3]]},"374":{"position":[[71,3]]},"376":{"position":[[184,3]]},"378":{"position":[[124,3]]},"380":{"position":[[76,3]]},"382":{"position":[[101,3],[234,3]]},"386":{"position":[[104,3]]},"388":{"position":[[272,3]]},"390":{"position":[[224,3]]},"392":{"position":[[275,3],[474,3]]},"396":{"position":[[97,3]]},"398":{"position":[[106,3]]},"400":{"position":[[64,3]]},"402":{"position":[[68,3]]},"406":{"position":[[68,3],[91,3]]},"408":{"position":[[23,3]]},"410":{"position":[[19,3]]},"412":{"position":[[8,3]]},"414":{"position":[[3,3],[17,3]]},"427":{"position":[[100,3],[522,3],[578,3],[702,3],[803,3]]},"429":{"position":[[244,3],[345,3]]},"431":{"position":[[213,3],[305,3],[449,3]]},"435":{"position":[[211,3],[297,3]]},"437":{"position":[[111,3],[323,3]]},"439":{"position":[[164,3],[779,3]]},"441":{"position":[[0,3],[376,3]]},"463":{"position":[[10,3]]},"467":{"position":[[47,3],[57,3]]},"469":{"position":[[0,3],[26,3]]},"472":{"position":[[12,3],[23,3],[77,3]]},"477":{"position":[[58,3],[275,3]]},"479":{"position":[[102,3]]},"481":{"position":[[250,3],[708,3]]},"489":{"position":[[149,3]]},"491":{"position":[[115,3],[289,3]]},"495":{"position":[[115,3]]},"499":{"position":[[196,3],[418,3]]},"501":{"position":[[225,3],[491,3],[652,3]]},"503":{"position":[[142,3],[287,3]]},"507":{"position":[[150,3],[458,3]]},"513":{"position":[[298,3],[461,3],[738,3],[929,3]]},"515":{"position":[[206,3],[416,3],[991,3]]},"523":{"position":[[72,3]]},"529":{"position":[[93,3]]},"533":{"position":[[85,3],[162,3]]},"535":{"position":[[3,3],[155,3],[251,3]]},"537":{"position":[[335,3],[476,3]]},"539":{"position":[[136,3]]},"541":{"position":[[205,3],[251,3]]},"547":{"position":[[330,3]]},"555":{"position":[[0,3],[54,3]]},"558":{"position":[[7,3]]},"560":{"position":[[0,3]]},"562":{"position":[[2,3],[98,3],[136,3]]},"564":{"position":[[31,3]]},"566":{"position":[[49,3],[69,3],[192,3]]},"568":{"position":[[0,3],[25,3]]},"570":{"position":[[3,3]]},"578":{"position":[[5,3]]},"580":{"position":[[15,3]]},"582":{"position":[[69,3],[179,3]]},"591":{"position":[[150,3],[397,3],[606,3],[816,3]]},"593":{"position":[[80,3]]},"595":{"position":[[0,3]]},"600":{"position":[[71,3]]},"602":{"position":[[120,3]]},"604":{"position":[[147,3],[234,3]]},"606":{"position":[[107,3]]},"614":{"position":[[0,3]]},"616":{"position":[[49,3]]},"618":{"position":[[62,3]]},"620":{"position":[[69,3],[131,3],[165,3]]},"623":{"position":[[60,3]]},"625":{"position":[[68,3]]},"627":{"position":[[58,3]]},"629":{"position":[[6,3],[101,3],[147,3]]},"631":{"position":[[41,3],[87,3]]},"635":{"position":[[11,3],[42,3],[67,3],[113,3]]},"637":{"position":[[298,3],[691,3]]},"639":{"position":[[78,3],[191,3],[277,3],[493,3],[520,3]]},"643":{"position":[[240,3],[326,3]]},"645":{"position":[[2,3],[27,3],[73,3]]},"647":{"position":[[0,3],[284,3]]},"654":{"position":[[0,3],[226,3],[329,3]]},"665":{"position":[[172,3]]},"670":{"position":[[4,3]]},"672":{"position":[[28,3]]},"677":{"position":[[130,3]]},"679":{"position":[[358,3]]},"681":{"position":[[97,3],[171,3],[208,3]]},"685":{"position":[[69,3],[155,3]]},"691":{"position":[[66,3]]},"693":{"position":[[71,3]]},"695":{"position":[[127,3],[434,3]]},"697":{"position":[[101,3]]},"699":{"position":[[162,3]]},"701":{"position":[[0,3]]},"703":{"position":[[12,3],[268,3]]},"709":{"position":[[0,3]]},"712":{"position":[[0,3],[134,3],[176,3],[292,3],[426,3]]},"714":{"position":[[403,3]]},"724":{"position":[[295,3],[343,3]]},"726":{"position":[[118,3]]},"730":{"position":[[0,3]]},"735":{"position":[[0,3]]},"737":{"position":[[9,3]]},"739":{"position":[[13,3],[17,3],[37,3],[63,3]]},"741":{"position":[[5,3],[101,3],[130,3],[184,3],[227,3],[256,3],[310,3],[372,3],[402,3],[438,3],[475,3],[500,3],[522,3],[559,3],[907,3]]},"743":{"position":[[233,3]]},"745":{"position":[[45,3]]},"749":{"position":[[12,3],[97,3],[319,3]]},"753":{"position":[[10,3],[98,3]]},"756":{"position":[[0,3],[134,3],[196,3],[230,3]]},"758":{"position":[[3,3],[66,3]]},"760":{"position":[[75,3]]},"781":{"position":[[24,3],[28,3],[83,3],[87,3],[107,3],[272,3]]},"783":{"position":[[26,3]]},"787":{"position":[[34,3],[38,3],[58,3],[84,3],[173,3],[202,3],[256,3],[299,3],[328,3],[382,3]]},"793":{"position":[[0,3]]},"795":{"position":[[0,3],[76,3]]},"797":{"position":[[204,3],[477,3],[633,3],[679,3]]},"799":{"position":[[30,3],[117,3],[283,3],[707,3],[763,3],[889,3],[977,3],[1135,3],[1181,3],[1216,3]]},"803":{"position":[[119,3]]},"809":{"position":[[8,3]]},"819":{"position":[[415,3],[456,3],[643,3],[689,3],[910,3]]},"823":{"position":[[49,3],[259,3]]},"829":{"position":[[169,3]]}}}],["ice_",{"_index":2036,"t":{"555":{"position":[[54,4]]},"566":{"position":[[49,4]]}}}],["ice_app_id",{"_index":2049,"t":{"566":{"position":[[69,10],[192,10]]}}}],["ice_core_",{"_index":2053,"t":{"568":{"position":[[25,9]]}}}],["ice_disable_foo",{"_index":2047,"t":{"562":{"position":[[98,15],[136,15]]}}}],["ice_local",{"_index":731,"t":{"107":{"position":[[121,10]]},"109":{"position":[[120,10]]},"113":{"position":[[338,10],[409,10]]},"115":{"position":[[34,10],[93,10]]}}}],["icedesign",{"_index":880,"t":{"154":{"position":[[60,9]]},"156":{"position":[[51,9]]}}}],["icej",{"_index":2394,"t":{"799":{"position":[[38,5]]}}}],["icestark",{"_index":71,"t":{"4":{"position":[[192,8]]},"135":{"position":[[245,8]]},"151":{"position":[[0,8],[53,8]]},"154":{"position":[[40,8],[88,8]]},"156":{"position":[[35,8],[78,8]]},"160":{"position":[[31,8]]},"162":{"position":[[77,8],[104,8],[188,8],[306,8],[396,8],[632,8],[686,8]]},"164":{"position":[[77,8],[104,8],[183,8],[306,8],[336,8]]},"169":{"position":[[283,8],[373,8]]},"171":{"position":[[4,8]]}}}],["icestor",{"_index":1408,"t":{"272":{"position":[[24,8]]}}}],["icework",{"_index":898,"t":{"162":{"position":[[594,8]]}}}],["ico",{"_index":1582,"t":{"351":{"position":[[58,3],[112,3],[266,3]]},"441":{"position":[[127,3]]},"453":{"position":[[19,3]]}}}],["icon",{"_index":597,"t":{"85":{"position":[[378,4]]},"87":{"position":[[266,4]]},"351":{"position":[[245,4],[441,4],[475,4]]},"665":{"position":[[353,4]]},"695":{"position":[[202,4]]},"699":{"position":[[343,4]]}}}],["id",{"_index":603,"t":{"85":{"position":[[509,2]]},"87":{"position":[[387,2]]},"205":{"position":[[329,2],[336,2]]},"214":{"position":[[326,2],[334,2]]},"216":{"position":[[264,2],[271,2]]},"226":{"position":[[458,2],[498,2]]},"235":{"position":[[946,2]]},"237":{"position":[[1590,2],[1656,2]]},"241":{"position":[[535,2],[604,2]]},"278":{"position":[[122,2],[206,2],[443,2]]},"282":{"position":[[287,2]]},"321":{"position":[[12,2]]},"361":{"position":[[3095,2],[3116,2],[3146,2]]},"422":{"position":[[5,3],[39,3]]},"507":{"position":[[17,2],[268,2],[282,2]]},"543":{"position":[[87,2],[111,2]]},"545":{"position":[[139,2],[163,2],[219,2],[243,2]]},"547":{"position":[[144,2],[168,2],[236,2],[375,2],[432,2],[471,2],[475,2]]},"551":{"position":[[167,2]]},"566":{"position":[[77,2],[200,2]]},"606":{"position":[[667,2],[708,2],[739,2],[763,2]]},"608":{"position":[[39,2],[79,2]]},"627":{"position":[[80,2],[188,2]]},"639":{"position":[[489,2]]},"681":{"position":[[313,2]]},"795":{"position":[[118,2],[290,2]]}}}],["ie",{"_index":583,"t":{"85":{"position":[[252,2]]},"87":{"position":[[140,2]]},"505":{"position":[[335,2]]}}}],["ignor",{"_index":944,"t":{"181":{"position":[[99,6]]},"513":{"position":[[60,7],[164,7],[397,7],[518,7]]}}}],["ignorefil",{"_index":1698,"t":{"363":{"position":[[487,11]]},"515":{"position":[[20,11],[103,11],[297,11]]},"629":{"position":[[83,11],[197,11]]}}}],["ignorehtmltempl",{"_index":1643,"t":{"359":{"position":[[885,18]]}}}],["ignorepattern",{"_index":1951,"t":{"513":{"position":[[69,13]]}}}],["imag",{"_index":1562,"t":{"343":{"position":[[24,5]]},"695":{"position":[[238,5]]},"714":{"position":[[88,5]]},"728":{"position":[[54,5]]}}}],["img",{"_index":1561,"t":{"341":{"position":[[89,3]]},"665":{"position":[[369,3]]},"699":{"position":[[359,3]]},"714":{"position":[[200,3]]},"728":{"position":[[12,3],[93,3]]}}}],["immer",{"_index":1458,"t":{"299":{"position":[[43,5],[490,5],[543,5]]}}}],["import",{"_index":272,"t":{"23":{"position":[[74,6],[294,6]]},"25":{"position":[[73,6],[114,6]]},"34":{"position":[[77,6],[118,6]]},"39":{"position":[[27,6],[112,6]]},"41":{"position":[[92,6]]},"45":{"position":[[73,6],[114,6]]},"47":{"position":[[169,6]]},"49":{"position":[[85,6],[283,6]]},"53":{"position":[[0,6],[27,6]]},"55":{"position":[[0,6],[27,6]]},"57":{"position":[[40,6],[67,6],[98,6]]},"59":{"position":[[44,6]]},"65":{"position":[[85,6],[126,6]]},"94":{"position":[[114,6]]},"98":{"position":[[79,6],[120,6]]},"100":{"position":[[55,6],[96,6]]},"103":{"position":[[33,6]]},"105":{"position":[[34,6]]},"107":{"position":[[194,6]]},"109":{"position":[[193,6]]},"111":{"position":[[87,6],[545,6]]},"113":{"position":[[91,6],[132,6],[515,6],[546,6]]},"115":{"position":[[195,6],[352,6],[577,6]]},"117":{"position":[[149,6],[190,6]]},"126":{"position":[[78,6],[300,6]]},"128":{"position":[[75,6],[116,6]]},"133":{"position":[[55,6],[96,6]]},"135":{"position":[[77,6],[118,6]]},"137":{"position":[[48,6],[89,6],[341,6],[412,6],[453,6]]},"162":{"position":[[29,6],[70,6],[255,6],[323,6],[569,6]]},"164":{"position":[[29,6],[70,6],[259,6]]},"169":{"position":[[232,6],[300,6]]},"179":{"position":[[184,6]]},"181":{"position":[[65,6]]},"187":{"position":[[55,6],[96,6]]},"205":{"position":[[119,6]]},"210":{"position":[[184,6]]},"212":{"position":[[197,6],[234,6]]},"214":{"position":[[86,6],[202,6]]},"216":{"position":[[140,6]]},"224":{"position":[[101,6],[142,6]]},"226":{"position":[[324,6]]},"230":{"position":[[139,6],[488,6],[530,6]]},"232":{"position":[[80,6],[122,6],[156,6]]},"235":{"position":[[164,6]]},"237":{"position":[[1262,6]]},"239":{"position":[[101,6]]},"241":{"position":[[53,6],[341,6]]},"250":{"position":[[130,6],[482,6]]},"257":{"position":[[59,6],[305,6]]},"259":{"position":[[115,6]]},"261":{"position":[[222,6],[303,6],[650,6],[707,6]]},"266":{"position":[[63,6],[365,6]]},"268":{"position":[[62,6],[101,6]]},"270":{"position":[[171,6],[230,6],[337,6],[386,6],[750,6],[789,6],[846,6]]},"274":{"position":[[74,6],[115,6]]},"278":{"position":[[56,6]]},"280":{"position":[[42,6],[77,6]]},"282":{"position":[[0,6],[37,6]]},"286":{"position":[[178,6]]},"288":{"position":[[177,6],[212,6]]},"290":{"position":[[25,6],[62,6]]},"293":{"position":[[116,6],[151,6],[185,6],[272,6],[361,6],[496,6]]},"295":{"position":[[102,6],[417,6],[924,6]]},"297":{"position":[[98,6]]},"299":{"position":[[63,6],[581,6]]},"301":{"position":[[76,6]]},"303":{"position":[[75,6],[116,6]]},"305":{"position":[[44,6]]},"311":{"position":[[75,6],[116,6]]},"313":{"position":[[90,6],[131,6],[172,6]]},"317":{"position":[[25,6]]},"323":{"position":[[224,6]]},"325":{"position":[[39,6],[78,6]]},"331":{"position":[[0,6]]},"333":{"position":[[80,6],[114,6]]},"335":{"position":[[19,6]]},"341":{"position":[[0,6]]},"347":{"position":[[48,6]]},"349":{"position":[[24,6]]},"357":{"position":[[509,6],[550,6]]},"359":{"position":[[1225,6],[1266,6]]},"361":{"position":[[78,6],[119,6],[490,6],[531,6],[838,6],[879,6],[1191,6],[1232,6],[1645,6],[1686,6],[2139,6],[2180,6],[2913,6],[2954,6]]},"363":{"position":[[10,6],[130,6],[386,6]]},"365":{"position":[[107,6],[148,6],[398,6],[439,6],[740,6],[781,6]]},"368":{"position":[[29,6]]},"370":{"position":[[54,6]]},"372":{"position":[[28,6]]},"374":{"position":[[44,6]]},"376":{"position":[[151,6]]},"378":{"position":[[95,6]]},"380":{"position":[[47,6]]},"382":{"position":[[67,6],[206,6]]},"386":{"position":[[59,6]]},"388":{"position":[[244,6]]},"390":{"position":[[193,6]]},"392":{"position":[[247,6],[446,6],[480,6]]},"396":{"position":[[75,6]]},"398":{"position":[[82,6]]},"400":{"position":[[32,6]]},"402":{"position":[[34,6]]},"427":{"position":[[282,6],[659,6]]},"429":{"position":[[194,6]]},"431":{"position":[[417,6]]},"435":{"position":[[168,6]]},"437":{"position":[[77,6],[295,6]]},"439":{"position":[[121,6],[736,6]]},"472":{"position":[[46,6]]},"477":{"position":[[111,6],[169,6],[229,6],[244,6]]},"479":{"position":[[71,6]]},"481":{"position":[[97,6],[142,6],[219,6]]},"489":{"position":[[118,6]]},"491":{"position":[[84,6],[258,6]]},"495":{"position":[[84,6]]},"499":{"position":[[165,6],[387,6]]},"501":{"position":[[194,6],[460,6],[621,6]]},"503":{"position":[[111,6]]},"507":{"position":[[119,6],[160,6]]},"513":{"position":[[267,6],[430,6],[707,6],[898,6]]},"515":{"position":[[175,6],[385,6],[960,6]]},"529":{"position":[[62,6]]},"533":{"position":[[54,6],[95,6],[139,6]]},"535":{"position":[[220,6],[261,6]]},"537":{"position":[[304,6]]},"541":{"position":[[220,6]]},"547":{"position":[[289,6]]},"551":{"position":[[47,6]]},"553":{"position":[[43,6],[81,6]]},"566":{"position":[[98,6]]},"582":{"position":[[18,6]]},"591":{"position":[[119,6],[368,6],[577,6],[788,6]]},"593":{"position":[[49,6]]},"604":{"position":[[123,6]]},"616":{"position":[[24,6]]},"618":{"position":[[33,6]]},"620":{"position":[[47,6]]},"623":{"position":[[31,6]]},"625":{"position":[[35,6]]},"627":{"position":[[31,6]]},"629":{"position":[[116,6]]},"631":{"position":[[56,6]]},"635":{"position":[[82,6]]},"637":{"position":[[231,6],[624,6]]},"639":{"position":[[166,6]]},"643":{"position":[[173,6]]},"645":{"position":[[42,6]]},"647":{"position":[[76,6],[112,6],[179,6]]},"651":{"position":[[128,9],[149,9],[434,6],[664,6],[710,6]]},"665":{"position":[[138,6]]},"672":{"position":[[106,6]]},"677":{"position":[[92,6]]},"679":{"position":[[324,6]]},"681":{"position":[[186,6]]},"685":{"position":[[44,6]]},"691":{"position":[[32,6]]},"693":{"position":[[37,6]]},"695":{"position":[[93,6]]},"697":{"position":[[67,6]]},"699":{"position":[[128,6]]},"712":{"position":[[283,6],[417,6]]},"714":{"position":[[394,6]]},"726":{"position":[[184,6]]},"741":{"position":[[537,6],[898,6]]},"756":{"position":[[112,6]]},"758":{"position":[[41,6]]},"760":{"position":[[48,6]]},"795":{"position":[[46,6]]},"797":{"position":[[144,6],[174,6],[440,6],[648,6],[691,6]]},"799":{"position":[[367,6],[478,6],[677,6],[940,6],[1150,6],[1193,6]]},"819":{"position":[[431,6],[659,6],[945,6]]},"823":{"position":[[19,6],[222,6]]},"829":{"position":[[15,6]]},"831":{"position":[[26,6]]},"833":{"position":[[32,6]]},"835":{"position":[[32,6]]}}}],["importstyl",{"_index":319,"t":{"25":{"position":[[206,11]]},"128":{"position":[[214,11]]},"131":{"position":[[99,11]]},"137":{"position":[[187,11],[551,11]]}}}],["includ",{"_index":1071,"t":{"205":{"position":[[339,8]]},"214":{"position":[[337,8]]},"216":{"position":[[274,8]]},"266":{"position":[[333,7],[460,7]]},"361":{"position":[[3149,8]]},"507":{"position":[[285,8]]}}}],["increment",{"_index":1439,"t":{"295":{"position":[[513,9],[1000,9],[1141,9]]}}}],["index",{"_index":444,"t":{"49":{"position":[[55,5]]},"80":{"position":[[147,5]]},"85":{"position":[[142,5],[458,5],[592,5],[900,5]]},"87":{"position":[[31,5],[336,5],[465,5],[564,5],[589,5],[676,5]]},"113":{"position":[[591,5]]},"117":{"position":[[81,5],[129,5],[389,5],[436,5],[455,5],[472,5]]},"162":{"position":[[663,5]]},"193":{"position":[[209,5]]},"197":{"position":[[171,5],[401,5],[419,5],[542,5]]},"226":{"position":[[253,5]]},"286":{"position":[[125,5]]},"288":{"position":[[143,5]]},"290":{"position":[[15,5]]},"333":{"position":[[339,5]]},"363":{"position":[[552,5],[578,5]]},"427":{"position":[[272,5],[649,5]]},"429":{"position":[[184,5]]},"435":{"position":[[158,5]]},"441":{"position":[[83,5]]},"459":{"position":[[23,5]]},"465":{"position":[[58,5],[81,5]]},"515":{"position":[[1349,5]]},"541":{"position":[[75,5],[133,5]]},"600":{"position":[[183,5],[206,5]]},"602":{"position":[[57,5]]},"606":{"position":[[494,5],[538,5],[680,5]]},"612":{"position":[[22,5],[71,5],[99,5],[121,5],[156,5],[194,5],[206,5],[229,5],[247,5]]},"620":{"position":[[37,5]]},"643":{"position":[[163,5]]},"647":{"position":[[91,5],[101,5],[189,5]]},"651":{"position":[[339,5],[364,5],[374,5],[391,5],[456,5],[690,5],[736,5]]},"658":{"position":[[48,5],[216,5]]},"663":{"position":[[165,5],[207,5]]},"665":{"position":[[128,5]]},"679":{"position":[[137,5],[314,5],[538,5]]},"685":{"position":[[34,5]]},"695":{"position":[[368,5]]},"697":{"position":[[203,5]]},"699":{"position":[[118,5]]},"741":{"position":[[783,5],[795,5]]},"753":{"position":[[210,5],[233,5]]},"756":{"position":[[102,5]]},"758":{"position":[[288,5]]},"785":{"position":[[75,5],[89,5],[128,5]]},"797":{"position":[[50,5],[113,5],[725,5]]},"799":{"position":[[162,5],[353,5],[383,5],[412,5],[464,5],[502,5],[539,5],[569,5],[596,5],[652,5]]}}}],["indexof",{"_index":2086,"t":{"593":{"position":[[193,7]]}}}],["indic",{"_index":1224,"t":{"235":{"position":[[1330,9],[1479,9]]}}}],["info",{"_index":1421,"t":{"286":{"position":[[109,4],[170,4]]},"288":{"position":[[97,4],[219,4],[239,4],[274,4]]},"290":{"position":[[187,4]]},"380":{"position":[[161,4]]},"499":{"position":[[332,4]]},"781":{"position":[[178,4]]}}}],["infodispatch",{"_index":1424,"t":{"290":{"position":[[148,15],[217,15]]}}}],["infost",{"_index":1423,"t":{"290":{"position":[[137,9],[283,9]]}}}],["init",{"_index":566,"t":{"85":{"position":[[78,4]]},"154":{"position":[[31,4]]},"156":{"position":[[26,4]]}}}],["initi",{"_index":2058,"t":{"582":{"position":[[246,7]]},"781":{"position":[[205,10]]}}}],["initialauth",{"_index":428,"t":{"47":{"position":[[115,11],[357,11]]},"59":{"position":[[169,11]]},"325":{"position":[[241,11]]}}}],["initialdata",{"_index":1279,"t":{"237":{"position":[[570,11]]}}}],["initialentri",{"_index":1520,"t":{"323":{"position":[[132,14],[148,14],[199,12],[343,14]]}}}],["initialst",{"_index":1425,"t":{"293":{"position":[[16,13],[687,13],[707,13]]}}}],["inlin",{"_index":1124,"t":{"216":{"position":[[284,6]]},"651":{"position":[[141,6]]},"714":{"position":[[359,6]]}}}],["inlinestyl",{"_index":1067,"t":{"205":{"position":[[229,11],[315,11]]},"212":{"position":[[0,11],[44,11],[352,11]]},"214":{"position":[[34,11],[312,11]]},"216":{"position":[[6,11],[112,11],[250,11]]}}}],["inner",{"_index":2316,"t":{"724":{"position":[[72,5],[226,5],[387,5]]}}}],["input",{"_index":952,"t":{"181":{"position":[[450,5],[542,5]]},"722":{"position":[[43,5],[69,5]]}}}],["instal",{"_index":548,"t":{"82":{"position":[[30,7]]},"154":{"position":[[113,7]]},"156":{"position":[[99,7]]},"418":{"position":[[180,7],[220,7]]},"420":{"position":[[207,7]]},"712":{"position":[[167,7]]},"739":{"position":[[77,7]]},"741":{"position":[[429,7],[466,7]]},"781":{"position":[[284,7]]},"783":{"position":[[47,7]]},"787":{"position":[[98,7]]}}}],["instanc",{"_index":1238,"t":{"235":{"position":[[1716,8],[2401,8],[2461,8]]}}}],["instancenam",{"_index":1239,"t":{"235":{"position":[[1730,12]]},"241":{"position":[[260,12],[564,12]]}}}],["interceptor",{"_index":1322,"t":{"239":{"position":[[351,12]]}}}],["interfac",{"_index":1411,"t":{"278":{"position":[[91,9]]},"795":{"position":[[92,9]]}}}],["intl",{"_index":686,"t":{"96":{"position":[[147,4]]}}}],["iphone6",{"_index":2180,"t":{"654":{"position":[[134,7]]}}}],["isadmin",{"_index":993,"t":{"187":{"position":[[273,7],[330,7]]}}}],["isclient",{"_index":2121,"t":{"637":{"position":[[376,8]]}}}],["isload",{"_index":1467,"t":{"301":{"position":[[50,9],[352,9]]}}}],["isminiapp",{"_index":2232,"t":{"672":{"position":[[115,9],[236,9]]}}}],["isserv",{"_index":2122,"t":{"637":{"position":[[450,8]]}}}],["issu",{"_index":231,"t":{"15":{"position":[[182,5]]},"21":{"position":[[37,6]]},"23":{"position":[[150,5]]},"126":{"position":[[154,5]]},"537":{"position":[[480,6]]}}}],["iswechatminiprogram",{"_index":2233,"t":{"672":{"position":[[126,19],[187,19]]}}}],["item",{"_index":995,"t":{"187":{"position":[[387,4],[415,4]]},"193":{"position":[[45,4],[59,4],[84,4],[111,4],[202,4]]},"197":{"position":[[151,4],[186,4],[395,4],[428,4],[510,4],[557,4]]},"201":{"position":[[20,4],[85,4]]},"226":{"position":[[620,4],[642,4],[655,4],[676,4]]}}}],["itemid",{"_index":1858,"t":{"439":{"position":[[575,6],[1285,6]]}}}],["iteminfo",{"_index":1857,"t":{"439":{"position":[[220,8],[310,8],[505,8],[553,8],[593,8],[835,8],[966,8],[1215,8],[1263,8],[1303,8]]}}}],["j",{"_index":1371,"t":{"257":{"position":[[411,1]]},"361":{"position":[[3129,1]]}}}],["javascript",{"_index":194,"t":{"11":{"position":[[48,10]]},"15":{"position":[[49,10]]},"85":{"position":[[554,10]]},"87":{"position":[[432,10]]},"212":{"position":[[119,10]]},"587":{"position":[[222,10]]}}}],["jest",{"_index":1358,"t":{"252":{"position":[[8,4],[63,4]]},"255":{"position":[[8,4],[51,4],[61,4]]},"257":{"position":[[15,4],[43,4],[179,4],[196,4],[232,4],[258,4],[280,4],[289,4],[430,4],[615,4]]},"261":{"position":[[55,4],[104,4],[144,4],[168,4],[208,4],[247,4],[262,4],[287,4],[416,4],[453,4],[597,4],[862,4]]},"268":{"position":[[5,4]]},"270":{"position":[[62,4],[210,4]]}}}],["join",{"_index":610,"t":{"85":{"position":[[800,4]]},"797":{"position":[[381,4]]}}}],["jozb",{"_index":2220,"t":{"665":{"position":[[405,4]]},"699":{"position":[[395,4]]}}}],["jpeg",{"_index":1548,"t":{"339":{"position":[[38,4]]}}}],["jpg",{"_index":1546,"t":{"339":{"position":[[27,3]]}}}],["js",{"_index":12,"t":{"2":{"position":[[43,2]]},"4":{"position":[[261,2]]},"7":{"position":[[24,2]]},"9":{"position":[[4,2],[59,2],[83,2],[141,2],[167,2],[211,2]]},"15":{"position":[[9,2],[153,2]]},"23":{"position":[[4,2],[381,2]]},"37":{"position":[[17,2],[45,2]]},"43":{"position":[[211,2]]},"74":{"position":[[47,2]]},"82":{"position":[[82,2]]},"85":{"position":[[589,2],[598,2],[641,2],[1166,2]]},"87":{"position":[[462,2],[471,2]]},"92":{"position":[[5,2]]},"96":{"position":[[4,2]]},"126":{"position":[[4,2]]},"139":{"position":[[33,2],[188,2],[260,2]]},"141":{"position":[[4,2],[71,2],[82,2]]},"147":{"position":[[76,2]]},"151":{"position":[[69,2]]},"177":{"position":[[23,2]]},"179":{"position":[[4,2]]},"185":{"position":[[22,2],[72,2]]},"203":{"position":[[25,2],[81,2],[113,2]]},"205":{"position":[[45,2]]},"218":{"position":[[36,2]]},"220":{"position":[[35,2]]},"222":{"position":[[37,2]]},"235":{"position":[[2418,2]]},"252":{"position":[[29,2]]},"257":{"position":[[169,2]]},"266":{"position":[[179,2],[489,2]]},"270":{"position":[[126,2],[168,2],[529,2]]},"272":{"position":[[18,2]]},"293":{"position":[[769,2]]},"309":{"position":[[144,2]]},"315":{"position":[[4,2]]},"333":{"position":[[539,2]]},"347":{"position":[[103,2]]},"354":{"position":[[7,2]]},"357":{"position":[[30,2],[454,2]]},"359":{"position":[[1116,2]]},"392":{"position":[[104,2]]},"414":{"position":[[7,2]]},"418":{"position":[[17,2]]},"420":{"position":[[8,2]]},"427":{"position":[[104,2],[582,2]]},"441":{"position":[[4,2]]},"463":{"position":[[14,2]]},"467":{"position":[[61,2]]},"469":{"position":[[4,2]]},"472":{"position":[[16,2]]},"477":{"position":[[62,2]]},"481":{"position":[[712,2]]},"491":{"position":[[441,2],[545,2]]},"503":{"position":[[291,2],[571,2],[619,2]]},"507":{"position":[[462,2]]},"521":{"position":[[161,2],[327,2]]},"523":{"position":[[76,2]]},"535":{"position":[[7,2],[159,2]]},"537":{"position":[[91,2]]},"539":{"position":[[140,2]]},"541":{"position":[[25,2]]},"551":{"position":[[5,2],[258,2]]},"555":{"position":[[4,2]]},"558":{"position":[[11,2]]},"560":{"position":[[4,2]]},"562":{"position":[[6,2]]},"568":{"position":[[4,2]]},"570":{"position":[[7,2]]},"578":{"position":[[9,2]]},"580":{"position":[[19,2]]},"582":{"position":[[183,2],[475,2]]},"585":{"position":[[116,2]]},"589":{"position":[[170,2],[179,2]]},"593":{"position":[[29,2],[203,2]]},"595":{"position":[[4,2]]},"598":{"position":[[44,2]]},"600":{"position":[[75,2]]},"604":{"position":[[70,2]]},"606":{"position":[[111,2]]},"614":{"position":[[4,2]]},"629":{"position":[[10,2],[36,2]]},"633":{"position":[[67,2]]},"635":{"position":[[15,2]]},"639":{"position":[[82,2],[393,2]]},"641":{"position":[[76,2],[107,2]]},"647":{"position":[[4,2],[288,2]]},"654":{"position":[[4,2],[230,2],[333,2]]},"670":{"position":[[8,2]]},"672":{"position":[[32,2]]},"681":{"position":[[101,2]]},"697":{"position":[[48,2],[209,2]]},"701":{"position":[[4,2]]},"703":{"position":[[16,2],[272,2]]},"709":{"position":[[4,2]]},"712":{"position":[[4,2]]},"724":{"position":[[299,2],[347,2]]},"726":{"position":[[122,2]]},"730":{"position":[[4,2]]},"735":{"position":[[4,2]]},"737":{"position":[[13,2]]},"741":{"position":[[9,2]]},"745":{"position":[[49,2]]},"749":{"position":[[16,2],[101,2],[323,2]]},"753":{"position":[[14,2],[102,2]]},"756":{"position":[[4,2]]},"758":{"position":[[7,2]]},"779":{"position":[[13,2]]},"785":{"position":[[104,2],[121,2],[134,2],[146,2]]},"793":{"position":[[4,2]]},"795":{"position":[[4,2],[15,2]]},"797":{"position":[[731,2]]},"799":{"position":[[389,2],[418,2],[508,2],[545,2],[575,2]]},"805":{"position":[[477,2]]},"819":{"position":[[419,2],[647,2],[914,2]]},"823":{"position":[[199,2]]}}}],["jsc",{"_index":1373,"t":{"257":{"position":[[455,3]]}}}],["jsconfig",{"_index":639,"t":{"87":{"position":[[641,8]]}}}],["jsdom",{"_index":1385,"t":{"261":{"position":[[121,5],[470,5]]},"270":{"position":[[39,5],[490,5]]}}}],["json",{"_index":439,"t":{"47":{"position":[[340,4]]},"53":{"position":[[130,4]]},"55":{"position":[[229,4]]},"235":{"position":[[1584,4],[1623,4]]},"250":{"position":[[41,4]]},"257":{"position":[[558,4],[584,4]]},"266":{"position":[[542,4],[568,4]]},"293":{"position":[[670,4]]},"295":{"position":[[1116,4]]},"297":{"position":[[266,4]]},"305":{"position":[[295,4]]},"359":{"position":[[65,4]]},"406":{"position":[[27,4]]},"427":{"position":[[538,4],[819,4]]},"429":{"position":[[464,4]]},"435":{"position":[[313,4]]},"439":{"position":[[295,4],[995,4]]},"441":{"position":[[411,4],[429,4]]},"481":{"position":[[323,4],[582,4],[625,4]]},"541":{"position":[[118,4]]},"553":{"position":[[213,4]]},"600":{"position":[[40,4]]},"667":{"position":[[57,4]]},"681":{"position":[[28,4],[66,4],[90,4]]},"685":{"position":[[171,4]]},"741":{"position":[[55,4]]},"747":{"position":[[57,4]]},"753":{"position":[[67,4]]},"781":{"position":[[197,4]]},"787":{"position":[[122,4],[145,4]]},"799":{"position":[[143,4],[266,4],[845,4]]},"803":{"position":[[156,4]]}}}],["jsonplacehold",{"_index":1909,"t":{"495":{"position":[[197,15]]}}}],["jsx",{"_index":954,"t":{"183":{"position":[[9,3],[18,3],[40,3],[44,3],[61,3]]},"185":{"position":[[0,3],[45,3],[64,3],[102,3],[176,3]]},"187":{"position":[[20,3],[129,3],[220,3]]},"189":{"position":[[4,3]]},"197":{"position":[[280,3]]},"201":{"position":[[148,3]]},"266":{"position":[[511,3]]},"270":{"position":[[565,3]]},"357":{"position":[[383,3],[407,3],[583,3]]},"459":{"position":[[11,3]]},"580":{"position":[[25,3]]},"585":{"position":[[43,3]]},"587":{"position":[[20,3]]},"598":{"position":[[47,3]]},"604":{"position":[[73,3]]},"606":{"position":[[617,3]]},"629":{"position":[[39,3]]},"703":{"position":[[34,3],[275,3],[416,3]]}}}],["jsxplu",{"_index":990,"t":{"187":{"position":[[103,7],[188,7]]},"357":{"position":[[557,7],[642,7]]}}}],["k",{"_index":1433,"t":{"295":{"position":[[219,1]]}}}],["keep",{"_index":926,"t":{"177":{"position":[[8,4],[29,4],[69,4]]},"179":{"position":[[278,4]]},"357":{"position":[[432,4],[463,4]]},"394":{"position":[[36,4]]},"749":{"position":[[255,4]]}}}],["keepaliveoutlet",{"_index":935,"t":{"179":{"position":[[11,15],[57,15],[127,15],[193,15],[295,15]]}}}],["key",{"_index":429,"t":{"47":{"position":[[131,3]]},"111":{"position":[[416,3]]},"193":{"position":[[90,3],[104,3],[136,3]]},"237":{"position":[[876,3]]},"809":{"position":[[150,3]]},"813":{"position":[[106,3],[125,3]]}}}],["koa",{"_index":563,"t":{"85":{"position":[[4,3],[27,3],[49,3],[68,3],[95,3],[99,3],[110,3],[668,3],[717,3],[732,3],[773,3]]}}}],["koaj",{"_index":625,"t":{"85":{"position":[[1120,5]]}}}],["kuaishou",{"_index":2366,"t":{"745":{"position":[[240,8]]}}}],["lab",{"_index":2393,"t":{"799":{"position":[[34,3]]}}}],["lang",{"_index":1904,"t":{"491":{"position":[[332,4]]}}}],["languag",{"_index":752,"t":{"111":{"position":[[339,8]]},"113":{"position":[[371,8],[450,8]]},"660":{"position":[[28,8]]}}}],["last",{"_index":1251,"t":{"235":{"position":[[2382,4]]}}}],["launch",{"_index":2238,"t":{"677":{"position":[[265,6]]}}}],["layout",{"_index":631,"t":{"87":{"position":[[24,6],[557,6]]},"111":{"position":[[178,6],[628,6]]},"154":{"position":[[76,6]]},"162":{"position":[[450,6],[457,6]]},"169":{"position":[[137,6],[189,6],[415,6]]},"179":{"position":[[109,6],[173,6],[247,6]]},"363":{"position":[[610,6],[624,6],[663,6]]},"398":{"position":[[44,6],[55,6],[71,6],[136,6]]},"435":{"position":[[8,6]]},"441":{"position":[[254,6]]},"515":{"position":[[680,6],[1118,6]]},"604":{"position":[[62,6],[177,6],[212,6]]},"606":{"position":[[63,6],[79,6]]},"829":{"position":[[243,6]]}}}],["lazi",{"_index":358,"t":{"39":{"position":[[36,4],[101,4]]}}}],["legaci",{"_index":1692,"t":{"361":{"position":[[3270,6]]},"507":{"position":[[412,6]]}}}],["less",{"_index":1668,"t":{"361":{"position":[[287,4],[728,4],[744,4],[1400,4]]},"647":{"position":[[42,4],[296,4]]},"651":{"position":[[648,4],[703,4]]},"821":{"position":[[143,4]]}}}],["lessloaderopt",{"_index":1641,"t":{"359":{"position":[[818,17]]},"361":{"position":[[456,17]]}}}],["lessstyl",{"_index":2166,"t":{"651":{"position":[[671,10],[808,10]]}}}],["li",{"_index":755,"t":{"111":{"position":[[413,2],[514,2]]}}}],["lib",{"_index":1846,"t":{"431":{"position":[[324,3],[468,3]]}}}],["librari",{"_index":1383,"t":{"261":{"position":[[22,7],[47,7],[90,7],[136,7],[239,7],[691,7]]},"270":{"position":[[25,7],[54,7],[202,7],[830,7]]},"359":{"position":[[771,7]]}}}],["libraryexport",{"_index":1639,"t":{"359":{"position":[[781,13]]}}}],["librarytarget",{"_index":1638,"t":{"359":{"position":[[755,13]]}}}],["light",{"_index":2224,"t":{"665":{"position":[[470,5]]},"699":{"position":[[460,5]]}}}],["limit",{"_index":2034,"t":{"553":{"position":[[220,5]]}}}],["linestyl",{"_index":1114,"t":{"214":{"position":[[144,9]]}}}],["link",{"_index":594,"t":{"85":{"position":[[359,4],[425,4]]},"87":{"position":[[247,4],[308,4]]},"111":{"position":[[23,4],[62,4],[122,4],[431,4],[506,4]]},"115":{"position":[[586,4],[697,4],[786,4]]},"351":{"position":[[235,4]]},"372":{"position":[[88,4],[117,4]]},"378":{"position":[[20,4]]},"396":{"position":[[9,4],[37,4],[84,4],[209,4],[231,4]]},"404":{"position":[[26,5]]},"582":{"position":[[40,5],[286,5],[423,5],[449,4]]},"591":{"position":[[81,4],[361,5],[377,5],[449,5],[489,4],[508,4]]},"620":{"position":[[9,4],[56,4],[142,4],[170,4],[194,4]]},"665":{"position":[[32,5]]},"695":{"position":[[12,4],[185,5],[445,4]]},"699":{"position":[[22,5]]},"756":{"position":[[13,4],[121,4],[207,4],[235,4]]},"758":{"position":[[101,4],[130,4]]}}}],["linkel",{"_index":2079,"t":{"591":{"position":[[455,11]]}}}],["list",{"_index":1196,"t":{"235":{"position":[[296,4],[418,4]]},"295":{"position":[[489,4],[564,4],[671,4],[1083,4],[1151,4]]},"551":{"position":[[101,4],[130,4],[150,4],[226,4]]}}}],["listen",{"_index":617,"t":{"85":{"position":[[978,6],[1015,9],[1169,9]]}}}],["lite",{"_index":593,"t":{"85":{"position":[[345,4]]},"87":{"position":[[233,4]]},"781":{"position":[[111,4]]}}}],["load",{"_index":922,"t":{"171":{"position":[[91,7]]},"232":{"position":[[271,7]]},"237":{"position":[[281,7],[715,7],[1332,7],[1432,7],[1557,7]]},"392":{"position":[[343,7],[583,7]]},"429":{"position":[[392,7]]},"807":{"position":[[159,4]]}}}],["loader",{"_index":1577,"t":{"347":{"position":[[171,6]]},"349":{"position":[[85,6]]},"359":{"position":[[870,6],[1604,6],[1666,6],[1683,6]]},"361":{"position":[[369,6],[382,6],[735,6],[749,6],[1080,6],[1094,6],[1482,6],[1499,6],[2406,6],[2485,6],[2505,6],[2520,6],[2542,6],[2611,6],[2624,6],[2643,6],[2716,6],[2729,6]]},"537":{"position":[[98,7],[110,6]]},"819":{"position":[[926,6]]}}}],["loadingcompon",{"_index":920,"t":{"171":{"position":[[67,16]]}}}],["loadingdelay",{"_index":1291,"t":{"237":{"position":[[734,12]]}}}],["loadscriptmod",{"_index":897,"t":{"162":{"position":[[552,14]]}}}],["local",{"_index":495,"t":{"65":{"position":[[40,5],[177,5]]},"98":{"position":[[205,7]]},"100":{"position":[[181,7]]},"107":{"position":[[125,6],[267,6],[314,6],[325,6]]},"109":{"position":[[45,6],[124,6],[243,6],[279,6],[290,6]]},"111":{"position":[[298,6],[382,6],[421,6],[484,6],[496,6]]},"113":{"position":[[217,7],[342,6],[413,6]]},"115":{"position":[[38,6],[97,6],[753,6]]},"117":{"position":[[19,7],[275,7]]},"122":{"position":[[29,7]]},"250":{"position":[[322,5]]},"357":{"position":[[178,7],[208,7],[332,5],[364,5]]},"513":{"position":[[552,6]]},"560":{"position":[[124,5],[213,5],[294,5],[390,5],[422,5],[436,5]]}}}],["localhost",{"_index":536,"t":{"80":{"position":[[99,9]]},"85":{"position":[[930,9],[1033,9],[1187,9],[1216,9]]},"250":{"position":[[374,9]]},"376":{"position":[[207,9]]},"783":{"position":[[119,9]]}}}],["localidentnam",{"_index":2003,"t":{"537":{"position":[[5,14],[118,14],[396,14]]}}}],["localstorag",{"_index":806,"t":{"115":{"position":[[403,12]]}}}],["locat",{"_index":533,"t":{"80":{"position":[[64,8]]},"111":{"position":[[195,8],[440,8],[680,8],[796,8]]},"380":{"position":[[34,8],[106,8],[170,8]]},"392":{"position":[[395,8]]},"623":{"position":[[18,8],[101,8]]}}}],["log",{"_index":481,"t":{"59":{"position":[[247,3]]},"85":{"position":[[1010,3]]},"103":{"position":[[78,3]]},"105":{"position":[[82,3]]},"107":{"position":[[309,3]]},"109":{"position":[[274,3]]},"212":{"position":[[275,3]]},"235":{"position":[[284,3],[409,3]]},"239":{"position":[[743,3],[777,3],[813,3]]},"301":{"position":[[320,3],[382,3]]},"305":{"position":[[240,3]]},"331":{"position":[[130,3]]},"333":{"position":[[398,3]]},"335":{"position":[[152,3]]},"376":{"position":[[374,3]]},"390":{"position":[[300,3]]},"435":{"position":[[419,3],[446,3]]},"481":{"position":[[392,3],[436,3],[458,3],[491,3]]},"499":{"position":[[140,3],[263,3],[326,3],[373,3],[475,3]]},"553":{"position":[[277,3]]},"587":{"position":[[278,3]]},"591":{"position":[[297,3]]},"593":{"position":[[223,3]]},"625":{"position":[[174,3]]},"627":{"position":[[170,3]]},"677":{"position":[[257,3],[313,3]]},"679":{"position":[[458,3]]},"724":{"position":[[129,3],[279,3],[450,3]]},"795":{"position":[[278,3]]},"797":{"position":[[303,3],[564,3]]},"799":{"position":[[1064,3]]},"803":{"position":[[302,3]]},"817":{"position":[[133,3]]},"825":{"position":[[147,3]]},"833":{"position":[[190,3]]},"835":{"position":[[196,3]]}}}],["logger",{"_index":568,"t":{"85":{"position":[[103,6]]}}}],["login",{"_index":2033,"t":{"553":{"position":[[159,5]]}}}],["logo",{"_index":1560,"t":{"339":{"position":[[242,4]]}}}],["logout",{"_index":1721,"t":{"378":{"position":[[224,6]]},"618":{"position":[[134,6]]}}}],["longer",{"_index":1219,"t":{"235":{"position":[[1211,6]]}}}],["lower",{"_index":1246,"t":{"235":{"position":[[2109,5]]}}}],["ls",{"_index":1795,"t":{"420":{"position":[[270,2]]}}}],["m",{"_index":939,"t":{"179":{"position":[[276,1]]}}}],["mac",{"_index":1770,"t":{"418":{"position":[[100,3]]}}}],["made",{"_index":1229,"t":{"235":{"position":[[1403,4],[1654,4]]}}}],["main",{"_index":747,"t":{"111":{"position":[[278,4],[534,4],[828,4],[880,4]]},"390":{"position":[[356,4]]},"404":{"position":[[42,4]]},"491":{"position":[[267,4],[351,4]]},"582":{"position":[[47,4],[311,4],[482,4]]},"585":{"position":[[79,4]]},"591":{"position":[[128,4],[216,4],[384,4],[537,4],[593,4],[749,4],[803,4],[955,4]]},"593":{"position":[[280,4]]},"785":{"position":[[141,4]]},"799":{"position":[[555,4]]}}}],["make",{"_index":1200,"t":{"235":{"position":[[682,6]]}}}],["manifest",{"_index":2410,"t":{"805":{"position":[[987,8]]}}}],["manual",{"_index":1260,"t":{"237":{"position":[[125,6],[549,6],[1195,6]]}}}],["map",{"_index":754,"t":{"111":{"position":[[377,3]]},"226":{"position":[[616,3]]},"361":{"position":[[3206,3],[3299,3]]},"507":{"position":[[56,3],[342,3],[441,3]]},"517":{"position":[[64,3]]},"799":{"position":[[638,3]]}}}],["margin",{"_index":1493,"t":{"309":{"position":[[79,6]]}}}],["master",{"_index":1485,"t":{"307":{"position":[[230,6]]}}}],["match",{"_index":1689,"t":{"361":{"position":[[3119,5]]}}}],["matcher",{"_index":1388,"t":{"261":{"position":[[197,8]]},"270":{"position":[[144,8],[178,8],[219,8],[277,8]]}}}],["md",{"_index":1488,"t":{"307":{"position":[[256,2]]}}}],["measur",{"_index":2002,"t":{"535":{"position":[[299,7]]}}}],["memo",{"_index":1032,"t":{"195":{"position":[[79,4]]}}}],["memori",{"_index":1519,"t":{"323":{"position":[[84,6],[116,6],[320,6]]}}}],["memoryrout",{"_index":1521,"t":{"323":{"position":[[172,12]]}}}],["merg",{"_index":1666,"t":{"359":{"position":[[1824,5]]}}}],["mesasg",{"_index":1034,"t":{"195":{"position":[[100,7]]}}}],["messag",{"_index":1244,"t":{"235":{"position":[[1973,7]]},"243":{"position":[[229,7]]}}}],["meta",{"_index":575,"t":{"85":{"position":[[184,4],[209,4],[274,4]]},"87":{"position":[[72,4],[97,4],[162,4]]},"115":{"position":[[359,4]]},"370":{"position":[[162,4]]},"386":{"position":[[279,4]]},"404":{"position":[[15,4]]},"481":{"position":[[104,4],[149,4]]},"582":{"position":[[27,4],[121,4],[146,4],[196,4],[267,4],[389,4]]},"591":{"position":[[782,4],[797,4],[868,4],[907,4],[926,4]]},"665":{"position":[[26,5]]},"683":{"position":[[132,4]]},"693":{"position":[[0,4],[20,5],[129,4]]},"699":{"position":[[16,5]]}}}],["metael",{"_index":2081,"t":{"591":{"position":[[873,11]]}}}],["method",{"_index":789,"t":{"113":{"position":[[981,6]]},"235":{"position":[[636,6],[659,6],[701,6],[1043,7]]},"237":{"position":[[1484,6],[1633,6]]},"431":{"position":[[359,6]]},"483":{"position":[[48,6]]}}}],["microapp",{"_index":2361,"t":{"745":{"position":[[206,8]]}}}],["middlewar",{"_index":2402,"t":{"805":{"position":[[695,11]]}}}],["migrat",{"_index":861,"t":{"143":{"position":[[38,7]]},"145":{"position":[[12,7]]},"147":{"position":[[50,7],[89,7]]},"149":{"position":[[73,7]]}}}],["millisecond",{"_index":1214,"t":{"235":{"position":[[1144,12]]}}}],["min",{"_index":1113,"t":{"214":{"position":[[119,3]]},"491":{"position":[[437,3],[541,3]]}}}],["mini",{"_index":2247,"t":{"681":{"position":[[77,4]]}}}],["miniapp",{"_index":2205,"t":{"663":{"position":[[137,7]]},"677":{"position":[[141,7]]},"681":{"position":[[193,7],[219,7],[269,7]]},"712":{"position":[[138,7],[180,7],[296,7],[430,7]]},"714":{"position":[[407,7]]},"739":{"position":[[41,7]]},"741":{"position":[[207,7],[333,7],[383,7],[406,7],[449,7],[479,7],[544,7],[570,7],[620,7],[911,7]]},"743":{"position":[[251,7]]},"745":{"position":[[115,7]]},"787":{"position":[[62,7],[279,7],[405,7]]},"789":{"position":[[186,7],[330,7]]}}}],["miniapplifecycl",{"_index":2237,"t":{"677":{"position":[[44,17],[172,17]]}}}],["miniappmanifest",{"_index":2092,"t":{"600":{"position":[[109,15],[152,15]]},"663":{"position":[[23,15],[92,15]]},"741":{"position":[[639,15],[674,15],[741,15]]},"753":{"position":[[136,15],[179,15]]}}}],["minifi",{"_index":1612,"t":{"359":{"position":[[353,6]]},"805":{"position":[[772,6],[812,6]]}}}],["minimatch",{"_index":1958,"t":{"515":{"position":[[156,9]]}}}],["minimizeropt",{"_index":2404,"t":{"805":{"position":[[786,16]]}}}],["miniprogram",{"_index":2346,"t":{"741":{"position":[[156,11],[282,11]]},"743":{"position":[[168,11]]},"745":{"position":[[133,11],[249,11]]},"787":{"position":[[228,11],[354,11]]},"789":{"position":[[126,11],[270,11]]}}}],["mj",{"_index":778,"t":{"113":{"position":[[597,3]]},"257":{"position":[[27,3],[55,3],[301,3]]},"261":{"position":[[274,3],[299,3]]},"266":{"position":[[29,3],[59,3],[361,3],[492,3]]},"270":{"position":[[306,3],[333,3]]}}}],["mkdir",{"_index":565,"t":{"85":{"position":[[34,5]]}}}],["mock",{"_index":39,"t":{"4":{"position":[[40,4]]},"246":{"position":[[33,4],[55,4]]},"359":{"position":[[300,4]]},"408":{"position":[[337,4],[353,4]]},"441":{"position":[[62,4]]},"451":{"position":[[3,4],[27,4]]},"529":{"position":[[52,4],[140,4],[154,4]]},"539":{"position":[[26,4],[83,4],[152,4],[186,4]]},"541":{"position":[[13,4],[38,4],[64,4],[123,4],[158,4],[180,4],[298,4],[312,4]]},"543":{"position":[[2,4],[22,4]]},"549":{"position":[[25,4],[39,4],[71,4]]},"551":{"position":[[0,4],[16,4],[54,4],[137,4],[142,4],[253,4]]},"749":{"position":[[51,4],[112,4],[207,4]]}}}],["mockj",{"_index":2029,"t":{"551":{"position":[[65,6]]}}}],["mode",{"_index":949,"t":{"181":{"position":[[389,4],[483,4]]},"408":{"position":[[92,4],[98,4],[118,4]]},"410":{"position":[[88,4],[94,4],[114,4]]},"560":{"position":[[273,4],[288,4],[318,4],[403,4],[416,4]]},"805":{"position":[[270,4],[1291,4]]}}}],["model",{"_index":637,"t":{"87":{"position":[[595,5],[601,5],[610,5]]},"226":{"position":[[40,6],[121,6]]},"228":{"position":[[46,5]]},"230":{"position":[[45,5],[61,6],[91,6],[189,6]]},"278":{"position":[[8,6],[41,6],[171,5],[234,5],[333,5]]},"280":{"position":[[97,6]]},"286":{"position":[[13,6],[26,5],[79,6],[92,5],[138,5],[163,6]]},"288":{"position":[[68,6],[81,5],[232,6]]},"293":{"position":[[55,5],[79,6],[98,6],[171,6],[208,6],[473,5]]},"295":{"position":[[10,6],[30,6],[50,5],[85,5]]},"297":{"position":[[8,5],[41,6],[60,6],[83,6],[342,6],[550,5]]}}}],["modifi",{"_index":1654,"t":{"359":{"position":[[1309,6]]},"361":{"position":[[162,6],[574,6],[922,6],[1275,6],[1729,6],[2248,6]]}}}],["modifiedconfig",{"_index":1674,"t":{"361":{"position":[[1842,14],[1958,14],[2360,14],[2413,14],[2440,14],[2549,14],[2579,14],[2650,14],[2784,14]]}}}],["modifyload",{"_index":1653,"t":{"359":{"position":[[1275,12],[1622,12]]},"361":{"position":[[128,12],[332,12],[540,12],[690,12],[888,12],[1035,12],[1241,12],[1445,12],[2200,12],[2667,12]]}}}],["modifyuserconfig",{"_index":2424,"t":{"813":{"position":[[63,16],[88,16],[181,16]]}}}],["modul",{"_index":38,"t":{"4":{"position":[[32,7]]},"85":{"position":[[752,6]]},"205":{"position":[[354,6]]},"212":{"position":[[65,6],[89,7]]},"214":{"position":[[353,6]]},"216":{"position":[[297,6]]},"361":{"position":[[2756,6],[3164,7]]},"465":{"position":[[64,6]]},"501":{"position":[[53,7],[111,7],[441,7]]},"503":{"position":[[622,6]]},"505":{"position":[[120,7],[214,7]]},"507":{"position":[[300,7]]},"517":{"position":[[50,6]]},"647":{"position":[[259,7]]},"651":{"position":[[24,7],[263,6],[345,6],[380,6],[462,6],[545,7],[611,7],[637,7],[696,6],[742,6],[901,7],[920,7],[937,7]]},"658":{"position":[[54,6]]},"799":{"position":[[215,6],[308,6]]}}}],["moment",{"_index":1595,"t":{"357":{"position":[[171,6],[201,6]]},"513":{"position":[[578,6]]}}}],["mount",{"_index":905,"t":{"164":{"position":[[374,5]]},"173":{"position":[[0,5]]},"388":{"position":[[305,7],[342,7]]}}}],["mt",{"_index":313,"t":{"25":{"position":[[47,3],[69,3]]},"34":{"position":[[73,3]]},"41":{"position":[[88,3]]},"45":{"position":[[47,3],[69,3]]},"65":{"position":[[59,3],[81,3]]},"98":{"position":[[65,3]]},"128":{"position":[[49,3],[71,3]]},"133":{"position":[[51,3]]},"135":{"position":[[73,3]]},"137":{"position":[[44,3],[408,3]]},"162":{"position":[[25,3]]},"164":{"position":[[25,3],[255,3]]},"187":{"position":[[51,3]]},"205":{"position":[[113,3]]},"214":{"position":[[198,3]]},"216":{"position":[[136,3]]},"224":{"position":[[97,3]]},"266":{"position":[[503,3]]},"274":{"position":[[48,3],[70,3]]},"303":{"position":[[71,3]]},"309":{"position":[[71,2]]},"311":{"position":[[49,3],[71,3]]},"313":{"position":[[86,3]]},"357":{"position":[[505,3]]},"359":{"position":[[56,3],[1221,3]]},"361":{"position":[[74,3],[486,3],[834,3],[1187,3],[1641,3],[2135,3],[2909,3]]},"363":{"position":[[382,3]]},"365":{"position":[[81,3],[103,3],[372,3],[394,3],[714,3],[736,3]]},"431":{"position":[[224,3]]},"441":{"position":[[387,3]]},"469":{"position":[[37,3]]},"472":{"position":[[34,3]]},"541":{"position":[[216,3]]},"564":{"position":[[42,3]]},"629":{"position":[[112,3]]},"631":{"position":[[52,3]]},"635":{"position":[[53,3],[78,3]]},"645":{"position":[[13,3],[38,3]]},"681":{"position":[[182,3]]},"741":{"position":[[511,3],[533,3]]},"797":{"position":[[644,3]]},"799":{"position":[[1146,3]]},"803":{"position":[[130,3]]},"809":{"position":[[19,3]]}}}],["mutat",{"_index":1275,"t":{"237":{"position":[[420,6]]}}}],["mycompon",{"_index":1742,"t":{"392":{"position":[[487,11],[507,11],[610,11]]}}}],["myplugin",{"_index":1997,"t":{"533":{"position":[[146,8],[242,8]]},"797":{"position":[[698,8],[786,8]]},"799":{"position":[[1200,8],[1282,8]]}}}],["myvideo",{"_index":2326,"t":{"726":{"position":[[92,7],[274,7]]}}}],["name",{"_index":587,"t":{"85":{"position":[[279,4]]},"87":{"position":[[167,4]]},"113":{"position":[[914,4],[947,4]]},"181":{"position":[[443,4],[535,4]]},"187":{"position":[[420,4]]},"197":{"position":[[252,4]]},"230":{"position":[[230,4]]},"235":{"position":[[1725,4],[2099,5]]},"278":{"position":[[108,4],[196,4],[427,4]]},"282":{"position":[[317,4]]},"293":{"position":[[345,4],[758,4]]},"297":{"position":[[171,4]]},"299":{"position":[[175,4]]},"370":{"position":[[172,4]]},"386":{"position":[[289,4]]},"439":{"position":[[277,4],[927,4]]},"543":{"position":[[74,4],[98,4]]},"545":{"position":[[126,4],[150,4],[206,4],[230,4],[315,4]]},"547":{"position":[[78,4],[131,4],[155,4],[223,4]]},"582":{"position":[[151,4],[201,4]]},"693":{"position":[[161,4],[206,4]]},"795":{"position":[[189,4],[202,4],[216,4]]},"797":{"position":[[252,4]]},"799":{"position":[[274,4],[755,4]]},"805":{"position":[[71,4],[1150,4]]},"807":{"position":[[92,4]]},"809":{"position":[[57,4],[136,4]]},"811":{"position":[[39,4],[116,4]]},"813":{"position":[[32,4]]},"815":{"position":[[33,4],[141,4],[160,4]]},"817":{"position":[[47,4]]},"819":{"position":[[76,4],[275,4],[491,4],[724,4],[1029,4]]},"821":{"position":[[62,4],[269,4]]},"823":{"position":[[97,4],[111,4]]}}}],["nativeconfig",{"_index":2248,"t":{"681":{"position":[[122,12],[279,12]]}}}],["nativeev",{"_index":2240,"t":{"679":{"position":[[19,12],[202,12]]}}}],["navig",{"_index":757,"t":{"111":{"position":[[712,8],[787,8]]},"113":{"position":[[361,9]]},"378":{"position":[[169,8],[213,8]]},"396":{"position":[[22,9]]},"618":{"position":[[97,8],[123,8]]},"620":{"position":[[210,9]]},"756":{"position":[[30,9]]}}}],["navigateto",{"_index":2374,"t":{"758":{"position":[[257,10]]}}}],["need",{"_index":1922,"t":{"501":{"position":[[352,4],[738,4]]}}}],["nest",{"_index":1931,"t":{"503":{"position":[[336,6]]}}}],["netlifi",{"_index":562,"t":{"82":{"position":[[223,7]]}}}],["new",{"_index":261,"t":{"21":{"position":[[44,3]]},"85":{"position":[[769,3]]},"361":{"position":[[1909,3],[2072,3]]},"535":{"position":[[475,3]]}}}],["newcount",{"_index":1443,"t":{"295":{"position":[[607,8],[661,8]]}}}],["newlist",{"_index":1440,"t":{"295":{"position":[[548,7],[578,7],[677,7]]}}}],["next",{"_index":823,"t":{"126":{"position":[[315,4],[325,4]]},"135":{"position":[[240,4]]},"501":{"position":[[344,4],[730,4]]},"656":{"position":[[93,4],[108,4]]},"658":{"position":[[136,4]]},"743":{"position":[[237,4]]}}}],["nginx",{"_index":531,"t":{"80":{"position":[[32,5],[49,5]]}}}],["nice",{"_index":2257,"t":{"693":{"position":[[252,4]]}}}],["nl",{"_index":717,"t":{"100":{"position":[[210,2],[213,2],[362,2],[365,2],[376,2],[379,2]]}}}],["noauth",{"_index":467,"t":{"57":{"position":[[105,6],[131,6],[346,6]]}}}],["noauthfallback",{"_index":478,"t":{"59":{"position":[[202,14]]}}}],["node",{"_index":80,"t":{"4":{"position":[[256,4]]},"85":{"position":[[22,4],[44,4],[63,4],[1157,4]]},"113":{"position":[[496,4]]},"124":{"position":[[68,4]]},"235":{"position":[[2413,4]]},"361":{"position":[[3159,4]]},"392":{"position":[[99,4]]},"418":{"position":[[12,4],[24,4],[87,4],[203,4],[236,4],[262,4],[276,4]]},"420":{"position":[[3,4]]},"481":{"position":[[55,4]]},"501":{"position":[[48,4],[106,4],[305,4],[436,4]]},"505":{"position":[[115,4],[209,4]]},"507":{"position":[[295,4]]},"535":{"position":[[407,4]]},"633":{"position":[[62,4]]},"641":{"position":[[71,4],[102,4]]},"779":{"position":[[8,4],[20,4]]}}}],["node_env",{"_index":1880,"t":{"481":{"position":[[55,8]]},"501":{"position":[[305,8]]},"535":{"position":[[407,8]]}}}],["node_modul",{"_index":1690,"t":{"361":{"position":[[3159,12]]},"501":{"position":[[48,12],[106,12],[436,12]]},"505":{"position":[[115,12],[209,12]]},"507":{"position":[[295,12]]}}}],["none",{"_index":2398,"t":{"805":{"position":[[279,4]]}}}],["notat",{"_index":1249,"t":{"235":{"position":[[2159,8]]}}}],["notfoundcompon",{"_index":918,"t":{"171":{"position":[[32,17]]}}}],["nothingels",{"_index":1003,"t":{"191":{"position":[[100,11]]}}}],["npm",{"_index":74,"t":{"4":{"position":[[223,3]]},"25":{"position":[[8,3]]},"45":{"position":[[8,3]]},"65":{"position":[[8,3]]},"74":{"position":[[16,3]]},"82":{"position":[[26,3]]},"85":{"position":[[74,3],[85,3]]},"89":{"position":[[3,3]]},"98":{"position":[[24,3]]},"128":{"position":[[8,3]]},"145":{"position":[[2,3]]},"154":{"position":[[27,3],[109,3],[123,3]]},"156":{"position":[[22,3],[95,3],[109,3]]},"160":{"position":[[2,3]]},"177":{"position":[[126,3]]},"187":{"position":[[2,3]]},"201":{"position":[[135,3]]},"205":{"position":[[62,3]]},"224":{"position":[[45,3]]},"255":{"position":[[2,3]]},"259":{"position":[[211,3]]},"261":{"position":[[75,3],[885,3]]},"264":{"position":[[2,3]]},"268":{"position":[[189,3]]},"270":{"position":[[10,3],[1026,3]]},"274":{"position":[[8,3]]},"311":{"position":[[8,3]]},"329":{"position":[[57,3]]},"357":{"position":[[681,3]]},"365":{"position":[[41,3],[330,3],[675,3]]},"406":{"position":[[127,3],[153,3],[176,3],[185,3]]},"420":{"position":[[19,3],[79,3],[178,3],[203,3]]},"431":{"position":[[353,3],[381,3]]},"467":{"position":[[12,3]]},"549":{"position":[[49,3]]},"558":{"position":[[62,3]]},"712":{"position":[[163,3]]},"739":{"position":[[2,3],[73,3]]},"741":{"position":[[425,3],[462,3]]},"743":{"position":[[41,3],[85,3]]},"781":{"position":[[13,3],[72,3],[152,3],[280,3],[292,3]]},"783":{"position":[[43,3],[86,3]]},"785":{"position":[[24,3]]},"787":{"position":[[23,3],[94,3]]},"789":{"position":[[43,3]]},"791":{"position":[[34,3]]},"799":{"position":[[94,3],[1114,3]]}}}],["npmmirror",{"_index":1790,"t":{"420":{"position":[[121,9]]}}}],["nrm",{"_index":1794,"t":{"420":{"position":[[191,3],[218,3],[227,3],[240,3],[266,3],[285,3]]}}}],["null",{"_index":1470,"t":{"301":{"position":[[425,4]]},"507":{"position":[[74,4]]},"641":{"position":[[42,4]]}}}],["number",{"_index":1015,"t":{"193":{"position":[[152,6]]},"235":{"position":[[1134,6]]},"408":{"position":[[250,6]]},"809":{"position":[[199,6]]}}}],["nvm",{"_index":1768,"t":{"418":{"position":[[47,3],[63,3],[108,3],[161,3],[168,3],[216,3],[246,3]]}}}],["o",{"_index":1772,"t":{"418":{"position":[[124,1]]}}}],["object",{"_index":785,"t":{"113":{"position":[[846,6]]},"193":{"position":[[23,6]]},"235":{"position":[[901,6],[929,6]]},"359":{"position":[[1466,6]]},"390":{"position":[[32,6]]},"435":{"position":[[629,6]]},"481":{"position":[[569,6]]},"495":{"position":[[18,6]]},"527":{"position":[[13,6],[85,6]]},"547":{"position":[[19,6],[188,6]]},"809":{"position":[[214,6]]}}}],["offscreen",{"_index":942,"t":{"181":{"position":[[35,9],[112,9],[139,9],[379,9],[461,9],[473,9],[553,9]]}}}],["ok",{"_index":1245,"t":{"235":{"position":[[2019,2]]},"658":{"position":[[304,2]]}}}],["oldpric",{"_index":1164,"t":{"226":{"position":[[660,8]]}}}],["on",{"_index":42,"t":{"4":{"position":[[61,3]]}}}],["onappear",{"_index":1072,"t":{"210":{"position":[[3,8],[155,8],[249,8]]},"331":{"position":[[104,8],[135,8]]},"333":{"position":[[496,8]]}}}],["onclick",{"_index":461,"t":{"55":{"position":[[280,7]]},"107":{"position":[[382,7]]},"109":{"position":[[347,7]]},"111":{"position":[[459,7],[839,7]]},"115":{"position":[[709,7]]},"181":{"position":[[258,7],[318,7]]},"703":{"position":[[314,7]]}}}],["onconfig",{"_index":1323,"t":{"239":{"position":[[378,8],[552,8]]}}}],["ondemand",{"_index":1952,"t":{"513":{"position":[[107,8],[192,8],[840,8],[986,8]]}}}],["ondisapp",{"_index":1073,"t":{"210":{"position":[[15,10],[167,10]]}}}],["ondisappear",{"_index":1088,"t":{"210":{"position":[[286,11]]},"335":{"position":[[123,11],[157,11]]}}}],["onerror",{"_index":1283,"t":{"237":{"position":[[653,7]]},"239":{"position":[[482,7],[694,7]]}}}],["ongetconfig",{"_index":2397,"t":{"805":{"position":[[3,11],[102,11],[122,11],[231,11],[1181,11],[1201,11]]},"809":{"position":[[266,11]]},"811":{"position":[[208,11]]},"815":{"position":[[189,11]]}}}],["ongetphonenumb",{"_index":2273,"t":{"703":{"position":[[332,16],[476,16]]}}}],["onhook",{"_index":2413,"t":{"807":{"position":[[3,6],[20,6],[123,6],[138,6],[207,6]]}}}],["onlaunch",{"_index":1828,"t":{"427":{"position":[[1250,8]]},"677":{"position":[[229,8]]}}}],["onload",{"_index":1713,"t":{"376":{"position":[[20,6]]},"427":{"position":[[1285,6]]},"760":{"position":[[10,6]]}}}],["onpagescrol",{"_index":2241,"t":{"679":{"position":[[50,12]]}}}],["onshareappmessag",{"_index":2242,"t":{"679":{"position":[[63,17],[219,17],[415,17],[472,17]]}}}],["onsharetimelin",{"_index":2243,"t":{"679":{"position":[[81,15]]}}}],["onshow",{"_index":2239,"t":{"677":{"position":[[287,6]]}}}],["onsuccess",{"_index":1281,"t":{"237":{"position":[[612,9]]}}}],["ontap",{"_index":2268,"t":{"703":{"position":[[115,5]]}}}],["open",{"_index":1603,"t":{"359":{"position":[[146,4]]},"408":{"position":[[305,4]]},"743":{"position":[[199,4]]},"789":{"position":[[157,4],[301,4]]}}}],["oper",{"_index":1986,"t":{"523":{"position":[[151,8]]}}}],["option",{"_index":1233,"t":{"235":{"position":[[1543,7]]},"307":{"position":[[94,7]]},"359":{"position":[[1692,7]]},"361":{"position":[[391,7],[758,7],[1103,7],[1508,7],[1595,7],[2738,7]]},"408":{"position":[[34,7]]},"410":{"position":[[30,7]]},"431":{"position":[[151,7],[496,7]]},"545":{"position":[[42,7]]},"677":{"position":[[238,7],[274,7],[294,7],[328,7]]},"679":{"position":[[436,7],[492,7]]},"722":{"position":[[153,6]]},"795":{"position":[[171,7],[282,7]]},"805":{"position":[[819,7]]},"811":{"position":[[130,6]]}}}],["optionmenu",{"_index":2215,"t":{"665":{"position":[[337,10]]},"699":{"position":[[327,10]]}}}],["org",{"_index":2005,"t":{"537":{"position":[[94,3]]}}}],["origin",{"_index":1879,"t":{"479":{"position":[[206,6]]}}}],["originalcod",{"_index":1947,"t":{"507":{"position":[[254,12],[364,12]]}}}],["originopt",{"_index":1662,"t":{"359":{"position":[[1702,13]]},"361":{"position":[[401,13],[768,13],[1113,13],[1518,13]]}}}],["oss",{"_index":516,"t":{"78":{"position":[[9,3]]},"162":{"position":[[603,3]]}}}],["out",{"_index":1217,"t":{"235":{"position":[[1182,3]]}}}],["outlet",{"_index":1745,"t":{"398":{"position":[[16,6],[91,6],[178,6]]},"604":{"position":[[132,6],[244,6],[270,6]]}}}],["output",{"_index":1897,"t":{"485":{"position":[[44,6]]},"805":{"position":[[542,6]]}}}],["outputassetspath",{"_index":1630,"t":{"359":{"position":[[607,16]]},"805":{"position":[[444,16]]}}}],["outputdir",{"_index":1586,"t":{"351":{"position":[[385,9]]},"359":{"position":[[247,9]]},"805":{"position":[[397,9]]}}}],["overlay",{"_index":1658,"t":{"359":{"position":[[1525,7]]}}}],["overview",{"_index":1969,"t":{"515":{"position":[[1211,8],[1240,8]]}}}],["overwritepluginapi",{"_index":1995,"t":{"533":{"position":[[22,18]]}}}],["p",{"_index":748,"t":{"111":{"position":[[285,1],[326,1]]},"195":{"position":[[75,1],[135,1]]},"333":{"position":[[527,1],[545,1]]},"408":{"position":[[233,1]]},"587":{"position":[[154,1]]},"651":{"position":[[840,1],[881,1]]}}}],["packag",{"_index":1375,"t":{"257":{"position":[[550,7],[576,7]]},"266":{"position":[[534,7],[560,7]]},"406":{"position":[[19,7]]},"441":{"position":[[403,7]]},"541":{"position":[[110,7]]},"741":{"position":[[47,7]]},"781":{"position":[[189,7]]},"787":{"position":[[114,7],[137,7]]},"799":{"position":[[135,7],[258,7],[837,7]]},"803":{"position":[[148,7]]}}}],["packagenam",{"_index":1845,"t":{"431":{"position":[[290,11]]},"483":{"position":[[27,11]]}}}],["pad",{"_index":2195,"t":{"658":{"position":[[73,7]]}}}],["page",{"_index":377,"t":{"41":{"position":[[186,4]]},"49":{"position":[[49,5],[69,5]]},"82":{"position":[[217,5]]},"100":{"position":[[268,5]]},"117":{"position":[[101,5]]},"179":{"position":[[103,5],[167,5]]},"212":{"position":[[142,5],[182,5]]},"226":{"position":[[96,5],[297,5]]},"286":{"position":[[41,5],[152,5]]},"288":{"position":[[31,5],[157,5]]},"290":{"position":[[4,5]]},"295":{"position":[[21,5]]},"333":{"position":[[65,5]]},"335":{"position":[[4,5]]},"370":{"position":[[39,5]]},"374":{"position":[[268,4]]},"376":{"position":[[15,4],[540,4]]},"378":{"position":[[282,4]]},"380":{"position":[[203,4]]},"382":{"position":[[335,4]]},"386":{"position":[[44,5],[192,4]]},"392":{"position":[[375,4]]},"396":{"position":[[198,4]]},"427":{"position":[[266,5],[643,5],[1278,4]]},"429":{"position":[[178,5]]},"435":{"position":[[152,5]]},"441":{"position":[[195,5]]},"477":{"position":[[331,5],[345,5]]},"515":{"position":[[125,5],[273,5],[588,5],[1079,4]]},"521":{"position":[[26,4],[46,4],[104,4],[208,4],[267,4],[285,4]]},"598":{"position":[[28,5]]},"600":{"position":[[47,5],[258,5]]},"602":{"position":[[51,5]]},"604":{"position":[[14,5],[310,5]]},"606":{"position":[[462,5],[483,5],[527,5],[625,5]]},"608":{"position":[[67,5]]},"610":{"position":[[4,5],[76,5]]},"612":{"position":[[13,5],[65,5],[87,5],[187,5],[216,5]]},"620":{"position":[[31,5]]},"629":{"position":[[20,5]]},"637":{"position":[[217,5],[610,5]]},"639":{"position":[[151,5]]},"643":{"position":[[157,5]]},"651":{"position":[[325,5]]},"658":{"position":[[37,5],[205,5]]},"665":{"position":[[122,5]]},"679":{"position":[[131,5],[308,5],[532,5]]},"685":{"position":[[28,5]]},"695":{"position":[[362,5]]},"699":{"position":[[112,5]]},"753":{"position":[[74,5],[285,5]]},"756":{"position":[[96,5]]},"758":{"position":[[277,5]]},"760":{"position":[[237,4]]}}}],["pageasset",{"_index":2083,"t":{"593":{"position":[[114,10],[164,10]]}}}],["pagecompon",{"_index":2457,"t":{"833":{"position":[[134,13],[212,13]]},"835":{"position":[[136,13],[220,13]]}}}],["pageconfig",{"_index":442,"t":{"49":{"position":[[23,10],[196,10],[396,10]]},"370":{"position":[[107,10]]},"386":{"position":[[224,10]]},"582":{"position":[[514,10]]},"665":{"position":[[58,10],[191,10]]},"679":{"position":[[4,10],[163,10]]},"683":{"position":[[109,10]]},"689":{"position":[[41,10]]},"691":{"position":[[85,10]]},"693":{"position":[[90,10]]},"695":{"position":[[146,10]]},"697":{"position":[[120,10]]},"699":{"position":[[48,10],[181,10]]},"835":{"position":[[162,10],[200,10]]}}}],["pagedata",{"_index":2458,"t":{"833":{"position":[[160,8],[194,8]]}}}],["pagepath",{"_index":2072,"t":{"589":{"position":[[11,8],[70,8],[148,8]]}}}],["pagescript",{"_index":2084,"t":{"593":{"position":[[150,11],[227,11]]}}}],["pagewrapp",{"_index":2451,"t":{"829":{"position":[[93,11],[218,11],[275,11]]},"833":{"position":[[119,11],[241,11]]},"835":{"position":[[121,11],[249,11]]}}}],["paintworklet",{"_index":1574,"t":{"347":{"position":[[115,12]]}}}],["paragragh",{"_index":1033,"t":{"195":{"position":[[89,9]]}}}],["param",{"_index":1161,"t":{"226":{"position":[[534,6],[593,6]]},"235":{"position":[[823,6],[936,6]]},"237":{"position":[[339,6],[384,6],[605,6],[646,6],[861,6]]},"374":{"position":[[177,6],[202,6]]},"547":{"position":[[447,6]]},"627":{"position":[[140,6],[174,6]]}}}],["paramet",{"_index":1204,"t":{"235":{"position":[[843,10]]}}}],["parser",{"_index":2032,"t":{"553":{"position":[[72,6]]}}}],["patch",{"_index":1209,"t":{"235":{"position":[[1071,5]]},"545":{"position":[[29,5]]}}}],["path",{"_index":608,"t":{"85":{"position":[[687,4],[703,4],[795,4]]},"162":{"position":[[520,4]]},"515":{"position":[[1053,4],[1145,4],[1204,4],[1260,4],[1326,4]]},"679":{"position":[[525,4]]},"795":{"position":[[332,4]]},"797":{"position":[[156,4],[167,4],[376,4]]},"819":{"position":[[167,4],[350,4]]},"823":{"position":[[138,4]]}}}],["pathnam",{"_index":756,"t":{"111":{"position":[[449,8],[805,8]]},"435":{"position":[[427,8],[594,8]]}}}],["pathrewrit",{"_index":1912,"t":{"495":{"position":[[249,11]]}}}],["payload",{"_index":1178,"t":{"230":{"position":[[292,7],[329,7]]},"278":{"position":[[273,7],[306,7]]},"286":{"position":[[291,7],[324,7]]},"295":{"position":[[239,7],[296,7],[365,7],[531,7],[591,7],[812,7],[867,7]]},"299":{"position":[[230,7],[291,7],[326,7],[356,7],[428,7],[468,7]]}}}],["pha",{"_index":1590,"t":{"354":{"position":[[51,3]]},"427":{"position":[[1069,3]]}}}],["picker",{"_index":2310,"t":{"722":{"position":[[175,6],[226,6]]}}}],["pixel",{"_index":2174,"t":{"654":{"position":[[97,5]]}}}],["pkg",{"_index":77,"t":{"4":{"position":[[237,3]]},"803":{"position":[[141,3]]}}}],["plain",{"_index":1010,"t":{"193":{"position":[[17,5]]},"235":{"position":[[895,5]]}}}],["platform",{"_index":2356,"t":{"745":{"position":[[30,8],[65,8],[86,8],[163,8],[184,8]]}}}],["play",{"_index":2327,"t":{"726":{"position":[[106,4],[298,4]]}}}],["plu",{"_index":989,"t":{"187":{"position":[[24,4],[133,4]]},"201":{"position":[[152,4]]},"357":{"position":[[387,4],[411,4],[587,4]]}}}],["plugin",{"_index":271,"t":{"23":{"position":[[67,6]]},"25":{"position":[[22,6],[137,6],[188,7]]},"34":{"position":[[141,6],[192,7]]},"43":{"position":[[222,6]]},"45":{"position":[[19,6],[137,6],[188,7]]},"47":{"position":[[208,6]]},"59":{"position":[[83,6]]},"65":{"position":[[22,6],[159,6],[222,7]]},"98":{"position":[[35,6],[143,6],[187,7]]},"100":{"position":[[119,6],[163,7]]},"113":{"position":[[155,6],[199,7]]},"115":{"position":[[234,6]]},"117":{"position":[[213,6],[257,7]]},"126":{"position":[[71,6]]},"128":{"position":[[22,6],[141,6],[194,7]]},"133":{"position":[[121,6],[174,7]]},"135":{"position":[[143,6],[196,7]]},"137":{"position":[[114,6],[167,7],[478,6],[531,7]]},"151":{"position":[[46,6]]},"160":{"position":[[24,6]]},"162":{"position":[[97,6],[152,7],[299,6]]},"164":{"position":[[97,6],[152,7],[299,6]]},"169":{"position":[[276,6]]},"187":{"position":[[13,6],[122,6],[177,7]]},"205":{"position":[[18,6],[73,6],[147,6],[204,7]]},"212":{"position":[[22,6]]},"214":{"position":[[230,6],[287,7]]},"216":{"position":[[168,6],[225,7]]},"224":{"position":[[26,6],[56,6],[168,6],[222,7]]},"239":{"position":[[143,6]]},"241":{"position":[[95,6]]},"250":{"position":[[172,6],[524,6]]},"270":{"position":[[79,6],[413,6],[537,7]]},"274":{"position":[[19,6],[139,6],[191,7]]},"293":{"position":[[536,6]]},"303":{"position":[[140,6],[192,7]]},"309":{"position":[[158,6]]},"311":{"position":[[22,6],[141,6],[194,7]]},"313":{"position":[[17,6],[156,6],[373,7]]},"325":{"position":[[117,6],[164,6]]},"357":{"position":[[120,6],[147,6],[164,6],[194,6],[222,6],[244,6],[276,6],[296,6],[314,6],[346,6],[376,6],[400,6],[425,6],[576,6],[631,7]]},"359":{"position":[[155,7]]},"361":{"position":[[1896,7],[2059,7],[3238,7]]},"365":{"position":[[25,6],[52,6],[172,6],[224,7],[312,6],[341,6],[465,6],[519,7],[660,6],[686,6],[804,6],[855,7]]},"503":{"position":[[22,7],[200,7],[237,6],[314,7],[485,6],[641,7]]},"507":{"position":[[380,7]]},"527":{"position":[[139,6]]},"533":{"position":[[130,6],[169,6],[215,7]]},"535":{"position":[[315,6],[461,7]]},"677":{"position":[[134,6]]},"681":{"position":[[212,6],[259,7]]},"741":{"position":[[376,6],[442,6],[563,6],[610,7]]},"795":{"position":[[60,6],[138,6],[146,6],[209,6],[369,6]]},"797":{"position":[[28,6],[106,6],[125,6],[188,6],[226,6],[234,6],[262,6],[432,6],[718,6],[773,7]]},"799":{"position":[[44,6],[124,6],[290,6],[691,6],[729,6],[737,6],[770,6],[896,6],[932,6],[1223,6],[1269,7]]},"803":{"position":[[250,6],[350,6]]},"805":{"position":[[53,6],[78,6],[209,6],[1157,6]]},"807":{"position":[[99,6]]},"809":{"position":[[64,6]]},"811":{"position":[[46,6]]},"813":{"position":[[39,6]]},"815":{"position":[[40,6]]},"817":{"position":[[54,6]]},"819":{"position":[[83,6],[282,6],[498,6],[731,6],[1036,6]]},"821":{"position":[[69,6],[276,6]]},"823":{"position":[[33,6],[71,6],[79,6],[104,6],[175,6]]}}}],["pluginapi",{"_index":2388,"t":{"795":{"position":[[254,9]]},"797":{"position":[[279,9],[307,9]]},"799":{"position":[[787,9]]}}}],["pluginlist",{"_index":1994,"t":{"533":{"position":[[3,10]]}}}],["pluginnam",{"_index":1677,"t":{"361":{"position":[[2005,10]]}}}],["pluginopt",{"_index":2387,"t":{"795":{"position":[[102,13],[153,13]]}}}],["png",{"_index":601,"t":{"85":{"position":[[416,3]]},"87":{"position":[[299,3]]},"339":{"position":[[22,3],[145,3],[187,3],[247,3],[268,3]]},"341":{"position":[[44,3]]},"343":{"position":[[56,3]]},"665":{"position":[[418,3]]},"695":{"position":[[225,3],[244,3]]},"699":{"position":[[408,3]]}}}],["pnpm",{"_index":1785,"t":{"420":{"position":[[40,4],[66,4],[85,4],[141,4],[155,4]]}}}],["pollinginterv",{"_index":1295,"t":{"237":{"position":[[785,15]]}}}],["pollingwhenhidden",{"_index":1297,"t":{"237":{"position":[[836,17]]}}}],["polyfil",{"_index":221,"t":{"15":{"position":[[90,8]]},"210":{"position":[[59,8],[382,8]]},"359":{"position":[[482,8]]},"505":{"position":[[47,8],[102,8],[196,8],[245,8],[288,8],[305,8],[360,8],[374,8]]},"697":{"position":[[57,8]]},"741":{"position":[[887,8]]}}}],["port",{"_index":616,"t":{"85":{"position":[[961,4],[985,4],[1045,4]]},"359":{"position":[[103,4]]},"408":{"position":[[238,4],[244,4]]},"558":{"position":[[52,4]]},"560":{"position":[[75,4],[248,4]]},"564":{"position":[[83,4],[102,4]]},"805":{"position":[[861,4]]}}}],["post",{"_index":1199,"t":{"235":{"position":[[504,4],[1059,4]]},"545":{"position":[[10,4],[254,4]]},"547":{"position":[[109,4],[358,4]]},"553":{"position":[[149,4]]}}}],["postcss",{"_index":1660,"t":{"359":{"position":[[1596,7],[1675,7]]},"361":{"position":[[1491,7]]},"503":{"position":[[91,7],[189,7],[212,7],[298,7],[328,7],[348,7],[477,7],[516,7],[533,7],[556,7],[592,7],[604,7],[655,7],[682,7]]},"647":{"position":[[20,7]]},"660":{"position":[[20,7]]}}}],["postcssopt",{"_index":1618,"t":{"359":{"position":[[451,14]]},"361":{"position":[[1148,14]]}}}],["postcssrc",{"_index":1619,"t":{"359":{"position":[[468,9]]},"361":{"position":[[1165,9],[1580,9]]}}}],["pr",{"_index":2012,"t":{"537":{"position":[[442,2]]}}}],["prefix",{"_index":829,"t":{"135":{"position":[[230,6]]}}}],["preset",{"_index":1500,"t":{"313":{"position":[[38,6],[447,7]]},"503":{"position":[[356,6],[663,6],[690,6]]}}}],["presetattributifi",{"_index":1502,"t":{"313":{"position":[[195,17],[471,17]]}}}],["preseticon",{"_index":1503,"t":{"313":{"position":[[214,11],[492,11]]}}}],["presettypographi",{"_index":1504,"t":{"313":{"position":[[227,16],[507,16]]}}}],["presetuno",{"_index":1505,"t":{"313":{"position":[[245,9],[458,9]]}}}],["presetwebfont",{"_index":1506,"t":{"313":{"position":[[256,14],[527,14]]}}}],["preview",{"_index":2093,"t":{"600":{"position":[[220,7]]},"606":{"position":[[40,7],[95,7],[197,7]]},"693":{"position":[[257,7]]},"753":{"position":[[247,7]]}}}],["prevstat",{"_index":1177,"t":{"230":{"position":[[281,9],[315,9]]}}}],["price",{"_index":1163,"t":{"226":{"position":[[648,5]]}}}],["primari",{"_index":334,"t":{"34":{"position":[[222,7],[258,7]]}}}],["pro",{"_index":828,"t":{"133":{"position":[[229,3]]},"137":{"position":[[243,3],[369,3]]}}}],["process",{"_index":1357,"t":{"250":{"position":[[607,7]]},"481":{"position":[[43,7]]},"501":{"position":[[293,7]]},"535":{"position":[[395,7]]},"560":{"position":[[44,7]]},"562":{"position":[[124,7]]},"564":{"position":[[59,7],[90,7]]},"566":{"position":[[180,7]]}}}],["processopt",{"_index":1927,"t":{"503":{"position":[[3,14]]}}}],["prod",{"_index":1356,"t":{"250":{"position":[[398,4]]}}}],["product",{"_index":1700,"t":{"363":{"position":[[597,7],[635,8],[692,7],[703,8]]},"481":{"position":[[83,10]]},"491":{"position":[[426,10],[530,10]]},"515":{"position":[[709,7],[720,8]]},"517":{"position":[[95,10]]},"560":{"position":[[343,10]]},"570":{"position":[[34,10]]},"805":{"position":[[304,10]]}}}],["profil",{"_index":2207,"t":{"663":{"position":[[190,7]]}}}],["project",{"_index":868,"t":{"147":{"position":[[27,7],[113,7]]},"667":{"position":[[42,7]]},"681":{"position":[[51,7],[82,7]]},"743":{"position":[[259,7]]},"747":{"position":[[42,7]]},"781":{"position":[[216,7]]},"789":{"position":[[194,7],[338,7]]}}}],["projectpath",{"_index":554,"t":{"82":{"position":[[154,11]]}}}],["promis",{"_index":1316,"t":{"237":{"position":[[1597,7]]},"239":{"position":[[511,7],[849,7]]},"257":{"position":[[250,7]]},"266":{"position":[[266,7],[302,7]]},"435":{"position":[[690,7]]}}}],["prop",{"_index":741,"t":{"109":{"position":[[35,5]]},"187":{"position":[[256,5],[297,5]]},"197":{"position":[[157,5],[165,5],[180,5],[528,5],[536,5],[551,5]]},"218":{"position":[[16,5]]},"305":{"position":[[189,5]]},"392":{"position":[[146,5]]},"437":{"position":[[358,5]]},"589":{"position":[[5,5]]},"591":{"position":[[249,5],[280,5],[469,5],[498,5],[679,5],[709,5],[887,5],[916,5]]}}}],["properti",{"_index":1937,"t":{"503":{"position":[[448,10]]}}}],["propos",{"_index":1984,"t":{"523":{"position":[[106,8],[137,8]]}}}],["provid",{"_index":1242,"t":{"235":{"position":[[1831,8],[2264,8]]},"457":{"position":[[31,8]]},"827":{"position":[[11,8],[68,8],[178,8],[199,8]]}}}],["proxi",{"_index":1608,"t":{"359":{"position":[[261,5]]},"495":{"position":[[72,5],[162,5]]},"805":{"position":[[729,5]]}}}],["public",{"_index":636,"t":{"87":{"position":[[575,6]]},"351":{"position":[[0,6],[138,6],[331,6],[360,6],[434,6]]},"441":{"position":[[96,6]]}}}],["publicpath",{"_index":599,"t":{"85":{"position":[[394,10],[440,10],[575,10],[910,10]]},"87":{"position":[[280,10],[321,10],[451,10],[629,10],[654,10]]},"92":{"position":[[30,10]]},"359":{"position":[[177,10]]},"472":{"position":[[124,10]]},"485":{"position":[[51,10]]},"487":{"position":[[18,10]]},"805":{"position":[[521,10],[549,10]]}}}],["push",{"_index":1442,"t":{"295":{"position":[[586,4]]},"299":{"position":[[321,4]]},"361":{"position":[[1904,4],[2067,4]]},"372":{"position":[[112,4]]},"535":{"position":[[470,4]]},"616":{"position":[[86,4]]},"758":{"position":[[125,4]]},"805":{"position":[[1251,4]]}}}],["put",{"_index":1208,"t":{"235":{"position":[[1052,3]]},"545":{"position":[[16,3]]}}}],["pv",{"_index":1724,"t":{"380":{"position":[[158,2]]}}}],["pwa",{"_index":1645,"t":{"359":{"position":[[996,3]]}}}],["px",{"_index":1928,"t":{"503":{"position":[[220,2]]}}}],["queri",{"_index":1714,"t":{"376":{"position":[[35,5],[57,5],[137,5],[358,5],[470,5]]},"435":{"position":[[454,5],[622,5],[643,5]]},"439":{"position":[[568,5],[1278,5]]},"625":{"position":[[25,5]]},"724":{"position":[[175,5],[211,5]]}}}],["radio",{"_index":2306,"t":{"722":{"position":[[81,5],[116,5]]}}}],["raeggaqm",{"_index":2010,"t":{"537":{"position":[[258,8],[293,8]]}}}],["raw",{"_index":1578,"t":{"349":{"position":[[4,3],[59,3],[66,3],[81,3]]},"418":{"position":[[135,3]]}}}],["rax",{"_index":834,"t":{"139":{"position":[[10,3],[56,3],[126,3],[213,3]]},"141":{"position":[[9,3],[67,3],[97,3],[109,3]]},"143":{"position":[[7,3],[34,3]]},"145":{"position":[[8,3]]},"147":{"position":[[6,3],[23,3],[46,3],[85,3],[109,3]]},"149":{"position":[[69,3]]},"203":{"position":[[6,3],[21,3],[41,3],[77,3],[109,3],[135,3],[145,3]]},"205":{"position":[[25,3],[52,3],[80,3],[154,3]]},"208":{"position":[[0,3],[18,3],[37,3]]},"210":{"position":[[41,3],[106,3],[215,3],[351,3],[391,3]]},"212":{"position":[[29,3],[228,3]]},"214":{"position":[[3,3],[159,3],[237,3]]},"216":{"position":[[0,3],[54,3],[175,3]]},"218":{"position":[[32,3]]},"220":{"position":[[31,3],[104,3]]}}}],["raxapp",{"_index":1090,"t":{"210":{"position":[[331,6]]}}}],["re",{"_index":781,"t":{"113":{"position":[[684,3],[777,3],[785,3],[814,3],[933,3],[1002,3],[1026,3]]},"551":{"position":[[114,3],[188,3]]},"553":{"position":[[182,3],[256,3],[292,3]]},"724":{"position":[[87,3],[133,3],[262,3],[283,3],[402,3],[454,3]]}}}],["react",{"_index":5,"t":{"2":{"position":[[15,5]]},"4":{"position":[[245,5]]},"15":{"position":[[19,5],[34,5],[108,5],[121,5]]},"17":{"position":[[34,5]]},"39":{"position":[[59,5]]},"53":{"position":[[7,5],[19,5]]},"55":{"position":[[7,5],[19,5]]},"57":{"position":[[47,5],[59,5]]},"96":{"position":[[127,5],[141,5],[152,5]]},"139":{"position":[[40,5],[64,5],[81,5]]},"141":{"position":[[55,5]]},"177":{"position":[[87,5],[95,5],[132,5],[151,5]]},"181":{"position":[[17,5],[72,5],[84,5],[124,5],[207,5]]},"203":{"position":[[30,5],[56,5],[86,5],[166,5]]},"210":{"position":[[80,5],[120,5],[416,5]]},"218":{"position":[[2,5],[66,5]]},"220":{"position":[[0,5],[110,5]]},"230":{"position":[[495,5],[522,5]]},"232":{"position":[[87,5],[114,5]]},"257":{"position":[[479,5]]},"261":{"position":[[30,5],[98,5],[699,5]]},"270":{"position":[[33,5],[86,5],[393,5],[420,5],[547,5],[838,5]]},"282":{"position":[[27,5]]},"290":{"position":[[52,5]]},"305":{"position":[[137,5]]},"321":{"position":[[77,5],[90,5]]},"333":{"position":[[106,5]]},"388":{"position":[[23,5]]},"392":{"position":[[37,5],[217,5]]},"396":{"position":[[45,5]]},"427":{"position":[[186,5],[319,5]]},"491":{"position":[[175,5],[183,5],[192,5],[407,5],[420,5],[503,5],[520,5]]},"513":{"position":[[808,5],[817,5]]},"566":{"position":[[105,5],[117,5]]},"585":{"position":[[7,5]]},"651":{"position":[[949,5]]},"730":{"position":[[10,5]]},"829":{"position":[[42,5]]},"831":{"position":[[11,5],[48,5],[104,5]]},"833":{"position":[[59,5]]},"835":{"position":[[59,5]]}}}],["reactdom",{"_index":1902,"t":{"491":{"position":[[205,8]]},"730":{"position":[[42,8],[68,8]]},"831":{"position":[[33,8],[181,8]]}}}],["readi",{"_index":1313,"t":{"237":{"position":[[1161,5],[1183,5]]}}}],["recommend",{"_index":1970,"t":{"515":{"position":[[1267,10],[1298,10]]}}}],["reconcil",{"_index":2332,"t":{"730":{"position":[[16,10]]}}}],["record",{"_index":329,"t":{"34":{"position":[[4,6]]},"113":{"position":[[880,6]]},"135":{"position":[[4,6]]},"477":{"position":[[3,6]]},"481":{"position":[[3,6]]},"491":{"position":[[18,6]]},"503":{"position":[[51,6]]}}}],["red",{"_index":1098,"t":{"212":{"position":[[171,3],[308,3]]},"587":{"position":[[165,3]]},"647":{"position":[[149,3]]}}}],["redirect",{"_index":1253,"t":{"235":{"position":[[2425,9]]}}}],["reduc",{"_index":1175,"t":{"230":{"position":[[262,8]]},"278":{"position":[[247,8]]},"286":{"position":[[265,8]]},"295":{"position":[[190,8],[205,8],[307,7],[501,8],[988,8],[1166,8]]},"297":{"position":[[295,7]]},"299":{"position":[[202,8],[655,8]]},"361":{"position":[[302,6],[1415,6]]}}}],["redux",{"_index":1455,"t":{"299":{"position":[[0,5],[557,5]]},"307":{"position":[[9,5],[37,5],[133,5],[200,5]]}}}],["ref",{"_index":1142,"t":{"220":{"position":[[133,3]]}}}],["refresh",{"_index":1274,"t":{"237":{"position":[[398,7]]},"297":{"position":[[218,7],[418,7],[591,7],[642,7]]},"805":{"position":[[1053,7]]}}}],["refreshdep",{"_index":1314,"t":{"237":{"position":[[1212,11],[1237,11]]}}}],["refreshonwindowfocu",{"_index":1301,"t":{"237":{"position":[[938,20],[1022,20]]}}}],["regist",{"_index":1788,"t":{"420":{"position":[[95,8]]}}}],["registercliopt",{"_index":2423,"t":{"811":{"position":[[70,17],[96,17]]}}}],["registertask",{"_index":2425,"t":{"815":{"position":[[64,12],[122,12]]}}}],["registeruserconfig",{"_index":2420,"t":{"809":{"position":[[88,18],[115,18]]}}}],["registri",{"_index":1789,"t":{"420":{"position":[[112,8]]}}}],["reject",{"_index":1325,"t":{"239":{"position":[[519,6],[857,6]]}}}],["rel",{"_index":595,"t":{"85":{"position":[[364,3],[469,3]]},"87":{"position":[[252,3],[347,3]]},"351":{"position":[[240,3]]},"695":{"position":[[196,3],[255,3],[450,3]]}}}],["reload",{"_index":1626,"t":{"359":{"position":[[567,6]]}}}],["rem",{"_index":2301,"t":{"718":{"position":[[5,3]]}}}],["remoteruntim",{"_index":1621,"t":{"359":{"position":[[500,13]]}}}],["removeev",{"_index":2441,"t":{"821":{"position":[[219,11],[320,11]]}}}],["removeload",{"_index":1680,"t":{"361":{"position":[[2214,12],[2566,12]]}}}],["removeplugin",{"_index":1673,"t":{"361":{"position":[[1695,12],[1975,12]]}}}],["render",{"_index":615,"t":{"85":{"position":[[892,6]]},"115":{"position":[[364,8]]},"261":{"position":[[659,6],[787,6]]},"270":{"position":[[798,6],[926,6]]},"305":{"position":[[155,6]]},"481":{"position":[[109,8]]},"633":{"position":[[41,9]]},"831":{"position":[[190,6]]}}}],["renderfoot",{"_index":1048,"t":{"197":{"position":[[339,12]]}}}],["renderhead",{"_index":1047,"t":{"197":{"position":[[296,12]]}}}],["renderitem",{"_index":1049,"t":{"197":{"position":[[382,10]]}}}],["rendermod",{"_index":1735,"t":{"390":{"position":[[73,10],[260,10],[304,10]]}}}],["renderrout",{"_index":2453,"t":{"829":{"position":[[396,12],[472,12]]}}}],["rendersubtreeintocontain",{"_index":2335,"t":{"730":{"position":[[103,26]]}}}],["rendertohtml",{"_index":776,"t":{"113":{"position":[[555,12],[757,12]]}}}],["replac",{"_index":1722,"t":{"378":{"position":[[235,7]]}}}],["repo",{"_index":1155,"t":{"226":{"position":[[170,4],[316,4],[491,4]]},"237":{"position":[[1370,4],[1477,4],[1626,4]]},"241":{"position":[[597,4]]},"374":{"position":[[96,4],[128,4]]},"600":{"position":[[201,4],[215,4]]},"606":{"position":[[35,4],[74,4],[90,4],[192,4],[210,4],[651,4],[702,4],[733,4],[757,4]]},"625":{"position":[[98,4]]},"627":{"position":[[74,4],[92,4],[125,4]]},"753":{"position":[[228,4],[242,4]]},"758":{"position":[[283,4]]}}}],["repoid",{"_index":1710,"t":{"374":{"position":[[102,6],[231,6]]}}}],["req",{"_index":780,"t":{"113":{"position":[[679,3],[772,3],[977,3]]},"551":{"position":[[109,3]]},"553":{"position":[[22,3],[168,3],[251,3],[281,3]]}}}],["request",{"_index":769,"t":{"113":{"position":[[425,7]]},"224":{"position":[[33,7],[63,7],[149,7],[175,7],[233,7]]},"226":{"position":[[279,7],[333,7],[411,7],[477,7],[563,7]]},"232":{"position":[[280,7],[353,7]]},"235":{"position":[[0,7],[173,7],[244,7],[346,7],[435,7],[459,7],[496,7],[610,7],[651,7],[693,7],[783,9],[874,7],[999,7],[1035,7],[1168,7],[1197,7],[1238,7],[1381,8],[1708,7],[2292,7],[2316,7],[2332,7],[2485,7]]},"237":{"position":[[97,7],[181,7],[315,7],[1341,7],[1378,7],[1441,7],[1503,7],[1566,7],[1667,7]]},"239":{"position":[[150,7],[229,7],[367,7]]},"241":{"position":[[102,7],[224,7],[249,7],[350,7],[450,7],[491,7],[554,7]]},"243":{"position":[[16,7],[159,7]]},"250":{"position":[[97,7],[179,7],[453,7],[531,7]]},"359":{"position":[[986,7]]},"365":{"position":[[319,7],[348,7],[446,7],[472,7],[530,7]]},"431":{"position":[[368,7],[426,7]]},"547":{"position":[[303,7],[381,7],[390,7],[439,7]]},"553":{"position":[[95,7],[173,7]]},"749":{"position":[[79,7]]},"819":{"position":[[440,7],[573,7],[581,7],[604,7],[673,7],[811,7],[841,7],[866,7]]}}}],["request2",{"_index":1240,"t":{"235":{"position":[[1745,8]]},"241":{"position":[[275,8],[579,8]]}}}],["requestconfig",{"_index":1198,"t":{"235":{"position":[[443,13],[480,13],[524,13],[540,13]]},"239":{"position":[[179,13],[325,13],[415,13]]},"241":{"position":[[131,13],[194,13],[310,13]]},"243":{"position":[[194,13]]},"250":{"position":[[208,13],[560,13]]},"365":{"position":[[598,13]]}}}],["requestmethod",{"_index":1257,"t":{"237":{"position":[[72,13]]}}}],["requir",{"_index":607,"t":{"85":{"position":[[659,7],[694,7],[723,7]]}}}],["resdata",{"_index":1195,"t":{"235":{"position":[[228,7],[288,7]]}}}],["resetpagest",{"_index":1474,"t":{"303":{"position":[[224,14]]},"365":{"position":[[243,14]]}}}],["resolv",{"_index":1317,"t":{"237":{"position":[[1605,7]]},"429":{"position":[[362,7],[769,7]]},"439":{"position":[[877,7],[957,7]]},"805":{"position":[[576,7]]}}}],["resourc",{"_index":629,"t":{"87":{"position":[[0,9]]}}}],["resourceregexp",{"_index":1953,"t":{"513":{"position":[[530,14],[603,14]]}}}],["respond",{"_index":1232,"t":{"235":{"position":[[1527,7],[2070,9]]}}}],["respons",{"_index":1192,"t":{"235":{"position":[[60,8],[80,8],[96,8],[1671,8],[1774,8],[1813,8],[1916,8],[1997,8],[2182,8],[2360,8]]},"239":{"position":[[242,8],[540,8],[563,8],[606,8],[627,8],[681,8],[753,8],[787,8],[823,8]]},"243":{"position":[[91,8]]},"547":{"position":[[312,8],[399,8],[409,8],[455,8]]},"553":{"position":[[104,8],[187,8]]},"654":{"position":[[86,10]]}}}],["responsetyp",{"_index":1231,"t":{"235":{"position":[[1465,12],[1608,12]]}}}],["result",{"_index":2259,"t":{"693":{"position":[[275,7]]}}}],["return",{"_index":366,"t":{"39":{"position":[[177,6]]},"47":{"position":[[348,6]]},"49":{"position":[[158,6],[357,6]]},"53":{"position":[[101,6]]},"55":{"position":[[202,6]]},"57":{"position":[[286,6],[327,6],[402,6]]},"59":{"position":[[160,6],[278,6]]},"87":{"position":[[668,6]]},"107":{"position":[[345,6]]},"109":{"position":[[310,6]]},"111":{"position":[[268,6],[403,6],[818,6]]},"115":{"position":[[389,6],[453,6],[684,6]]},"169":{"position":[[110,6]]},"179":{"position":[[258,6]]},"181":{"position":[[232,6]]},"187":{"position":[[304,6]]},"210":{"position":[[236,6]]},"226":{"position":[[398,6],[464,6],[604,6],[630,6]]},"230":{"position":[[303,6],[754,6]]},"232":{"position":[[372,6]]},"235":{"position":[[1659,6]]},"239":{"position":[[464,6],[504,6],[674,6],[842,6]]},"241":{"position":[[437,6],[541,6]]},"259":{"position":[[71,6]]},"261":{"position":[[564,6]]},"270":{"position":[[662,6]]},"278":{"position":[[284,6]]},"282":{"position":[[256,6]]},"286":{"position":[[302,6]]},"290":{"position":[[267,6]]},"293":{"position":[[678,6]]},"295":{"position":[[635,6],[710,6]]},"299":{"position":[[243,6],[369,6],[696,6]]},"325":{"position":[[232,6]]},"331":{"position":[[77,6]]},"333":{"position":[[234,6],[288,6],[440,6]]},"335":{"position":[[96,6]]},"341":{"position":[[79,6]]},"351":{"position":[[209,6]]},"359":{"position":[[1615,6]]},"361":{"position":[[271,6],[325,6],[683,6],[1028,6],[1384,6],[1438,6],[2777,6],[3284,6]]},"374":{"position":[[247,6]]},"376":{"position":[[519,6]]},"378":{"position":[[261,6]]},"380":{"position":[[182,6]]},"382":{"position":[[158,6],[314,6]]},"386":{"position":[[171,6]]},"388":{"position":[[329,6]]},"390":{"position":[[317,6]]},"392":{"position":[[307,6],[547,6]]},"396":{"position":[[177,6]]},"398":{"position":[[147,6]]},"427":{"position":[[499,6],[780,6],[982,6]]},"429":{"position":[[322,6],[661,6]]},"435":{"position":[[274,6],[519,6]]},"437":{"position":[[238,6]]},"439":{"position":[[243,6],[462,6],[586,6],[858,6],[1173,6],[1296,6]]},"491":{"position":[[317,6]]},"507":{"position":[[426,6]]},"535":{"position":[[504,6]]},"566":{"position":[[159,6]]},"582":{"position":[[97,6]]},"589":{"position":[[84,6]]},"591":{"position":[[178,6],[261,6],[425,6],[481,6],[634,6],[691,6],[844,6],[899,6]]},"593":{"position":[[241,6]]},"602":{"position":[[100,6]]},"604":{"position":[[188,6]]},"620":{"position":[[108,6]]},"637":{"position":[[388,6],[462,6],[771,6],[912,6]]},"639":{"position":[[254,6]]},"643":{"position":[[303,6],[443,6],[571,6]]},"647":{"position":[[219,6]]},"651":{"position":[[493,6],[785,6]]},"658":{"position":[[255,6]]},"677":{"position":[[220,6]]},"679":{"position":[[178,6],[502,6],[553,6]]},"685":{"position":[[132,6]]},"695":{"position":[[411,6]]},"709":{"position":[[63,6]]},"756":{"position":[[173,6]]},"760":{"position":[[216,6]]},"805":{"position":[[1313,6]]},"827":{"position":[[93,6],[170,6]]},"829":{"position":[[182,6],[431,6]]},"833":{"position":[[205,6]]},"835":{"position":[[213,6]]}}}],["rewrit",{"_index":1966,"t":{"515":{"position":[[1060,7]]}}}],["robot",{"_index":1585,"t":{"351":{"position":[[345,6]]}}}],["root",{"_index":534,"t":{"80":{"position":[[77,4]]},"604":{"position":[[207,4]]},"606":{"position":[[612,4]]}}}],["rootdir",{"_index":1391,"t":{"261":{"position":[[407,7]]},"408":{"position":[[162,7],[171,7]]},"410":{"position":[[158,7],[167,7]]},"803":{"position":[[84,7]]}}}],["rootid",{"_index":1512,"t":{"321":{"position":[[0,6],[56,6]]},"368":{"position":[[115,6]]}}}],["rootstat",{"_index":1445,"t":{"295":{"position":[[821,9],[877,9]]}}}],["rout",{"_index":1697,"t":{"363":{"position":[[464,6],[523,5],[561,5],[651,5],[684,5]]},"515":{"position":[[58,5],[253,6],[463,6],[488,5],[598,5],[668,5],[701,5],[794,5],[827,5],[1031,6]]},"600":{"position":[[172,6],[239,6]]},"629":{"position":[[187,6]]},"631":{"position":[[127,6],[152,5],[196,5]]},"663":{"position":[[154,6],[244,6]]},"741":{"position":[[696,6],[761,6]]},"753":{"position":[[199,6],[266,6]]},"829":{"position":[[412,6],[443,5]]}}}],["routeconfig",{"_index":479,"t":{"59":{"position":[[219,11],[251,11]]},"402":{"position":[[0,11],[48,11]]}}}],["router",{"_index":672,"t":{"94":{"position":[[193,6]]},"323":{"position":[[11,6],[28,6],[303,6]]},"359":{"position":[[1002,6]]},"819":{"position":[[202,6]]},"829":{"position":[[315,6]]}}}],["routesdata",{"_index":2445,"t":{"825":{"position":[[85,10]]}}}],["rpx",{"_index":1104,"t":{"212":{"position":[[373,3],[395,3]]},"654":{"position":[[12,3],[38,3],[66,3],[82,3],[236,3],[311,3]]}}}],["rpx2vw",{"_index":1938,"t":{"503":{"position":[[492,6]]}}}],["rule",{"_index":1661,"t":{"359":{"position":[[1652,4]]},"361":{"position":[[352,4],[720,4],[1065,4],[1465,4],[2458,4],[2597,4],[2702,4]]}}}],["run",{"_index":642,"t":{"89":{"position":[[7,3]]},"237":{"position":[[174,3]]},"259":{"position":[[215,3]]},"261":{"position":[[889,3]]},"268":{"position":[[193,3]]},"270":{"position":[[1030,3]]},"549":{"position":[[53,3]]},"743":{"position":[[45,3],[89,3]]},"789":{"position":[[47,3]]},"791":{"position":[[38,3]]},"807":{"position":[[314,3],[364,3]]}}}],["runapp",{"_index":1693,"t":{"363":{"position":[[19,6],[65,6]]}}}],["runtim",{"_index":1082,"t":{"210":{"position":[[86,7],[126,7]]},"257":{"position":[[490,7]]},"357":{"position":[[77,7]]},"677":{"position":[[149,7]]},"741":{"position":[[414,7],[487,7]]},"795":{"position":[[300,7],[321,7],[340,7]]},"797":{"position":[[78,7],[132,7],[325,7],[347,7],[367,7],[398,7],[481,7],[503,7],[598,7]]},"799":{"position":[[185,7],[428,7],[456,7],[494,7],[531,7],[665,7],[808,7],[866,7],[878,7],[903,7],[981,7],[1003,7],[1098,7]]},"823":{"position":[[118,7],[146,7],[263,7],[285,7],[335,7]]},"825":{"position":[[107,7],[181,7]]}}}],["runtimeplugin",{"_index":2391,"t":{"797":{"position":[[454,13],[512,13]]},"799":{"position":[[954,13],[1012,13]]},"823":{"position":[[236,13],[294,13]]}}}],["s",{"_index":934,"t":{"177":{"position":[[175,1]]},"222":{"position":[[19,1]]},"361":{"position":[[3133,1]]},"741":{"position":[[496,1]]}}}],["sale",{"_index":1967,"t":{"515":{"position":[[1112,5],[1177,5],[1234,5],[1292,5]]}}}],["sass",{"_index":825,"t":{"131":{"position":[[13,4],[88,4],[115,4]]},"137":{"position":[[8,4],[201,4]]},"361":{"position":[[295,4],[1073,4],[1089,4],[1408,4]]},"647":{"position":[[47,4]]}}}],["sassloaderopt",{"_index":1642,"t":{"359":{"position":[[838,17]]},"361":{"position":[[804,17]]}}}],["save",{"_index":570,"t":{"85":{"position":[[122,4]]},"160":{"position":[[10,4]]},"205":{"position":[[93,4]]},"329":{"position":[[77,4]]},"712":{"position":[[202,4]]}}}],["scaffold",{"_index":2342,"t":{"739":{"position":[[49,8]]},"781":{"position":[[116,8]]},"787":{"position":[[70,8]]}}}],["scale",{"_index":2059,"t":{"582":{"position":[[254,5]]}}}],["scallop",{"_index":1571,"t":{"347":{"position":[[78,9]]}}}],["scan",{"_index":2234,"t":{"672":{"position":[[174,4],[252,4]]}}}],["scancod",{"_index":2235,"t":{"672":{"position":[[213,8]]}}}],["scheme",{"_index":1241,"t":{"235":{"position":[[1783,6]]}}}],["scope",{"_index":1050,"t":{"197":{"position":[[521,5]]}}}],["screen",{"_index":1395,"t":{"261":{"position":[[667,6],[814,6]]},"270":{"position":[[806,6],[953,6]]}}}],["script",{"_index":605,"t":{"85":{"position":[[536,6],[604,6]]},"87":{"position":[[414,6],[477,6]]},"257":{"position":[[592,7]]},"266":{"position":[[576,7]]},"404":{"position":[[32,7]]},"406":{"position":[[44,7]]},"491":{"position":[[64,6],[273,7],[362,6],[447,6],[458,6],[551,6],[560,7]]},"582":{"position":[[53,7],[320,7],[458,7]]},"585":{"position":[[88,7],[100,6],[141,7]]},"587":{"position":[[53,6],[204,6],[305,6]]},"589":{"position":[[112,6],[214,6]]},"591":{"position":[[8,7],[31,6],[72,7],[109,7],[134,7],[225,7],[269,6],[309,6],[321,6]]},"665":{"position":[[38,7]]},"697":{"position":[[159,7]]},"699":{"position":[[28,7]]},"741":{"position":[[66,7],[79,7]]},"787":{"position":[[151,7]]},"793":{"position":[[18,7]]},"803":{"position":[[65,6]]}}}],["scriptel",{"_index":2078,"t":{"591":{"position":[[233,13]]}}}],["scss",{"_index":2140,"t":{"647":{"position":[[301,4]]},"651":{"position":[[653,4],[749,4]]},"821":{"position":[[138,4]]}}}],["scssstyle",{"_index":2167,"t":{"651":{"position":[[717,10],[853,10]]}}}],["sdk",{"_index":2265,"t":{"697":{"position":[[51,3]]}}}],["search",{"_index":2258,"t":{"693":{"position":[[268,6]]}}}],["searchparam",{"_index":1718,"t":{"376":{"position":[[276,12],[334,12],[378,12]]},"625":{"position":[[114,12],[178,12]]},"760":{"position":[[144,12],[182,12]]}}}],["second",{"_index":2206,"t":{"663":{"position":[[183,6]]},"679":{"position":[[464,6]]}}}],["select",{"_index":2309,"t":{"722":{"position":[[142,6],[205,6]]},"724":{"position":[[217,6]]}}}],["seller",{"_index":895,"t":{"162":{"position":[[528,6],[647,6]]}}}],["send",{"_index":1723,"t":{"380":{"position":[[153,4]]},"547":{"position":[[464,4]]},"551":{"position":[[192,4]]},"553":{"position":[[296,4]]}}}],["sent",{"_index":1202,"t":{"235":{"position":[[765,4],[860,4],[987,4]]}}}],["seo",{"_index":681,"t":{"96":{"position":[[83,3]]},"633":{"position":[[142,3]]}}}],["server",{"_index":777,"t":{"113":{"position":[[584,6]]},"235":{"position":[[573,6],[1515,6],[1847,6],[1909,6],[1990,6],[2063,6]]},"359":{"position":[[672,6]]},"388":{"position":[[180,6],[364,6]]},"392":{"position":[[189,6]]},"481":{"position":[[132,6]]},"513":{"position":[[345,6],[508,6],[680,6],[785,6],[858,6],[976,6]]},"633":{"position":[[29,6]]},"637":{"position":[[36,6],[185,6],[510,6],[829,6]]},"781":{"position":[[261,6]]},"805":{"position":[[1021,6]]},"807":{"position":[[516,6],[543,6]]}}}],["serverdataload",{"_index":2125,"t":{"637":{"position":[[538,16],[568,16],[856,16],[974,16]]}}}],["servic",{"_index":1153,"t":{"226":{"position":[[5,7],[52,8],[137,8],[217,8],[308,7]]},"228":{"position":[[3,7],[27,7],[35,7],[67,7],[75,7]]},"230":{"position":[[11,7],[31,8],[130,7],[166,8]]},"232":{"position":[[0,7],[20,8],[64,7],[183,8],[242,7]]},"237":{"position":[[307,7],[516,7],[1525,7]]},"250":{"position":[[258,7]]}}}],["set",{"_index":727,"t":{"107":{"position":[[67,3],[97,3],[417,3]]},"109":{"position":[[382,3]]},"181":{"position":[[291,3],[350,3]]},"359":{"position":[[1358,3]]},"361":{"position":[[211,3],[623,3],[971,3],[1324,3],[1778,3],[2297,3],[3039,3]]}}}],["setapprout",{"_index":2452,"t":{"829":{"position":[[298,12],[345,12],[369,12],[459,12]]}}}],["setauth",{"_index":457,"t":{"55":{"position":[[89,7],[160,7]]},"181":{"position":[[196,7],[273,7],[333,7]]}}}],["setcal",{"_index":1537,"t":{"333":{"position":[[204,9],[271,9]]}}}],["setconfig",{"_index":2422,"t":{"809":{"position":[[230,9]]},"811":{"position":[[172,9]]}}}],["setdata",{"_index":1816,"t":{"427":{"position":[[373,7],[477,7]]}}}],["sethead",{"_index":788,"t":{"113":{"position":[[937,9]]}}}],["setlocal",{"_index":735,"t":{"107":{"position":[[275,9],[397,9]]},"109":{"position":[[54,9],[95,9],[251,9],[362,9]]},"111":{"position":[[5,9],[242,9],[474,9],[648,9],[767,9]]},"115":{"position":[[48,9],[658,9],[724,9]]}}}],["setrend",{"_index":2454,"t":{"831":{"position":[[78,9],[224,9]]}}}],["setsearchparam",{"_index":1715,"t":{"376":{"position":[[83,15],[290,15],[447,15],[483,15]]},"625":{"position":[[128,15],[193,15]]}}}],["setstat",{"_index":1454,"t":{"297":{"position":[[308,8],[471,8]]}}}],["setup",{"_index":1386,"t":{"261":{"position":[[173,5],[213,5],[421,5]]},"270":{"position":[[120,5],[162,5],[523,5]]},"795":{"position":[[226,5],[246,5]]},"797":{"position":[[271,5]]},"799":{"position":[[779,5]]},"803":{"position":[[268,5]]},"805":{"position":[[92,5],[1171,5]]},"807":{"position":[[113,5]]},"809":{"position":[[78,5]]},"811":{"position":[[60,5]]},"813":{"position":[[53,5]]},"815":{"position":[[54,5]]},"817":{"position":[[68,5]]},"819":{"position":[[97,5],[296,5],[512,5],[745,5],[1050,5]]},"821":{"position":[[83,5],[290,5]]}}}],["setupfil",{"_index":1406,"t":{"270":{"position":[[500,10]]}}}],["setupfilesafterenv",{"_index":1390,"t":{"261":{"position":[[384,18]]}}}],["sh",{"_index":1774,"t":{"418":{"position":[[165,2],[188,2]]}}}],["shake",{"_index":277,"t":{"23":{"position":[[112,7]]},"126":{"position":[[116,7]]}}}],["shortcut",{"_index":596,"t":{"85":{"position":[[369,8]]},"87":{"position":[[257,8]]},"313":{"position":[[393,9]]}}}],["show",{"_index":1529,"t":{"331":{"position":[[151,4]]},"335":{"position":[[176,4]]},"677":{"position":[[321,4]]}}}],["side",{"_index":2117,"t":{"633":{"position":[[36,4]]}}}],["site",{"_index":1227,"t":{"235":{"position":[[1361,4]]},"639":{"position":[[36,4]]}}}],["size",{"_index":2070,"t":{"587":{"position":[[175,4]]},"656":{"position":[[124,4],[168,4]]},"658":{"position":[[152,4]]}}}],["slice",{"_index":1441,"t":{"295":{"position":[[569,5]]}}}],["slider",{"_index":2105,"t":{"606":{"position":[[345,6],[387,6]]}}}],["slot",{"_index":1037,"t":{"197":{"position":[[19,4],[48,4],[112,4],[146,4],[207,4],[247,4],[470,4],[504,4],[516,4],[576,4]]},"199":{"position":[[31,4]]}}}],["slotnam",{"_index":1040,"t":{"197":{"position":[[53,8]]}}}],["slotscop",{"_index":1041,"t":{"197":{"position":[[63,9]]}}}],["slow",{"_index":1822,"t":{"427":{"position":[[1135,4]]}}}],["smartprogram",{"_index":2364,"t":{"745":{"position":[[224,12]]}}}],["smooth",{"_index":2144,"t":{"649":{"position":[[69,9]]},"656":{"position":[[63,9]]}}}],["someth",{"_index":1530,"t":{"331":{"position":[[156,9]]},"335":{"position":[[181,9]]},"693":{"position":[[184,9]]},"807":{"position":[[180,9],[256,9]]}}}],["sourc",{"_index":1687,"t":{"361":{"position":[[3087,6],[3228,6]]},"517":{"position":[[57,6]]},"819":{"position":[[562,6],[800,6],[1110,6]]}}}],["sourcemap",{"_index":1606,"t":{"359":{"position":[[210,9]]},"507":{"position":[[62,9]]},"805":{"position":[[486,9]]},"815":{"position":[[102,9]]}}}],["span",{"_index":996,"t":{"187":{"position":[[409,4],[427,4]]},"282":{"position":[[271,4],[292,4],[301,4],[324,4]]},"392":{"position":[[370,4],[411,4]]},"714":{"position":[[1,4],[113,4],[131,4],[179,4],[225,4],[281,4],[343,4]]}}}],["spec",{"_index":1380,"t":{"259":{"position":[[107,4]]},"261":{"position":[[641,4]]},"266":{"position":[[482,4]]},"268":{"position":[[54,4]]},"270":{"position":[[741,4]]}}}],["specifi",{"_index":1213,"t":{"235":{"position":[[1120,9]]},"819":{"position":[[827,9],[1170,9]]}}}],["speed",{"_index":2001,"t":{"535":{"position":[[293,5]]}}}],["speedmeasureplugin",{"_index":2000,"t":{"535":{"position":[[268,18],[479,18]]}}}],["splitchunk",{"_index":1637,"t":{"359":{"position":[[740,11]]},"521":{"position":[[236,11]]},"805":{"position":[[948,11]]}}}],["src",{"_index":297,"t":{"23":{"position":[[252,3],[278,3]]},"47":{"position":[[56,3],[158,3]]},"49":{"position":[[45,3],[65,3]]},"59":{"position":[[32,3]]},"85":{"position":[[566,3]]},"87":{"position":[[444,3]]},"94":{"position":[[103,3]]},"100":{"position":[[264,3]]},"115":{"position":[[184,3]]},"117":{"position":[[97,3]]},"126":{"position":[[258,3],[284,3]]},"137":{"position":[[293,3],[325,3]]},"162":{"position":[[244,3]]},"169":{"position":[[207,3],[221,3]]},"179":{"position":[[99,3],[163,3]]},"212":{"position":[[138,3],[178,3]]},"226":{"position":[[32,3]]},"230":{"position":[[185,3]]},"239":{"position":[[89,3]]},"241":{"position":[[41,3]]},"250":{"position":[[118,3],[437,3],[470,3]]},"259":{"position":[[18,3],[135,3]]},"261":{"position":[[503,3]]},"268":{"position":[[121,3]]},"270":{"position":[[601,3]]},"278":{"position":[[4,3],[37,3]]},"280":{"position":[[4,3],[29,3]]},"286":{"position":[[33,3],[148,3]]},"288":{"position":[[23,3],[153,3]]},"290":{"position":[[0,3]]},"293":{"position":[[62,3],[75,3],[94,3],[456,3],[485,3]]},"295":{"position":[[6,3],[17,3]]},"297":{"position":[[37,3],[56,3],[79,3],[338,3]]},"317":{"position":[[4,3]]},"333":{"position":[[61,3]]},"335":{"position":[[0,3]]},"339":{"position":[[203,3],[220,3]]},"341":{"position":[[93,3]]},"365":{"position":[[551,3],[574,3],[884,3],[905,3]]},"368":{"position":[[18,3]]},"370":{"position":[[35,3]]},"372":{"position":[[135,3]]},"382":{"position":[[25,3],[56,3]]},"386":{"position":[[40,3]]},"390":{"position":[[177,3]]},"398":{"position":[[67,3]]},"404":{"position":[[54,3]]},"427":{"position":[[262,3],[639,3]]},"429":{"position":[[174,3]]},"435":{"position":[[148,3]]},"437":{"position":[[20,3],[66,3]]},"441":{"position":[[149,3]]},"465":{"position":[[21,3]]},"477":{"position":[[48,3],[341,3]]},"491":{"position":[[384,3],[480,3]]},"515":{"position":[[121,3],[269,3],[584,3],[1075,3]]},"541":{"position":[[102,3]]},"580":{"position":[[51,3]]},"585":{"position":[[107,3]]},"589":{"position":[[143,3]]},"591":{"position":[[55,3]]},"593":{"position":[[33,3],[182,3],[189,3]]},"598":{"position":[[24,3]]},"600":{"position":[[91,3]]},"602":{"position":[[47,3]]},"606":{"position":[[458,3],[479,3],[523,3],[604,3]]},"608":{"position":[[63,3]]},"610":{"position":[[0,3],[72,3]]},"612":{"position":[[9,3],[61,3],[83,3],[183,3],[212,3]]},"620":{"position":[[27,3]]},"629":{"position":[[16,3]]},"637":{"position":[[213,3],[606,3]]},"639":{"position":[[147,3]]},"643":{"position":[[153,3]]},"649":{"position":[[18,3]]},"651":{"position":[[315,3]]},"656":{"position":[[5,3],[28,3]]},"663":{"position":[[6,3],[68,3]]},"665":{"position":[[118,3]]},"677":{"position":[[5,3],[80,3]]},"679":{"position":[[127,3],[304,3]]},"685":{"position":[[24,3]]},"695":{"position":[[358,3]]},"697":{"position":[[172,3]]},"699":{"position":[[108,3]]},"712":{"position":[[267,3],[401,3]]},"714":{"position":[[298,3]]},"741":{"position":[[658,3],[866,3]]},"753":{"position":[[118,3]]},"756":{"position":[[92,3]]},"758":{"position":[[148,3]]},"799":{"position":[[152,3],[648,3],[661,3]]},"805":{"position":[[173,3]]},"821":{"position":[[125,3]]}}}],["ssg",{"_index":60,"t":{"4":{"position":[[133,3]]},"7":{"position":[[129,3]]},"96":{"position":[[72,3]]},"117":{"position":[[4,3]]},"388":{"position":[[58,3]]},"390":{"position":[[110,3]]},"511":{"position":[[40,3],[50,3],[61,3]]},"513":{"position":[[216,3],[416,3]]},"531":{"position":[[48,3],[76,3]]},"635":{"position":[[2,3]]},"639":{"position":[[24,3],[90,3],[97,3],[409,3]]},"641":{"position":[[81,3]]},"643":{"position":[[4,3],[51,3],[102,3],[498,3]]},"645":{"position":[[127,3]]},"749":{"position":[[218,3]]}}}],["sso",{"_index":380,"t":{"43":{"position":[[14,3]]}}}],["ssr",{"_index":40,"t":{"4":{"position":[[45,3],[122,3]]},"7":{"position":[[125,3]]},"96":{"position":[[66,3]]},"113":{"position":[[396,3]]},"359":{"position":[[282,3]]},"388":{"position":[[54,3]]},"390":{"position":[[104,3],[170,3]]},"509":{"position":[[41,3],[51,3],[62,3]]},"513":{"position":[[210,3],[410,3]]},"633":{"position":[[24,3],[89,3]]},"635":{"position":[[20,3],[167,3]]},"637":{"position":[[3,3],[50,3],[93,3],[588,3]]},"749":{"position":[[228,3]]},"813":{"position":[[157,3],[177,3],[199,3]]}}}],["stage",{"_index":1932,"t":{"503":{"position":[[372,5],[707,5]]}}}],["star",{"_index":476,"t":{"57":{"position":[[461,4]]},"639":{"position":[[292,5],[306,5],[535,5]]},"643":{"position":[[341,5],[355,5],[477,5],[580,5]]}}}],["stark",{"_index":881,"t":{"154":{"position":[[70,5]]},"156":{"position":[[61,5]]}}}],["starrepo",{"_index":475,"t":{"57":{"position":[[427,8]]}}}],["start",{"_index":882,"t":{"154":{"position":[[127,5]]},"156":{"position":[[113,5]]},"406":{"position":[[59,5],[72,5],[82,5],[95,5],[157,5],[189,5]]},"408":{"position":[[27,5]]},"487":{"position":[[34,5]]},"549":{"position":[[57,5]]},"558":{"position":[[66,5]]},"741":{"position":[[92,5],[105,5],[114,5],[134,5],[171,5],[188,5],[314,5]]},"743":{"position":[[49,5]]},"781":{"position":[[238,6],[296,5]]},"783":{"position":[[90,5]]},"787":{"position":[[164,5],[177,5],[186,5],[206,5],[243,5],[260,5],[386,5]]},"789":{"position":[[51,5]]},"803":{"position":[[36,5]]},"807":{"position":[[308,5],[323,5],[385,5],[397,5],[416,5],[480,5],[492,5]]},"811":{"position":[[151,5]]}}}],["stat",{"_index":2415,"t":{"807":{"position":[[238,5]]}}}],["state",{"_index":812,"t":{"115":{"position":[[551,5],[744,5]]},"230":{"position":[[221,5]]},"278":{"position":[[181,5],[187,5],[266,5],[296,5]]},"282":{"position":[[209,5]]},"286":{"position":[[242,5],[284,5],[314,5]]},"293":{"position":[[336,5],[425,5]]},"295":{"position":[[75,5],[95,5],[166,5],[232,5],[286,5],[357,5],[382,5],[470,5],[524,5],[558,5],[618,5],[647,5],[701,5],[722,5],[736,5],[893,5]]},"297":{"position":[[162,5],[375,5]]},"299":{"position":[[25,5],[56,5],[127,5],[223,5],[257,5],[278,5],[309,5],[349,5],[383,5],[407,5],[449,5],[519,5],[645,5],[671,5],[682,5],[703,5]]},"301":{"position":[[143,5]]},"305":{"position":[[203,5],[245,5],[255,5]]}}}],["static",{"_index":779,"t":{"113":{"position":[[642,6]]},"639":{"position":[[29,6]]}}}],["staticdataload",{"_index":2133,"t":{"643":{"position":[[77,16],[130,16],[521,16],[693,16]]}}}],["statu",{"_index":1165,"t":{"226":{"position":[[681,6]]},"235":{"position":[[311,6],[1868,6],[1888,6],[1925,6],[1966,6]]},"239":{"position":[[641,6],[796,6]]},"243":{"position":[[113,6]]},"551":{"position":[[199,6]]}}}],["statuscod",{"_index":782,"t":{"113":{"position":[[702,10],[789,10],[802,10]]}}}],["statusmessag",{"_index":784,"t":{"113":{"position":[[818,13]]}}}],["statustext",{"_index":783,"t":{"113":{"position":[[714,10],[834,10]]},"235":{"position":[[319,10],[1942,10],[2006,10]]}}}],["store",{"_index":1182,"t":{"230":{"position":[[537,5],[551,5],[638,5]]},"272":{"position":[[8,5]]},"274":{"position":[[26,5],[122,5],[146,5],[202,5]]},"280":{"position":[[8,5],[22,5],[33,5]]},"282":{"position":[[44,5],[58,5],[138,5]]},"288":{"position":[[13,5],[114,5],[129,5],[168,5],[252,5],[298,5]]},"290":{"position":[[87,5]]},"293":{"position":[[66,5],[543,5]]},"297":{"position":[[21,5]]},"301":{"position":[[83,5],[97,5],[165,5],[215,5]]},"303":{"position":[[123,5],[147,5],[205,5],[216,5]]},"305":{"position":[[51,5],[65,5],[74,5]]},"359":{"position":[[971,5]]},"365":{"position":[[32,5],[59,5],[155,5],[179,5],[235,5]]}}}],["storeconfig",{"_index":1430,"t":{"293":{"position":[[570,11]]}}}],["storeprovid",{"_index":2448,"t":{"827":{"position":[[134,13],[225,13]]}}}],["stream",{"_index":1236,"t":{"235":{"position":[[1600,6]]}}}],["strict",{"_index":1510,"t":{"317":{"position":[[111,6]]},"321":{"position":[[64,6]]},"325":{"position":[[326,6]]},"363":{"position":[[216,6]]},"553":{"position":[[234,6]]}}}],["strictmod",{"_index":1514,"t":{"321":{"position":[[96,10]]}}}],["string",{"_index":330,"t":{"34":{"position":[[11,6],[19,6]]},"47":{"position":[[136,6]]},"68":{"position":[[17,6]]},"70":{"position":[[22,6]]},"87":{"position":[[582,6]]},"111":{"position":[[390,6]]},"113":{"position":[[887,6],[895,6]]},"120":{"position":[[3,6]]},"122":{"position":[[3,6]]},"133":{"position":[[4,6]]},"135":{"position":[[11,6],[19,6]]},"278":{"position":[[114,6],[126,6]]},"295":{"position":[[222,6],[802,6]]},"321":{"position":[[18,6]]},"323":{"position":[[403,6]]},"372":{"position":[[94,6]]},"376":{"position":[[63,6],[143,6],[476,6]]},"390":{"position":[[84,6]]},"408":{"position":[[70,6],[104,6],[141,6],[180,6],[214,6]]},"410":{"position":[[66,6],[100,6],[137,6],[176,6]]},"435":{"position":[[604,6]]},"477":{"position":[[10,6],[18,6]]},"481":{"position":[[10,6],[18,6],[163,6]]},"483":{"position":[[40,6],[56,6]]},"485":{"position":[[18,6]]},"487":{"position":[[3,6]]},"489":{"position":[[28,6]]},"491":{"position":[[25,6],[33,6]]},"493":{"position":[[3,6]]},"503":{"position":[[33,6],[43,6],[58,6]]},"507":{"position":[[9,6],[21,6],[32,6],[48,6]]},"513":{"position":[[97,6]]},"515":{"position":[[33,6]]},"517":{"position":[[13,6]]},"529":{"position":[[29,6]]},"537":{"position":[[21,6]]},"547":{"position":[[6,6],[58,6]]},"562":{"position":[[53,6]]},"758":{"position":[[107,6]]},"795":{"position":[[122,6]]},"809":{"position":[[191,6]]},"821":{"position":[[163,6],[181,6]]}}}],["stringifi",{"_index":456,"t":{"53":{"position":[[135,9]]},"55":{"position":[[234,9]]},"427":{"position":[[543,9],[824,9]]},"429":{"position":[[469,9]]},"435":{"position":[[318,9]]},"439":{"position":[[300,9],[1000,9]]},"481":{"position":[[328,9],[587,9],[630,9]]},"685":{"position":[[176,9]]}}}],["studio",{"_index":1799,"t":{"422":{"position":[[53,6]]}}}],["style",{"_index":1099,"t":{"212":{"position":[[241,6],[279,6]]},"216":{"position":[[291,5]]},"333":{"position":[[465,6]]},"361":{"position":[[2514,5]]},"587":{"position":[[41,5],[112,5],[196,5]]},"651":{"position":[[441,6],[518,6]]},"658":{"position":[[177,5],[191,5],[275,5]]},"695":{"position":[[306,6],[498,6]]},"712":{"position":[[151,6],[193,6],[309,6],[443,6]]},"714":{"position":[[420,6]]},"741":{"position":[[924,6]]}}}],["stylesheet",{"_index":602,"t":{"85":{"position":[[474,10]]},"87":{"position":[[352,10]]},"695":{"position":[[261,10],[455,10]]}}}],["sublim",{"_index":1801,"t":{"422":{"position":[[82,7]]}}}],["success",{"_index":2030,"t":{"551":{"position":[[208,7]]}}}],["successfulli",{"_index":2381,"t":{"781":{"position":[[164,12],[224,12]]}}}],["sugarss",{"_index":1930,"t":{"503":{"position":[[270,7]]}}}],["support",{"_index":2202,"t":{"660":{"position":[[37,7]]}}}],["surg",{"_index":545,"t":{"82":{"position":[[4,5],[19,5],[47,5],[56,5],[129,5],[140,5],[190,5]]}}}],["suspens",{"_index":359,"t":{"39":{"position":[[42,8]]}}}],["svg",{"_index":1554,"t":{"339":{"position":[[76,3],[84,3]]},"351":{"position":[[446,3],[480,3]]},"733":{"position":[[7,3]]}}}],["swc",{"_index":1364,"t":{"255":{"position":[[47,3]]},"257":{"position":[[276,3],[426,3],[446,3]]},"359":{"position":[[963,3]]},"507":{"position":[[470,3]]}}}],["swiper",{"_index":1109,"t":{"214":{"position":[[7,6],[98,6],[105,6],[163,6]]}}}],["switchtozhcn",{"_index":758,"t":{"111":{"position":[[744,12],[848,12]]}}}],["sx",{"_index":1372,"t":{"257":{"position":[[413,2]]}}}],["syntax",{"_index":1929,"t":{"503":{"position":[[261,6]]}}}],["syntaxfeatur",{"_index":1989,"t":{"523":{"position":[[196,14]]}}}],["t",{"_index":1370,"t":{"257":{"position":[[409,1]]},"361":{"position":[[3131,1]]}}}],["t1ojavfl4dxxa",{"_index":2219,"t":{"665":{"position":[[391,13]]},"699":{"position":[[381,13]]}}}],["tab",{"_index":2008,"t":{"537":{"position":[[213,3],[248,3]]},"606":{"position":[[364,3],[414,3],[423,3]]},"625":{"position":[[211,3]]}}}],["tabbar",{"_index":2203,"t":{"663":{"position":[[52,6]]}}}],["tag",{"_index":1011,"t":{"193":{"position":[[34,3],[66,3],[72,3],[118,3]]},"197":{"position":[[42,3]]}}}],["take",{"_index":1218,"t":{"235":{"position":[[1205,5]]}}}],["taobao",{"_index":1416,"t":{"278":{"position":[[434,6]]},"420":{"position":[[293,6]]}}}],["taoxiaobao",{"_index":1172,"t":{"230":{"position":[[237,10]]}}}],["tarbal",{"_index":2380,"t":{"781":{"position":[[156,7]]}}}],["target",{"_index":1754,"t":{"408":{"position":[[54,6],[62,6],[83,6]]},"410":{"position":[[50,6],[58,6],[79,6]]},"481":{"position":[[154,6]]},"495":{"position":[[181,6]]},"741":{"position":[[142,6],[196,6],[268,6],[322,6]]},"787":{"position":[[214,6],[268,6],[340,6],[394,6]]}}}],["targetdir",{"_index":2429,"t":{"819":{"position":[[190,9]]}}}],["taro",{"_index":2318,"t":{"724":{"position":[[183,4]]}}}],["task",{"_index":1452,"t":{"297":{"position":[[67,5],[181,5],[349,5],[457,5],[500,4],[522,5],[534,4]]},"299":{"position":[[136,5],[147,4],[157,4],[266,5],[284,5],[315,5]]},"815":{"position":[[136,4],[166,4]]},"817":{"position":[[103,5],[137,5]]}}}],["taskconfig",{"_index":1999,"t":{"535":{"position":[[105,10],[117,10]]}}}],["templat",{"_index":2341,"t":{"739":{"position":[[27,8]]},"781":{"position":[[97,8]]},"787":{"position":[[48,8]]},"799":{"position":[[51,8]]},"819":{"position":[[155,8],[175,8]]}}}],["terser",{"_index":1629,"t":{"359":{"position":[[593,6]]}}}],["test",{"_index":1376,"t":{"257":{"position":[[567,4],[607,4]]},"259":{"position":[[97,5],[145,4],[219,4]]},"261":{"position":[[14,7],[39,7],[82,7],[128,7],[231,7],[602,4],[628,5],[683,7],[749,4],[755,4],[867,4],[893,4]]},"266":{"position":[[450,4],[477,4],[551,4],[591,4]]},"268":{"position":[[44,5],[71,4],[131,4],[197,4]]},"270":{"position":[[17,7],[46,7],[194,7],[466,4],[702,4],[728,5],[759,4],[822,7],[888,4],[894,4],[1008,4],[1034,4]]},"535":{"position":[[421,4]]},"663":{"position":[[145,4],[222,4]]},"803":{"position":[[48,4]]},"805":{"position":[[85,4],[1164,4]]},"807":{"position":[[106,4]]},"809":{"position":[[71,4]]},"811":{"position":[[53,4]]},"813":{"position":[[46,4]]},"815":{"position":[[47,4]]},"817":{"position":[[61,4]]},"819":{"position":[[90,4],[289,4],[505,4],[738,4],[1043,4]]},"821":{"position":[[76,4],[283,4]]}}}],["testenviron",{"_index":1392,"t":{"261":{"position":[[435,15]]}}}],["testid",{"_index":1394,"t":{"261":{"position":[[582,6]]},"270":{"position":[[680,6]]}}}],["text",{"_index":606,"t":{"85":{"position":[[549,4]]},"87":{"position":[[427,4]]},"226":{"position":[[670,4]]},"235":{"position":[[1592,4]]},"349":{"position":[[50,4]]},"422":{"position":[[90,4]]},"587":{"position":[[217,4]]},"714":{"position":[[30,4],[47,4],[68,4],[124,4],[148,4],[455,4]]}}}],["theme",{"_index":331,"t":{"34":{"position":[[45,5],[210,5],[245,5]]},"133":{"position":[[216,5]]},"135":{"position":[[45,5],[216,5]]},"137":{"position":[[230,5],[356,5]]},"313":{"position":[[416,5]]},"370":{"position":[[179,5]]},"386":{"position":[[296,5]]},"647":{"position":[[122,5]]}}}],["themepackag",{"_index":827,"t":{"133":{"position":[[194,12]]},"137":{"position":[[208,12]]}}}],["third",{"_index":2208,"t":{"663":{"position":[[201,5],[216,5]]}}}],["throttleinterv",{"_index":1311,"t":{"237":{"position":[[1136,16]]}}}],["time",{"_index":1216,"t":{"235":{"position":[[1176,5]]},"333":{"position":[[413,4]]}}}],["timeout",{"_index":1212,"t":{"235":{"position":[[1111,7],[1224,7],[1263,7],[1300,7]]}}}],["titl",{"_index":591,"t":{"85":{"position":[[328,5],[351,5]]},"87":{"position":[[216,5],[239,5]]},"162":{"position":[[537,5]]},"261":{"position":[[590,5],[834,5]]},"270":{"position":[[688,5],[973,5]]},"286":{"position":[[251,5]]},"290":{"position":[[242,5],[293,5]]},"370":{"position":[[146,5]]},"386":{"position":[[263,5]]},"398":{"position":[[166,5]]},"404":{"position":[[20,5]]},"582":{"position":[[33,5],[276,5],[405,5]]},"591":{"position":[[570,5],[586,5],[658,5],[699,5],[719,5]]},"651":{"position":[[819,5]]},"665":{"position":[[20,5]]},"679":{"position":[[187,5],[511,5]]},"683":{"position":[[126,5]]},"691":{"position":[[15,5],[124,5]]},"693":{"position":[[168,5]]},"699":{"position":[[10,5]]},"829":{"position":[[154,5]]}}}],["titlebarcolor",{"_index":2213,"t":{"665":{"position":[[309,13]]},"699":{"position":[[299,13]]}}}],["titleel",{"_index":2080,"t":{"591":{"position":[[664,12]]}}}],["titlepenetr",{"_index":2222,"t":{"665":{"position":[[427,14]]},"699":{"position":[[417,14]]}}}],["toast",{"_index":1326,"t":{"239":{"position":[[593,5]]}}}],["tobe",{"_index":1382,"t":{"259":{"position":[[192,4]]},"268":{"position":[[169,4]]}}}],["todo",{"_index":482,"t":{"61":{"position":[[1,4]]},"175":{"position":[[1,4]]},"305":{"position":[[91,5],[174,5],[225,5]]},"777":{"position":[[1,4]]}}}],["todolist",{"_index":1476,"t":{"305":{"position":[[120,8]]}}}],["tohavetextcont",{"_index":1397,"t":{"261":{"position":[[843,17]]},"270":{"position":[[982,17]]}}}],["token",{"_index":336,"t":{"34":{"position":[[251,5]]}}}],["tool",{"_index":2353,"t":{"743":{"position":[[190,5]]},"789":{"position":[[148,5],[292,5]]}}}],["top",{"_index":1494,"t":{"309":{"position":[[86,3]]}}}],["tp",{"_index":2217,"t":{"665":{"position":[[384,3]]},"699":{"position":[[374,3]]}}}],["trace",{"_index":1917,"t":{"499":{"position":[[310,5],[361,5]]}}}],["transform",{"_index":869,"t":{"147":{"position":[[97,9]]},"257":{"position":[[386,9],[464,9]]},"313":{"position":[[570,12]]},"335":{"position":[[228,9]]},"361":{"position":[[3069,9],[3249,9]]},"507":{"position":[[98,9],[242,9],[391,9],[485,9]]},"805":{"position":[[665,10]]}}}],["transformerdirect",{"_index":1507,"t":{"313":{"position":[[272,21],[586,21]]}}}],["transformervariantgroup",{"_index":1508,"t":{"313":{"position":[[295,23],[611,23]]}}}],["transformplugin",{"_index":2400,"t":{"805":{"position":[[613,16]]}}}],["transformsync",{"_index":1685,"t":{"361":{"position":[[2963,13],[3214,13]]},"507":{"position":[[169,13],[350,13]]}}}],["transparenttitl",{"_index":2211,"t":{"665":{"position":[[281,16]]},"699":{"position":[[271,16]]}}}],["tree",{"_index":276,"t":{"23":{"position":[[107,4]]},"126":{"position":[[111,4]]}}}],["tri",{"_index":542,"t":{"80":{"position":[[178,3]]}}}],["true",{"_index":320,"t":{"25":{"position":[[219,4]]},"47":{"position":[[379,4]]},"55":{"position":[[191,4]]},"59":{"position":[[191,4]]},"113":{"position":[[292,4]]},"115":{"position":[[507,4]]},"124":{"position":[[49,4]]},"128":{"position":[[227,4]]},"137":{"position":[[564,4]]},"201":{"position":[[26,4],[91,4]]},"205":{"position":[[242,4]]},"235":{"position":[[392,4]]},"237":{"position":[[148,4],[534,4],[823,4],[1169,4]]},"301":{"position":[[367,4]]},"303":{"position":[[240,4]]},"305":{"position":[[349,4]]},"317":{"position":[[119,4]]},"325":{"position":[[263,4],[334,4]]},"333":{"position":[[281,4]]},"359":{"position":[[367,4]]},"361":{"position":[[2764,4]]},"365":{"position":[[259,4]]},"378":{"position":[[244,4]]},"388":{"position":[[43,4]]},"429":{"position":[[138,4],[542,4],[686,4]]},"439":{"position":[[1328,4]]},"483":{"position":[[71,4]]},"489":{"position":[[78,4]]},"495":{"position":[[243,4]]},"497":{"position":[[15,4]]},"499":{"position":[[87,4]]},"501":{"position":[[369,4],[455,4],[559,4]]},"511":{"position":[[30,4]]},"513":{"position":[[378,4],[996,4]]},"521":{"position":[[64,4]]},"525":{"position":[[50,4]]},"527":{"position":[[60,4],[114,4]]},"531":{"position":[[15,4]]},"535":{"position":[[150,4]]},"562":{"position":[[67,4]]},"572":{"position":[[17,4]]},"574":{"position":[[19,4]]},"576":{"position":[[19,4]]},"635":{"position":[[172,4]]},"813":{"position":[[168,4],[205,4]]},"815":{"position":[[113,4]]},"829":{"position":[[288,4]]}}}],["try_fil",{"_index":541,"t":{"80":{"position":[[178,9]]}}}],["ts",{"_index":420,"t":{"47":{"position":[[64,2],[166,2]]},"94":{"position":[[111,2]]},"115":{"position":[[192,2]]},"162":{"position":[[252,2]]},"169":{"position":[[215,2],[229,2]]},"181":{"position":[[96,2]]},"226":{"position":[[89,2],[175,2],[271,2],[321,2]]},"230":{"position":[[201,2]]},"255":{"position":[[58,2]]},"259":{"position":[[32,2],[112,2]]},"261":{"position":[[179,2],[219,2],[427,2]]},"266":{"position":[[500,2]]},"268":{"position":[[59,2]]},"278":{"position":[[53,2]]},"280":{"position":[[14,2],[39,2]]},"286":{"position":[[114,2],[175,2]]},"288":{"position":[[102,2],[120,2],[174,2]]},"293":{"position":[[72,2],[91,2],[113,2],[464,2],[493,2]]},"297":{"position":[[53,2],[73,2],[95,2],[355,2]]},"305":{"position":[[277,2]]},"317":{"position":[[12,2]]},"359":{"position":[[25,2]]},"363":{"position":[[558,2]]},"365":{"position":[[559,2],[582,2],[892,2],[913,2]]},"368":{"position":[[26,2]]},"372":{"position":[[143,2]]},"382":{"position":[[33,2],[64,2]]},"390":{"position":[[190,2]]},"400":{"position":[[12,2]]},"402":{"position":[[14,2]]},"437":{"position":[[28,2],[74,2]]},"441":{"position":[[89,2],[340,2]]},"491":{"position":[[237,2]]},"529":{"position":[[183,2],[217,2]]},"541":{"position":[[30,2],[81,2],[95,2],[139,2],[149,2],[341,2],[375,2]]},"543":{"position":[[32,2]]},"593":{"position":[[46,2]]},"663":{"position":[[14,2],[76,2]]},"758":{"position":[[156,2]]},"795":{"position":[[27,2]]},"797":{"position":[[56,2],[119,2]]},"799":{"position":[[168,2],[361,2],[472,2],[604,2],[658,2]]},"805":{"position":[[908,2]]},"807":{"position":[[583,2]]},"819":{"position":[[363,2],[385,2]]},"823":{"position":[[213,2]]}}}],["tschecker",{"_index":1617,"t":{"359":{"position":[[437,9]]}}}],["tscheckeropt",{"_index":2406,"t":{"805":{"position":[[891,16]]}}}],["tsconfig",{"_index":1477,"t":{"305":{"position":[[286,8]]},"441":{"position":[[420,8]]}}}],["tsx",{"_index":445,"t":{"49":{"position":[[61,3],[81,3]]},"59":{"position":[[40,3]]},"100":{"position":[[279,3]]},"117":{"position":[[119,3],[135,3]]},"179":{"position":[[116,3],[180,3]]},"212":{"position":[[193,3]]},"226":{"position":[[259,3]]},"239":{"position":[[97,3]]},"241":{"position":[[49,3]]},"250":{"position":[[126,3],[445,3],[478,3]]},"261":{"position":[[525,3],[646,3]]},"266":{"position":[[515,3]]},"270":{"position":[[623,3],[746,3]]},"286":{"position":[[131,3]]},"288":{"position":[[149,3]]},"290":{"position":[[21,3]]},"333":{"position":[[76,3]]},"335":{"position":[[15,3]]},"359":{"position":[[936,3]]},"363":{"position":[[584,3],[617,3],[644,3],[670,3],[712,3]]},"370":{"position":[[50,3]]},"386":{"position":[[55,3]]},"398":{"position":[[51,3],[78,3]]},"404":{"position":[[67,3]]},"427":{"position":[[278,3],[655,3]]},"429":{"position":[[190,3]]},"435":{"position":[[164,3]]},"441":{"position":[[225,3],[242,3],[261,3],[315,3]]},"465":{"position":[[87,3]]},"515":{"position":[[531,3],[624,3],[687,3],[729,3],[820,3],[854,3],[1125,3],[1193,3],[1249,3],[1309,3],[1355,3]]},"580":{"position":[[64,3]]},"598":{"position":[[51,3]]},"600":{"position":[[99,3]]},"602":{"position":[[63,3]]},"604":{"position":[[77,3]]},"606":{"position":[[70,3],[86,3],[103,3],[240,3],[473,3],[500,3],[544,3],[670,3],[686,3],[711,3],[766,3]]},"608":{"position":[[82,3]]},"610":{"position":[[17,3],[84,3]]},"612":{"position":[[28,3],[77,3],[105,3],[201,3],[236,3]]},"620":{"position":[[43,3]]},"629":{"position":[[43,3],[220,3]]},"631":{"position":[[192,3],[219,3]]},"637":{"position":[[227,3],[620,3]]},"639":{"position":[[162,3]]},"643":{"position":[[169,3]]},"647":{"position":[[107,3]]},"651":{"position":[[370,3],[397,3]]},"658":{"position":[[222,3]]},"665":{"position":[[134,3]]},"677":{"position":[[13,3],[88,3]]},"679":{"position":[[143,3],[320,3]]},"685":{"position":[[40,3]]},"695":{"position":[[374,3]]},"699":{"position":[[124,3]]},"741":{"position":[[666,3]]},"753":{"position":[[126,3]]},"756":{"position":[[108,3]]},"797":{"position":[[86,3],[140,3],[406,3]]},"799":{"position":[[193,3],[673,3]]}}}],["ttf",{"_index":1552,"t":{"339":{"position":[[67,3]]}}}],["txt",{"_index":1581,"t":{"349":{"position":[[55,3]]},"351":{"position":[[352,3]]}}}],["txtcontent",{"_index":1580,"t":{"349":{"position":[[31,10]]}}}],["type",{"_index":431,"t":{"47":{"position":[[220,5]]},"55":{"position":[[266,4]]},"57":{"position":[[447,4]]},"59":{"position":[[95,5]]},"85":{"position":[[543,4]]},"87":{"position":[[421,4]]},"115":{"position":[[246,5]]},"162":{"position":[[199,4],[315,5]]},"164":{"position":[[194,4],[315,5]]},"169":{"position":[[292,5]]},"235":{"position":[[1493,4],[2208,4]]},"239":{"position":[[158,5]]},"241":{"position":[[110,5]]},"250":{"position":[[187,5],[539,5]]},"293":{"position":[[549,5]]},"295":{"position":[[200,4],[769,4]]},"323":{"position":[[48,4],[313,4]]},"325":{"position":[[129,5]]},"400":{"position":[[39,4]]},"402":{"position":[[41,4]]},"547":{"position":[[296,4]]},"553":{"position":[[88,4]]},"587":{"position":[[211,4]]},"695":{"position":[[231,4]]},"703":{"position":[[93,4],[168,4],[296,4]]},"722":{"position":[[49,4],[75,4]]},"795":{"position":[[53,4],[84,5]]},"797":{"position":[[181,4],[212,5],[447,4],[489,5]]},"799":{"position":[[300,4],[338,5],[441,5],[581,5],[684,4],[715,5],[947,4],[989,5]]},"819":{"position":[[666,4],[819,5]]},"823":{"position":[[26,4],[57,5],[229,4],[271,5]]}}}],["typeof",{"_index":1657,"t":{"359":{"position":[[1422,6]]},"388":{"position":[[107,6]]}}}],["typescript",{"_index":35,"t":{"4":{"position":[[8,10]]},"255":{"position":[[21,10]]},"441":{"position":[[437,10]]},"449":{"position":[[0,10]]},"525":{"position":[[26,10]]}}}],["typicod",{"_index":1910,"t":{"495":{"position":[[213,8]]}}}],["ua",{"_index":580,"t":{"85":{"position":[[228,2]]},"87":{"position":[[116,2]]}}}],["ui",{"_index":235,"t":{"17":{"position":[[15,2],[40,2]]},"57":{"position":[[324,2]]},"141":{"position":[[34,2]]},"199":{"position":[[10,2]]},"222":{"position":[[47,2]]},"261":{"position":[[3,2]]},"268":{"position":[[12,2]]},"427":{"position":[[602,2],[717,2],[1167,2],[1308,2]]},"429":{"position":[[259,2],[804,2],[829,2]]}}}],["uid",{"_index":1709,"t":{"374":{"position":[[92,3],[217,3]]},"376":{"position":[[227,3],[396,3],[501,3]]},"760":{"position":[[95,3],[203,3]]}}}],["ul",{"_index":753,"t":{"111":{"position":[[355,2],[528,2]]}}}],["umd",{"_index":1907,"t":{"491":{"position":[[416,3],[516,3]]}}}],["undefin",{"_index":1265,"t":{"237":{"position":[[225,9],[256,9]]},"388":{"position":[[127,9]]},"507":{"position":[[85,9]]},"523":{"position":[[62,9]]},"527":{"position":[[24,9]]},"641":{"position":[[30,9]]}}}],["uni",{"_index":2228,"t":{"670":{"position":[[72,3],[164,3]]},"672":{"position":[[3,3],[87,3],[155,3]]},"726":{"position":[[170,3],[221,3]]}}}],["univers",{"_index":2226,"t":{"670":{"position":[[32,9]]}}}],["unmount",{"_index":907,"t":{"164":{"position":[[405,7]]}}}],["unmout",{"_index":925,"t":{"173":{"position":[[35,6]]}}}],["unocss",{"_index":1497,"t":{"309":{"position":[[165,6]]},"311":{"position":[[29,6],[123,6],[148,6],[205,6]]},"313":{"position":[[24,6],[138,6],[163,6],[327,6],[384,6],[662,6],[689,6]]},"775":{"position":[[3,6]]}}}],["unpkg",{"_index":1906,"t":{"491":{"position":[[397,5],[493,5]]}}}],["unplugin",{"_index":2401,"t":{"805":{"position":[[630,8]]}}}],["unstabl",{"_index":946,"t":{"181":{"position":[[130,8]]},"730":{"position":[[94,8]]}}}],["unstable_offscreen",{"_index":945,"t":{"181":{"position":[[130,18]]}}}],["unstable_rendersubtreeintocontain",{"_index":2334,"t":{"730":{"position":[[94,35]]}}}],["updat",{"_index":1176,"t":{"230":{"position":[[274,6],[452,6]]},"278":{"position":[[259,6],[418,6]]},"286":{"position":[[277,6]]},"290":{"position":[[233,6]]},"357":{"position":[[685,6]]}}}],["updateag",{"_index":1461,"t":{"299":{"position":[[339,9]]}}}],["updateauth",{"_index":459,"t":{"55":{"position":[[145,10],[289,10]]}}}],["uri",{"_index":544,"t":{"80":{"position":[[189,3],[194,3]]}}}],["url",{"_index":529,"t":{"78":{"position":[[70,3]]},"214":{"position":[[93,3]]},"226":{"position":[[573,3]]},"235":{"position":[[254,3],[356,3],[561,3],[580,3],[618,3],[839,3]]},"237":{"position":[[1466,3],[1615,3]]},"241":{"position":[[460,3],[590,3]]},"293":{"position":[[663,3]]},"295":{"position":[[1109,3]]},"343":{"position":[[31,3]]},"347":{"position":[[106,3],[152,3],[167,3]]},"376":{"position":[[131,3],[201,3]]},"392":{"position":[[380,3]]},"756":{"position":[[82,3]]},"758":{"position":[[270,3],[302,3]]},"807":{"position":[[554,3]]}}}],["urlsearchparam",{"_index":1205,"t":{"235":{"position":[[913,15]]}}}],["us",{"_index":609,"t":{"85":{"position":[[785,3],[855,3]]},"113":{"position":[[630,3],[668,3]]},"235":{"position":[[597,4],[672,4],[1408,5],[2141,5]]},"248":{"position":[[110,5]]},"418":{"position":[[250,3]]},"420":{"position":[[289,3]]},"479":{"position":[[41,3]]},"743":{"position":[[157,3]]},"789":{"position":[[115,3],[259,3]]}}}],["usag",{"_index":1941,"t":{"505":{"position":[[4,5],[79,5]]}}}],["useappcontext",{"_index":1739,"t":{"390":{"position":[[202,13],[275,13]]}}}],["useappdata",{"_index":1725,"t":{"382":{"position":[[0,10],[215,10],[271,10]]},"396":{"position":[[134,10]]},"437":{"position":[[270,10],[304,10],[383,10]]}}}],["useauth",{"_index":452,"t":{"51":{"position":[[35,7]]},"53":{"position":[[36,7],[90,7]]},"55":{"position":[[36,7],[100,7]]},"57":{"position":[[76,7],[204,7]]}}}],["useconfig",{"_index":1729,"t":{"386":{"position":[[0,9],[86,9],[158,9]]},"835":{"position":[[97,9],[175,9]]}}}],["usedata",{"_index":1728,"t":{"384":{"position":[[0,7]]},"427":{"position":[[668,7],[769,7]]},"429":{"position":[[203,7],[311,7],[720,7]]},"435":{"position":[[124,7],[177,7],[263,7]]},"439":{"position":[[130,7],[232,7],[621,7],[745,7],[847,7]]},"637":{"position":[[240,7],[633,7]]},"639":{"position":[[175,7],[243,7]]},"643":{"position":[[113,7],[182,7],[292,7]]},"685":{"position":[[53,7],[121,7]]},"833":{"position":[[97,7],[171,7]]}}}],["useeffect",{"_index":1181,"t":{"230":{"position":[[504,9],[662,9]]},"232":{"position":[[96,9],[325,9]]},"282":{"position":[[9,9],[164,9]]},"290":{"position":[[34,9],[197,9]]},"301":{"position":[[254,9]]},"378":{"position":[[195,9]]},"380":{"position":[[132,9]]},"427":{"position":[[205,9],[301,9],[396,9],[1349,9]]},"829":{"position":[[24,9],[127,9]]},"833":{"position":[[41,9]]},"835":{"position":[[41,9]]}}}],["useinfo",{"_index":1860,"t":{"439":{"position":[[1114,7],[1180,7]]}}}],["useitem",{"_index":1681,"t":{"361":{"position":[[2494,7]]}}}],["useloc",{"_index":745,"t":{"111":{"position":[[128,11],[206,11],[578,11],[691,11]]},"380":{"position":[[17,11],[56,11],[117,11]]},"623":{"position":[[3,11],[40,11],[112,11]]}}}],["uselocal",{"_index":723,"t":{"107":{"position":[[17,9],[203,9],[288,9]]},"111":{"position":[[96,9],[255,9],[554,9],[661,9]]},"115":{"position":[[592,9],[671,9]]}}}],["usemodel",{"_index":1186,"t":{"230":{"position":[[644,8]]},"282":{"position":[[144,8]]},"290":{"position":[[177,8]]},"301":{"position":[[171,8]]}}}],["usemodeleffectsst",{"_index":1466,"t":{"301":{"position":[[3,20],[221,20]]}}}],["usemount",{"_index":1731,"t":{"388":{"position":[[92,10],[253,10],[315,10]]}}}],["usenavig",{"_index":744,"t":{"111":{"position":[[34,11],[73,11],[565,11],[723,11]]},"378":{"position":[[54,11],[104,11],[180,11]]},"618":{"position":[[8,11],[42,11],[108,11]]}}}],["useonc",{"_index":1534,"t":{"333":{"position":[[38,7],[175,7],[374,7]]}}}],["usepageasset",{"_index":2082,"t":{"593":{"position":[[58,13],[127,13]]}}}],["usepagelifecycl",{"_index":2245,"t":{"679":{"position":[[256,16],[333,16],[397,16]]}}}],["useparam",{"_index":1707,"t":{"374":{"position":[[17,9],[53,9],[186,9]]},"627":{"position":[[10,9],[40,9],[149,9]]},"760":{"position":[[57,9]]}}}],["user",{"_index":948,"t":{"181":{"position":[[342,4],[354,4],[499,4],[530,4]]},"226":{"position":[[84,4],[425,4]]},"230":{"position":[[175,4],[196,4],[447,4],[593,4],[654,4],[686,4]]},"232":{"position":[[192,4]]},"235":{"position":[[265,4],[367,4],[473,4],[511,4],[625,4]]},"241":{"position":[[411,4],[467,4],[516,4]]},"278":{"position":[[48,4],[101,4],[219,4]]},"280":{"position":[[84,4],[104,4],[140,4]]},"282":{"position":[[154,4]]},"293":{"position":[[37,4],[86,4],[158,4],[178,4],[254,4],[750,4]]},"297":{"position":[[48,4],[90,4],[258,4],[556,4],[586,4]]},"307":{"position":[[123,4]]},"382":{"position":[[183,4],[302,4]]},"396":{"position":[[165,4],[219,4],[225,4]]},"541":{"position":[[90,4],[144,4]]},"543":{"position":[[27,4],[62,5],[183,5]]},"545":{"position":[[115,5],[195,5],[264,4],[273,5],[303,5]]},"547":{"position":[[119,5],[211,5],[368,5]]},"608":{"position":[[33,4],[73,4]]}}}],["userconfig",{"_index":1400,"t":{"266":{"position":[[255,10],[281,10],[317,10]]},"803":{"position":[[98,10]]}}}],["userdispatch",{"_index":1185,"t":{"230":{"position":[[619,15],[713,15]]},"282":{"position":[[119,15],[217,15]]}}}],["userequest",{"_index":1187,"t":{"232":{"position":[[48,10],[131,10],[292,10]]},"237":{"position":[[3,10],[30,10],[51,10],[505,10],[1271,10],[1353,10],[1453,10],[1578,10],[1694,10]]},"243":{"position":[[26,10]]}}}],["userinfo",{"_index":1856,"t":{"439":{"position":[[210,8],[267,8],[402,8],[450,8],[469,8],[825,8],[886,8],[1161,8]]}}}],["userservic",{"_index":1171,"t":{"230":{"position":[[146,11],[415,11]]},"232":{"position":[[163,11],[303,11]]}}}],["userst",{"_index":1184,"t":{"230":{"position":[[608,9]]},"282":{"position":[[108,9],[277,9],[307,9]]}}}],["usesearchparam",{"_index":1716,"t":{"376":{"position":[[105,15],[160,15],[309,15]]},"625":{"position":[[3,15],[44,15],[147,15]]},"760":{"position":[[28,15],[160,15]]}}}],["usest",{"_index":947,"t":{"181":{"position":[[213,8]]},"333":{"position":[[89,8],[217,8]]},"427":{"position":[[291,8],[384,8]]}}}],["ut",{"_index":706,"t":{"98":{"position":[[312,3]]}}}],["utf",{"_index":577,"t":{"85":{"position":[[198,3]]},"87":{"position":[[86,3]]},"582":{"position":[[135,3]]},"693":{"position":[[149,3]]}}}],["util",{"_index":1378,"t":{"259":{"position":[[22,5]]}}}],["v",{"_index":1779,"t":{"418":{"position":[[282,1]]},"420":{"position":[[161,1]]}}}],["v0",{"_index":1775,"t":{"418":{"position":[[172,2]]}}}],["v14",{"_index":1780,"t":{"418":{"position":[[284,3]]}}}],["v6",{"_index":1753,"t":{"406":{"position":[[180,2]]}}}],["v7",{"_index":1751,"t":{"406":{"position":[[131,2]]}}}],["val",{"_index":1055,"t":{"201":{"position":[[40,3],[105,3]]}}}],["valid",{"_index":2421,"t":{"809":{"position":[[156,10]]}}}],["valu",{"_index":641,"t":{"87":{"position":[[742,5]]},"113":{"position":[[735,5],[920,5],[953,5]]},"693":{"position":[[176,5],[227,5]]},"813":{"position":[[113,5],[130,5]]}}}],["var",{"_index":824,"t":{"126":{"position":[[330,3]]}}}],["variabl",{"_index":831,"t":{"137":{"position":[[314,9],[373,9]]}}}],["veloc",{"_index":630,"t":{"87":{"position":[[15,8],[548,8]]}}}],["velocitylayout",{"_index":635,"t":{"87":{"position":[[531,14]]}}}],["vendor",{"_index":1636,"t":{"359":{"position":[[718,6]]},"521":{"position":[[14,7],[51,7],[111,7],[120,7],[154,6],[272,7],[320,6]]}}}],["version",{"_index":1763,"t":{"414":{"position":[[23,7]]},"420":{"position":[[246,7]]},"481":{"position":[[314,7],[403,7]]}}}],["video",{"_index":2323,"t":{"726":{"position":[[7,5],[225,5]]}}}],["videocontext",{"_index":2329,"t":{"726":{"position":[[239,12],[285,12]]}}}],["view",{"_index":569,"t":{"85":{"position":[[114,5],[136,5],[651,5],[672,5],[789,5],[818,5]]},"191":{"position":[[5,4],[34,4],[41,4],[81,4],[88,4],[113,4]]},"197":{"position":[[105,4],[132,4],[139,4],[193,4],[200,4],[227,4],[318,4],[331,4],[361,4],[374,4],[413,4],[435,4],[465,4],[492,4],[499,4],[564,4],[571,4],[598,4]]},"228":{"position":[[55,4],[86,4]]},"230":{"position":[[75,4]]},"232":{"position":[[34,4]]},"333":{"position":[[418,4]]},"679":{"position":[[563,4],[571,4]]},"714":{"position":[[81,4],[236,4]]}}}],["viewport",{"_index":588,"t":{"85":{"position":[[285,8]]},"87":{"position":[[173,8]]},"503":{"position":[[226,8]]},"582":{"position":[[207,8]]}}}],["visibilitychang",{"_index":1093,"t":{"210":{"position":[[431,16]]},"327":{"position":[[39,16]]},"329":{"position":[[1,16]]},"331":{"position":[[7,16],[87,16],[168,16]]},"333":{"position":[[121,16],[479,16],[550,16]]},"335":{"position":[[26,16],[106,16],[193,16]]}}}],["visibl",{"_index":950,"t":{"181":{"position":[[415,7],[508,7]]}}}],["visual",{"_index":1798,"t":{"422":{"position":[[46,6]]}}}],["vite",{"_index":275,"t":{"23":{"position":[[96,4]]},"126":{"position":[[100,4]]},"162":{"position":[[658,4]]},"359":{"position":[[940,4],[1130,4]]}}}],["vitej",{"_index":1404,"t":{"270":{"position":[[72,6],[406,6]]}}}],["viteplugin",{"_index":1644,"t":{"359":{"position":[[947,11]]}}}],["vitest",{"_index":1359,"t":{"252":{"position":[[18,6],[70,6]]},"264":{"position":[[8,6]]},"266":{"position":[[15,6],[45,6],[189,6],[208,6],[248,6],[274,6],[310,6],[347,6],[599,6]]},"268":{"position":[[92,6]]},"270":{"position":[[113,6],[155,6],[254,6],[292,6],[319,6],[516,6],[695,6],[780,6],[1001,6]]}}}],["vm",{"_index":632,"t":{"87":{"position":[[37,2],[570,2]]}}}],["void",{"_index":1446,"t":{"295":{"position":[[835,4]]},"515":{"position":[[89,4]]}}}],["vs",{"_index":98,"t":{"4":{"position":[[347,2],[414,2]]}}}],["vscode",{"_index":2200,"t":{"660":{"position":[[4,6]]}}}],["vw",{"_index":1106,"t":{"212":{"position":[[386,2],[412,2]]},"654":{"position":[[245,2],[344,2]]}}}],["w3c",{"_index":2281,"t":{"712":{"position":[[213,3]]}}}],["warn",{"_index":874,"t":{"149":{"position":[[83,7]]},"499":{"position":[[339,4]]}}}],["watch",{"_index":2436,"t":{"821":{"position":[[6,5],[28,5],[93,5],[107,5],[235,5],[300,5],[314,5]]}}}],["waterfal",{"_index":1042,"t":{"197":{"position":[[93,9],[235,9],[286,9],[453,9],[606,9]]}}}],["web",{"_index":391,"t":{"43":{"position":[[75,3]]},"595":{"position":[[50,3]]},"670":{"position":[[95,3]]},"679":{"position":[[288,3]]},"712":{"position":[[44,3]]},"735":{"position":[[32,3],[57,3]]},"741":{"position":[[12,3],[823,3]]},"745":{"position":[[10,3]]},"749":{"position":[[285,3],[304,3]]},"756":{"position":[[68,3]]},"817":{"position":[[18,3]]}}}],["webcompon",{"_index":1036,"t":{"197":{"position":[[3,13]]}}}],["webkit",{"_index":2143,"t":{"649":{"position":[[57,6]]},"656":{"position":[[51,6]]}}}],["webp",{"_index":1547,"t":{"339":{"position":[[32,4]]}}}],["webpack",{"_index":116,"t":{"7":{"position":[[0,7],[147,7]]},"23":{"position":[[88,7]]},"126":{"position":[[92,7]]},"149":{"position":[[46,7]]},"359":{"position":[[862,7],[1141,7],[1182,7],[1301,7],[1388,7],[1483,7],[1553,7],[1763,7],[1778,7],[1798,7],[1816,7]]},"361":{"position":[[154,7],[241,7],[566,7],[653,7],[914,7],[998,7],[1267,7],[1354,7],[1721,7],[1808,7],[1934,7],[2240,7],[2326,7]]},"479":{"position":[[189,7]]},"485":{"position":[[34,7]]},"495":{"position":[[54,7]]},"527":{"position":[[95,7],[131,7]]},"535":{"position":[[12,7],[59,7],[167,7],[208,7],[307,7],[361,7],[436,7]]},"537":{"position":[[83,7]]},"803":{"position":[[166,7],[174,7],[195,7],[218,7],[233,7]]},"805":{"position":[[377,7],[426,7],[505,7],[534,7],[568,7],[1009,7]]}}}],["webpack5",{"_index":36,"t":{"4":{"position":[[19,8]]}}}],["webpackconfig",{"_index":1656,"t":{"359":{"position":[[1398,13],[1429,13],[1494,13],[1635,13]]},"361":{"position":[[251,13],[432,13],[663,13],[703,13],[1008,13],[1048,13],[1364,13],[1549,13],[1818,13],[1859,13],[1882,13],[1988,13],[2045,13],[2336,13],[2377,13]]},"535":{"position":[[90,13],[132,13],[371,13],[447,13],[511,13]]},"805":{"position":[[1257,13],[1277,13],[1320,13]]}}}],["webpackload",{"_index":1650,"t":{"359":{"position":[[1087,14]]},"361":{"position":[[2108,14]]}}}],["webpackplugin",{"_index":1649,"t":{"359":{"position":[[1070,14]]},"361":{"position":[[1614,14],[1913,13]]}}}],["webstorm",{"_index":1800,"t":{"422":{"position":[[69,8]]}}}],["wechat",{"_index":2345,"t":{"741":{"position":[[120,6],[149,6],[246,6],[275,6]]},"743":{"position":[[55,6],[99,6],[161,6]]},"745":{"position":[[126,6]]},"787":{"position":[[192,6],[221,6],[318,6],[347,6]]},"789":{"position":[[57,6],[119,6],[263,6]]},"791":{"position":[[48,6]]}}}],["weex",{"_index":1591,"t":{"354":{"position":[[55,4]]}}}],["whether",{"_index":1225,"t":{"235":{"position":[[1340,7]]}}}],["width",{"_index":589,"t":{"85":{"position":[[304,5],[317,5]]},"87":{"position":[[192,5],[205,5]]},"212":{"position":[[322,5],[339,5]]},"582":{"position":[[226,5],[239,5]]}}}],["window",{"_index":768,"t":{"113":{"position":[[354,6]]},"115":{"position":[[396,6]]},"388":{"position":[[114,7]]},"392":{"position":[[124,6],[388,6]]},"418":{"position":[[51,7],[67,7]]},"663":{"position":[[45,6],[112,6]]}}}],["withcredenti",{"_index":1223,"t":{"235":{"position":[[1313,15],[1426,15]]}}}],["withfullrespons",{"_index":1193,"t":{"235":{"position":[[109,16],[374,16],[1680,16]]},"239":{"position":[[264,16]]}}}],["withlocal",{"_index":737,"t":{"109":{"position":[[3,10],[202,10],[421,10]]}}}],["withmodel",{"_index":1475,"t":{"305":{"position":[[3,9],[80,9]]}}}],["woff",{"_index":1550,"t":{"339":{"position":[[54,4]]}}}],["woff2",{"_index":1551,"t":{"339":{"position":[[60,5]]}}}],["worklet",{"_index":1573,"t":{"347":{"position":[[95,7]]}}}],["workleturl",{"_index":1569,"t":{"347":{"position":[[55,10],[138,10]]}}}],["world",{"_index":1002,"t":{"191":{"position":[[74,5]]},"481":{"position":[[666,5]]},"587":{"position":[[289,5]]},"651":{"position":[[833,5]]},"709":{"position":[[84,5]]}}}],["wrap",{"_index":2009,"t":{"537":{"position":[[217,4],[252,4]]}}}],["www",{"_index":535,"t":{"80":{"position":[[83,3],[122,3],[135,3],[159,3]]}}}],["wx",{"_index":2231,"t":{"672":{"position":[[59,2],[210,2]]}}}],["wz5p3kdm",{"_index":2165,"t":{"651":{"position":[[593,8]]}}}],["x",{"_index":163,"t":{"9":{"position":[[88,1]]},"23":{"position":[[354,1],[367,1]]},"78":{"position":[[32,1]]},"85":{"position":[[226,1]]},"87":{"position":[[114,1]]},"141":{"position":[[87,1]]},"187":{"position":[[324,1],[356,1],[380,1]]},"191":{"position":[[10,1],[46,1],[93,1],[122,1],[146,1],[154,1],[166,1]]},"193":{"position":[[38,1],[76,1],[162,1],[170,1]]},"195":{"position":[[77,1]]},"197":{"position":[[46,1],[110,1],[144,1],[205,1]]},"199":{"position":[[18,1],[23,1],[29,1]]},"201":{"position":[[9,1]]},"235":{"position":[[781,1]]},"354":{"position":[[12,1]]},"359":{"position":[[88,1]]},"361":{"position":[[3135,1]]},"418":{"position":[[36,1]]}}}],["xmlhttprequest",{"_index":1203,"t":{"235":{"position":[[801,14],[2446,14]]},"243":{"position":[[168,14]]}}}],["xxx",{"_index":1817,"t":{"427":{"position":[[470,3],[975,3]]},"429":{"position":[[654,3]]},"431":{"position":[[145,3],[490,3]]},"435":{"position":[[512,3]]},"437":{"position":[[231,3]]},"585":{"position":[[112,3]]},"637":{"position":[[432,3],[815,3]]},"651":{"position":[[259,3]]},"799":{"position":[[112,3]]}}}],["y",{"_index":521,"t":{"78":{"position":[[34,1]]}}}],["yarn",{"_index":1787,"t":{"420":{"position":[[58,4]]}}}],["ye",{"_index":809,"t":{"115":{"position":[[445,3]]},"665":{"position":[[445,3]]},"699":{"position":[[435,3]]}}}],["z",{"_index":522,"t":{"78":{"position":[[36,1]]}}}],["zalmoxisu",{"_index":1483,"t":{"307":{"position":[[189,10]]}}}],["zh",{"_index":695,"t":{"98":{"position":[[216,2],[256,2],[287,2],[326,2],[339,2]]},"100":{"position":[[192,2],[235,2],[311,2]]},"103":{"position":[[105,2]]},"105":{"position":[[111,2]]},"107":{"position":[[367,2],[408,2],[421,2]]},"109":{"position":[[332,2],[373,2],[386,2]]},"111":{"position":[[778,2]]},"113":{"position":[[228,2],[268,2]]},"115":{"position":[[735,2],[762,2],[778,2]]},"117":{"position":[[286,2],[320,2]]}}}],["一一对应",{"_index":719,"t":{"100":{"position":[[287,4]]},"439":{"position":[[671,4]]},"643":{"position":[[667,4]]}}}],["一个",{"_index":343,"t":{"37":{"position":[[39,2]]},"78":{"position":[[29,2]]},"94":{"position":[[11,2]]},"96":{"position":[[113,2]]},"100":{"position":[[26,2],[35,2],[259,2]]},"107":{"position":[[44,2],[64,2]]},"115":{"position":[[113,2],[312,2]]},"154":{"position":[[8,2]]},"156":{"position":[[8,2]]},"237":{"position":[[992,2]]},"252":{"position":[[37,2]]},"259":{"position":[[89,2]]},"261":{"position":[[489,2]]},"270":{"position":[[587,2]]},"295":{"position":[[69,2],[259,2],[293,2],[379,2],[843,2]]},"297":{"position":[[547,2]]},"299":{"position":[[574,2]]},"309":{"position":[[47,2]]},"327":{"position":[[5,2]]},"333":{"position":[[35,2]]},"378":{"position":[[70,2]]},"392":{"position":[[162,2],[440,2]]},"435":{"position":[[52,2]]},"481":{"position":[[679,2]]},"513":{"position":[[247,2]]},"539":{"position":[[43,2]]},"551":{"position":[[9,2]]},"598":{"position":[[39,2],[63,2]]},"602":{"position":[[7,2]]},"606":{"position":[[590,2]]},"614":{"position":[[30,2]]},"629":{"position":[[31,2],[53,2]]},"651":{"position":[[278,2],[284,2],[290,2]]},"681":{"position":[[22,2]]},"714":{"position":[[56,2]]},"741":{"position":[[789,2]]},"795":{"position":[[12,2]]},"797":{"position":[[11,2],[360,2]]},"799":{"position":[[68,2]]},"823":{"position":[[196,2]]}}}],["一个个",{"_index":1491,"t":{"309":{"position":[[31,3]]}}}],["一些",{"_index":189,"t":{"11":{"position":[[28,2]]},"63":{"position":[[11,2]]},"143":{"position":[[63,2]]},"239":{"position":[[430,2],[616,2]]},"295":{"position":[[1129,2]]},"299":{"position":[[17,2]]},"337":{"position":[[44,2]]},"361":{"position":[[2855,2]]},"501":{"position":[[144,2],[188,2]]},"553":{"position":[[8,2]]},"568":{"position":[[10,2]]},"629":{"position":[[64,2]]},"641":{"position":[[117,2]]},"712":{"position":[[57,2]]},"720":{"position":[[23,2]]}}}],["一份",{"_index":204,"t":{"11":{"position":[[92,2]]},"431":{"position":[[86,2]]}}}],["一体化",{"_index":23,"t":{"2":{"position":[[74,3]]},"4":{"position":[[201,3]]},"7":{"position":[[137,3]]}}}],["一套",{"_index":3,"t":{"2":{"position":[[10,2]]},"185":{"position":[[173,2]]},"222":{"position":[[43,2]]}}}],["一定",{"_index":1335,"t":{"243":{"position":[[187,2],[224,2]]},"505":{"position":[[137,2]]},"712":{"position":[[384,2]]}}}],["一对",{"_index":1891,"t":{"481":{"position":[[651,2]]}}}],["一层",{"_index":2449,"t":{"829":{"position":[[9,2]]}}}],["一张",{"_index":2249,"t":{"683":{"position":[[1,2]]}}}],["一条",{"_index":1964,"t":{"515":{"position":[[765,2]]}}}],["一样",{"_index":1085,"t":{"210":{"position":[[150,2]]},"212":{"position":[[404,2]]},"585":{"position":[[15,2]]},"604":{"position":[[92,2]]},"637":{"position":[[521,2]]}}}],["一次",{"_index":1273,"t":{"237":{"position":[[380,2]]},"295":{"position":[[283,2]]}}}],["一种",{"_index":953,"t":{"183":{"position":[[6,2],[51,2]]},"309":{"position":[[9,2]]},"633":{"position":[[53,2]]}}}],["一类",{"_index":2095,"t":{"604":{"position":[[29,2]]}}}],["一系列",{"_index":2088,"t":{"595":{"position":[[27,3]]},"670":{"position":[[27,3]]}}}],["一组",{"_index":2096,"t":{"604":{"position":[[43,2]]}}}],["一致",{"_index":1061,"t":{"203":{"position":[[116,2]]},"248":{"position":[[21,2]]},"250":{"position":[[88,2]]},"388":{"position":[[193,2]]},"481":{"position":[[694,2]]},"643":{"position":[[40,2]]}}}],["一致性",{"_index":142,"t":{"7":{"position":[[205,3]]},"237":{"position":[[121,3]]}}}],["一般",{"_index":239,"t":{"19":{"position":[[5,2]]},"124":{"position":[[61,2]]},"337":{"position":[[19,2]]},"388":{"position":[[48,2]]},"427":{"position":[[53,2],[195,2]]},"481":{"position":[[198,2]]},"560":{"position":[[428,2]]},"637":{"position":[[153,2]]},"712":{"position":[[77,2]]},"833":{"position":[[10,2]]},"835":{"position":[[10,2]]}}}],["一起",{"_index":821,"t":{"124":{"position":[[76,2]]},"220":{"position":[[93,2]]}}}],["一部分",{"_index":975,"t":{"185":{"position":[[110,3]]}}}],["一键",{"_index":1498,"t":{"309":{"position":[[182,2]]}}}],["三个",{"_index":1843,"t":{"429":{"position":[[764,2]]},"606":{"position":[[53,2]]},"679":{"position":[[97,2]]}}}],["三方",{"_index":368,"t":{"41":{"position":[[0,2],[19,2]]},"505":{"position":[[150,2],[325,2]]},"521":{"position":[[144,2],[310,2]]},"805":{"position":[[767,2]]}}}],["三种",{"_index":1399,"t":{"266":{"position":[[242,2]]},"521":{"position":[[74,2]]},"614":{"position":[[9,2]]}}}],["上下文",{"_index":965,"t":{"185":{"position":[[30,3]]},"803":{"position":[[14,3]]},"825":{"position":[[18,3]]}}}],["上传",{"_index":558,"t":{"82":{"position":[[180,2]]},"89":{"position":[[68,2],[75,2]]},"791":{"position":[[107,2]]}}}],["上空",{"_index":1672,"t":{"361":{"position":[[1607,2]]}}}],["上述",{"_index":1259,"t":{"237":{"position":[[93,2]]},"339":{"position":[[88,2]]},"363":{"position":[[336,2]]},"372":{"position":[[189,2]]},"400":{"position":[[126,2]]},"402":{"position":[[132,2]]},"535":{"position":[[183,2]]},"699":{"position":[[7,2]]},"758":{"position":[[202,2]]},"805":{"position":[[1083,2]]}}}],["上面",{"_index":700,"t":{"98":{"position":[[275,2]]},"115":{"position":[[1,2]]},"545":{"position":[[179,2]]},"703":{"position":[[445,2]]},"799":{"position":[[834,2]]}}}],["下来",{"_index":1855,"t":{"439":{"position":[[54,2]]}}}],["下载",{"_index":1804,"t":{"424":{"position":[[34,2]]}}}],["下降",{"_index":967,"t":{"185":{"position":[[42,2]]}}}],["下面",{"_index":885,"t":{"158":{"position":[[16,2]]},"418":{"position":[[95,2]]},"435":{"position":[[49,2]]},"499":{"position":[[380,2]]},"501":{"position":[[169,2]]},"606":{"position":[[27,2],[322,2]]}}}],["不了",{"_index":488,"t":{"63":{"position":[[41,2]]}}}],["不仅",{"_index":2127,"t":{"639":{"position":[[101,2]]}}}],["不会",{"_index":820,"t":{"124":{"position":[[23,2]]},"237":{"position":[[829,2],[929,2],[1008,2]]},"376":{"position":[[99,2]]},"392":{"position":[[185,2]]},"501":{"position":[[64,2]]},"606":{"position":[[250,2]]},"612":{"position":[[130,2]]},"637":{"position":[[70,2]]},"654":{"position":[[336,2]]},"679":{"position":[[298,2]]},"716":{"position":[[15,2]]}}}],["不再",{"_index":308,"t":{"23":{"position":[[394,2]]},"357":{"position":[[443,2]]},"359":{"position":[[1125,2],[1157,2],[1773,2]]},"361":{"position":[[2841,2]]},"519":{"position":[[3,2]]}}}],["不到",{"_index":919,"t":{"171":{"position":[[52,2]]}}}],["不变",{"_index":1587,"t":{"351":{"position":[[404,2]]},"521":{"position":[[174,2]]}}}],["不可",{"_index":1841,"t":{"429":{"position":[[733,2]]}}}],["不同",{"_index":141,"t":{"7":{"position":[[200,2]]},"100":{"position":[[387,2]]},"117":{"position":[[43,2]]},"141":{"position":[[47,2]]},"250":{"position":[[50,2],[298,2],[304,2]]},"276":{"position":[[3,2]]},"363":{"position":[[260,2]]},"388":{"position":[[72,2],[78,2]]},"427":{"position":[[1102,2]]},"439":{"position":[[36,2],[48,2],[712,2]]},"481":{"position":[[204,2],[211,2]]},"560":{"position":[[305,2]]},"582":{"position":[[532,2]]},"606":{"position":[[361,2]]},"635":{"position":[[6,2]]},"651":{"position":[[208,2]]}}}],["不够",{"_index":1338,"t":{"246":{"position":[[19,2]]}}}],["不容",{"_index":2040,"t":{"558":{"position":[[92,2]]}}}],["不必",{"_index":2016,"t":{"539":{"position":[[52,2]]}}}],["不想",{"_index":1993,"t":{"531":{"position":[[24,2]]},"606":{"position":[[567,2]]},"629":{"position":[[68,2]]}}}],["不是",{"_index":253,"t":{"19":{"position":[[99,2]]},"149":{"position":[[3,2]]},"158":{"position":[[2,2]]},"183":{"position":[[49,2]]},"235":{"position":[[75,2]]},"237":{"position":[[982,2]]},"329":{"position":[[24,2]]},"388":{"position":[[104,2]]},"427":{"position":[[1317,2]]},"591":{"position":[[50,2]]},"635":{"position":[[24,2]]},"716":{"position":[[43,2]]}}}],["不止",{"_index":125,"t":{"7":{"position":[[68,2]]}}}],["不稳定性",{"_index":937,"t":{"179":{"position":[[91,4]]}}}],["不能",{"_index":799,"t":{"115":{"position":[[142,2]]},"372":{"position":[[173,2]]},"392":{"position":[[95,2]]},"515":{"position":[[570,2]]},"566":{"position":[[10,2]]},"643":{"position":[[12,2]]},"758":{"position":[[186,2]]}}}],["不要",{"_index":1141,"t":{"220":{"position":[[128,2]]}}}],["不配",{"_index":1332,"t":{"241":{"position":[[239,2]]}}}],["与其",{"_index":2136,"t":{"643":{"position":[[665,2]]}}}],["丑陋",{"_index":2151,"t":{"651":{"position":[[123,2]]}}}],["专用",{"_index":2385,"t":{"787":{"position":[[5,2]]}}}],["业务",{"_index":44,"t":{"4":{"position":[[70,2],[162,2],[447,2]]},"7":{"position":[[78,2],[106,2]]},"43":{"position":[[28,2]]},"183":{"position":[[27,2]]},"237":{"position":[[157,2]]},"427":{"position":[[66,2],[131,2],[1035,2]]},"441":{"position":[[184,2]]}}}],["丢失",{"_index":1122,"t":{"216":{"position":[[93,2]]}}}],["两个",{"_index":726,"t":{"107":{"position":[[51,2]]},"117":{"position":[[87,2]]},"293":{"position":[[52,2],[470,2]]},"297":{"position":[[5,2]]},"651":{"position":[[49,2]]}}}],["两种",{"_index":409,"t":{"43":{"position":[[247,2]]},"131":{"position":[[62,2]]},"228":{"position":[[14,2]]},"257":{"position":[[226,2]]},"406":{"position":[[11,2]]},"427":{"position":[[1100,2]]},"562":{"position":[[28,2]]},"712":{"position":[[10,2]]},"722":{"position":[[13,2]]},"737":{"position":[[2,2]]}}}],["两者",{"_index":2311,"t":{"722":{"position":[[183,2]]}}}],["严格",{"_index":1513,"t":{"321":{"position":[[84,2]]}}}],["中",{"_index":227,"t":{"15":{"position":[[156,1]]},"23":{"position":[[9,1],[232,1],[267,1]]},"25":{"position":[[51,1]]},"43":{"position":[[45,1],[50,1],[71,1],[81,1],[154,1]]},"45":{"position":[[51,1]]},"47":{"position":[[67,1]]},"49":{"position":[[34,1]]},"51":{"position":[[12,1],[52,1]]},"63":{"position":[[61,1]]},"65":{"position":[[63,1]]},"85":{"position":[[1135,1],[1205,1]]},"98":{"position":[[69,1]]},"100":{"position":[[14,1]]},"107":{"position":[[13,1],[119,1]]},"109":{"position":[[118,1]]},"113":{"position":[[336,1],[407,1],[440,1]]},"115":{"position":[[6,1],[31,1],[73,1],[159,1],[559,1]]},"126":{"position":[[9,1],[236,1],[273,1]]},"128":{"position":[[53,1]]},"137":{"position":[[308,1]]},"141":{"position":[[89,1]]},"162":{"position":[[7,1]]},"164":{"position":[[7,1]]},"169":{"position":[[218,1]]},"171":{"position":[[88,1]]},"179":{"position":[[122,1]]},"185":{"position":[[140,1]]},"193":{"position":[[223,1]]},"203":{"position":[[132,1]]},"205":{"position":[[48,1]]},"210":{"position":[[134,1]]},"214":{"position":[[60,1]]},"216":{"position":[[37,1]]},"218":{"position":[[8,1],[39,1],[72,1],[106,1]]},"220":{"position":[[20,1]]},"224":{"position":[[79,1]]},"228":{"position":[[23,1],[63,1]]},"230":{"position":[[122,1],[479,1],[693,1]]},"239":{"position":[[5,1],[80,1]]},"241":{"position":[[10,1]]},"250":{"position":[[449,1]]},"257":{"position":[[563,1]]},"261":{"position":[[278,1]]},"266":{"position":[[547,1]]},"268":{"position":[[20,1]]},"270":{"position":[[310,1]]},"274":{"position":[[52,1]]},"276":{"position":[[9,1],[22,1]]},"280":{"position":[[17,1]]},"284":{"position":[[17,1]]},"293":{"position":[[467,1]]},"295":{"position":[[330,1]]},"305":{"position":[[35,1]]},"307":{"position":[[2,1],[104,1]]},"311":{"position":[[53,1]]},"339":{"position":[[280,1]]},"343":{"position":[[105,1]]},"347":{"position":[[5,1]]},"351":{"position":[[165,1],[369,1]]},"359":{"position":[[19,1],[70,1],[1124,1]]},"365":{"position":[[85,1],[376,1],[562,1],[718,1],[895,1]]},"382":{"position":[[36,1]]},"384":{"position":[[26,1]]},"388":{"position":[[65,1],[75,1],[155,1]]},"392":{"position":[[64,1],[107,1],[175,1],[197,1]]},"398":{"position":[[31,1],[64,1]]},"402":{"position":[[107,1]]},"404":{"position":[[71,1]]},"406":{"position":[[34,1],[118,1]]},"427":{"position":[[107,1],[585,1],[1263,1],[1296,1]]},"429":{"position":[[799,1]]},"431":{"position":[[80,1]]},"437":{"position":[[31,1],[263,1]]},"439":{"position":[[659,1]]},"453":{"position":[[47,1]]},"465":{"position":[[101,1]]},"469":{"position":[[41,1]]},"474":{"position":[[32,1]]},"481":{"position":[[180,1],[370,1]]},"521":{"position":[[164,1],[330,1]]},"529":{"position":[[161,1]]},"539":{"position":[[24,1],[38,1]]},"541":{"position":[[319,1]]},"543":{"position":[[11,1]]},"555":{"position":[[78,1]]},"558":{"position":[[31,1],[74,1]]},"560":{"position":[[28,1],[132,1],[142,1],[302,1],[462,1]]},"562":{"position":[[9,1]]},"564":{"position":[[55,1]]},"566":{"position":[[30,1],[93,1]]},"587":{"position":[[65,1]]},"589":{"position":[[223,1]]},"600":{"position":[[34,1],[45,1],[103,1],[246,1]]},"606":{"position":[[32,1],[284,1]]},"620":{"position":[[192,1]]},"635":{"position":[[18,1],[57,1]]},"637":{"position":[[13,1]]},"639":{"position":[[339,1],[362,1],[445,1]]},"649":{"position":[[35,1]]},"651":{"position":[[47,1],[955,1]]},"654":{"position":[[23,1],[62,1],[224,1]]},"656":{"position":[[148,1]]},"660":{"position":[[14,1]]},"663":{"position":[[17,1]]},"665":{"position":[[17,1]]},"672":{"position":[[38,1]]},"677":{"position":[[17,1]]},"679":{"position":[[15,1],[252,1],[294,1]]},"681":{"position":[[35,1],[104,1],[118,1],[168,1]]},"685":{"position":[[14,1]]},"703":{"position":[[19,1],[56,1],[279,1],[420,1],[449,1]]},"712":{"position":[[52,1],[123,1]]},"716":{"position":[[4,1]]},"724":{"position":[[5,1],[145,1]]},"726":{"position":[[128,1]]},"728":{"position":[[5,1],[47,1],[73,1]]},"741":{"position":[[60,1],[515,1],[670,1],[712,1],[779,1],[840,1],[944,1]]},"749":{"position":[[37,1],[62,1]]},"753":{"position":[[61,1],[72,1],[130,1],[273,1]]},"769":{"position":[[8,1]]},"787":{"position":[[127,1]]},"797":{"position":[[630,1]]},"799":{"position":[[850,1],[1132,1]]},"803":{"position":[[134,1],[161,1]]},"809":{"position":[[23,1]]}}}],["中国",{"_index":709,"t":{"98":{"position":[[335,2]]}}}],["中文",{"_index":708,"t":{"98":{"position":[[332,2],[345,2]]},"111":{"position":[[868,2]]}}}],["中途",{"_index":2414,"t":{"807":{"position":[[55,2]]}}}],["中间件",{"_index":773,"t":{"113":{"position":[[501,3]]},"124":{"position":[[73,3]]},"553":{"position":[[10,3]]},"805":{"position":[[725,3]]}}}],["丰富",{"_index":70,"t":{"4":{"position":[[180,2]]},"670":{"position":[[82,2]]},"712":{"position":[[359,2]]},"793":{"position":[[34,2]]}}}],["串行",{"_index":1810,"t":{"427":{"position":[[89,2]]}}}],["临时",{"_index":1868,"t":{"467":{"position":[[72,2]]}}}],["为主",{"_index":243,"t":{"19":{"position":[[16,2],[67,2]]}}}],["为了",{"_index":199,"t":{"11":{"position":[[74,2]]},"37":{"position":[[0,2]]},"115":{"position":[[132,2]]},"313":{"position":[[0,2]]},"359":{"position":[[0,2]]},"363":{"position":[[112,2],[291,2]]},"472":{"position":[[0,2]]},"501":{"position":[[31,2]]},"651":{"position":[[186,2]]},"741":{"position":[[853,2]]},"805":{"position":[[217,2]]}}}],["主",{"_index":879,"t":{"154":{"position":[[19,1]]},"585":{"position":[[163,1]]},"697":{"position":[[20,1]]}}}],["主体",{"_index":2254,"t":{"689":{"position":[[2,2]]}}}],["主动",{"_index":1620,"t":{"359":{"position":[[495,2]]},"365":{"position":[[15,2],[302,2],[650,2]]},"505":{"position":[[350,2]]},"523":{"position":[[191,2]]}}}],["主机名",{"_index":1756,"t":{"408":{"position":[[228,3]]}}}],["主流",{"_index":274,"t":{"23":{"position":[[83,2]]},"126":{"position":[[87,2]]},"272":{"position":[[36,2]]}}}],["主要",{"_index":386,"t":{"43":{"position":[[41,2]]},"171":{"position":[[27,2]]},"228":{"position":[[11,2]]},"722":{"position":[[29,2]]},"817":{"position":[[11,2]]},"825":{"position":[[26,2]]}}}],["主题",{"_index":293,"t":{"23":{"position":[[214,2]]},"30":{"position":[[27,2]]},"32":{"position":[[27,2]]},"34":{"position":[[51,2]]},"126":{"position":[[218,2]]},"133":{"position":[[32,2]]},"135":{"position":[[51,2]]},"137":{"position":[[279,2]]},"276":{"position":[[26,2]]},"357":{"position":[[260,2]]},"771":{"position":[[17,2]]},"773":{"position":[[19,2]]}}}],["之一",{"_index":394,"t":{"43":{"position":[[96,2]]}}}],["之上",{"_index":72,"t":{"4":{"position":[[213,2]]}}}],["之前",{"_index":144,"t":{"9":{"position":[[11,2]]},"107":{"position":[[169,2]]},"109":{"position":[[168,2]]},"143":{"position":[[2,2]]},"210":{"position":[[148,2]]},"220":{"position":[[123,2]]},"392":{"position":[[233,2]]},"560":{"position":[[149,2],[172,2]]}}}],["之后",{"_index":839,"t":{"139":{"position":[[70,2]]}}}],["之外",{"_index":1522,"t":{"325":{"position":[[14,2]]},"604":{"position":[[427,2]]},"689":{"position":[[6,2]]}}}],["之类",{"_index":2137,"t":{"647":{"position":[[52,2]]}}}],["之间",{"_index":2303,"t":{"722":{"position":[[17,2]]}}}],["也就是说",{"_index":2286,"t":{"714":{"position":[[104,4]]}}}],["书写",{"_index":958,"t":{"183":{"position":[[37,2]]}}}],["了解",{"_index":1139,"t":{"220":{"position":[[101,2]]}}}],["事件",{"_index":852,"t":{"139":{"position":[[232,2]]},"210":{"position":[[26,2]]},"220":{"position":[[10,2],[22,2],[83,2],[117,2],[153,2]]},"667":{"position":[[14,2],[31,2]]},"677":{"position":[[74,2]]},"679":{"position":[[43,2],[106,2],[115,2],[281,2]]},"703":{"position":[[411,2]]},"747":{"position":[[14,2],[31,2]]},"807":{"position":[[17,2]]},"821":{"position":[[34,2],[241,2]]}}}],["二",{"_index":2295,"t":{"714":{"position":[[374,1]]}}}],["二次",{"_index":1832,"t":{"429":{"position":[[46,2]]},"505":{"position":[[154,2]]}}}],["二者",{"_index":1829,"t":{"427":{"position":[[1298,2]]}}}],["云",{"_index":515,"t":{"78":{"position":[[7,1]]}}}],["交互",{"_index":1147,"t":{"222":{"position":[[50,2]]}}}],["产物",{"_index":353,"t":{"37":{"position":[[99,2]]},"39":{"position":[[4,2]]},"89":{"position":[[47,2]]},"427":{"position":[[1202,2]]},"441":{"position":[[53,2]]},"453":{"position":[[43,2]]},"459":{"position":[[46,2]]},"467":{"position":[[26,2]]},"493":{"position":[[22,2]]},"497":{"position":[[22,2]]},"513":{"position":[[220,2],[420,2],[688,2],[866,2]]},"519":{"position":[[88,2]]},"531":{"position":[[22,2]]},"637":{"position":[[963,2]]},"643":{"position":[[685,2]]},"743":{"position":[[76,2],[145,2]]},"785":{"position":[[13,2],[34,2]]},"789":{"position":[[103,2],[247,2]]},"791":{"position":[[28,2],[55,2]]},"805":{"position":[[658,2],[838,2]]}}}],["产生",{"_index":1052,"t":{"199":{"position":[[7,2]]},"641":{"position":[[49,2]]},"651":{"position":[[118,2]]},"756":{"position":[[78,2]]}}}],["享受",{"_index":101,"t":{"4":{"position":[[367,2]]},"139":{"position":[[74,2]]}}}],["仅",{"_index":1021,"t":{"195":{"position":[[0,1]]},"214":{"position":[[14,1]]},"295":{"position":[[352,1]]},"392":{"position":[[170,1]]},"404":{"position":[[49,1]]},"485":{"position":[[65,1]]},"487":{"position":[[29,1]]},"497":{"position":[[29,1]]},"515":{"position":[[783,1]]},"527":{"position":[[93,1]]},"658":{"position":[[109,1]]},"679":{"position":[[48,1]]},"735":{"position":[[44,1]]},"741":{"position":[[780,1]]},"751":{"position":[[41,1]]}}}],["介绍",{"_index":387,"t":{"43":{"position":[[43,2]]},"735":{"position":[[45,2]]}}}],["仍然",{"_index":1919,"t":{"501":{"position":[[158,2],[394,2]]}}}],["从而",{"_index":1128,"t":{"218":{"position":[[89,2]]}}}],["付出",{"_index":135,"t":{"7":{"position":[[163,2]]}}}],["代理",{"_index":1134,"t":{"220":{"position":[[26,2]]},"495":{"position":[[44,2]]}}}],["代理服务",{"_index":2403,"t":{"805":{"position":[[737,4]]}}}],["代码",{"_index":49,"t":{"4":{"position":[[83,2]]},"19":{"position":[[1,2],[25,2],[107,2]]},"23":{"position":[[48,2],[136,2]]},"37":{"position":[[29,2]]},"63":{"position":[[2,2]]},"74":{"position":[[2,2]]},"126":{"position":[[52,2],[140,2]]},"185":{"position":[[36,2]]},"250":{"position":[[9,2]]},"333":{"position":[[163,2]]},"441":{"position":[[20,2]]},"481":{"position":[[178,2],[213,2],[368,2],[542,2]]},"499":{"position":[[59,2],[64,2],[81,2],[107,2],[123,2]]},"501":{"position":[[85,2]]},"505":{"position":[[161,2],[321,2]]},"507":{"position":[[112,2]]},"543":{"position":[[16,2]]},"545":{"position":[[57,2]]},"553":{"position":[[39,2]]},"566":{"position":[[91,2]]},"587":{"position":[[70,2]]},"591":{"position":[[47,2]]},"641":{"position":[[64,2],[95,2]]},"651":{"position":[[307,2]]},"670":{"position":[[147,2]]},"703":{"position":[[42,2]]}}}],["令",{"_index":2294,"t":{"714":{"position":[[278,1]]}}}],["以上",{"_index":137,"t":{"7":{"position":[[176,2]]},"23":{"position":[[334,2]]},"139":{"position":[[245,2]]},"406":{"position":[[135,2]]},"418":{"position":[[39,2]]},"779":{"position":[[33,2]]}}}],["以下",{"_index":305,"t":{"23":{"position":[[357,2]]},"43":{"position":[[103,2]]},"76":{"position":[[18,2]]},"80":{"position":[[28,2]]},"96":{"position":[[237,2]]},"98":{"position":[[12,2]]},"100":{"position":[[295,2]]},"115":{"position":[[167,2]]},"117":{"position":[[62,2]]},"137":{"position":[[23,2]]},"139":{"position":[[145,2]]},"189":{"position":[[0,2]]},"243":{"position":[[48,2]]},"268":{"position":[[35,2]]},"303":{"position":[[54,2]]},"339":{"position":[[7,2]]},"361":{"position":[[36,2],[2891,2]]},"431":{"position":[[411,2]]},"515":{"position":[[372,2],[777,2]]},"541":{"position":[[51,2]]},"543":{"position":[[14,2]]},"549":{"position":[[18,2]]},"553":{"position":[[34,2]]},"582":{"position":[[382,2]]},"606":{"position":[[127,2]]},"651":{"position":[[299,2]]},"701":{"position":[[12,2]]},"703":{"position":[[59,2]]},"741":{"position":[[33,2],[63,2]]},"749":{"position":[[9,2]]},"751":{"position":[[39,2]]},"781":{"position":[[5,2]]},"783":{"position":[[66,2]]},"785":{"position":[[2,2]]},"791":{"position":[[12,2]]},"797":{"position":[[44,2]]},"805":{"position":[[263,2]]}}}],["以下内容",{"_index":762,"t":{"113":{"position":[[85,4]]},"257":{"position":[[37,4]]},"261":{"position":[[185,4],[281,4]]},"266":{"position":[[39,4]]},"270":{"position":[[132,4],[313,4]]},"683":{"position":[[55,4]]}}}],["以便",{"_index":465,"t":{"57":{"position":[[24,2]]},"107":{"position":[[179,2]]},"109":{"position":[[178,2]]},"252":{"position":[[80,2]]}}}],["以及",{"_index":21,"t":{"2":{"position":[[68,2]]},"4":{"position":[[126,2]]},"7":{"position":[[187,2]]},"23":{"position":[[218,2]]},"126":{"position":[[222,2]]},"149":{"position":[[33,2],[91,2]]},"210":{"position":[[12,2],[164,2]]},"309":{"position":[[125,2]]},"443":{"position":[[17,2]]},"483":{"position":[[90,2]]},"501":{"position":[[94,2]]},"505":{"position":[[148,2]]},"529":{"position":[[176,2]]},"541":{"position":[[334,2]]},"647":{"position":[[83,2]]},"735":{"position":[[67,2]]}}}],["以后",{"_index":2027,"t":{"549":{"position":[[9,2]]},"783":{"position":[[61,2]]}}}],["以此",{"_index":415,"t":{"47":{"position":[[36,2]]}}}],["任一",{"_index":688,"t":{"96":{"position":[[174,2]]}}}],["任何",{"_index":230,"t":{"15":{"position":[[171,2]]},"96":{"position":[[111,2]]},"171":{"position":[[54,2]]},"210":{"position":[[362,2]]},"252":{"position":[[35,2]]},"499":{"position":[[48,2]]},"610":{"position":[[45,2]]}}}],["任务",{"_index":2417,"t":{"807":{"position":[[344,2]]},"815":{"position":[[5,2],[183,2]]},"817":{"position":[[4,2],[13,2]]}}}],["任意",{"_index":237,"t":{"17":{"position":[[30,2]]},"382":{"position":[[195,2]]}}}],["优于",{"_index":838,"t":{"139":{"position":[[53,2]]}}}],["优先",{"_index":2118,"t":{"637":{"position":[[32,2],[592,2]]}}}],["优先级",{"_index":1018,"t":{"193":{"position":[[189,3]]},"560":{"position":[[369,3]]}}}],["优化",{"_index":150,"t":{"9":{"position":[[29,2]]},"96":{"position":[[87,2]]},"185":{"position":[[125,2]]},"501":{"position":[[92,2]]},"595":{"position":[[37,2]]},"606":{"position":[[129,2],[274,2]]}}}],["优点",{"_index":2149,"t":{"651":{"position":[[81,2]]}}}],["会",{"_index":167,"t":{"9":{"position":[[102,1],[120,1],[148,1]]},"23":{"position":[[126,1],[177,1]]},"37":{"position":[[36,1],[70,1],[94,1]]},"39":{"position":[[79,1]]},"43":{"position":[[90,1]]},"63":{"position":[[8,1]]},"74":{"position":[[12,1]]},"94":{"position":[[60,1]]},"100":{"position":[[286,1],[394,1]]},"107":{"position":[[108,1]]},"109":{"position":[[41,1],[107,1]]},"113":{"position":[[28,1]]},"117":{"position":[[40,1],[342,1]]},"126":{"position":[[130,1],[181,1]]},"179":{"position":[[88,1]]},"210":{"position":[[117,1]]},"212":{"position":[[81,1],[113,1],[367,1],[406,1]]},"216":{"position":[[88,1]]},"218":{"position":[[73,1]]},"220":{"position":[[160,1]]},"222":{"position":[[8,1]]},"237":{"position":[[302,1],[440,1],[1177,1],[1227,1]]},"248":{"position":[[26,1]]},"250":{"position":[[58,1]]},"303":{"position":[[19,1]]},"335":{"position":[[269,1]]},"339":{"position":[[97,1]]},"351":{"position":[[91,1],[373,1]]},"359":{"position":[[1165,1]]},"376":{"position":[[7,1]]},"388":{"position":[[20,1]]},"420":{"position":[[15,1]]},"422":{"position":[[21,1]]},"427":{"position":[[116,1],[198,1],[234,1],[1021,1],[1275,1],[1301,1]]},"429":{"position":[[8,1]]},"431":{"position":[[408,1]]},"435":{"position":[[652,1]]},"453":{"position":[[36,1]]},"461":{"position":[[12,1]]},"463":{"position":[[25,1]]},"465":{"position":[[95,1]]},"481":{"position":[[418,1],[473,1],[509,1]]},"501":{"position":[[103,1]]},"503":{"position":[[585,1]]},"519":{"position":[[46,1],[68,1]]},"537":{"position":[[223,1],[280,1]]},"541":{"position":[[152,1]]},"555":{"position":[[67,1]]},"560":{"position":[[36,1]]},"564":{"position":[[16,1]]},"568":{"position":[[7,1]]},"585":{"position":[[160,1]]},"598":{"position":[[2,1],[58,1]]},"600":{"position":[[15,1]]},"604":{"position":[[416,1]]},"606":{"position":[[160,1],[223,1]]},"610":{"position":[[24,1],[54,1]]},"629":{"position":[[13,1]]},"637":{"position":[[89,1],[124,1],[585,1],[967,1]]},"641":{"position":[[85,1],[97,1]]},"643":{"position":[[689,1]]},"649":{"position":[[39,1]]},"654":{"position":[[233,1],[240,1]]},"656":{"position":[[143,1]]},"679":{"position":[[99,1]]},"691":{"position":[[2,1]]},"693":{"position":[[7,1]]},"695":{"position":[[23,1]]},"697":{"position":[[15,1],[33,1]]},"712":{"position":[[55,1]]},"714":{"position":[[99,1],[189,1]]},"722":{"position":[[215,1]]},"728":{"position":[[25,1],[66,1]]},"730":{"position":[[86,1]]},"749":{"position":[[39,1]]},"753":{"position":[[42,1]]},"783":{"position":[[98,1],[136,1]]},"807":{"position":[[38,1]]}}}],["传入",{"_index":814,"t":{"115":{"position":[[562,2]]},"171":{"position":[[1,2]]},"237":{"position":[[1304,2],[1397,2],[1522,2]]},"257":{"position":[[189,2]]},"266":{"position":[[201,2]]},"295":{"position":[[316,2]]},"435":{"position":[[555,2]]},"439":{"position":[[108,2]]}}}],["传染性",{"_index":1119,"t":{"216":{"position":[[23,3]]}}}],["传给",{"_index":1851,"t":{"435":{"position":[[666,2]]}}}],["传统",{"_index":1046,"t":{"197":{"position":[[277,2]]},"427":{"position":[[40,2]]},"633":{"position":[[95,2]]},"639":{"position":[[352,2]]}}}],["传递",{"_index":1268,"t":{"237":{"position":[[303,2]]},"431":{"position":[[84,2]]},"555":{"position":[[24,2]]},"745":{"position":[[27,2]]}}}],["但是",{"_index":858,"t":{"141":{"position":[[74,2]]},"185":{"position":[[11,2]]},"191":{"position":[[138,2]]},"210":{"position":[[77,2]]},"606":{"position":[[564,2]]},"665":{"position":[[50,2]]},"697":{"position":[[31,2]]},"699":{"position":[[40,2]]},"703":{"position":[[25,2]]},"714":{"position":[[171,2]]},"724":{"position":[[139,2]]},"726":{"position":[[114,2]]},"753":{"position":[[25,2]]}}}],["位",{"_index":1045,"t":{"197":{"position":[[273,1]]},"654":{"position":[[297,1]]}}}],["位于",{"_index":2056,"t":{"580":{"position":[[48,2]]},"604":{"position":[[307,2],[347,2]]}}}],["低",{"_index":238,"t":{"19":{"position":[[0,1],[106,1]]},"560":{"position":[[373,1]]}}}],["体积",{"_index":347,"t":{"37":{"position":[[78,2]]},"39":{"position":[[14,2]]},"41":{"position":[[8,2]]},"309":{"position":[[136,2]]},"408":{"position":[[390,2]]},"410":{"position":[[221,2]]},"501":{"position":[[87,2]]},"519":{"position":[[51,2]]},"521":{"position":[[376,2]]},"670":{"position":[[149,2]]},"712":{"position":[[243,2],[378,2]]}}}],["体系",{"_index":114,"t":{"4":{"position":[[462,2]]},"670":{"position":[[11,2]]}}}],["体验",{"_index":155,"t":{"9":{"position":[[44,2]]},"422":{"position":[[28,2]]},"427":{"position":[[178,2]]},"501":{"position":[[45,2]]},"507":{"position":[[478,2]]},"513":{"position":[[884,2]]},"535":{"position":[[51,2]]},"606":{"position":[[143,2],[315,2]]},"614":{"position":[[66,2]]},"633":{"position":[[138,2]]},"670":{"position":[[152,2]]},"695":{"position":[[351,2]]},"697":{"position":[[248,2]]}}}],["作",{"_index":2313,"t":{"722":{"position":[[193,1]]}}}],["作为",{"_index":1435,"t":{"295":{"position":[[322,2],[900,2]]},"317":{"position":[[15,2]]},"349":{"position":[[15,2]]},"351":{"position":[[9,2]]},"363":{"position":[[621,2]]},"472":{"position":[[38,2]]},"541":{"position":[[35,2]]},"600":{"position":[[283,2]]},"604":{"position":[[326,2],[359,2]]},"610":{"position":[[88,2]]},"654":{"position":[[42,2]]},"728":{"position":[[33,2]]},"753":{"position":[[310,2]]}}}],["作用",{"_index":1016,"t":{"193":{"position":[[177,2]]}}}],["作用域",{"_index":1039,"t":{"197":{"position":[[32,3]]}}}],["使用",{"_index":175,"t":{"9":{"position":[[134,2]]},"15":{"position":[[14,2],[118,2]]},"17":{"position":[[45,2]]},"19":{"position":[[23,2]]},"23":{"position":[[14,2],[58,2],[237,2],[371,2]]},"57":{"position":[[379,2]]},"76":{"position":[[16,2]]},"89":{"position":[[32,2]]},"96":{"position":[[193,2],[224,2]]},"107":{"position":[[14,2]]},"109":{"position":[[0,2]]},"111":{"position":[[2,2],[58,2],[70,2]]},"113":{"position":[[504,2]]},"124":{"position":[[78,2]]},"126":{"position":[[14,2],[62,2],[241,2]]},"139":{"position":[[7,2],[142,2],[242,2]]},"141":{"position":[[30,2],[52,2],[64,2],[94,2]]},"143":{"position":[[4,2]]},"177":{"position":[[66,2]]},"181":{"position":[[14,2]]},"187":{"position":[[36,2],[213,2]]},"193":{"position":[[224,2]]},"199":{"position":[[40,2]]},"203":{"position":[[92,2]]},"205":{"position":[[277,2]]},"210":{"position":[[152,2],[348,2],[427,2]]},"212":{"position":[[82,2]]},"214":{"position":[[24,2],[136,2]]},"216":{"position":[[40,2],[77,2],[104,2]]},"218":{"position":[[46,2],[146,2]]},"220":{"position":[[130,2]]},"224":{"position":[[11,2]]},"230":{"position":[[8,2]]},"235":{"position":[[23,2],[156,2],[429,2]]},"237":{"position":[[0,2],[118,2],[377,2],[1043,2],[1256,2],[1680,2]]},"241":{"position":[[243,2],[335,2],[392,2],[484,2]]},"250":{"position":[[302,2]]},"255":{"position":[[18,2],[43,2]]},"261":{"position":[[10,2]]},"284":{"position":[[18,2],[26,2]]},"295":{"position":[[331,2],[404,2]]},"299":{"position":[[40,2],[554,2]]},"305":{"position":[[36,2]]},"313":{"position":[[9,2]]},"335":{"position":[[225,2]]},"351":{"position":[[149,2]]},"357":{"position":[[481,2]]},"359":{"position":[[22,2]]},"361":{"position":[[1577,2]]},"365":{"position":[[6,2],[293,2],[643,2]]},"372":{"position":[[148,2],[183,2]]},"382":{"position":[[52,2]]},"384":{"position":[[37,2]]},"388":{"position":[[88,2],[199,2],[238,2]]},"392":{"position":[[241,2]]},"394":{"position":[[29,2]]},"404":{"position":[[72,2],[75,2]]},"408":{"position":[[150,2]]},"410":{"position":[[146,2]]},"418":{"position":[[44,2],[60,2],[233,2]]},"420":{"position":[[188,2],[277,2]]},"422":{"position":[[2,2]]},"424":{"position":[[11,2]]},"429":{"position":[[150,2]]},"439":{"position":[[21,2]]},"459":{"position":[[8,2]]},"463":{"position":[[17,2]]},"481":{"position":[[373,2],[579,2],[622,2]]},"505":{"position":[[89,2],[241,2]]},"515":{"position":[[144,2],[643,2]]},"519":{"position":[[7,2]]},"523":{"position":[[176,2]]},"547":{"position":[[255,2]]},"553":{"position":[[6,2]]},"555":{"position":[[33,2]]},"558":{"position":[[32,2],[75,2]]},"560":{"position":[[185,2]]},"562":{"position":[[16,2],[44,2]]},"580":{"position":[[22,2]]},"587":{"position":[[15,2]]},"600":{"position":[[8,2]]},"606":{"position":[[582,2]]},"612":{"position":[[164,2]]},"616":{"position":[[1,2]]},"618":{"position":[[5,2]]},"620":{"position":[[5,2]]},"623":{"position":[[0,2]]},"625":{"position":[[0,2]]},"627":{"position":[[7,2]]},"637":{"position":[[594,2]]},"643":{"position":[[14,2]]},"647":{"position":[[9,2],[39,2]]},"651":{"position":[[17,2],[66,2]]},"654":{"position":[[35,2],[63,2],[324,2]]},"663":{"position":[[241,2]]},"670":{"position":[[157,2]]},"672":{"position":[[39,2]]},"677":{"position":[[18,2]]},"681":{"position":[[119,2]]},"695":{"position":[[78,2]]},"701":{"position":[[22,2]]},"703":{"position":[[22,2],[63,2],[284,2]]},"705":{"position":[[2,2]]},"709":{"position":[[18,2]]},"714":{"position":[[274,2],[321,2]]},"722":{"position":[[39,2],[138,2],[171,2],[200,2],[222,2]]},"728":{"position":[[26,2],[67,2],[89,2]]},"730":{"position":[[7,2],[89,2]]},"733":{"position":[[4,2]]},"735":{"position":[[77,2]]},"741":{"position":[[841,2],[945,2],[965,2]]},"743":{"position":[[128,2]]},"749":{"position":[[72,2],[150,2],[168,2],[266,2],[330,2]]},"753":{"position":[[35,2]]},"758":{"position":[[161,2],[196,2],[241,2]]},"760":{"position":[[25,2]]},"781":{"position":[[63,2]]},"789":{"position":[[86,2],[230,2]]},"791":{"position":[[80,2]]},"799":{"position":[[231,2]]},"831":{"position":[[8,2]]},"833":{"position":[[28,2]]},"835":{"position":[[28,2]]}}}],["例",{"_index":546,"t":{"82":{"position":[[11,1],[101,1]]},"257":{"position":[[286,1]]},"266":{"position":[[344,1]]},"278":{"position":[[34,1]]},"418":{"position":[[113,1]]},"654":{"position":[[143,1]]},"665":{"position":[[92,1]]},"699":{"position":[[82,1]]},"758":{"position":[[251,1]]},"791":{"position":[[8,1]]}}}],["例如",{"_index":493,"t":{"63":{"position":[[73,2]]},"239":{"position":[[23,2]]},"333":{"position":[[18,2]]},"427":{"position":[[1066,2]]},"499":{"position":[[126,2],[355,2]]},"537":{"position":[[133,2]]},"558":{"position":[[0,2]]},"585":{"position":[[50,2]]},"602":{"position":[[43,2]]},"606":{"position":[[24,2],[319,2]]},"608":{"position":[[29,2]]},"703":{"position":[[45,2]]},"743":{"position":[[20,2]]},"789":{"position":[[22,2]]},"813":{"position":[[152,2]]}}}],["例子",{"_index":690,"t":{"96":{"position":[[239,2]]}}}],["依旧",{"_index":1083,"t":{"210":{"position":[[143,2]]}}}],["依次",{"_index":538,"t":{"80":{"position":[[116,2]]},"82":{"position":[[146,2]]}}}],["依然",{"_index":164,"t":{"9":{"position":[[90,2]]}}}],["依赖",{"_index":109,"t":{"4":{"position":[[433,2]]},"41":{"position":[[2,2],[21,2]]},"63":{"position":[[9,2]]},"115":{"position":[[90,2]]},"261":{"position":[[69,2]]},"270":{"position":[[4,2]]},"357":{"position":[[663,2],[674,2]]},"359":{"position":[[1775,2]]},"427":{"position":[[1181,2]]},"429":{"position":[[93,2]]},"443":{"position":[[10,2]]},"501":{"position":[[146,2],[578,2]]},"505":{"position":[[152,2],[222,2],[327,2]]},"507":{"position":[[500,2]]},"521":{"position":[[146,2],[172,2],[312,2]]},"539":{"position":[[55,2]]},"582":{"position":[[435,2],[471,2]]},"637":{"position":[[995,2]]},"639":{"position":[[382,2]]},"643":{"position":[[714,2]]},"741":{"position":[[357,2],[398,2]]},"783":{"position":[[8,2],[38,2],[57,2]]},"787":{"position":[[17,2]]},"805":{"position":[[769,2]]}}}],["依赖于",{"_index":1438,"t":{"295":{"position":[[353,3]]},"427":{"position":[[63,3]]},"429":{"position":[[70,3],[163,3]]},"639":{"position":[[345,3],[424,3]]}}}],["侧",{"_index":1849,"t":{"435":{"position":[[138,1]]},"637":{"position":[[108,1]]},"641":{"position":[[110,1]]},"643":{"position":[[383,1]]}}}],["便于",{"_index":200,"t":{"11":{"position":[[76,2]]},"523":{"position":[[93,2]]}}}],["便捷",{"_index":1499,"t":{"313":{"position":[[7,2]]},"337":{"position":[[59,2]]},"345":{"position":[[23,2]]},"359":{"position":[[1573,2]]}}}],["保护",{"_index":797,"t":{"115":{"position":[[134,2]]}}}],["保持",{"_index":1583,"t":{"351":{"position":[[118,2]]},"637":{"position":[[178,2]]}}}],["保持一致",{"_index":1190,"t":{"235":{"position":[[36,4]]},"293":{"position":[[745,4]]},"313":{"position":[[673,4]]},"495":{"position":[[78,4]]},"600":{"position":[[272,4]]},"751":{"position":[[20,4]]},"753":{"position":[[299,4]]},"756":{"position":[[86,4]]},"758":{"position":[[317,4]]}}}],["保留",{"_index":1471,"t":{"303":{"position":[[20,2]]},"521":{"position":[[232,2]]},"537":{"position":[[153,2]]},"612":{"position":[[152,2]]},"654":{"position":[[292,2]]}}}],["保证",{"_index":140,"t":{"7":{"position":[[198,2]]},"237":{"position":[[114,2]]},"501":{"position":[[33,2],[99,2]]},"539":{"position":[[125,2]]},"647":{"position":[[313,2]]},"779":{"position":[[2,2]]}}}],["信",{"_index":654,"t":{"89":{"position":[[119,1]]},"424":{"position":[[41,1]]},"670":{"position":[[100,1]]},"672":{"position":[[53,1]]},"674":{"position":[[13,1]]},"681":{"position":[[46,1],[336,1]]},"703":{"position":[[151,1],[393,1]]},"743":{"position":[[30,1],[67,1]]},"745":{"position":[[124,1]]},"749":{"position":[[161,1],[198,1]]},"789":{"position":[[32,1]]},"791":{"position":[[3,1],[20,1]]}}}],["信任",{"_index":1346,"t":{"248":{"position":[[62,2]]}}}],["信息",{"_index":556,"t":{"82":{"position":[[175,2]]},"162":{"position":[[240,2],[490,2]]},"276":{"position":[[37,2]]},"372":{"position":[[18,2]]},"380":{"position":[[43,2]]},"396":{"position":[[0,2]]},"427":{"position":[[1145,2]]},"435":{"position":[[649,2]]},"443":{"position":[[21,2]]},"515":{"position":[[956,2]]},"582":{"position":[[401,2],[419,2]]},"598":{"position":[[21,2]]},"602":{"position":[[147,2]]},"620":{"position":[[185,2]]},"623":{"position":[[27,2]]},"625":{"position":[[31,2]]},"683":{"position":[[138,2]]},"693":{"position":[[5,2]]},"749":{"position":[[56,2],[293,2]]},"781":{"position":[[129,2]]},"803":{"position":[[17,2]]},"807":{"position":[[559,2]]},"825":{"position":[[23,2],[82,2],[98,2]]}}}],["修复",{"_index":169,"t":{"9":{"position":[[105,2]]}}}],["修改",{"_index":742,"t":{"109":{"position":[[74,2]]},"237":{"position":[[412,2]]},"266":{"position":[[330,2]]},"282":{"position":[[206,2]]},"321":{"position":[[53,2]]},"359":{"position":[[1480,2],[1547,2],[1576,2],[1582,2]]},"361":{"position":[[1944,2],[2640,2]]},"363":{"position":[[4,2],[287,2]]},"376":{"position":[[54,2],[126,2],[465,2]]},"467":{"position":[[32,2],[38,2]]},"503":{"position":[[527,2],[679,2]]},"535":{"position":[[56,2]]},"558":{"position":[[4,2]]},"625":{"position":[[22,2]]},"645":{"position":[[24,2]]},"658":{"position":[[110,2],[199,2]]},"793":{"position":[[76,2]]},"799":{"position":[[75,2]]},"805":{"position":[[43,2],[243,2]]},"813":{"position":[[0,2],[164,2]]},"819":{"position":[[6,2]]}}}],["借助",{"_index":1659,"t":{"359":{"position":[[1564,2]]},"361":{"position":[[3180,2]]},"507":{"position":[[316,2]]},"535":{"position":[[31,2]]}}}],["值",{"_index":661,"t":{"92":{"position":[[42,1]]},"107":{"position":[[53,1],[133,1]]},"109":{"position":[[132,1]]},"113":{"position":[[350,1],[421,1]]},"115":{"position":[[105,1],[486,1],[574,1]]},"117":{"position":[[28,1]]},"122":{"position":[[59,1]]},"212":{"position":[[402,1]]},"299":{"position":[[577,1]]},"376":{"position":[[364,1]]},"481":{"position":[[191,1],[525,1]]},"489":{"position":[[115,1]]},"517":{"position":[[93,1]]},"537":{"position":[[161,1]]},"797":{"position":[[356,1]]},"799":{"position":[[817,1]]}}}],["假如",{"_index":817,"t":{"117":{"position":[[139,2]]},"606":{"position":[[451,2]]}}}],["假设",{"_index":663,"t":{"94":{"position":[[0,2]]},"100":{"position":[[41,2],[254,2]]},"115":{"position":[[108,2]]},"259":{"position":[[0,2]]},"261":{"position":[[482,2]]},"270":{"position":[[581,2]]},"293":{"position":[[31,2]]},"376":{"position":[[193,2]]},"543":{"position":[[133,2]]},"799":{"position":[[60,2]]}}}],["偏好",{"_index":683,"t":{"96":{"position":[[98,2]]},"107":{"position":[[174,2]]},"109":{"position":[[173,2]]},"115":{"position":[[15,2],[145,2]]},"124":{"position":[[33,2]]}}}],["做",{"_index":279,"t":{"23":{"position":[[127,1]]},"115":{"position":[[166,1]]},"126":{"position":[[131,1]]},"210":{"position":[[135,1],[361,1]]},"239":{"position":[[429,1],[588,1],[615,1]]},"595":{"position":[[25,1]]},"606":{"position":[[272,1]]},"714":{"position":[[261,1]]},"807":{"position":[[62,1]]}}}],["做出",{"_index":1806,"t":{"427":{"position":[[14,2]]}}}],["做到",{"_index":1652,"t":{"359":{"position":[[1172,2]]},"439":{"position":[[722,2]]},"606":{"position":[[401,2]]}}}],["做好",{"_index":2130,"t":{"641":{"position":[[13,2],[132,2]]}}}],["停止",{"_index":1271,"t":{"237":{"position":[[363,2],[831,2]]}}}],["像",{"_index":1084,"t":{"210":{"position":[[147,1]]},"351":{"position":[[316,1]]},"499":{"position":[[379,1]]},"585":{"position":[[1,1]]}}}],["像素",{"_index":2185,"t":{"654":{"position":[[167,2],[195,2],[216,2]]}}}],["允许",{"_index":1741,"t":{"392":{"position":[[33,2]]}}}],["元",{"_index":1864,"t":{"443":{"position":[[36,1]]},"582":{"position":[[400,1]]}}}],["元素",{"_index":1075,"t":{"210":{"position":[[32,2],[453,2]]},"327":{"position":[[7,2],[66,2]]},"333":{"position":[[8,2]]},"335":{"position":[[223,2],[255,2]]},"396":{"position":[[71,2]]},"439":{"position":[[644,2]]},"587":{"position":[[63,2]]},"714":{"position":[[10,2],[25,2],[167,2]]},"724":{"position":[[25,2],[149,2]]},"726":{"position":[[20,2]]}}}],["兄弟",{"_index":1006,"t":{"191":{"position":[[179,2]]}}}],["先",{"_index":1675,"t":{"361":{"position":[[1947,1]]},"429":{"position":[[66,1]]},"439":{"position":[[724,1],[731,1]]},"726":{"position":[[144,1]]}}}],["先于",{"_index":2260,"t":{"695":{"position":[[39,2]]}}}],["先行",{"_index":2018,"t":{"539":{"position":[[92,2]]}}}],["兜底",{"_index":2135,"t":{"643":{"position":[[503,2]]}}}],["入",{"_index":1367,"t":{"257":{"position":[[222,1]]},"266":{"position":[[238,1]]},"293":{"position":[[741,1]]},"295":{"position":[[324,1],[902,1]]},"307":{"position":[[102,1]]},"435":{"position":[[583,1]]},"643":{"position":[[621,1]]},"829":{"position":[[382,1]]}}}],["入口",{"_index":890,"t":{"162":{"position":[[231,2]]},"164":{"position":[[222,2]]},"169":{"position":[[204,2]]},"319":{"position":[[2,2]]},"325":{"position":[[2,2]]},"363":{"position":[[2,2],[274,2]]},"372":{"position":[[132,2]]},"400":{"position":[[98,2]]},"437":{"position":[[17,2]]},"441":{"position":[[348,2]]},"457":{"position":[[3,2],[46,2]]},"580":{"position":[[46,2]]},"602":{"position":[[12,2]]},"758":{"position":[[145,2]]},"797":{"position":[[64,2]]},"799":{"position":[[176,2],[248,2]]},"805":{"position":[[334,2]]},"825":{"position":[[58,2]]}}}],["入门",{"_index":202,"t":{"11":{"position":[[80,2]]}}}],["全",{"_index":289,"t":{"23":{"position":[[199,1],[268,1],[336,1],[398,1]]},"126":{"position":[[203,1],[274,1]]},"137":{"position":[[602,1]]},"359":{"position":[[652,1]]},"501":{"position":[[160,1],[398,1]]}}}],["全套",{"_index":2296,"t":{"714":{"position":[[380,2]]}}}],["全局",{"_index":547,"t":{"82":{"position":[[14,2]]},"162":{"position":[[446,2]]},"214":{"position":[[53,2]]},"226":{"position":[[66,2]]},"239":{"position":[[15,2],[224,2],[589,2]]},"276":{"position":[[18,2]]},"278":{"position":[[19,2],[27,2]]},"382":{"position":[[15,2]]},"441":{"position":[[268,2],[295,2]]},"457":{"position":[[15,2]]},"461":{"position":[[0,2]]},"589":{"position":[[265,2]]},"604":{"position":[[40,2],[328,2],[392,2],[410,2]]},"649":{"position":[[7,2]]},"651":{"position":[[57,2],[68,2],[101,2],[171,2]]},"656":{"position":[[22,2]]},"697":{"position":[[45,2]]},"712":{"position":[[119,2]]},"827":{"position":[[8,2]]}}}],["全局变量",{"_index":1882,"t":{"481":{"position":[[182,4],[610,4]]}}}],["全自动",{"_index":870,"t":{"149":{"position":[[5,3]]}}}],["共享",{"_index":1409,"t":{"276":{"position":[[10,2]]}}}],["共有",{"_index":2182,"t":{"654":{"position":[[157,2]]},"737":{"position":[[0,2]]}}}],["共用",{"_index":2097,"t":{"604":{"position":[[47,2]]}}}],["关于",{"_index":266,"t":{"23":{"position":[[25,2]]},"126":{"position":[[27,2]]},"323":{"position":[[21,2]]},"741":{"position":[[938,2]]}}}],["关注",{"_index":384,"t":{"43":{"position":[[35,2]]}}}],["关系",{"_index":1007,"t":{"191":{"position":[[183,2]]},"654":{"position":[[256,2]]}}}],["关闭",{"_index":375,"t":{"41":{"position":[[56,2]]},"113":{"position":[[69,2]]},"359":{"position":[[752,2]]},"517":{"position":[[80,2]]},"521":{"position":[[413,2]]},"525":{"position":[[23,2]]},"531":{"position":[[61,2]]},"549":{"position":[[22,2],[36,2]]}}}],["其中",{"_index":764,"t":{"113":{"position":[[309,2]]},"513":{"position":[[599,2]]},"604":{"position":[[265,2]]},"639":{"position":[[328,2]]},"741":{"position":[[691,2]]}}}],["其他",{"_index":286,"t":{"23":{"position":[[180,2]]},"82":{"position":[[201,2]]},"126":{"position":[[184,2]]},"239":{"position":[[339,2]]},"241":{"position":[[208,2],[324,2]]},"359":{"position":[[1737,2]]},"420":{"position":[[30,2]]},"437":{"position":[[259,2]]},"481":{"position":[[189,2]]},"491":{"position":[[73,2]]},"517":{"position":[[89,2]]},"585":{"position":[[4,2]]},"604":{"position":[[376,2]]},"679":{"position":[[113,2]]},"689":{"position":[[10,2]]}}}],["其它",{"_index":232,"t":{"15":{"position":[[189,2]]},"212":{"position":[[101,2]]},"564":{"position":[[49,2]]},"585":{"position":[[40,2]]}}}],["具体",{"_index":249,"t":{"19":{"position":[[39,2]]},"208":{"position":[[29,2]]},"248":{"position":[[72,2]]},"435":{"position":[[99,2],[577,2],[673,2]]},"602":{"position":[[38,2]]},"604":{"position":[[117,2]]},"651":{"position":[[236,2]]},"683":{"position":[[69,2]]},"807":{"position":[[571,2]]}}}],["具体做法",{"_index":1837,"t":{"429":{"position":[[104,4]]}}}],["具备",{"_index":192,"t":{"11":{"position":[[41,2]]}}}],["具有",{"_index":1118,"t":{"216":{"position":[[21,2]]}}}],["兼容",{"_index":618,"t":{"85":{"position":[[1057,2]]},"141":{"position":[[101,2]]},"203":{"position":[[37,2]]},"210":{"position":[[136,2],[355,2]]},"505":{"position":[[192,2],[331,2]]},"558":{"position":[[90,2]]},"641":{"position":[[68,2]]},"714":{"position":[[243,2]]}}}],["兼容性",{"_index":1870,"t":{"474":{"position":[[3,3]]},"501":{"position":[[96,3]]},"712":{"position":[[248,3]]}}}],["内",{"_index":1305,"t":{"237":{"position":[[1006,1]]},"295":{"position":[[1175,1]]},"382":{"position":[[199,1]]},"585":{"position":[[33,1]]},"618":{"position":[[2,1]]},"620":{"position":[[2,1]]},"637":{"position":[[170,1]]},"695":{"position":[[37,1],[337,1]]},"697":{"position":[[232,1]]}}}],["内容",{"_index":472,"t":{"57":{"position":[[268,2]]},"100":{"position":[[404,2]]},"107":{"position":[[190,2]]},"109":{"position":[[189,2]]},"363":{"position":[[648,2]]},"374":{"position":[[211,2]]},"382":{"position":[[293,2]]},"396":{"position":[[156,2]]},"429":{"position":[[100,2],[171,2],[731,2]]},"439":{"position":[[32,2]]},"489":{"position":[[105,2]]},"501":{"position":[[120,2]]},"509":{"position":[[57,2]]},"511":{"position":[[56,2]]},"513":{"position":[[650,2],[703,2]]},"515":{"position":[[519,2]]},"585":{"position":[[47,2]]},"606":{"position":[[427,2]]},"631":{"position":[[180,2]]},"639":{"position":[[63,2],[131,2],[142,2],[341,2],[375,2]]},"665":{"position":[[105,2]]},"681":{"position":[[156,2]]},"685":{"position":[[20,2]]},"689":{"position":[[4,2],[31,2]]},"699":{"position":[[95,2]]},"760":{"position":[[197,2]]},"803":{"position":[[138,2],[163,2]]},"825":{"position":[[49,2]]}}}],["内置",{"_index":1333,"t":{"241":{"position":[[245,2]]},"313":{"position":[[31,2],[65,2]]},"321":{"position":[[148,2]]},"329":{"position":[[26,2]]},"337":{"position":[[4,2]]},"339":{"position":[[2,2]]},"345":{"position":[[2,2]]},"359":{"position":[[602,2],[727,2],[880,2],[1167,2],[1549,2]]},"361":{"position":[[2839,2],[2866,2]]},"477":{"position":[[67,2]]},"483":{"position":[[80,2]]},"503":{"position":[[294,2],[529,2],[588,2]]},"507":{"position":[[465,2]]},"521":{"position":[[71,2]]},"523":{"position":[[79,2]]},"555":{"position":[[7,2]]},"560":{"position":[[7,2]]},"568":{"position":[[8,2]]},"703":{"position":[[5,2]]},"712":{"position":[[12,2],[224,2],[350,2],[355,2]]},"716":{"position":[[53,2]]},"803":{"position":[[229,2]]},"817":{"position":[[9,2]]}}}],["内联",{"_index":1068,"t":{"205":{"position":[[258,2],[296,2]]},"214":{"position":[[19,2],[176,2]]},"216":{"position":[[42,2],[79,2]]},"343":{"position":[[95,2]]},"587":{"position":[[68,2]]},"591":{"position":[[45,2]]}}}],["内部",{"_index":1058,"t":{"203":{"position":[[71,2]]},"378":{"position":[[86,2]]},"427":{"position":[[58,2]]}}}],["再次",{"_index":733,"t":{"107":{"position":[[146,2]]},"109":{"position":[[145,2]]},"303":{"position":[[32,2]]},"637":{"position":[[72,2]]}}}],["冗余",{"_index":1944,"t":{"505":{"position":[[163,2]]}}}],["写",{"_index":800,"t":{"115":{"position":[[149,1]]},"212":{"position":[[392,1]]},"250":{"position":[[19,1]]},"515":{"position":[[1095,1]]},"712":{"position":[[56,1]]}}}],["写入",{"_index":811,"t":{"115":{"position":[[535,2]]},"261":{"position":[[183,2]]},"270":{"position":[[130,2]]},"543":{"position":[[12,2]]},"681":{"position":[[160,2]]}}}],["写法",{"_index":1369,"t":{"257":{"position":[[228,2]]},"266":{"position":[[244,2]]},"299":{"position":[[12,2],[569,2]]},"309":{"position":[[16,2]]},"363":{"position":[[125,2]]},"427":{"position":[[1104,2]]},"545":{"position":[[182,2]]},"647":{"position":[[65,2],[87,2]]},"660":{"position":[[53,2]]},"714":{"position":[[251,2]]}}}],["冰",{"_index":1,"t":{"2":{"position":[[1,1]]},"13":{"position":[[10,1]]},"15":{"position":[[104,1]]},"17":{"position":[[1,1]]},"19":{"position":[[52,1],[97,1]]},"151":{"position":[[11,1]]}}}],["冲突",{"_index":2156,"t":{"651":{"position":[[192,2]]}}}],["决定",{"_index":2290,"t":{"714":{"position":[[220,2]]}}}],["准入",{"_index":443,"t":{"49":{"position":[[37,2]]}}}],["准备",{"_index":2338,"t":{"735":{"position":[[86,2]]}}}],["减少",{"_index":986,"t":{"185":{"position":[[191,2]]},"309":{"position":[[127,2]]}}}],["几个",{"_index":2044,"t":{"560":{"position":[[364,2]]}}}],["几步",{"_index":2344,"t":{"741":{"position":[[35,2]]}}}],["几种",{"_index":396,"t":{"43":{"position":[[105,2]]}}}],["出",{"_index":973,"t":{"185":{"position":[[90,1]]},"214":{"position":[[175,1]]},"595":{"position":[[43,1]]}}}],["出现",{"_index":351,"t":{"37":{"position":[[95,2]]},"41":{"position":[[34,2]]},"94":{"position":[[61,2]]},"171":{"position":[[120,2]]},"191":{"position":[[135,2]]},"216":{"position":[[89,2]]},"220":{"position":[[161,2]]},"327":{"position":[[11,2]]},"388":{"position":[[226,2]]},"398":{"position":[[40,2]]},"519":{"position":[[69,2],[90,2]]},"612":{"position":[[132,2]]}}}],["出错",{"_index":1328,"t":{"239":{"position":[[721,2]]}}}],["函数",{"_index":728,"t":{"107":{"position":[[71,2],[101,2]]},"109":{"position":[[66,2]]},"171":{"position":[[19,2]]},"173":{"position":[[31,2],[67,2]]},"205":{"position":[[279,2]]},"214":{"position":[[138,2]]},"216":{"position":[[106,2]]},"237":{"position":[[1533,2]]},"259":{"position":[[12,2]]},"278":{"position":[[244,2],[343,2]]},"295":{"position":[[269,2],[390,2],[400,2],[856,2]]},"299":{"position":[[9,2],[566,2]]},"374":{"position":[[27,2]]},"378":{"position":[[66,2],[79,2]]},"392":{"position":[[164,2],[183,2]]},"431":{"position":[[13,2]]},"547":{"position":[[257,2]]},"807":{"position":[[30,2]]}}}],["函数调用",{"_index":1598,"t":{"357":{"position":[[488,4]]}}}],["分",{"_index":2045,"t":{"562":{"position":[[20,1]]}}}],["分别",{"_index":1859,"t":{"439":{"position":[[703,2]]},"521":{"position":[[80,2]]},"560":{"position":[[376,2]]},"805":{"position":[[472,2]]},"813":{"position":[[136,2]]}}}],["分割",{"_index":340,"t":{"37":{"position":[[27,2]]}}}],["分包",{"_index":853,"t":{"139":{"position":[[235,2]]},"359":{"position":[[730,2]]},"521":{"position":[[76,2],[415,2]]},"667":{"position":[[76,2]]},"747":{"position":[[76,2]]},"805":{"position":[[962,2]]}}}],["分层",{"_index":1861,"t":{"441":{"position":[[22,2]]}}}],["分成",{"_index":1490,"t":{"309":{"position":[[29,2]]}}}],["分析",{"_index":1759,"t":{"408":{"position":[[394,2]]},"410":{"position":[[225,2]]},"805":{"position":[[840,2]]}}}],["分析器",{"_index":2074,"t":{"589":{"position":[[256,3]]}}}],["分离",{"_index":2013,"t":{"539":{"position":[[19,2]]},"606":{"position":[[289,2]]}}}],["分配",{"_index":1963,"t":{"515":{"position":[[763,2]]}}}],["切换",{"_index":736,"t":{"107":{"position":[[361,2]]},"109":{"position":[[326,2]]},"111":{"position":[[54,2],[865,2]]},"115":{"position":[[540,2],[567,2],[774,2]]},"139":{"position":[[60,2]]},"177":{"position":[[51,2]]},"179":{"position":[[38,2]]},"185":{"position":[[33,2]]},"303":{"position":[[10,2],[27,2]]},"420":{"position":[[175,2]]},"539":{"position":[[111,2]]},"606":{"position":[[411,2]]}}}],["切面",{"_index":1148,"t":{"222":{"position":[[68,2]]}}}],["列出",{"_index":2369,"t":{"749":{"position":[[155,2]]},"751":{"position":[[42,2]]}}}],["列表",{"_index":909,"t":{"167":{"position":[[40,2]]},"189":{"position":[[16,2]]},"208":{"position":[[31,2]]},"327":{"position":[[22,2]]}}}],["创建",{"_index":107,"t":{"4":{"position":[[401,2]]},"154":{"position":[[6,2]]},"156":{"position":[[6,2]]},"158":{"position":[[8,2]]},"288":{"position":[[126,2]]},"372":{"position":[[170,2]]},"604":{"position":[[27,2]]},"606":{"position":[[2,2],[569,2],[588,2]]},"608":{"position":[[50,2]]},"726":{"position":[[145,2]]},"737":{"position":[[6,2]]},"739":{"position":[[85,2]]},"758":{"position":[[183,2]]},"781":{"position":[[135,2]]},"787":{"position":[[10,2]]}}}],["创造",{"_index":977,"t":{"185":{"position":[[130,2]]}}}],["初始",{"_index":454,"t":{"51":{"position":[[67,2]]},"278":{"position":[[178,2]]},"295":{"position":[[92,2]]},"576":{"position":[[10,2]]},"582":{"position":[[10,2]]}}}],["初始化",{"_index":424,"t":{"47":{"position":[[92,3]]},"85":{"position":[[0,3]]},"237":{"position":[[560,3]]},"280":{"position":[[18,3]]},"303":{"position":[[42,3]]},"372":{"position":[[167,3]]},"741":{"position":[[774,3]]},"758":{"position":[[180,3]]}}}],["初始状态",{"_index":1428,"t":{"293":{"position":[[479,4]]}}}],["初期",{"_index":1336,"t":{"246":{"position":[[4,2]]}}}],["删除",{"_index":1676,"t":{"361":{"position":[[1948,2]]},"408":{"position":[[415,2]]}}}],["判断",{"_index":450,"t":{"51":{"position":[[18,2]]},"57":{"position":[[218,2]]},"193":{"position":[[221,2]]},"205":{"position":[[290,2]]},"388":{"position":[[139,2],[208,2]]},"501":{"position":[[410,2]]},"562":{"position":[[85,2]]},"641":{"position":[[17,2],[136,2]]}}}],["利用",{"_index":1975,"t":{"521":{"position":[[182,2],[337,2]]},"606":{"position":[[262,2]]},"639":{"position":[[406,2]]}}}],["别名",{"_index":1875,"t":{"477":{"position":[[225,2]]}}}],["前",{"_index":408,"t":{"43":{"position":[[246,1]]},"164":{"position":[[398,1]]},"173":{"position":[[25,1]]},"224":{"position":[[13,1]]},"239":{"position":[[409,1]]},"416":{"position":[[9,1]]},"418":{"position":[[6,1]]},"585":{"position":[[152,1]]},"697":{"position":[[29,1]]},"793":{"position":[[107,1]]},"807":{"position":[[331,1],[381,1]]}}}],["前后",{"_index":196,"t":{"11":{"position":[[65,2]]},"539":{"position":[[16,2]]}}}],["前端",{"_index":6,"t":{"2":{"position":[[22,2],[71,2]]},"4":{"position":[[189,2],[269,2]]},"7":{"position":[[134,2]]},"11":{"position":[[33,2],[82,2],[95,2]]},"13":{"position":[[5,2],[38,2]]},"47":{"position":[[28,2]]},"74":{"position":[[0,2]]},"87":{"position":[[763,2]]},"151":{"position":[[24,2],[79,2]]},"154":{"position":[[11,2]]},"169":{"position":[[44,2],[149,2]]},"222":{"position":[[3,2]]},"246":{"position":[[26,2]]},"250":{"position":[[7,2]]},"418":{"position":[[2,2]]},"422":{"position":[[11,2]]},"539":{"position":[[48,2],[76,2]]},"674":{"position":[[5,2]]}}}],["前端开发",{"_index":188,"t":{"11":{"position":[[19,4]]},"539":{"position":[[34,4]]}}}],["前缀",{"_index":499,"t":{"68":{"position":[[10,2]]},"100":{"position":[[334,2]]},"566":{"position":[[46,2]]},"703":{"position":[[407,2],[430,2]]}}}],["前置",{"_index":2263,"t":{"695":{"position":[[87,2]]},"697":{"position":[[5,2]]}}}],["前者",{"_index":856,"t":{"141":{"position":[[50,2]]}}}],["前面",{"_index":1960,"t":{"515":{"position":[[568,2]]}}}],["副作用",{"_index":1413,"t":{"278":{"position":[[339,3]]},"295":{"position":[[396,3],[852,3]]},"679":{"position":[[102,3]]}}}],["功能",{"_index":91,"t":{"4":{"position":[[307,2]]},"113":{"position":[[66,2],[489,2]]},"117":{"position":[[8,2]]},"143":{"position":[[72,2]]},"149":{"position":[[15,2]]},"354":{"position":[[40,2]]},"396":{"position":[[63,2]]},"495":{"position":[[46,2]]},"555":{"position":[[29,2]]},"730":{"position":[[53,2]]}}}],["加入",{"_index":761,"t":{"113":{"position":[[83,2]]},"257":{"position":[[35,2],[564,2]]},"261":{"position":[[279,2]]},"266":{"position":[[37,2],[548,2]]},"270":{"position":[[311,2]]},"503":{"position":[[577,2]]},"560":{"position":[[447,2]]}}}],["加载",{"_index":325,"t":{"28":{"position":[[34,2]]},"41":{"position":[[48,2]]},"131":{"position":[[43,2],[71,2],[85,2]]},"139":{"position":[[237,2]]},"171":{"position":[[84,2],[118,2]]},"301":{"position":[[44,2]]},"339":{"position":[[119,2]]},"427":{"position":[[7,2],[33,2],[77,2],[142,2],[1046,2],[1239,2],[1272,2]]},"429":{"position":[[795,2]]},"437":{"position":[[9,2],[57,2]]},"479":{"position":[[214,2]]},"483":{"position":[[86,2]]},"521":{"position":[[226,2],[365,2]]},"560":{"position":[[10,2],[40,2]]},"595":{"position":[[30,2]]},"600":{"position":[[292,2]]},"602":{"position":[[152,2]]},"606":{"position":[[164,2],[175,2],[224,2],[313,2],[405,2],[437,2]]},"614":{"position":[[27,2]]},"639":{"position":[[396,2]]},"667":{"position":[[78,2]]},"687":{"position":[[4,2]]},"695":{"position":[[54,2],[89,2],[340,2]]},"697":{"position":[[7,2],[43,2],[237,2]]},"747":{"position":[[78,2]]},"753":{"position":[[319,2]]},"771":{"position":[[14,2]]},"773":{"position":[[16,2]]}}}],["务必",{"_index":1924,"t":{"501":{"position":[[404,2]]},"735":{"position":[[96,2]]}}}],["动态",{"_index":1701,"t":{"370":{"position":[[29,2]]},"374":{"position":[[31,2]]},"547":{"position":[[273,2]]},"608":{"position":[[22,2]]},"627":{"position":[[1,2]]},"633":{"position":[[72,2]]},"751":{"position":[[33,2]]}}}],["动态数据",{"_index":1834,"t":{"429":{"position":[[73,4]]},"639":{"position":[[427,4]]}}}],["努力",{"_index":187,"t":{"11":{"position":[[15,2]]}}}],["包",{"_index":75,"t":{"4":{"position":[[227,1]]},"37":{"position":[[101,1]]},"39":{"position":[[24,1],[84,1]]},"133":{"position":[[34,1]]},"201":{"position":[[139,1]]},"420":{"position":[[33,1]]},"431":{"position":[[357,1],[385,1]]},"670":{"position":[[139,1]]},"712":{"position":[[158,1]]}}}],["包含",{"_index":395,"t":{"43":{"position":[[101,2]]},"47":{"position":[[82,2]]},"100":{"position":[[15,2],[330,2]]},"107":{"position":[[49,2]]},"109":{"position":[[42,2]]},"117":{"position":[[70,2]]},"122":{"position":[[41,2]]},"309":{"position":[[45,2]]},"390":{"position":[[15,2]]},"420":{"position":[[16,2]]},"435":{"position":[[590,2]]},"593":{"position":[[20,2]]},"683":{"position":[[53,2]]},"689":{"position":[[65,2]]},"803":{"position":[[8,2]]},"825":{"position":[[12,2]]}}}],["包括",{"_index":677,"t":{"96":{"position":[[42,2]]},"141":{"position":[[121,2]]},"149":{"position":[[38,2]]},"457":{"position":[[23,2]]},"712":{"position":[[362,2]]},"799":{"position":[[73,2]]},"805":{"position":[[261,2]]},"825":{"position":[[28,2]]}}}],["包裹",{"_index":739,"t":{"109":{"position":[[18,2]]},"392":{"position":[[93,2]]},"429":{"position":[[161,2]]},"829":{"position":[[11,2]]}}}],["化",{"_index":136,"t":{"7":{"position":[[174,1]]}}}],["匹配",{"_index":667,"t":{"94":{"position":[[66,2]]},"149":{"position":[[61,2]]},"171":{"position":[[50,2]]},"261":{"position":[[193,2]]},"270":{"position":[[140,2]]},"374":{"position":[[36,2]]},"388":{"position":[[231,2]]},"513":{"position":[[623,2],[653,2]]},"515":{"position":[[171,2]]},"610":{"position":[[50,2]]},"647":{"position":[[319,2]]}}}],["区分",{"_index":1884,"t":{"481":{"position":[[202,2]]},"589":{"position":[[33,2]]}}}],["区块",{"_index":111,"t":{"4":{"position":[[438,2]]},"439":{"position":[[38,2]]}}}],["区域",{"_index":1525,"t":{"327":{"position":[[16,2]]}}}],["十分",{"_index":2288,"t":{"714":{"position":[[211,2]]},"730":{"position":[[55,2]]}}}],["升级",{"_index":185,"t":{"9":{"position":[[203,2]]},"354":{"position":[[0,2]]},"357":{"position":[[665,2]]},"515":{"position":[[933,2]]},"670":{"position":[[154,2]]}}}],["协同",{"_index":2155,"t":{"651":{"position":[[181,2]]}}}],["协同工作",{"_index":656,"t":{"89":{"position":[[125,4]]}}}],["协议",{"_index":1145,"t":{"222":{"position":[[22,2]]}}}],["单",{"_index":619,"t":{"85":{"position":[[1059,1]]},"303":{"position":[[1,1]]},"521":{"position":[[199,1]]}}}],["单一",{"_index":1330,"t":{"241":{"position":[[32,2]]}}}],["单个",{"_index":910,"t":{"167":{"position":[[43,2]]}}}],["单位",{"_index":1101,"t":{"212":{"position":[[333,2],[377,2],[399,2]]},"237":{"position":[[779,2],[1070,2],[1116,2]]},"654":{"position":[[16,2],[49,2],[315,2]]}}}],["单元测试",{"_index":1362,"t":{"252":{"position":[[86,4]]},"255":{"position":[[34,4]]},"257":{"position":[[638,4]]}}}],["单向",{"_index":2375,"t":{"767":{"position":[[4,2]]}}}],["单独",{"_index":361,"t":{"39":{"position":[[81,2]]},"224":{"position":[[16,2]]},"681":{"position":[[24,2]]}}}],["博客",{"_index":511,"t":{"76":{"position":[[3,2]]}}}],["即可",{"_index":299,"t":{"23":{"position":[[274,2]]},"49":{"position":[[41,2]]},"82":{"position":[[184,2]]},"89":{"position":[[73,2],[108,2]]},"126":{"position":[[280,2]]},"137":{"position":[[611,2]]},"179":{"position":[[150,2]]},"239":{"position":[[85,2]]},"250":{"position":[[294,2]]},"301":{"position":[[28,2]]},"351":{"position":[[168,2]]},"361":{"position":[[1611,2]]},"431":{"position":[[90,2]]},"477":{"position":[[96,2]]},"525":{"position":[[55,2]]},"539":{"position":[[120,2]]},"543":{"position":[[189,2]]},"647":{"position":[[321,2]]},"743":{"position":[[17,2]]},"781":{"position":[[44,2]]},"789":{"position":[[19,2]]}}}],["即将",{"_index":815,"t":{"115":{"position":[[564,2]]},"707":{"position":[[0,2]]}}}],["卸载",{"_index":908,"t":{"164":{"position":[[429,2]]},"173":{"position":[[59,2]]}}}],["历史",{"_index":160,"t":{"9":{"position":[[71,2]]}}}],["压缩",{"_index":1913,"t":{"497":{"position":[[20,2]]},"499":{"position":[[62,2]]},"805":{"position":[[783,2],[803,2]]}}}],["原",{"_index":1473,"t":{"303":{"position":[[36,1]]},"359":{"position":[[63,1]]},"363":{"position":[[239,1],[326,1]]},"515":{"position":[[926,1]]},"521":{"position":[[234,1]]}}}],["原先",{"_index":161,"t":{"9":{"position":[[75,2]]}}}],["原图",{"_index":2330,"t":{"728":{"position":[[28,2]]}}}],["原始",{"_index":131,"t":{"7":{"position":[[143,2]]}}}],["原子化",{"_index":1489,"t":{"309":{"position":[[0,3],[59,3],[101,3],[186,3]]},"775":{"position":[[10,3]]}}}],["原有",{"_index":1584,"t":{"351":{"position":[[120,2]]}}}],["原生",{"_index":846,"t":{"139":{"position":[[148,2],[181,2],[191,2],[196,2]]},"218":{"position":[[10,2]]},"220":{"position":[[57,2],[151,2]]},"378":{"position":[[41,2]]},"396":{"position":[[19,2]]},"600":{"position":[[29,2]]},"620":{"position":[[207,2]]},"647":{"position":[[11,2]]},"654":{"position":[[7,2]]},"667":{"position":[[5,2],[22,2],[36,2],[63,2]]},"672":{"position":[[44,2]]},"677":{"position":[[65,2]]},"703":{"position":[[52,2]]},"726":{"position":[[137,2]]},"747":{"position":[[5,2],[22,2],[36,2],[63,2]]},"753":{"position":[[56,2]]},"756":{"position":[[27,2]]},"758":{"position":[[224,2]]},"760":{"position":[[5,2]]}}}],["参",{"_index":1368,"t":{"257":{"position":[[223,1]]},"266":{"position":[[239,1]]},"293":{"position":[[742,1]]},"295":{"position":[[325,1],[903,1]]},"307":{"position":[[103,1]]},"435":{"position":[[584,1]]},"643":{"position":[[622,1]]},"829":{"position":[[383,1]]}}}],["参数",{"_index":902,"t":{"162":{"position":[[714,2]]},"212":{"position":[[56,2]]},"222":{"position":[[90,2]]},"226":{"position":[[439,2]]},"235":{"position":[[126,2]]},"237":{"position":[[86,2],[132,2],[300,2],[334,2],[594,2],[634,2],[753,2]]},"239":{"position":[[341,2]]},"241":{"position":[[210,2],[326,2]]},"243":{"position":[[10,2]]},"266":{"position":[[341,2]]},"295":{"position":[[319,2],[373,2]]},"307":{"position":[[73,2]]},"376":{"position":[[41,2]]},"406":{"position":[[8,2],[37,2],[121,2]]},"429":{"position":[[766,2]]},"513":{"position":[[405,2],[671,2],[849,2]]},"515":{"position":[[541,2],[555,2],[658,2]]},"527":{"position":[[149,2]]},"555":{"position":[[26,2]]},"589":{"position":[[20,2]]},"627":{"position":[[27,2]]},"745":{"position":[[39,2]]},"756":{"position":[[64,2]]},"758":{"position":[[306,2]]},"760":{"position":[[20,2]]},"803":{"position":[[81,2]]},"807":{"position":[[574,2]]},"811":{"position":[[11,2]]},"829":{"position":[[261,2]]}}}],["参数信息",{"_index":1708,"t":{"374":{"position":[[38,4]]}}}],["参考",{"_index":624,"t":{"85":{"position":[[1098,2]]},"89":{"position":[[112,2]]},"96":{"position":[[235,2]]},"139":{"position":[[168,2],[253,2]]},"167":{"position":[[56,2]]},"201":{"position":[[50,2],[130,2],[145,2]]},"208":{"position":[[35,2]]},"235":{"position":[[1765,2]]},"246":{"position":[[47,2]]},"248":{"position":[[75,2]]},"307":{"position":[[167,2]]},"313":{"position":[[686,2]]},"323":{"position":[[37,2]]},"359":{"position":[[1197,2],[1743,2]]},"361":{"position":[[34,2]]},"363":{"position":[[280,2]]},"365":{"position":[[280,2],[630,2],[958,2]]},"384":{"position":[[40,2]]},"394":{"position":[[33,2]]},"404":{"position":[[79,2]]},"474":{"position":[[50,2]]},"501":{"position":[[167,2]]},"509":{"position":[[59,2]]},"511":{"position":[[58,2]]},"537":{"position":[[72,2]]},"551":{"position":[[250,2]]},"553":{"position":[[32,2]]},"651":{"position":[[912,2]]},"663":{"position":[[258,2]]},"681":{"position":[[329,2]]},"799":{"position":[[8,2]]},"807":{"position":[[580,2]]},"825":{"position":[[53,2]]}}}],["及其",{"_index":2062,"t":{"582":{"position":[[445,2]]},"637":{"position":[[991,2]]},"643":{"position":[[710,2]]},"745":{"position":[[62,2],[160,2]]}}}],["友好",{"_index":982,"t":{"185":{"position":[[158,2]]}}}],["反而",{"_index":285,"t":{"23":{"position":[[175,2]]},"126":{"position":[[179,2]]}}}],["反馈",{"_index":233,"t":{"15":{"position":[[193,2]]},"21":{"position":[[0,2]]},"537":{"position":[[446,2]]}}}],["发布",{"_index":510,"t":{"74":{"position":[[72,2]]},"78":{"position":[[21,2]]},"89":{"position":[[106,2],[130,2],[141,2]]},"791":{"position":[[109,2]]},"799":{"position":[[90,2],[1110,2]]}}}],["发现",{"_index":2287,"t":{"714":{"position":[[175,2]]}}}],["发起",{"_index":1300,"t":{"237":{"position":[[913,2],[933,2],[977,2],[1012,2],[1178,2]]},"250":{"position":[[65,2]]},"427":{"position":[[60,2],[127,2],[216,2],[246,2],[1031,2],[1111,2],[1360,2]]},"439":{"position":[[8,2]]}}}],["发送",{"_index":1324,"t":{"239":{"position":[[405,2]]},"333":{"position":[[20,2]]},"431":{"position":[[11,2],[57,2]]},"819":{"position":[[937,2]]}}}],["发送者",{"_index":1896,"t":{"483":{"position":[[95,3]]}}}],["取",{"_index":2076,"t":{"591":{"position":[[63,1]]},"793":{"position":[[109,1]]}}}],["取值",{"_index":2043,"t":{"560":{"position":[[325,2]]}}}],["取消",{"_index":1167,"t":{"226":{"position":[[706,2]]},"237":{"position":[[350,2]]}}}],["受",{"_index":1826,"t":{"427":{"position":[[1208,1]]},"633":{"position":[[113,1]]},"749":{"position":[[0,1]]}}}],["变",{"_index":2162,"t":{"651":{"position":[[223,1]]}}}],["变化",{"_index":1078,"t":{"210":{"position":[[38,2]]},"237":{"position":[[1224,2]]}}}],["变成",{"_index":1557,"t":{"339":{"position":[[156,2]]}}}],["变更",{"_index":1541,"t":{"335":{"position":[[249,2]]},"357":{"position":[[485,2]]}}}],["变量",{"_index":1887,"t":{"481":{"position":[[380,2],[705,2]]},"564":{"position":[[71,2]]},"805":{"position":[[353,2]]}}}],["口",{"_index":1758,"t":{"408":{"position":[[265,1]]}}}],["口号",{"_index":2054,"t":{"578":{"position":[[19,2]]}}}],["另外",{"_index":345,"t":{"37":{"position":[[66,2]]},"337":{"position":[[39,2]]},"351":{"position":[[314,2]]},"587":{"position":[[0,2]]}}}],["只是",{"_index":2193,"t":{"658":{"position":[[2,2]]}}}],["只有",{"_index":1312,"t":{"237":{"position":[[1157,2]]},"606":{"position":[[520,2]]},"712":{"position":[[229,2]]}}}],["只能",{"_index":1420,"t":{"284":{"position":[[7,2]]},"515":{"position":[[761,2]]},"714":{"position":[[62,2],[137,2]]}}}],["只要",{"_index":2142,"t":{"647":{"position":[[311,2]]}}}],["叫",{"_index":2389,"t":{"797":{"position":[[23,1]]}}}],["可以",{"_index":68,"t":{"4":{"position":[[164,2],[319,2],[342,2],[449,2]]},"7":{"position":[[116,2],[182,2]]},"9":{"position":[[199,2]]},"13":{"position":[[41,2]]},"15":{"position":[[29,2],[158,2],[177,2]]},"17":{"position":[[26,2]]},"23":{"position":[[10,2]]},"39":{"position":[[9,2]]},"51":{"position":[[30,2],[63,2]]},"57":{"position":[[12,2]]},"78":{"position":[[65,2]]},"80":{"position":[[44,2]]},"96":{"position":[[170,2],[233,2]]},"109":{"position":[[69,2]]},"115":{"position":[[309,2],[474,2]]},"126":{"position":[[10,2]]},"131":{"position":[[95,2]]},"139":{"position":[[72,2],[109,2],[164,2]]},"141":{"position":[[92,2]]},"143":{"position":[[47,2]]},"164":{"position":[[224,2]]},"181":{"position":[[10,2]]},"185":{"position":[[86,2],[119,2]]},"187":{"position":[[211,2]]},"191":{"position":[[131,2]]},"193":{"position":[[215,2]]},"203":{"position":[[156,2]]},"205":{"position":[[2,2],[275,2]]},"208":{"position":[[33,2]]},"210":{"position":[[28,2],[145,2]]},"214":{"position":[[134,2]]},"216":{"position":[[102,2]]},"237":{"position":[[14,2],[463,2]]},"239":{"position":[[411,2],[586,2]]},"241":{"position":[[15,2]]},"246":{"position":[[28,2]]},"257":{"position":[[632,2]]},"261":{"position":[[899,2]]},"268":{"position":[[184,2]]},"270":{"position":[[1040,2]]},"293":{"position":[[452,2]]},"295":{"position":[[845,2]]},"305":{"position":[[13,2]]},"307":{"position":[[33,2],[76,2]]},"309":{"position":[[112,2],[175,2]]},"313":{"position":[[55,2]]},"315":{"position":[[26,2]]},"327":{"position":[[33,2]]},"333":{"position":[[29,2]]},"339":{"position":[[275,2]]},"347":{"position":[[34,2]]},"351":{"position":[[37,2],[129,2]]},"354":{"position":[[14,2]]},"359":{"position":[[735,2],[1195,2],[1570,2],[1809,2]]},"361":{"position":[[32,2]]},"370":{"position":[[24,2]]},"376":{"position":[[463,2]]},"378":{"position":[[72,2]]},"400":{"position":[[122,2]]},"402":{"position":[[128,2]]},"427":{"position":[[1079,2]]},"429":{"position":[[39,2],[62,2]]},"431":{"position":[[38,2]]},"437":{"position":[[12,2],[265,2]]},"439":{"position":[[79,2],[701,2],[720,2]]},"489":{"position":[[65,2],[84,2]]},"499":{"position":[[159,2],[276,2],[377,2]]},"501":{"position":[[165,2],[449,2],[587,2]]},"505":{"position":[[63,2],[346,2]]},"507":{"position":[[513,2]]},"513":{"position":[[257,2],[392,2],[674,2],[852,2]]},"515":{"position":[[368,2],[896,2]]},"521":{"position":[[420,2]]},"523":{"position":[[189,2]]},"531":{"position":[[34,2]]},"535":{"position":[[203,2]]},"537":{"position":[[150,2]]},"539":{"position":[[50,2],[78,2],[123,2]]},"541":{"position":[[190,2]]},"545":{"position":[[100,2]]},"547":{"position":[[253,2]]},"549":{"position":[[14,2],[80,2]]},"551":{"position":[[28,2]]},"553":{"position":[[30,2]]},"558":{"position":[[25,2]]},"560":{"position":[[113,2],[262,2]]},"564":{"position":[[27,2]]},"566":{"position":[[34,2]]},"582":{"position":[[528,2]]},"585":{"position":[[18,2]]},"589":{"position":[[0,2]]},"591":{"position":[[67,2]]},"604":{"position":[[25,2]]},"606":{"position":[[13,2],[279,2],[336,2],[399,2],[580,2],[721,2]]},"608":{"position":[[42,2]]},"610":{"position":[[67,2]]},"612":{"position":[[116,2],[162,2]]},"614":{"position":[[24,2]]},"618":{"position":[[3,2]]},"620":{"position":[[3,2]]},"629":{"position":[[281,2]]},"631":{"position":[[14,2]]},"633":{"position":[[129,2]]},"637":{"position":[[531,2]]},"639":{"position":[[414,2]]},"643":{"position":[[47,2]]},"654":{"position":[[53,2],[104,2],[320,2]]},"660":{"position":[[0,2]]},"670":{"position":[[49,2]]},"672":{"position":[[22,2],[81,2]]},"677":{"position":[[1,2]]},"681":{"position":[[107,2]]},"683":{"position":[[7,2],[51,2]]},"689":{"position":[[34,2]]},"691":{"position":[[10,2]]},"693":{"position":[[15,2]]},"712":{"position":[[23,2]]},"724":{"position":[[8,2]]},"726":{"position":[[28,2]]},"739":{"position":[[90,2]]},"745":{"position":[[0,2]]},"758":{"position":[[26,2],[237,2]]},"760":{"position":[[23,2]]},"785":{"position":[[152,2]]},"787":{"position":[[106,2]]},"791":{"position":[[78,2]]},"793":{"position":[[46,2],[52,2]]},"803":{"position":[[206,2]]},"805":{"position":[[470,2],[1098,2]]},"807":{"position":[[46,2],[336,2],[430,2],[532,2],[566,2],[578,2]]},"823":{"position":[[5,2]]},"825":{"position":[[51,2]]},"829":{"position":[[254,2]]}}}],["可变",{"_index":1436,"t":{"295":{"position":[[333,2]]}}}],["可用",{"_index":165,"t":{"9":{"position":[[93,2]]},"408":{"position":[[437,2]]},"410":{"position":[[243,2]]}}}],["可能",{"_index":176,"t":{"9":{"position":[[146,2]]},"15":{"position":[[80,2]]},"37":{"position":[[92,2]]},"41":{"position":[[32,2]]},"63":{"position":[[6,2],[37,2]]},"179":{"position":[[86,2]]},"220":{"position":[[158,2]]},"246":{"position":[[11,2]]},"335":{"position":[[267,2]]},"388":{"position":[[224,2]]},"481":{"position":[[686,2]]},"505":{"position":[[233,2]]},"519":{"position":[[66,2]]},"570":{"position":[[16,2]]},"572":{"position":[[13,2]]},"574":{"position":[[15,2]]},"576":{"position":[[15,2]]},"608":{"position":[[18,2]]},"651":{"position":[[108,2]]},"714":{"position":[[187,2]]}}}],["可见",{"_index":1076,"t":{"210":{"position":[[35,2],[455,2]]},"327":{"position":[[14,2],[72,2]]},"333":{"position":[[12,2]]}}}],["可视化",{"_index":27,"t":{"2":{"position":[[87,3]]},"4":{"position":[[398,3],[424,3]]},"19":{"position":[[9,3]]}}}],["可读性",{"_index":966,"t":{"185":{"position":[[38,3]]}}}],["各个",{"_index":2246,"t":{"681":{"position":[[0,2]]}}}],["各种",{"_index":41,"t":{"4":{"position":[[49,2],[172,2]]},"443":{"position":[[8,2]]}}}],["各自",{"_index":1848,"t":{"435":{"position":[[40,2]]}}}],["各路",{"_index":2063,"t":{"582":{"position":[[507,2]]},"606":{"position":[[147,2]]}}}],["各项",{"_index":2416,"t":{"807":{"position":[[340,2]]}}}],["合并",{"_index":458,"t":{"55":{"position":[[133,2]]},"359":{"position":[[1833,2]]}}}],["合成",{"_index":1132,"t":{"220":{"position":[[8,2]]}}}],["同一",{"_index":1017,"t":{"193":{"position":[[180,2]]}}}],["同一个",{"_index":1451,"t":{"297":{"position":[[17,3]]},"427":{"position":[[1094,3]]},"439":{"position":[[70,3]]},"515":{"position":[[754,3]]}}}],["同名",{"_index":1057,"t":{"201":{"position":[[132,2]]}}}],["同时",{"_index":25,"t":{"2":{"position":[[83,2]]},"9":{"position":[[35,2],[121,2]]},"11":{"position":[[9,2]]},"51":{"position":[[60,2]]},"107":{"position":[[106,2]]},"193":{"position":[[175,2]]},"203":{"position":[[102,2]]},"325":{"position":[[17,2]]},"376":{"position":[[45,2]]},"439":{"position":[[6,2]]},"501":{"position":[[615,2]]},"515":{"position":[[773,2]]},"555":{"position":[[68,2]]},"604":{"position":[[387,2]]},"606":{"position":[[453,2]]},"647":{"position":[[291,2]]},"651":{"position":[[630,2]]},"805":{"position":[[660,2]]}}}],["同构",{"_index":2119,"t":{"637":{"position":[[180,2],[307,2]]}}}],["同样",{"_index":1403,"t":{"268":{"position":[[0,2]]},"714":{"position":[[20,2],[141,2]]},"791":{"position":[[57,2]]},"829":{"position":[[239,2]]}}}],["同步",{"_index":2019,"t":{"539":{"position":[[130,2]]},"724":{"position":[[21,2]]}}}],["同源",{"_index":1342,"t":{"248":{"position":[[33,2]]}}}],["同理",{"_index":1107,"t":{"212":{"position":[[389,2]]}}}],["同类产品",{"_index":561,"t":{"82":{"position":[[203,4]]}}}],["名",{"_index":550,"t":{"82":{"position":[[76,1]]},"85":{"position":[[16,1]]},"537":{"position":[[279,1]]},"815":{"position":[[170,1]]}}}],["名为",{"_index":867,"t":{"147":{"position":[[20,2]]},"817":{"position":[[15,2]]}}}],["名称",{"_index":1331,"t":{"241":{"position":[[234,2]]},"443":{"position":[[26,2]]},"537":{"position":[[62,2]]},"681":{"position":[[39,2]]},"745":{"position":[[74,2],[172,2]]},"795":{"position":[[199,2]]},"817":{"position":[[6,2]]}}}],["后台",{"_index":388,"t":{"43":{"position":[[46,2],[72,2]]},"89":{"position":[[93,2]]}}}],["后续",{"_index":1631,"t":{"359":{"position":[[626,2]]},"807":{"position":[[41,2]]}}}],["后缀",{"_index":1579,"t":{"349":{"position":[[8,2]]},"515":{"position":[[1096,2]]},"647":{"position":[[317,2]]}}}],["后者",{"_index":857,"t":{"141":{"position":[[62,2]]}}}],["否则",{"_index":1121,"t":{"216":{"position":[[86,2]]},"220":{"position":[[156,2]]},"481":{"position":[[675,2]]}}}],["含",{"_index":115,"t":{"4":{"position":[[465,1]]}}}],["启动",{"_index":532,"t":{"80":{"position":[[46,2]]},"82":{"position":[[126,2]]},"408":{"position":[[0,2]]},"539":{"position":[[173,2]]},"543":{"position":[[125,2],[135,2]]},"783":{"position":[[71,2],[79,2]]},"793":{"position":[[105,2]]},"807":{"position":[[525,2],[550,2]]},"811":{"position":[[4,2]]}}}],["启用",{"_index":503,"t":{"72":{"position":[[7,2]]},"214":{"position":[[30,2]]},"305":{"position":[[358,2]]},"321":{"position":[[146,2]]},"479":{"position":[[197,2]]},"483":{"position":[[78,2]]},"523":{"position":[[213,2]]},"539":{"position":[[183,2]]},"572":{"position":[[8,2]]},"574":{"position":[[8,2]]},"576":{"position":[[8,2]]},"635":{"position":[[28,2]]}}}],["呈现",{"_index":1847,"t":{"431":{"position":[[409,2]]}}}],["周期",{"_index":2419,"t":{"807":{"position":[[564,2]]}}}],["命令",{"_index":506,"t":{"74":{"position":[[26,2]]},"89":{"position":[[17,2]]},"98":{"position":[[14,2]]},"485":{"position":[[76,2]]},"549":{"position":[[20,2]]},"741":{"position":[[41,2],[74,2]]},"743":{"position":[[15,2],[112,2]]},"745":{"position":[[23,2]]},"781":{"position":[[7,2]]},"783":{"position":[[68,2]]},"785":{"position":[[4,2]]},"787":{"position":[[133,2]]},"789":{"position":[[17,2],[70,2],[214,2]]},"791":{"position":[[14,2]]},"803":{"position":[[33,2],[72,2]]},"807":{"position":[[12,2],[51,2],[320,2],[370,2],[413,2],[464,2]]},"811":{"position":[[169,2]]}}}],["命令行",{"_index":644,"t":{"89":{"position":[[27,3]]},"147":{"position":[[0,3]]},"406":{"position":[[5,3],[115,3]]},"558":{"position":[[28,3]]},"781":{"position":[[56,3]]},"811":{"position":[[1,3]]}}}],["命名",{"_index":2153,"t":{"651":{"position":[[164,2],[211,2],[227,2]]},"703":{"position":[[439,2]]}}}],["响应",{"_index":1191,"t":{"235":{"position":[[54,2]]},"239":{"position":[[54,2]]},"309":{"position":[[119,2]]},"654":{"position":[[44,2]]}}}],["哪些",{"_index":1899,"t":{"491":{"position":[[50,2]]},"501":{"position":[[576,2]]}}}],["唯一",{"_index":1286,"t":{"237":{"position":[[692,2]]}}}],["商家",{"_index":896,"t":{"162":{"position":[[545,2]]}}}],["器",{"_index":1387,"t":{"261":{"position":[[195,1]]},"270":{"position":[[142,1]]},"305":{"position":[[362,1]]}}}],["回来",{"_index":1836,"t":{"429":{"position":[[84,2]]}}}],["回调",{"_index":1086,"t":{"210":{"position":[[178,2]]}}}],["因为",{"_index":1261,"t":{"237":{"position":[[153,2],[189,2]]},"248":{"position":[[27,2]]},"299":{"position":[[487,2]]},"388":{"position":[[160,2]]},"643":{"position":[[28,2]]}}}],["因此",{"_index":236,"t":{"17":{"position":[[21,2]]},"19":{"position":[[94,2]]},"23":{"position":[[187,2],[392,2]]},"115":{"position":[[162,2]]},"126":{"position":[[191,2]]},"210":{"position":[[103,2]]},"216":{"position":[[28,2]]},"299":{"position":[[514,2]]},"477":{"position":[[82,2]]},"481":{"position":[[545,2]]},"600":{"position":[[68,2]]},"637":{"position":[[150,2]]},"641":{"position":[[93,2],[112,2]]},"651":{"position":[[116,2]]},"654":{"position":[[318,2]]},"712":{"position":[[75,2]]},"714":{"position":[[216,2]]},"722":{"position":[[190,2]]},"724":{"position":[[292,2]]},"730":{"position":[[61,2]]},"749":{"position":[[94,2]]},"753":{"position":[[95,2]]}}}],["团队",{"_index":211,"t":{"13":{"position":[[11,2]]},"151":{"position":[[12,2]]}}}],["围绕",{"_index":8,"t":{"2":{"position":[[29,2]]}}}],["国际化",{"_index":674,"t":{"96":{"position":[[17,3],[32,3],[55,3],[176,3],[189,3],[195,3],[226,3],[249,3]]},"98":{"position":[[294,3]]},"100":{"position":[[0,3],[28,3]]},"113":{"position":[[45,3]]},"276":{"position":[[29,3]]}}}],["图",{"_index":844,"t":{"139":{"position":[[102,1]]}}}],["图标",{"_index":1862,"t":{"441":{"position":[[142,2]]}}}],["图片",{"_index":659,"t":{"92":{"position":[[12,2]]},"339":{"position":[[16,2]]}}}],["地",{"_index":957,"t":{"183":{"position":[[36,1]]},"220":{"position":[[100,1]]},"309":{"position":[[116,1]]}}}],["地址",{"_index":715,"t":{"100":{"position":[[12,2]]},"237":{"position":[[1308,2]]},"248":{"position":[[5,2],[12,2]]},"250":{"position":[[85,2]]},"339":{"position":[[114,2]]},"347":{"position":[[21,2]]},"515":{"position":[[381,2],[546,2],[565,2]]},"539":{"position":[[118,2]]},"589":{"position":[[30,2]]},"598":{"position":[[67,2]]},"606":{"position":[[516,2],[745,2]]},"629":{"position":[[57,2]]},"823":{"position":[[193,2]]}}}],["地方",{"_index":245,"t":{"19":{"position":[[21,2]]}}}],["场景",{"_index":85,"t":{"4":{"position":[[276,2],[317,2]]},"13":{"position":[[7,2]]},"19":{"position":[[47,2]]},"23":{"position":[[159,2]]},"41":{"position":[[29,2]]},"43":{"position":[[5,2],[48,2]]},"51":{"position":[[3,2]]},"115":{"position":[[115,2]]},"126":{"position":[[163,2]]},"137":{"position":[[16,2]]},"139":{"position":[[94,2]]},"226":{"position":[[377,2],[441,2]]},"241":{"position":[[5,2]]},"295":{"position":[[920,2]]},"345":{"position":[[11,2]]},"359":{"position":[[919,2]]},"361":{"position":[[29,2]]},"404":{"position":[[77,2]]},"505":{"position":[[134,2],[230,2]]},"515":{"position":[[365,2],[639,2],[877,2]]},"521":{"position":[[409,2]]},"562":{"position":[[18,2]]},"606":{"position":[[121,2]]},"608":{"position":[[15,2]]},"631":{"position":[[11,2]]},"672":{"position":[[17,2]]},"749":{"position":[[188,2]]}}}],["均",{"_index":703,"t":{"98":{"position":[[305,1]]},"363":{"position":[[257,1]]},"424":{"position":[[9,1]]},"427":{"position":[[1300,1]]},"501":{"position":[[432,1]]},"505":{"position":[[281,1]]},"665":{"position":[[107,1]]},"681":{"position":[[6,1]]},"699":{"position":[[97,1]]},"735":{"position":[[29,1]]}}}],["型",{"_index":1750,"t":{"400":{"position":[[118,1]]},"402":{"position":[[124,1]]},"695":{"position":[[60,1]]}}}],["埋",{"_index":1533,"t":{"333":{"position":[[24,1]]}}}],["域",{"_index":1344,"t":{"248":{"position":[[40,1],[68,1],[96,1]]},"589":{"position":[[263,1]]}}}],["域名",{"_index":1340,"t":{"248":{"position":[[15,2],[64,2]]},"250":{"position":[[63,2],[75,2]]}}}],["基于",{"_index":4,"t":{"2":{"position":[[12,2]]},"4":{"position":[[411,2]]},"7":{"position":[[141,2]]},"235":{"position":[[8,2]]},"237":{"position":[[41,2]]},"272":{"position":[[21,2]]},"427":{"position":[[156,2]]},"535":{"position":[[164,2]]},"730":{"position":[[65,2]]},"767":{"position":[[2,2]]},"793":{"position":[[9,2]]},"805":{"position":[[249,2],[809,2]]}}}],["基本",{"_index":2372,"t":{"751":{"position":[[10,2]]}}}],["基本一致",{"_index":2252,"t":{"683":{"position":[[46,4]]}}}],["基础",{"_index":19,"t":{"2":{"position":[[64,2]]},"4":{"position":[[287,2]]},"7":{"position":[[12,2]]},"11":{"position":[[30,2],[60,2]]},"183":{"position":[[65,2]]},"235":{"position":[[139,2]]},"347":{"position":[[1,2]]},"435":{"position":[[55,2]]},"515":{"position":[[907,2]]},"521":{"position":[[293,2],[368,2]]},"560":{"position":[[159,2]]},"793":{"position":[[42,2]]}}}],["基础知识",{"_index":205,"t":{"11":{"position":[[97,4]]}}}],["增加",{"_index":146,"t":{"9":{"position":[[17,2]]},"406":{"position":[[140,2]]},"501":{"position":[[406,2]]},"541":{"position":[[22,2]]},"566":{"position":[[44,2]]},"610":{"position":[[69,2]]},"635":{"position":[[59,2]]},"793":{"position":[[134,2]]}}}],["声明",{"_index":818,"t":{"120":{"position":[[14,2]]},"122":{"position":[[10,2]]},"349":{"position":[[10,2]]},"429":{"position":[[713,2]]},"435":{"position":[[38,2]]},"439":{"position":[[692,2]]},"443":{"position":[[0,2]]},"637":{"position":[[564,2]]},"665":{"position":[[71,2],[114,2]]},"679":{"position":[[32,2]]},"689":{"position":[[53,2]]},"699":{"position":[[61,2],[104,2]]}}}],["处理",{"_index":678,"t":{"96":{"position":[[50,2]]},"210":{"position":[[138,2],[406,2]]},"214":{"position":[[181,2]]},"216":{"position":[[83,2]]},"220":{"position":[[149,2]]},"239":{"position":[[434,2]]},"278":{"position":[[329,2]]},"295":{"position":[[847,2]]},"299":{"position":[[15,2]]},"337":{"position":[[7,2],[34,2],[49,2]]},"339":{"position":[[12,2],[106,2],[153,2]]},"345":{"position":[[33,2]]},"347":{"position":[[30,2]]},"427":{"position":[[1164,2]]},"429":{"position":[[751,2]]},"431":{"position":[[15,2],[335,2]]},"481":{"position":[[601,2],[644,2]]},"515":{"position":[[136,2]]},"553":{"position":[[14,2]]},"672":{"position":[[97,2]]},"703":{"position":[[423,2],[472,2]]},"720":{"position":[[39,2]]}}}],["处理函数",{"_index":1137,"t":{"220":{"position":[[86,4]]}}}],["备注",{"_index":1600,"t":{"359":{"position":[[98,2]]}}}],["复制",{"_index":525,"t":{"78":{"position":[[57,2]]}}}],["复制到",{"_index":530,"t":{"80":{"position":[[14,3]]},"351":{"position":[[381,3]]},"453":{"position":[[38,3]]}}}],["复杂",{"_index":840,"t":{"139":{"position":[[92,2]]},"241":{"position":[[3,2]]},"272":{"position":[[53,2]]},"299":{"position":[[19,2]]},"363":{"position":[[356,2]]},"651":{"position":[[201,2]]}}}],["复用",{"_index":30,"t":{"2":{"position":[[95,2]]},"7":{"position":[[192,2]]},"57":{"position":[[36,2]]},"139":{"position":[[90,2]]},"195":{"position":[[40,2]]},"637":{"position":[[90,2]]}}}],["外",{"_index":1095,"t":{"212":{"position":[[99,1]]},"347":{"position":[[10,1]]},"604":{"position":[[342,1],[382,1]]}}}],["外层",{"_index":2446,"t":{"827":{"position":[[4,2]]}}}],["外部",{"_index":2066,"t":{"585":{"position":[[155,2]]}}}],["多",{"_index":84,"t":{"4":{"position":[[275,1],[316,1],[409,1]]},"9":{"position":[[21,1],[187,1]]},"41":{"position":[[24,1],[37,1]]},"139":{"position":[[78,1]]},"171":{"position":[[131,1]]},"201":{"position":[[143,1]]},"235":{"position":[[147,1]]},"237":{"position":[[160,1],[1679,1]]},"307":{"position":[[164,1]]},"313":{"position":[[679,1]]},"354":{"position":[[36,1]]},"357":{"position":[[259,1]]},"365":{"position":[[277,1],[624,1],[952,1]]},"406":{"position":[[139,1]]},"474":{"position":[[46,1]]},"481":{"position":[[648,1]]},"507":{"position":[[499,1]]},"509":{"position":[[49,1]]},"511":{"position":[[48,1]]},"519":{"position":[[93,1]]},"527":{"position":[[148,1]]},"651":{"position":[[179,1],[224,1],[895,1]]}}}],["多个",{"_index":352,"t":{"37":{"position":[[97,2]]},"237":{"position":[[467,2],[485,2]]},"241":{"position":[[19,2]]},"439":{"position":[[10,2],[62,2],[610,2]]},"519":{"position":[[71,2]]},"643":{"position":[[631,2]]},"683":{"position":[[20,2]]},"803":{"position":[[192,2]]}}}],["多功能",{"_index":102,"t":{"4":{"position":[[371,3]]}}}],["多样",{"_index":2289,"t":{"714":{"position":[[213,2]]}}}],["多样性",{"_index":2292,"t":{"714":{"position":[[254,3]]}}}],["多次",{"_index":1004,"t":{"191":{"position":[[133,2]]}}}],["多种",{"_index":54,"t":{"4":{"position":[[107,2]]},"505":{"position":[[44,2]]},"670":{"position":[[117,2]]}}}],["多端",{"_index":2227,"t":{"670":{"position":[[66,2]]}}}],["多页",{"_index":623,"t":{"85":{"position":[[1093,2]]}}}],["大",{"_index":284,"t":{"23":{"position":[[171,1]]},"39":{"position":[[7,1]]},"126":{"position":[[175,1]]},"521":{"position":[[205,1]]}}}],["大于",{"_index":1019,"t":{"193":{"position":[[192,2]]}}}],["大会",{"_index":1977,"t":{"521":{"position":[[195,2]]}}}],["大型",{"_index":877,"t":{"151":{"position":[[16,2]]}}}],["大多数",{"_index":282,"t":{"23":{"position":[[156,3]]},"47":{"position":[[0,3]]},"126":{"position":[[160,3]]},"477":{"position":[[86,3]]},"712":{"position":[[256,3],[365,3]]}}}],["大小",{"_index":294,"t":{"23":{"position":[[222,2]]},"41":{"position":[[10,2]]},"126":{"position":[[226,2]]},"137":{"position":[[586,2]]},"521":{"position":[[378,2]]},"537":{"position":[[172,2]]}}}],["大幅度降低",{"_index":845,"t":{"139":{"position":[[111,5]]}}}],["大部分",{"_index":863,"t":{"143":{"position":[[55,3]]},"203":{"position":[[96,3]]},"222":{"position":[[0,3]]},"250":{"position":[[0,3]]},"363":{"position":[[252,3]]},"735":{"position":[[21,3]]}}}],["大量",{"_index":103,"t":{"4":{"position":[[378,2]]},"13":{"position":[[14,2]]},"185":{"position":[[13,2]]},"361":{"position":[[6,2]]},"505":{"position":[[237,2],[273,2]]},"515":{"position":[[919,2]]},"523":{"position":[[82,2]]}}}],["天然",{"_index":1813,"t":{"427":{"position":[[168,2]]},"654":{"position":[[306,2]]}}}],["太",{"_index":283,"t":{"23":{"position":[[170,1]]},"126":{"position":[[174,1]]}}}],["失效",{"_index":1542,"t":{"335":{"position":[[270,2]]},"531":{"position":[[80,2]]}}}],["失败",{"_index":1327,"t":{"239":{"position":[[666,2]]},"429":{"position":[[822,2]]}}}],["如下",{"_index":333,"t":{"34":{"position":[[58,2]]},"57":{"position":[[381,2]]},"113":{"position":[[321,2]]},"135":{"position":[[58,2]]},"226":{"position":[[28,2],[293,2]]},"235":{"position":[[160,2],[1790,2]]},"259":{"position":[[14,2]]},"286":{"position":[[144,2]]},"347":{"position":[[38,2]]},"359":{"position":[[78,2],[1199,2]]},"363":{"position":[[361,2]]},"420":{"position":[[73,2]]},"427":{"position":[[1120,2]]},"429":{"position":[[108,2]]},"441":{"position":[[34,2]]},"465":{"position":[[17,2]]},"503":{"position":[[107,2]]},"513":{"position":[[261,2]]},"545":{"position":[[59,2]]},"560":{"position":[[198,2]]},"568":{"position":[[38,2]]},"582":{"position":[[14,2]]},"587":{"position":[[107,2]]},"598":{"position":[[72,2]]},"600":{"position":[[135,2]]},"635":{"position":[[61,2]]},"639":{"position":[[137,2]]},"645":{"position":[[20,2]]},"651":{"position":[[242,2]]},"672":{"position":[[102,2]]},"681":{"position":[[41,2]]},"745":{"position":[[76,2],[174,2]]},"753":{"position":[[162,2]]},"781":{"position":[[127,2]]},"799":{"position":[[107,2]]},"807":{"position":[[297,2]]},"819":{"position":[[19,2]]}}}],["如何",{"_index":197,"t":{"11":{"position":[[68,2]]},"416":{"position":[[10,2]]}}}],["如果",{"_index":172,"t":{"9":{"position":[[114,2]]},"15":{"position":[[66,2],[166,2]]},"23":{"position":[[209,2]]},"37":{"position":[[54,2]]},"39":{"position":[[0,2]]},"41":{"position":[[17,2]]},"76":{"position":[[0,2]]},"87":{"position":[[707,2]]},"92":{"position":[[0,2]]},"96":{"position":[[217,2]]},"113":{"position":[[10,2],[73,2]]},"124":{"position":[[43,2]]},"126":{"position":[[213,2]]},"131":{"position":[[81,2]]},"137":{"position":[[261,2]]},"139":{"position":[[137,2],[240,2]]},"158":{"position":[[0,2]]},"214":{"position":[[27,2]]},"216":{"position":[[31,2]]},"218":{"position":[[130,2]]},"237":{"position":[[357,2],[447,2],[970,2]]},"241":{"position":[[237,2]]},"250":{"position":[[73,2]]},"255":{"position":[[16,2]]},"297":{"position":[[3,2]]},"299":{"position":[[516,2]]},"303":{"position":[[24,2]]},"307":{"position":[[56,2]]},"343":{"position":[[68,2]]},"347":{"position":[[12,2]]},"359":{"position":[[1177,2],[1792,2]]},"361":{"position":[[16,2],[1573,2],[2869,2]]},"363":{"position":[[350,2]]},"388":{"position":[[196,2]]},"392":{"position":[[116,2]]},"400":{"position":[[107,2]]},"402":{"position":[[113,2]]},"420":{"position":[[169,2]]},"427":{"position":[[1314,2]]},"429":{"position":[[52,2]]},"437":{"position":[[0,2]]},"439":{"position":[[0,2],[60,2],[677,2]]},"477":{"position":[[219,2]]},"489":{"position":[[45,2]]},"501":{"position":[[129,2],[383,2],[413,2],[570,2]]},"503":{"position":[[507,2]]},"505":{"position":[[259,2],[317,2]]},"507":{"position":[[481,2]]},"513":{"position":[[240,2]]},"519":{"position":[[81,2]]},"521":{"position":[[190,2],[229,2],[403,2]]},"523":{"position":[[179,2]]},"531":{"position":[[20,2]]},"541":{"position":[[169,2]]},"553":{"position":[[0,2]]},"560":{"position":[[93,2]]},"591":{"position":[[0,2]]},"604":{"position":[[305,2],[345,2],[385,2]]},"606":{"position":[[554,2]]},"610":{"position":[[34,2]]},"612":{"position":[[145,2]]},"629":{"position":[[60,2],[249,2]]},"637":{"position":[[47,2],[502,2]]},"658":{"position":[[0,2],[168,2]]},"672":{"position":[[71,2]]},"714":{"position":[[109,2]]},"805":{"position":[[1081,2]]},"829":{"position":[[235,2]]}}}],["如若",{"_index":2048,"t":{"566":{"position":[[20,2]]}}}],["媒体",{"_index":2299,"t":{"716":{"position":[[29,2]]}}}],["子",{"_index":883,"t":{"156":{"position":[[14,1]]},"193":{"position":[[218,1]]},"398":{"position":[[34,1]]},"604":{"position":[[294,1],[351,1]]}}}],["字",{"_index":912,"t":{"167":{"position":[[53,1]]},"243":{"position":[[88,1],[156,1]]},"390":{"position":[[17,1]]},"515":{"position":[[950,1]]},"663":{"position":[[60,1],[251,1]]},"681":{"position":[[135,1],[153,1]]},"799":{"position":[[242,1]]},"809":{"position":[[29,1],[253,1]]},"811":{"position":[[195,1]]}}}],["字体",{"_index":486,"t":{"63":{"position":[[21,2],[75,2]]},"92":{"position":[[15,2]]},"339":{"position":[[48,2]]}}}],["字符",{"_index":1752,"t":{"406":{"position":[[148,2]]}}}],["字符串",{"_index":1462,"t":{"299":{"position":[[500,3]]},"349":{"position":[[17,3]]},"481":{"position":[[530,3],[615,3]]},"562":{"position":[[88,3]]},"612":{"position":[[127,3]]}}}],["字节",{"_index":2230,"t":{"670":{"position":[[111,2]]},"745":{"position":[[193,2]]}}}],["存储",{"_index":1278,"t":{"237":{"position":[[482,2]]}}}],["存在",{"_index":292,"t":{"23":{"position":[[212,2]]},"126":{"position":[[216,2]]},"137":{"position":[[277,2]]},"179":{"position":[[89,2]]},"185":{"position":[[194,2]]},"216":{"position":[[38,2]]},"218":{"position":[[23,2]]},"243":{"position":[[85,2],[153,2],[189,2],[226,2]]},"359":{"position":[[1179,2]]},"361":{"position":[[2871,2]]},"505":{"position":[[235,2]]},"521":{"position":[[405,2]]},"604":{"position":[[389,2]]},"606":{"position":[[455,2]]},"681":{"position":[[7,2]]},"720":{"position":[[13,2]]},"722":{"position":[[20,2]]}}}],["存放",{"_index":793,"t":{"115":{"position":[[20,2]]},"276":{"position":[[15,2]]},"351":{"position":[[327,2]]},"451":{"position":[[0,2]]},"453":{"position":[[2,2]]},"455":{"position":[[2,2]]},"463":{"position":[[0,2]]},"629":{"position":[[271,2]]},"681":{"position":[[19,2]]}}}],["它们",{"_index":702,"t":{"98":{"position":[[303,2]]},"141":{"position":[[26,2]]}}}],["安装",{"_index":310,"t":{"25":{"position":[[0,2]]},"45":{"position":[[0,2]]},"65":{"position":[[0,2]]},"82":{"position":[[16,2]]},"98":{"position":[[16,2]]},"128":{"position":[[0,2]]},"177":{"position":[[84,2]]},"224":{"position":[[18,2]]},"261":{"position":[[67,2]]},"270":{"position":[[2,2]]},"274":{"position":[[0,2]]},"311":{"position":[[0,2]]},"329":{"position":[[35,2]]},"365":{"position":[[17,2],[304,2],[652,2]]},"416":{"position":[[12,2]]},"418":{"position":[[9,2],[105,2],[200,2],[269,2]]},"420":{"position":[[0,2],[63,2],[148,2],[233,2]]},"660":{"position":[[17,2]]},"712":{"position":[[130,2]]},"741":{"position":[[361,2]]},"779":{"position":[[5,2]]},"783":{"position":[[4,2],[36,2],[55,2]]},"787":{"position":[[15,2]]},"803":{"position":[[190,2]]}}}],["完全",{"_index":873,"t":{"149":{"position":[[59,2]]},"503":{"position":[[511,2]]}}}],["完善",{"_index":2229,"t":{"670":{"position":[[84,2]]}}}],["完成",{"_index":95,"t":{"4":{"position":[[328,2]]},"43":{"position":[[25,2]]},"74":{"position":[[6,2],[37,2]]},"89":{"position":[[19,2]]},"169":{"position":[[186,2]]},"205":{"position":[[37,2]]},"257":{"position":[[627,2]]},"357":{"position":[[661,2]]},"372":{"position":[[165,2]]},"388":{"position":[[37,2]]},"392":{"position":[[51,2],[231,2]]},"427":{"position":[[238,2]]},"429":{"position":[[15,2]]},"431":{"position":[[22,2],[55,2]]},"539":{"position":[[104,2]]},"549":{"position":[[7,2]]},"681":{"position":[[148,2]]},"743":{"position":[[108,2]]},"758":{"position":[[178,2]]},"783":{"position":[[59,2]]},"789":{"position":[[66,2],[210,2]]},"797":{"position":[[609,2]]},"807":{"position":[[34,2]]}}}],["完整",{"_index":911,"t":{"167":{"position":[[49,2]]},"222":{"position":[[61,2]]},"235":{"position":[[1758,2],[1771,2]]},"351":{"position":[[379,2]]},"551":{"position":[[244,2]]}}}],["完毕",{"_index":2343,"t":{"739":{"position":[[87,2]]}}}],["完美",{"_index":679,"t":{"96":{"position":[[61,2]]}}}],["官",{"_index":512,"t":{"76":{"position":[[6,1]]},"208":{"position":[[41,1]]}}}],["官方",{"_index":63,"t":{"4":{"position":[[148,2],[381,2]]},"15":{"position":[[43,2],[105,2]]},"82":{"position":[[196,2]]},"96":{"position":[[7,2]]},"309":{"position":[[147,2]]},"359":{"position":[[1566,2]]},"651":{"position":[[928,2]]},"795":{"position":[[21,2]]}}}],["定义",{"_index":571,"t":{"85":{"position":[[127,2]]},"226":{"position":[[64,2],[149,2]]},"230":{"position":[[125,2],[589,2]]},"278":{"position":[[17,2],[25,2],[168,2],[228,2],[327,2]]},"286":{"position":[[23,2],[89,2],[135,2]]},"288":{"position":[[78,2]]},"295":{"position":[[46,2],[82,2]]},"307":{"position":[[60,2]]},"325":{"position":[[8,2]]},"390":{"position":[[59,2]]},"400":{"position":[[100,2]]},"402":{"position":[[108,2]]},"427":{"position":[[625,2],[1231,2]]},"429":{"position":[[113,2],[517,2]]},"435":{"position":[[89,2],[568,2]]},"437":{"position":[[32,2]]},"439":{"position":[[660,2]]},"481":{"position":[[377,2]]},"515":{"position":[[661,2]]},"591":{"position":[[96,2]]},"637":{"position":[[535,2]]},"643":{"position":[[55,2],[74,2],[628,2]]},"649":{"position":[[14,2]]}}}],["定义数据",{"_index":1156,"t":{"226":{"position":[[287,4]]},"384":{"position":[[27,4]]}}}],["定制",{"_index":96,"t":{"4":{"position":[[330,2],[455,2]]},"23":{"position":[[216,2]]},"126":{"position":[[220,2]]},"137":{"position":[[281,2]]},"315":{"position":[[35,2]]},"359":{"position":[[1013,2],[1190,2],[1206,2],[1795,2]]},"361":{"position":[[27,2],[2873,2]]},"535":{"position":[[27,2],[205,2]]},"537":{"position":[[53,2],[433,2]]},"749":{"position":[[232,2]]},"793":{"position":[[70,2],[74,2],[96,2]]},"795":{"position":[[237,2],[313,2]]},"797":{"position":[[69,2],[95,2],[339,2]]},"799":{"position":[[200,2]]},"801":{"position":[[3,2]]},"805":{"position":[[690,2],[1093,2]]},"823":{"position":[[7,2]]},"829":{"position":[[312,2]]}}}],["实体",{"_index":978,"t":{"185":{"position":[[132,2]]}}}],["实例",{"_index":931,"t":{"177":{"position":[[62,2]]},"235":{"position":[[150,2]]},"241":{"position":[[35,2],[232,2],[257,2]]},"297":{"position":[[27,2]]},"803":{"position":[[182,2],[241,2]]}}}],["实现",{"_index":67,"t":{"4":{"position":[[159,2]]},"87":{"position":[[761,2]]},"201":{"position":[[52,2]]},"208":{"position":[[11,2]]},"210":{"position":[[69,2]]},"220":{"position":[[119,2]]},"222":{"position":[[101,2]]},"237":{"position":[[465,2]]},"250":{"position":[[296,2]]},"305":{"position":[[15,2]]},"333":{"position":[[33,2],[57,2]]},"427":{"position":[[605,2],[720,2]]},"429":{"position":[[262,2]]},"435":{"position":[[101,2],[579,2]]},"439":{"position":[[114,2]]},"507":{"position":[[110,2]]},"555":{"position":[[15,2]]},"582":{"position":[[530,2]]},"602":{"position":[[40,2]]},"604":{"position":[[119,2]]},"620":{"position":[[203,2]]},"637":{"position":[[556,2]]},"643":{"position":[[95,2]]},"683":{"position":[[71,2]]},"722":{"position":[[161,2]]},"730":{"position":[[27,2],[77,2]]},"758":{"position":[[28,2]]},"819":{"position":[[428,2],[656,2],[942,2]]}}}],["实践",{"_index":46,"t":{"4":{"position":[[75,2]]},"7":{"position":[[85,2]]},"13":{"position":[[19,2]]},"359":{"position":[[634,2],[732,2]]},"651":{"position":[[956,2]]}}}],["实际",{"_index":1262,"t":{"237":{"position":[[155,2]]},"239":{"position":[[1,2]]},"250":{"position":[[78,2]]},"505":{"position":[[66,2]]},"600":{"position":[[268,2]]},"753":{"position":[[295,2]]},"758":{"position":[[313,2]]}}}],["实验",{"_index":941,"t":{"181":{"position":[[29,2]]}}}],["实验性",{"_index":936,"t":{"179":{"position":[[79,3]]},"805":{"position":[[369,3]]}}}],["审核",{"_index":653,"t":{"89":{"position":[[103,2]]}}}],["容器",{"_index":1812,"t":{"427":{"position":[[122,2],[1062,2]]},"582":{"position":[[495,2]]},"712":{"position":[[393,2]]}}}],["容易",{"_index":2158,"t":{"651":{"position":[[204,2]]}}}],["宽",{"_index":2178,"t":{"654":{"position":[[122,1]]},"728":{"position":[[18,1],[31,1],[38,1],[62,1],[77,1],[107,1]]}}}],["宽度",{"_index":2175,"t":{"654":{"position":[[110,2],[147,2]]}}}],["富",{"_index":841,"t":{"139":{"position":[[97,1]]}}}],["对",{"_index":147,"t":{"9":{"position":[[22,1],[161,1]]},"15":{"position":[[47,1]]},"49":{"position":[[2,1]]},"185":{"position":[[153,1]]},"203":{"position":[[54,1]]},"214":{"position":[[63,1]]},"220":{"position":[[14,1]]},"237":{"position":[[21,1]]},"239":{"position":[[10,1],[413,1],[604,1]]},"313":{"position":[[64,1]]},"345":{"position":[[28,1]]},"427":{"position":[[2,1]]},"457":{"position":[[10,1]]},"477":{"position":[[227,1]]},"481":{"position":[[510,1]]},"501":{"position":[[84,1],[104,1],[601,1]]},"515":{"position":[[166,1]]},"535":{"position":[[10,1]]},"606":{"position":[[266,1]]},"663":{"position":[[39,1]]},"749":{"position":[[119,1]]},"805":{"position":[[35,1],[685,1]]},"813":{"position":[[147,1]]}}}],["对于",{"_index":156,"t":{"9":{"position":[[47,2],[69,2]]},"43":{"position":[[0,2]]},"57":{"position":[[0,2]]},"137":{"position":[[0,2],[582,2]]},"139":{"position":[[123,2]]},"143":{"position":[[0,2]]},"210":{"position":[[412,2]]},"295":{"position":[[393,2]]},"337":{"position":[[42,2]]},"345":{"position":[[0,2]]},"361":{"position":[[4,2]]},"481":{"position":[[549,2],[604,2],[700,2]]},"515":{"position":[[354,2],[869,2],[917,2]]},"523":{"position":[[103,2]]},"600":{"position":[[0,2]]},"612":{"position":[[6,2]]},"631":{"position":[[0,2]]},"649":{"position":[[0,2]]},"651":{"position":[[0,2]]},"672":{"position":[[0,2]]},"753":{"position":[[27,2]]},"805":{"position":[[648,2]]},"809":{"position":[[255,2]]},"811":{"position":[[197,2]]},"815":{"position":[[181,2]]}}}],["对应",{"_index":220,"t":{"15":{"position":[[86,2]]},"80":{"position":[[20,2]]},"89":{"position":[[34,2],[85,2]]},"96":{"position":[[102,2]]},"100":{"position":[[33,2],[324,2],[400,2]]},"107":{"position":[[183,2]]},"109":{"position":[[182,2]]},"113":{"position":[[42,2]]},"117":{"position":[[47,2]]},"124":{"position":[[37,2]]},"147":{"position":[[61,2]]},"169":{"position":[[17,2]]},"250":{"position":[[67,2]]},"323":{"position":[[127,2]]},"357":{"position":[[101,2]]},"376":{"position":[[467,2]]},"424":{"position":[[13,2]]},"439":{"position":[[635,2]]},"481":{"position":[[375,2]]},"491":{"position":[[224,2]]},"505":{"position":[[72,2],[98,2]]},"513":{"position":[[618,2],[646,2]]},"539":{"position":[[68,2],[113,2]]},"604":{"position":[[282,2]]},"606":{"position":[[369,2]]},"651":{"position":[[288,2]]},"681":{"position":[[37,2]]},"685":{"position":[[0,2]]},"703":{"position":[[264,2]]},"716":{"position":[[45,2]]},"726":{"position":[[147,2]]},"743":{"position":[[12,2],[130,2]]},"760":{"position":[[0,2]]},"789":{"position":[[14,2],[88,2],[232,2]]},"791":{"position":[[82,2]]},"799":{"position":[[832,2]]}}}],["对比",{"_index":414,"t":{"47":{"position":[[34,2]]},"197":{"position":[[275,2],[445,2]]},"427":{"position":[[1118,2]]}}}],["对象",{"_index":422,"t":{"47":{"position":[[76,2],[80,2]]},"115":{"position":[[557,2]]},"193":{"position":[[130,2]]},"212":{"position":[[130,2]]},"218":{"position":[[104,2]]},"237":{"position":[[1408,2]]},"239":{"position":[[251,2]]},"241":{"position":[[37,2]]},"243":{"position":[[42,2]]},"295":{"position":[[71,2]]},"299":{"position":[[21,2]]},"361":{"position":[[1609,2]]},"392":{"position":[[142,2]]},"429":{"position":[[781,2]]},"553":{"position":[[26,2]]}}}],["对齐",{"_index":2336,"t":{"735":{"position":[[38,2]]}}}],["导入",{"_index":1111,"t":{"214":{"position":[[68,2]]},"372":{"position":[[146,2]]},"400":{"position":[[130,2]]},"402":{"position":[[136,2]]},"477":{"position":[[103,2]]},"758":{"position":[[159,2]]}}}],["导出",{"_index":421,"t":{"47":{"position":[[68,2]]},"203":{"position":[[104,2]]},"295":{"position":[[67,2]]},"317":{"position":[[159,2]]},"325":{"position":[[140,2]]},"365":{"position":[[563,2],[896,2]]},"382":{"position":[[37,2]]},"427":{"position":[[1013,2]]},"431":{"position":[[386,2]]},"435":{"position":[[23,2],[105,2]]},"437":{"position":[[35,2]]},"600":{"position":[[106,2]]},"602":{"position":[[35,2]]},"604":{"position":[[114,2]]},"637":{"position":[[14,2],[970,2]]},"663":{"position":[[20,2]]},"665":{"position":[[55,2]]},"677":{"position":[[41,2]]},"683":{"position":[[63,2],[78,2],[106,2]]},"689":{"position":[[38,2]]},"699":{"position":[[45,2]]},"741":{"position":[[671,2]]},"753":{"position":[[133,2]]},"799":{"position":[[244,2],[875,2]]}}}],["导致",{"_index":372,"t":{"41":{"position":[[44,2]]},"185":{"position":[[27,2]]},"218":{"position":[[44,2]]},"248":{"position":[[37,2]]},"521":{"position":[[197,2]]},"531":{"position":[[73,2]]}}}],["封装",{"_index":464,"t":{"57":{"position":[[17,2]]},"203":{"position":[[67,2]]},"235":{"position":[[19,2]]},"237":{"position":[[62,2]]},"239":{"position":[[20,2]]},"372":{"position":[[193,2]]},"431":{"position":[[64,2]]},"758":{"position":[[206,2]]}}}],["将",{"_index":490,"t":{"63":{"position":[[55,1]]},"78":{"position":[[45,1]]},"100":{"position":[[285,1],[393,1]]},"113":{"position":[[27,1]]},"117":{"position":[[12,1],[341,1]]},"131":{"position":[[97,1]]},"173":{"position":[[27,1],[63,1]]},"195":{"position":[[26,1]]},"203":{"position":[[129,1]]},"214":{"position":[[154,1]]},"220":{"position":[[82,1]]},"237":{"position":[[70,1]]},"309":{"position":[[20,1]]},"339":{"position":[[195,1]]},"349":{"position":[[12,1]]},"359":{"position":[[1164,1],[1166,1]]},"361":{"position":[[1593,1]]},"427":{"position":[[591,1],[1241,1]]},"439":{"position":[[35,1]]},"481":{"position":[[177,1],[508,1]]},"489":{"position":[[67,1]]},"501":{"position":[[102,1]]},"507":{"position":[[512,1]]},"515":{"position":[[503,1]]},"521":{"position":[[131,1],[297,1]]},"527":{"position":[[65,1]]},"531":{"position":[[72,1]]},"560":{"position":[[433,1]]},"600":{"position":[[282,1]]},"604":{"position":[[325,1],[358,1]]},"606":{"position":[[281,1],[338,1],[360,1],[429,1]]},"610":{"position":[[23,1],[53,1]]},"631":{"position":[[167,1]]},"637":{"position":[[31,1],[69,1]]},"639":{"position":[[422,1]]},"651":{"position":[[229,1]]},"654":{"position":[[234,1],[338,1]]},"681":{"position":[[158,1]]},"741":{"position":[[0,1]]},"753":{"position":[[309,1]]},"769":{"position":[[2,1]]},"791":{"position":[[105,1]]}}}],["小于",{"_index":1563,"t":{"343":{"position":[[74,2]]}}}],["小数",{"_index":2190,"t":{"654":{"position":[[298,2]]}}}],["少量",{"_index":244,"t":{"19":{"position":[[19,2]]}}}],["就",{"_index":528,"t":{"78":{"position":[[64,1]]},"80":{"position":[[43,1]]},"94":{"position":[[59,1]]},"115":{"position":[[141,1],[521,1]]},"187":{"position":[[210,1]]},"248":{"position":[[25,1]]},"257":{"position":[[631,1]]},"261":{"position":[[898,1]]},"270":{"position":[[1039,1]]},"307":{"position":[[32,1]]},"339":{"position":[[274,1]]},"585":{"position":[[0,1]]},"606":{"position":[[398,1],[720,1]]},"614":{"position":[[23,1]]},"639":{"position":[[421,1]]}}}],["就是",{"_index":1893,"t":{"481":{"position":[[677,2]]}}}],["尺寸",{"_index":832,"t":{"137":{"position":[[592,2]]},"343":{"position":[[72,2]]},"724":{"position":[[28,2],[151,2]]}}}],["尽可能",{"_index":139,"t":{"7":{"position":[[195,3]]}}}],["尽量",{"_index":1140,"t":{"220":{"position":[[126,2]]}}}],["局部",{"_index":2194,"t":{"658":{"position":[[26,2]]}}}],["屏幕",{"_index":1298,"t":{"237":{"position":[[894,2],[963,2]]},"654":{"position":[[108,2],[120,2],[145,2]]}}}],["展示",{"_index":477,"t":{"59":{"position":[[10,2]]},"87":{"position":[[688,2]]},"239":{"position":[[599,2]]},"429":{"position":[[800,2],[825,2]]},"527":{"position":[[76,2]]}}}],["属于",{"_index":1450,"t":{"297":{"position":[[15,2]]},"439":{"position":[[68,2]]}}}],["属性",{"_index":1100,"t":{"212":{"position":[[329,2]]},"218":{"position":[[62,2],[141,2],[171,2]]},"309":{"position":[[49,2]]},"485":{"position":[[62,2]]},"656":{"position":[[173,2]]},"658":{"position":[[183,2],[197,2]]},"665":{"position":[[14,2]]},"691":{"position":[[21,2]]},"693":{"position":[[26,2]]},"716":{"position":[[34,2],[41,2],[55,2]]}}}],["嵌套",{"_index":1853,"t":{"439":{"position":[[23,2]]},"515":{"position":[[634,2],[663,2]]},"595":{"position":[[20,2]]},"604":{"position":[[291,2],[333,2],[367,2],[417,2]]},"606":{"position":[[19,2],[57,2],[116,2],[267,2],[296,2],[559,2],[572,2]]},"647":{"position":[[85,2]]},"660":{"position":[[51,2]]},"714":{"position":[[64,2],[77,2],[139,2],[190,2]]}}}],["工具",{"_index":181,"t":{"9":{"position":[[180,2]]},"17":{"position":[[8,2]]},"23":{"position":[[85,2]]},"89":{"position":[[43,2],[59,2]]},"126":{"position":[[89,2]]},"143":{"position":[[31,2]]},"149":{"position":[[1,2],[10,2]]},"351":{"position":[[27,2]]},"359":{"position":[[1568,2]]},"424":{"position":[[19,2],[32,2],[45,2],[56,2]]},"507":{"position":[[510,2]]},"535":{"position":[[43,2]]},"551":{"position":[[24,2]]},"743":{"position":[[139,2]]},"749":{"position":[[144,2]]},"789":{"position":[[97,2],[241,2]]},"791":{"position":[[91,2]]},"805":{"position":[[255,2]]}}}],["工程",{"_index":287,"t":{"23":{"position":[[182,2]]},"126":{"position":[[186,2]]},"143":{"position":[[58,2]]},"147":{"position":[[14,2],[18,2],[79,2]]},"149":{"position":[[64,2]]},"433":{"position":[[2,2]]},"503":{"position":[[582,2]]},"541":{"position":[[194,2]]},"606":{"position":[[445,2]]},"681":{"position":[[14,2]]},"795":{"position":[[239,2]]},"797":{"position":[[71,2]]},"799":{"position":[[77,2]]},"801":{"position":[[5,2]]},"803":{"position":[[185,2]]},"805":{"position":[[20,2],[253,2]]}}}],["巨大",{"_index":2312,"t":{"722":{"position":[[187,2]]}}}],["差异",{"_index":859,"t":{"141":{"position":[[119,2],[127,2],[134,2],[142,2]]},"203":{"position":[[99,2]]},"220":{"position":[[121,2]]},"235":{"position":[[41,2]]},"237":{"position":[[65,2]]},"427":{"position":[[1116,2]]},"560":{"position":[[109,2]]},"720":{"position":[[19,2],[35,2]]},"722":{"position":[[24,2],[185,2]]},"735":{"position":[[64,2]]}}}],["差异化",{"_index":2064,"t":{"582":{"position":[[545,3]]},"589":{"position":[[38,3]]},"606":{"position":[[226,3]]},"614":{"position":[[41,3]]},"689":{"position":[[25,3]]}}}],["已有",{"_index":997,"t":{"189":{"position":[[11,2]]},"741":{"position":[[1,2]]},"749":{"position":[[282,2]]}}}],["已知",{"_index":170,"t":{"9":{"position":[[107,2]]}}}],["已经",{"_index":979,"t":{"185":{"position":[[142,2]]},"210":{"position":[[402,2]]},"787":{"position":[[128,2]]}}}],["布局",{"_index":915,"t":{"169":{"position":[[20,2]]},"309":{"position":[[122,2]]},"335":{"position":[[247,2]]},"441":{"position":[[270,2]]},"604":{"position":[[50,2],[83,2],[287,2],[299,2],[330,2],[364,2],[394,2],[404,2],[412,2],[423,2]]},"606":{"position":[[8,2],[355,2]]},"683":{"position":[[22,2],[37,2]]},"685":{"position":[[7,2]]},"751":{"position":[[28,2]]}}}],["希望",{"_index":206,"t":{"11":{"position":[[102,2]]},"131":{"position":[[83,2]]},"347":{"position":[[15,2]]},"351":{"position":[[69,2],[116,2]]},"361":{"position":[[1575,2]]},"431":{"position":[[4,2]]},"435":{"position":[[664,2]]},"489":{"position":[[47,2]]},"501":{"position":[[415,2]]},"513":{"position":[[242,2]]},"519":{"position":[[84,2]]},"523":{"position":[[181,2]]},"553":{"position":[[4,2]]},"591":{"position":[[27,2]]},"612":{"position":[[147,2]]},"829":{"position":[[237,2]]}}}],["带",{"_index":1028,"t":{"195":{"position":[[50,1]]},"489":{"position":[[55,1]]},"515":{"position":[[572,1]]},"805":{"position":[[606,1]]}}}],["带来",{"_index":1589,"t":{"354":{"position":[[16,2],[33,2]]},"600":{"position":[[16,2]]},"679":{"position":[[100,2]]},"753":{"position":[[43,2]]}}}],["带路",{"_index":1744,"t":{"396":{"position":[[58,2]]}}}],["帮",{"_index":1091,"t":{"210":{"position":[[404,1]]}}}],["帮助",{"_index":208,"t":{"11":{"position":[[105,2]]},"43":{"position":[[237,2]]},"151":{"position":[[62,2]]},"183":{"position":[[25,2]]},"412":{"position":[[2,2]]},"551":{"position":[[30,2]]}}}],["常常",{"_index":2277,"t":{"712":{"position":[[53,2]]}}}],["常用",{"_index":1197,"t":{"235":{"position":[[427,2]]},"237":{"position":[[1254,2]]},"319":{"position":[[13,2]]},"359":{"position":[[538,2]]},"469":{"position":[[9,2]]},"477":{"position":[[69,2]]}}}],["常见",{"_index":397,"t":{"43":{"position":[[107,2]]},"361":{"position":[[2857,2]]},"606":{"position":[[326,2]]}}}],["常规",{"_index":1814,"t":{"427":{"position":[[182,2],[1329,2]]},"643":{"position":[[385,2]]}}}],["平",{"_index":1060,"t":{"203":{"position":[[74,1]]},"720":{"position":[[28,1]]}}}],["平台",{"_index":383,"t":{"43":{"position":[[23,2]]},"162":{"position":[[547,2]]},"745":{"position":[[60,2],[83,2],[158,2],[181,2]]},"749":{"position":[[192,2]]}}}],["平滑",{"_index":862,"t":{"143":{"position":[[51,2]]}}}],["并不需要",{"_index":296,"t":{"23":{"position":[[233,4]]},"126":{"position":[[237,4]]},"712":{"position":[[85,4]]}}}],["并且",{"_index":166,"t":{"9":{"position":[[97,2]]},"47":{"position":[[101,2]]},"115":{"position":[[75,2]]},"137":{"position":[[275,2]]},"351":{"position":[[399,2]]},"354":{"position":[[31,2]]},"359":{"position":[[1138,2]]},"513":{"position":[[880,2]]},"515":{"position":[[1091,2]]},"606":{"position":[[408,2]]},"654":{"position":[[326,2]]}}}],["并行",{"_index":1277,"t":{"237":{"position":[[471,2]]},"427":{"position":[[147,2],[1051,2]]},"606":{"position":[[162,2],[403,2]]}}}],["广泛",{"_index":980,"t":{"185":{"position":[[145,2]]}}}],["库",{"_index":83,"t":{"4":{"position":[[273,1]]},"96":{"position":[[121,1],[138,1],[180,1]]},"551":{"position":[[26,1]]},"749":{"position":[[291,1],[310,1]]}}}],["应",{"_index":1824,"t":{"427":{"position":[[1161,1]]}}}],["应用",{"_index":9,"t":{"2":{"position":[[31,2],[52,2]]},"4":{"position":[[109,2],[209,2]]},"15":{"position":[[0,2]]},"17":{"position":[[3,2]]},"43":{"position":[[79,2]]},"76":{"position":[[11,2]]},"85":{"position":[[8,2],[1061,2],[1095,2]]},"94":{"position":[[30,2]]},"96":{"position":[[26,2],[185,2],[219,2]]},"103":{"position":[[22,2]]},"105":{"position":[[23,2]]},"120":{"position":[[17,2]]},"122":{"position":[[13,2]]},"141":{"position":[[19,2]]},"151":{"position":[[72,2]]},"154":{"position":[[16,2],[20,2]]},"156":{"position":[[11,2],[15,2]]},"162":{"position":[[1,2],[168,2],[175,2],[229,2],[236,2],[444,2],[488,2]]},"164":{"position":[[1,2],[168,2],[174,2],[220,2],[394,2],[427,2]]},"167":{"position":[[38,2],[46,2]]},"169":{"position":[[15,2],[48,2]]},"171":{"position":[[57,2]]},"173":{"position":[[21,2],[57,2]]},"222":{"position":[[5,2]]},"239":{"position":[[65,2]]},"241":{"position":[[8,2]]},"303":{"position":[[3,2]]},"305":{"position":[[280,2]]},"315":{"position":[[9,2],[20,2],[37,2]]},"317":{"position":[[17,2],[161,2]]},"319":{"position":[[0,2],[11,2]]},"325":{"position":[[0,2],[10,2]]},"363":{"position":[[0,2],[272,2]]},"372":{"position":[[0,2],[130,2]]},"382":{"position":[[13,2]]},"388":{"position":[[63,2]]},"390":{"position":[[2,2]]},"400":{"position":[[102,2],[120,2]]},"402":{"position":[[126,2]]},"408":{"position":[[189,2]]},"410":{"position":[[185,2]]},"416":{"position":[[7,2]]},"418":{"position":[[4,2]]},"422":{"position":[[13,2]]},"427":{"position":[[192,2],[1234,2]]},"437":{"position":[[3,2],[15,2],[285,2]]},"441":{"position":[[10,2],[346,2]]},"443":{"position":[[2,2]]},"445":{"position":[[0,2]]},"457":{"position":[[11,2],[44,2]]},"595":{"position":[[54,2]]},"598":{"position":[[16,2]]},"606":{"position":[[124,2]]},"639":{"position":[[123,2],[360,2]]},"656":{"position":[[146,2]]},"667":{"position":[[7,2]]},"670":{"position":[[68,2]]},"677":{"position":[[67,2]]},"679":{"position":[[292,2]]},"735":{"position":[[36,2],[61,2]]},"737":{"position":[[19,2]]},"741":{"position":[[16,2],[827,2]]},"745":{"position":[[14,2]]},"747":{"position":[[7,2]]},"758":{"position":[[143,2]]},"797":{"position":[[623,2]]},"805":{"position":[[332,2]]},"825":{"position":[[42,2],[56,2],[76,2]]},"827":{"position":[[1,2]]}}}],["应该",{"_index":1437,"t":{"295":{"position":[[349,2]]},"351":{"position":[[452,2]]},"600":{"position":[[251,2]]},"703":{"position":[[280,2]]},"753":{"position":[[278,2]]}}}],["底层",{"_index":1743,"t":{"396":{"position":[[16,2]]},"620":{"position":[[201,2]]},"756":{"position":[[21,2]]},"793":{"position":[[7,2]]},"805":{"position":[[251,2]]}}}],["延迟",{"_index":2264,"t":{"695":{"position":[[338,2]]}}}],["延迟时间",{"_index":1288,"t":{"237":{"position":[[724,4]]}}}],["建",{"_index":520,"t":{"78":{"position":[[28,1]]}}}],["建议",{"_index":256,"t":{"21":{"position":[[3,2]]},"87":{"position":[[725,2]]},"519":{"position":[[5,2]]},"560":{"position":[[431,2]]},"647":{"position":[[37,2]]},"712":{"position":[[101,2]]},"803":{"position":[[188,2]]}}}],["建设",{"_index":132,"t":{"7":{"position":[[155,2]]},"185":{"position":[[202,2]]}}}],["开发",{"_index":79,"t":{"4":{"position":[[253,2],[266,2],[283,2],[337,2],[476,2]]},"9":{"position":[[66,2]]},"15":{"position":[[133,2]]},"74":{"position":[[4,2]]},"94":{"position":[[5,2]]},"137":{"position":[[14,2]]},"169":{"position":[[197,2]]},"246":{"position":[[2,2],[15,2]]},"309":{"position":[[179,2]]},"408":{"position":[[4,2],[15,2],[223,2],[259,2]]},"416":{"position":[[5,2],[16,2]]},"418":{"position":[[0,2]]},"422":{"position":[[15,2]]},"427":{"position":[[162,2]]},"505":{"position":[[270,2]]},"535":{"position":[[49,2]]},"539":{"position":[[22,2],[94,2],[102,2],[132,2]]},"549":{"position":[[5,2]]},"558":{"position":[[16,2]]},"560":{"position":[[168,2]]},"578":{"position":[[13,2]]},"585":{"position":[[2,2]]},"600":{"position":[[78,2]]},"651":{"position":[[45,2],[183,2]]},"670":{"position":[[64,2]]},"683":{"position":[[42,2]]},"709":{"position":[[10,2]]},"735":{"position":[[88,2]]},"743":{"position":[[3,2],[25,2]]},"745":{"position":[[7,2],[17,2],[54,2]]},"753":{"position":[[105,2]]},"763":{"position":[[6,2]]},"779":{"position":[[39,2]]},"789":{"position":[[3,2],[27,2]]},"795":{"position":[[32,2]]},"797":{"position":[[607,2]]},"799":{"position":[[66,2]]},"823":{"position":[[218,2]]}}}],["开发工具",{"_index":76,"t":{"4":{"position":[[228,4]]}}}],["开发者",{"_index":209,"t":{"11":{"position":[[108,3]]},"17":{"position":[[23,3]]},"43":{"position":[[30,3]]},"139":{"position":[[19,3]]},"183":{"position":[[29,3]]},"185":{"position":[[154,3]]},"252":{"position":[[44,3]]},"313":{"position":[[4,3],[45,3]]},"315":{"position":[[23,3]]},"337":{"position":[[24,3],[65,3]]},"424":{"position":[[16,3],[42,3]]},"431":{"position":[[1,3]]},"505":{"position":[[60,3],[86,3]]},"523":{"position":[[95,3]]},"663":{"position":[[0,3]]},"670":{"position":[[21,3],[46,3]]},"712":{"position":[[82,3]]},"714":{"position":[[267,3]]},"743":{"position":[[125,3]]},"749":{"position":[[141,3]]},"789":{"position":[[83,3],[227,3]]},"793":{"position":[[49,3]]},"801":{"position":[[21,3]]},"805":{"position":[[221,3]]}}}],["开发阶段",{"_index":1908,"t":{"495":{"position":[[39,4]]},"501":{"position":[[40,4]]},"805":{"position":[[719,4]]}}}],["开启",{"_index":326,"t":{"30":{"position":[[23,2]]},"32":{"position":[[23,2]]},"96":{"position":[[30,2]]},"113":{"position":[[77,2]]},"117":{"position":[[1,2]]},"205":{"position":[[256,2],[266,2],[294,2]]},"235":{"position":[[128,2]]},"309":{"position":[[184,2]]},"321":{"position":[[74,2]]},"359":{"position":[[497,2],[669,2]]},"388":{"position":[[51,2]]},"408":{"position":[[291,2],[380,2]]},"410":{"position":[[211,2]]},"505":{"position":[[302,2],[371,2]]},"509":{"position":[[38,2]]},"511":{"position":[[37,2]]},"525":{"position":[[44,2]]},"531":{"position":[[52,2]]},"635":{"position":[[36,2]]},"637":{"position":[[0,2]]},"639":{"position":[[87,2]]},"805":{"position":[[836,2],[1045,2]]},"813":{"position":[[174,2]]}}}],["开头",{"_index":2037,"t":{"555":{"position":[[59,2]]},"568":{"position":[[35,2]]},"608":{"position":[[48,2]]}}}],["开始",{"_index":307,"t":{"23":{"position":[[369,2]]},"252":{"position":[[84,2]]},"257":{"position":[[634,2]]},"429":{"position":[[20,2]]},"515":{"position":[[1084,2]]},"735":{"position":[[52,2]]}}}],["开箱",{"_index":34,"t":{"4":{"position":[[3,2]]},"7":{"position":[[118,2]]},"13":{"position":[[43,2]]},"252":{"position":[[57,2]]},"354":{"position":[[45,2]]},"539":{"position":[[146,2]]},"670":{"position":[[122,2]]}}}],["异常",{"_index":1267,"t":{"237":{"position":[[249,2]]},"589":{"position":[[267,2]]},"641":{"position":[[53,2]]}}}],["异步",{"_index":423,"t":{"47":{"position":[[88,2]]},"162":{"position":[[495,2]]},"295":{"position":[[910,2],[1131,2]]},"429":{"position":[[716,2]]},"439":{"position":[[695,2]]},"521":{"position":[[132,2],[298,2]]},"591":{"position":[[60,2]]},"697":{"position":[[235,2]]},"724":{"position":[[160,2],[313,2]]}}}],["式",{"_index":519,"t":{"78":{"position":[[20,1]]},"115":{"position":[[561,1]]},"299":{"position":[[11,1],[568,1]]},"309":{"position":[[121,1]]},"363":{"position":[[322,1],[329,1],[483,1]]},"463":{"position":[[21,1]]},"515":{"position":[[358,1],[903,1],[929,1]]},"595":{"position":[[12,1]]},"600":{"position":[[12,1]]},"631":{"position":[[4,1]]},"654":{"position":[[46,1]]},"703":{"position":[[438,1]]},"728":{"position":[[102,1]]},"753":{"position":[[21,1],[39,1]]},"756":{"position":[[75,1]]}}}],["引入",{"_index":122,"t":{"7":{"position":[[55,2]]},"15":{"position":[[84,2]]},"23":{"position":[[37,2],[52,2],[131,2],[140,2],[166,2],[178,2],[201,2],[270,2],[340,2],[387,2],[400,2]]},"126":{"position":[[41,2],[56,2],[135,2],[144,2],[170,2],[182,2],[205,2],[276,2]]},"137":{"position":[[600,2]]},"139":{"position":[[179,2],[210,2]]},"179":{"position":[[123,2]]},"185":{"position":[[107,2]]},"203":{"position":[[139,2]]},"205":{"position":[[8,2]]},"210":{"position":[[372,2]]},"329":{"position":[[51,2]]},"337":{"position":[[68,2]]},"339":{"position":[[281,2]]},"349":{"position":[[20,2]]},"351":{"position":[[321,2]]},"392":{"position":[[438,2]]},"427":{"position":[[1176,2]]},"461":{"position":[[13,2]]},"465":{"position":[[103,2]]},"491":{"position":[[77,2]]},"505":{"position":[[96,2],[175,2],[255,2],[285,2],[352,2]]},"582":{"position":[[379,2]]},"649":{"position":[[42,2]]},"712":{"position":[[33,2]]},"714":{"position":[[378,2]]},"741":{"position":[[881,2]]},"799":{"position":[[826,2]]}}}],["引号",{"_index":1892,"t":{"481":{"position":[[653,2]]}}}],["引用",{"_index":1025,"t":{"195":{"position":[[28,2]]},"214":{"position":[[155,2]]},"351":{"position":[[166,2]]},"481":{"position":[[551,2]]}}}],["强",{"_index":2017,"t":{"539":{"position":[[54,1]]},"712":{"position":[[251,1]]}}}],["强制",{"_index":1761,"t":{"408":{"position":[[413,2]]},"531":{"position":[[59,2]]}}}],["强大",{"_index":61,"t":{"4":{"position":[[140,2]]},"187":{"position":[[216,2]]}}}],["当前",{"_index":447,"t":{"49":{"position":[[238,2],[438,2]]},"53":{"position":[[113,2]]},"55":{"position":[[214,2]]},"59":{"position":[[268,2]]},"100":{"position":[[18,2]]},"103":{"position":[[20,2]]},"107":{"position":[[56,2],[77,2],[135,2],[164,2]]},"109":{"position":[[76,2],[134,2],[163,2]]},"113":{"position":[[12,2],[31,2]]},"237":{"position":[[352,2],[870,2],[1000,2]]},"250":{"position":[[61,2]]},"286":{"position":[[3,2]]},"288":{"position":[[3,2]]},"295":{"position":[[887,2]]},"327":{"position":[[70,2]]},"374":{"position":[[112,2]]},"376":{"position":[[10,2],[128,2],[195,2],[355,2]]},"380":{"position":[[31,2]]},"388":{"position":[[141,2]]},"435":{"position":[[612,2],[637,2]]},"589":{"position":[[23,2]]},"593":{"position":[[2,2]]},"610":{"position":[[36,2]]},"614":{"position":[[37,2]]},"627":{"position":[[22,2],[86,2]]},"629":{"position":[[273,2]]},"643":{"position":[[22,2]]},"803":{"position":[[29,2]]}}}],["形式",{"_index":332,"t":{"34":{"position":[[56,2]]},"135":{"position":[[56,2]]},"205":{"position":[[281,2]]},"214":{"position":[[140,2]]},"216":{"position":[[108,2]]},"431":{"position":[[413,2]]},"465":{"position":[[15,2]]},"547":{"position":[[260,2]]}}}],["形成",{"_index":2159,"t":{"651":{"position":[[206,2]]}}}],["影响",{"_index":1942,"t":{"505":{"position":[[142,2]]},"585":{"position":[[178,2]]},"633":{"position":[[124,2]]},"809":{"position":[[260,2]]},"811":{"position":[[202,2]]}}}],["往往",{"_index":248,"t":{"19":{"position":[[34,2]]}}}],["待",{"_index":1835,"t":{"429":{"position":[[81,1]]}}}],["很多",{"_index":118,"t":{"7":{"position":[[35,2],[104,2]]}}}],["很大",{"_index":2302,"t":{"720":{"position":[[16,2]]}}}],["得知",{"_index":734,"t":{"107":{"position":[[162,2]]},"109":{"position":[[161,2]]}}}],["循环",{"_index":1012,"t":{"193":{"position":[[128,2],[142,2],[187,2],[198,2]]}}}],["微",{"_index":22,"t":{"2":{"position":[[70,1]]},"4":{"position":[[188,1]]},"7":{"position":[[133,1]]},"13":{"position":[[37,1]]},"89":{"position":[[118,1]]},"151":{"position":[[23,1],[78,1]]},"154":{"position":[[10,1]]},"156":{"position":[[10,1]]},"162":{"position":[[235,1],[443,1],[487,1]]},"164":{"position":[[173,1],[393,1],[426,1]]},"167":{"position":[[37,1],[45,1]]},"169":{"position":[[43,1],[148,1]]},"171":{"position":[[56,1]]},"173":{"position":[[20,1],[56,1]]},"424":{"position":[[40,1]]},"670":{"position":[[99,1]]},"672":{"position":[[52,1]]},"674":{"position":[[12,1]]},"681":{"position":[[45,1],[335,1]]},"703":{"position":[[150,1],[392,1]]},"743":{"position":[[29,1],[66,1]]},"745":{"position":[[123,1]]},"749":{"position":[[160,1],[197,1]]},"789":{"position":[[31,1]]},"791":{"position":[[2,1],[19,1]]}}}],["德文",{"_index":714,"t":{"98":{"position":[[369,2]]}}}],["必要",{"_index":1706,"t":{"372":{"position":[[197,2]]},"758":{"position":[[210,2]]}}}],["必选",{"_index":2253,"t":{"683":{"position":[[74,2]]},"795":{"position":[[232,2]]},"797":{"position":[[59,2]]}}}],["必须",{"_index":819,"t":{"122":{"position":[[39,2]]},"169":{"position":[[25,2],[132,2]]},"191":{"position":[[142,2]]},"226":{"position":[[74,2]]},"299":{"position":[[552,2]]},"351":{"position":[[411,2]]},"388":{"position":[[176,2]]},"726":{"position":[[142,2]]},"728":{"position":[[99,2]]},"758":{"position":[[308,2]]},"797":{"position":[[357,2]]}}}],["快",{"_index":956,"t":{"183":{"position":[[35,1]]},"429":{"position":[[32,1]]},"745":{"position":[[237,1]]}}}],["快捷",{"_index":1651,"t":{"359":{"position":[[1152,2]]},"805":{"position":[[1085,2]]}}}],["快速",{"_index":201,"t":{"11":{"position":[[78,2]]},"96":{"position":[[28,2]]},"151":{"position":[[74,2]]},"154":{"position":[[4,2]]},"156":{"position":[[4,2]]},"252":{"position":[[82,2]]},"515":{"position":[[898,2]]},"551":{"position":[[34,2]]},"670":{"position":[[62,2],[127,2]]},"735":{"position":[[50,2]]}}}],["忽略",{"_index":1008,"t":{"191":{"position":[[195,2]]},"218":{"position":[[75,2]]},"363":{"position":[[477,2]]},"515":{"position":[[118,2],[266,2]]},"529":{"position":[[49,2],[151,2]]},"541":{"position":[[309,2]]},"629":{"position":[[290,2]]}}}],["性",{"_index":1077,"t":{"210":{"position":[[37,1]]}}}],["性能",{"_index":154,"t":{"9":{"position":[[42,2]]},"37":{"position":[[10,2]]},"195":{"position":[[66,2]]},"354":{"position":[[25,2]]},"427":{"position":[[176,2]]},"507":{"position":[[520,2]]},"585":{"position":[[182,2]]},"595":{"position":[[44,2]]},"606":{"position":[[141,2]]},"614":{"position":[[64,2]]},"633":{"position":[[116,2],[136,2]]},"695":{"position":[[349,2]]},"697":{"position":[[246,2]]}}}],["情况",{"_index":226,"t":{"15":{"position":[[140,2]]},"47":{"position":[[3,2]]},"63":{"position":[[29,2]]},"94":{"position":[[76,2]]},"107":{"position":[[90,2]]},"109":{"position":[[89,2]]},"113":{"position":[[54,2]]},"237":{"position":[[433,2]]},"250":{"position":[[3,2]]},"299":{"position":[[529,2]]},"337":{"position":[[21,2]]},"345":{"position":[[14,2]]},"359":{"position":[[76,2]]},"361":{"position":[[2885,2]]},"388":{"position":[[234,2]]},"429":{"position":[[2,2],[34,2]]},"439":{"position":[[617,2]]},"481":{"position":[[697,2]]},"501":{"position":[[28,2]]},"505":{"position":[[68,2]]},"521":{"position":[[177,2]]},"531":{"position":[[55,2]]},"535":{"position":[[197,2]]},"537":{"position":[[187,2]]},"564":{"position":[[2,2]]},"566":{"position":[[2,2]]},"612":{"position":[[2,2]]},"629":{"position":[[2,2]]},"633":{"position":[[121,2]]},"637":{"position":[[155,2]]},"712":{"position":[[79,2],[259,2]]},"793":{"position":[[65,2]]}}}],["想",{"_index":1472,"t":{"303":{"position":[[26,1]]},"499":{"position":[[111,1]]},"560":{"position":[[165,1]]},"591":{"position":[[2,1]]},"606":{"position":[[557,1]]},"658":{"position":[[4,1]]},"807":{"position":[[61,1]]}}}],["想要",{"_index":1830,"t":{"427":{"position":[[1320,2]]},"499":{"position":[[128,2],[357,2]]}}}],["意义",{"_index":255,"t":{"19":{"position":[[103,2]]},"23":{"position":[[172,2]]},"126":{"position":[[176,2]]}}}],["意味着",{"_index":2349,"t":{"741":{"position":[[833,3]]}}}],["感兴趣",{"_index":184,"t":{"9":{"position":[[193,3]]}}}],["慢",{"_index":374,"t":{"41":{"position":[[53,1]]}}}],["成",{"_index":1671,"t":{"361":{"position":[[1605,1]]},"513":{"position":[[246,1]]},"515":{"position":[[138,1]]},"519":{"position":[[106,1]]},"521":{"position":[[424,1]]},"606":{"position":[[60,1]]},"610":{"position":[[28,1]]},"612":{"position":[[141,1]]},"629":{"position":[[73,1],[295,1]]},"683":{"position":[[30,1]]}}}],["成功",{"_index":1280,"t":{"237":{"position":[[588,2]]},"239":{"position":[[583,2]]},"418":{"position":[[271,2]]},"420":{"position":[[150,2],[235,2]]},"637":{"position":[[56,2]]},"781":{"position":[[137,2]]}}}],["成本",{"_index":129,"t":{"7":{"position":[[110,2],[167,2]]},"139":{"position":[[116,2]]}}}],["我们",{"_index":73,"t":{"4":{"position":[[216,2]]},"9":{"position":[[99,2]]},"11":{"position":[[11,2],[87,2]]},"15":{"position":[[196,2]]},"51":{"position":[[28,2]]},"57":{"position":[[10,2]]},"74":{"position":[[10,2],[41,2]]},"82":{"position":[[0,2]]},"98":{"position":[[3,2]]},"100":{"position":[[256,2]]},"117":{"position":[[59,2]]},"143":{"position":[[19,2]]},"151":{"position":[[31,2]]},"237":{"position":[[987,2]]},"241":{"position":[[12,2]]},"293":{"position":[[33,2],[450,2]]},"333":{"position":[[3,2],[27,2]]},"351":{"position":[[65,2],[127,2]]},"359":{"position":[[1162,2]]},"427":{"position":[[587,2]]},"505":{"position":[[297,2]]},"523":{"position":[[170,2]]},"549":{"position":[[78,2]]},"551":{"position":[[32,2]]},"606":{"position":[[277,2],[718,2]]},"643":{"position":[[10,2],[45,2]]},"651":{"position":[[13,2]]},"670":{"position":[[18,2]]},"712":{"position":[[99,2]]},"714":{"position":[[173,2],[218,2]]},"724":{"position":[[6,2]]},"797":{"position":[[613,2]]}}}],["或者",{"_index":179,"t":{"9":{"position":[[157,2]]},"74":{"position":[[70,2]]},"111":{"position":[[31,2]]},"214":{"position":[[130,2]]},"239":{"position":[[602,2]]},"327":{"position":[[74,2]]},"418":{"position":[[76,2]]},"443":{"position":[[12,2]]},"481":{"position":[[192,2],[646,2]]},"491":{"position":[[240,2]]},"505":{"position":[[323,2],[369,2]]},"515":{"position":[[924,2]]},"651":{"position":[[282,2]]},"781":{"position":[[48,2]]},"819":{"position":[[4,2]]}}}],["所以",{"_index":224,"t":{"15":{"position":[[136,2]]}}}],["所在",{"_index":662,"t":{"92":{"position":[[50,2]]},"147":{"position":[[35,2]]}}}],["所有",{"_index":64,"t":{"4":{"position":[[150,2]]},"103":{"position":[[27,2]]},"179":{"position":[[154,2]]},"208":{"position":[[14,2]]},"363":{"position":[[479,2]]},"394":{"position":[[17,2]]},"420":{"position":[[258,2]]},"453":{"position":[[31,2]]},"469":{"position":[[18,2]]},"499":{"position":[[95,2]]},"515":{"position":[[280,2]]},"521":{"position":[[216,2]]},"564":{"position":[[6,2]]},"593":{"position":[[7,2]]},"604":{"position":[[336,2]]},"651":{"position":[[94,2]]},"656":{"position":[[149,2]]},"703":{"position":[[0,2]]},"712":{"position":[[89,2],[388,2]]},"817":{"position":[[2,2]]},"829":{"position":[[1,2]]}}}],["扁平",{"_index":2109,"t":{"606":{"position":[[592,2]]}}}],["手",{"_index":2365,"t":{"745":{"position":[[238,1]]}}}],["手动",{"_index":865,"t":{"143":{"position":[[78,2]]},"149":{"position":[[29,2]]},"210":{"position":[[370,2]]},"237":{"position":[[164,2],[293,2],[542,2]]},"635":{"position":[[34,2]]},"712":{"position":[[103,2]]},"722":{"position":[[93,2]]}}}],["才",{"_index":971,"t":{"185":{"position":[[85,1]]},"237":{"position":[[1176,1]]},"305":{"position":[[356,1]]},"427":{"position":[[245,1]]},"637":{"position":[[123,1]]},"807":{"position":[[37,1]]}}}],["才能",{"_index":774,"t":{"113":{"position":[[506,2]]},"124":{"position":[[80,2]]}}}],["打入",{"_index":1973,"t":{"521":{"position":[[150,2],[316,2]]}}}],["打包",{"_index":1900,"t":{"491":{"position":[[55,2]]},"513":{"position":[[244,2]]},"519":{"position":[[86,2]]}}}],["打开",{"_index":628,"t":{"85":{"position":[[1206,2]]},"89":{"position":[[45,2]]},"212":{"position":[[14,2]]},"408":{"position":[[322,2]]},"743":{"position":[[141,2]]},"783":{"position":[[101,2]]},"789":{"position":[[99,2],[243,2]]},"791":{"position":[[93,2]]}}}],["执行",{"_index":504,"t":{"74":{"position":[[13,2]]},"89":{"position":[[0,2]]},"98":{"position":[[10,2]]},"164":{"position":[[234,2],[399,2],[432,2]]},"173":{"position":[[28,2],[64,2]]},"237":{"position":[[329,2],[393,2],[544,2],[1234,2]]},"357":{"position":[[678,2]]},"372":{"position":[[21,2],[178,2]]},"392":{"position":[[198,2]]},"427":{"position":[[81,2]]},"481":{"position":[[209,2]]},"487":{"position":[[31,2]]},"513":{"position":[[237,2],[855,2]]},"515":{"position":[[775,2],[787,2]]},"585":{"position":[[175,2]]},"637":{"position":[[44,2],[205,2]]},"743":{"position":[[10,2],[36,2],[80,2]]},"758":{"position":[[191,2]]},"781":{"position":[[3,2]]},"783":{"position":[[64,2]]},"785":{"position":[[0,2]]},"789":{"position":[[12,2],[38,2]]},"791":{"position":[[10,2]]},"803":{"position":[[74,2]]},"807":{"position":[[32,2],[39,2],[329,2],[379,2],[422,2],[437,2],[473,2]]}}}],["扩展",{"_index":69,"t":{"4":{"position":[[170,2]]},"7":{"position":[[32,2],[185,2]]},"183":{"position":[[13,2],[69,2]]},"261":{"position":[[191,2]]},"270":{"position":[[138,2]]},"325":{"position":[[25,2]]},"370":{"position":[[31,2]]},"647":{"position":[[69,2]]},"670":{"position":[[1,2]]},"749":{"position":[[194,2]]},"793":{"position":[[117,2]]},"801":{"position":[[24,2]]},"811":{"position":[[166,2]]}}}],["找到",{"_index":648,"t":{"89":{"position":[[65,2]]}}}],["承担",{"_index":1523,"t":{"325":{"position":[[20,2]]}}}],["承载",{"_index":1695,"t":{"363":{"position":[[267,2]]}}}],["抖",{"_index":1308,"t":{"237":{"position":[[1065,1],[1085,1]]}}}],["抛出",{"_index":1266,"t":{"237":{"position":[[246,2]]}}}],["报错",{"_index":1282,"t":{"237":{"position":[[628,2]]}}}],["抹",{"_index":1059,"t":{"203":{"position":[[73,1]]},"720":{"position":[[27,1]]}}}],["抽象",{"_index":2106,"t":{"606":{"position":[[352,2],[376,2]]},"805":{"position":[[258,2]]}}}],["担心",{"_index":2173,"t":{"654":{"position":[[73,2]]}}}],["拆",{"_index":357,"t":{"39":{"position":[[23,1],[83,1]]},"309":{"position":[[28,1]]},"670":{"position":[[138,1]]}}}],["拆分",{"_index":349,"t":{"37":{"position":[[82,2]]},"41":{"position":[[14,2]]},"519":{"position":[[55,2]]},"521":{"position":[[382,2]]}}}],["拉",{"_index":2075,"t":{"591":{"position":[[62,1]]},"793":{"position":[[108,1]]}}}],["拒绝接受",{"_index":796,"t":{"115":{"position":[[120,4]]}}}],["拓展",{"_index":1748,"t":{"400":{"position":[[114,2]]},"402":{"position":[[120,2]]}}}],["拖拽",{"_index":241,"t":{"19":{"position":[[12,2]]}}}],["拦截",{"_index":1319,"t":{"239":{"position":[[49,2]]}}}],["拦截器",{"_index":1321,"t":{"239":{"position":[[347,3]]},"243":{"position":[[3,3]]}}}],["括号",{"_index":964,"t":{"185":{"position":[[17,2]]}}}],["拼接",{"_index":1889,"t":{"481":{"position":[[533,2]]}}}],["拼装",{"_index":110,"t":{"4":{"position":[[436,2]]}}}],["持续",{"_index":168,"t":{"9":{"position":[[103,2]]}}}],["挂载",{"_index":906,"t":{"164":{"position":[[396,2]]},"173":{"position":[[23,2]]},"831":{"position":[[134,2]]}}}],["指",{"_index":240,"t":{"19":{"position":[[7,1]]},"100":{"position":[[6,1]]},"113":{"position":[[8,1]]},"639":{"position":[[54,1]]}}}],["指令",{"_index":960,"t":{"183":{"position":[[71,2]]},"185":{"position":[[51,2],[135,2]]},"189":{"position":[[14,2]]},"191":{"position":[[192,2]]},"199":{"position":[[36,2]]}}}],["指南",{"_index":2373,"t":{"751":{"position":[[13,2]]},"753":{"position":[[0,2]]}}}],["指向",{"_index":2443,"t":{"823":{"position":[[188,2]]}}}],["指定",{"_index":474,"t":{"57":{"position":[[321,2]]},"327":{"position":[[64,2]]},"347":{"position":[[6,2],[44,2],[160,2],[164,2]]},"349":{"position":[[74,2],[78,2]]},"363":{"position":[[538,2]]},"390":{"position":[[139,2]]},"406":{"position":[[3,2],[35,2],[119,2]]},"408":{"position":[[77,2],[111,2],[148,2],[187,2],[221,2],[257,2]]},"410":{"position":[[73,2],[107,2],[144,2],[183,2]]},"479":{"position":[[186,2]]},"505":{"position":[[354,2]]},"513":{"position":[[424,2],[701,2]]},"515":{"position":[[521,2],[952,2]]},"560":{"position":[[303,2]]},"600":{"position":[[61,2],[130,2]]},"608":{"position":[[24,2]]},"631":{"position":[[182,2]]},"637":{"position":[[518,2]]},"741":{"position":[[707,2]]},"753":{"position":[[88,2],[157,2]]},"781":{"position":[[61,2]]}}}],["按",{"_index":267,"t":{"23":{"position":[[35,1],[50,1],[128,1],[138,1],[164,1]]},"28":{"position":[[32,1]]},"126":{"position":[[39,1],[54,1],[132,1],[142,1],[168,1]]},"131":{"position":[[41,1]]},"359":{"position":[[667,1]]},"489":{"position":[[102,1]]},"505":{"position":[[65,1],[85,1]]},"513":{"position":[[870,1]]},"521":{"position":[[224,1],[363,1]]},"606":{"position":[[435,1]]},"645":{"position":[[19,1]]},"670":{"position":[[135,1]]},"697":{"position":[[233,1]]},"771":{"position":[[12,1]]},"773":{"position":[[14,1]]}}}],["按照",{"_index":643,"t":{"89":{"position":[[25,2]]},"158":{"position":[[14,2]]},"427":{"position":[[1327,2]]},"703":{"position":[[31,2],[57,2]]},"781":{"position":[[38,2]]}}}],["按钮",{"_index":403,"t":{"43":{"position":[[158,2]]},"89":{"position":[[71,2]]},"703":{"position":[[133,2],[252,2],[374,2]]}}}],["挑选",{"_index":2279,"t":{"712":{"position":[[105,2]]}}}],["捕获",{"_index":1517,"t":{"321":{"position":[[155,2]]}}}],["掉",{"_index":810,"t":{"115":{"position":[[524,1]]},"210":{"position":[[408,1]]}}}],["排除",{"_index":1115,"t":{"214":{"position":[[173,2]]}}}],["接上",{"_index":1064,"t":{"203":{"position":[[159,2]]}}}],["接下来",{"_index":991,"t":{"187":{"position":[[207,3]]}}}],["接入",{"_index":128,"t":{"7":{"position":[[108,2]]},"151":{"position":[[76,2]]},"255":{"position":[[41,2]]},"670":{"position":[[129,2]]}}}],["接受",{"_index":981,"t":{"185":{"position":[[147,2]]},"643":{"position":[[619,2]]},"756":{"position":[[57,2]]},"803":{"position":[[77,2]]}}}],["接口",{"_index":405,"t":{"43":{"position":[[176,2],[195,2],[255,2]]},"241":{"position":[[416,2],[507,2]]},"246":{"position":[[9,2],[44,2]]},"248":{"position":[[10,2],[50,2]]},"250":{"position":[[17,2],[83,2]]},"382":{"position":[[307,2]]},"388":{"position":[[191,2]]},"396":{"position":[[170,2]]},"429":{"position":[[28,2],[56,2]]},"539":{"position":[[59,2],[73,2],[100,2],[116,2]]},"543":{"position":[[193,2]]},"547":{"position":[[277,2]]},"549":{"position":[[3,2]]},"643":{"position":[[18,2]]}}}],["接收",{"_index":1842,"t":{"429":{"position":[[762,2]]}}}],["接着",{"_index":527,"t":{"78":{"position":[[62,2]]}}}],["控制",{"_index":416,"t":{"47":{"position":[[38,2]]},"49":{"position":[[11,2]]},"57":{"position":[[31,2]]},"359":{"position":[[546,2]]},"378":{"position":[[74,2],[88,2]]},"388":{"position":[[69,2]]}}}],["推荐",{"_index":158,"t":{"9":{"position":[[52,2]]},"23":{"position":[[56,2],[189,2]]},"76":{"position":[[14,2]]},"78":{"position":[[0,2]]},"111":{"position":[[0,2]]},"126":{"position":[[60,2],[193,2]]},"137":{"position":[[19,2],[287,2]]},"210":{"position":[[425,2]]},"218":{"position":[[144,2]]},"248":{"position":[[46,2]]},"255":{"position":[[39,2]]},"261":{"position":[[8,2]]},"276":{"position":[[0,2]]},"299":{"position":[[38,2]]},"317":{"position":[[133,2]]},"339":{"position":[[193,2]]},"357":{"position":[[668,2]]},"359":{"position":[[20,2],[1105,2]]},"361":{"position":[[2889,2]]},"363":{"position":[[123,2],[332,2],[359,2]]},"372":{"position":[[186,2]]},"400":{"position":[[73,2]]},"402":{"position":[[77,2]]},"418":{"position":[[42,2]]},"420":{"position":[[45,2],[54,2],[186,2],[275,2]]},"422":{"position":[[0,2],[65,2],[78,2]]},"427":{"position":[[589,2]]},"439":{"position":[[19,2]]},"465":{"position":[[10,2]]},"472":{"position":[[19,2]]},"474":{"position":[[8,2]]},"481":{"position":[[717,2]]},"505":{"position":[[299,2]]},"513":{"position":[[225,2]]},"521":{"position":[[397,2]]},"523":{"position":[[174,2]]},"535":{"position":[[74,2]]},"647":{"position":[[7,2]]},"651":{"position":[[15,2]]},"656":{"position":[[0,2]]},"658":{"position":[[22,2]]},"695":{"position":[[76,2],[329,2]]},"697":{"position":[[225,2]]},"758":{"position":[[199,2]]},"795":{"position":[[23,2]]},"797":{"position":[[0,2]]},"799":{"position":[[208,2]]},"823":{"position":[[209,2]]}}}],["描述",{"_index":1866,"t":{"459":{"position":[[18,2]]}}}],["提交",{"_index":652,"t":{"89":{"position":[[101,2]]},"467":{"position":[[90,2]]}}}],["提供",{"_index":14,"t":{"2":{"position":[[49,2]]},"4":{"position":[[219,2],[242,2],[285,2],[294,2]]},"7":{"position":[[9,2]]},"9":{"position":[[172,2]]},"37":{"position":[[5,2]]},"43":{"position":[[214,2]]},"63":{"position":[[47,2]]},"96":{"position":[[9,2]]},"131":{"position":[[60,2]]},"139":{"position":[[23,2]]},"143":{"position":[[21,2]]},"151":{"position":[[20,2],[33,2]]},"162":{"position":[[695,2]]},"177":{"position":[[26,2]]},"179":{"position":[[7,2]]},"181":{"position":[[26,2]]},"197":{"position":[[28,2]]},"199":{"position":[[0,2],[13,2]]},"203":{"position":[[2,2]]},"222":{"position":[[40,2]]},"252":{"position":[[55,2]]},"272":{"position":[[34,2]]},"309":{"position":[[149,2]]},"315":{"position":[[30,2]]},"325":{"position":[[178,2]]},"345":{"position":[[20,2]]},"363":{"position":[[293,2],[312,2]]},"441":{"position":[[14,2]]},"505":{"position":[[41,2]]},"513":{"position":[[882,2]]},"535":{"position":[[185,2]]},"539":{"position":[[143,2]]},"614":{"position":[[7,2]]},"670":{"position":[[24,2],[80,2],[141,2]]},"695":{"position":[[66,2]]},"712":{"position":[[7,2]]},"724":{"position":[[302,2]]},"726":{"position":[[178,2]]},"749":{"position":[[19,2],[75,2],[104,2]]},"756":{"position":[[45,2]]},"758":{"position":[[10,2]]},"763":{"position":[[0,2]]},"765":{"position":[[0,2]]},"767":{"position":[[0,2]]},"769":{"position":[[0,2]]},"771":{"position":[[0,2]]},"773":{"position":[[0,2]]},"775":{"position":[[0,2]]},"793":{"position":[[32,2]]},"801":{"position":[[9,2]]}}}],["提到",{"_index":792,"t":{"115":{"position":[[7,2]]},"753":{"position":[[7,2]]}}}],["提前",{"_index":1809,"t":{"427":{"position":[[26,2]]},"435":{"position":[[654,2]]},"639":{"position":[[59,2],[125,2],[434,2]]}}}],["提升",{"_index":152,"t":{"9":{"position":[[37,2]]},"354":{"position":[[28,2]]},"427":{"position":[[1086,2]]},"507":{"position":[[474,2]]},"535":{"position":[[45,2]]}}}],["提取",{"_index":497,"t":{"68":{"position":[[0,2]]},"70":{"position":[[0,2]]}}}],["提审",{"_index":657,"t":{"89":{"position":[[138,2]]}}}],["提案",{"_index":1987,"t":{"523":{"position":[[163,2]]}}}],["提示",{"_index":645,"t":{"89":{"position":[[30,2]]},"96":{"position":[[214,2]]},"305":{"position":[[274,2]]},"317":{"position":[[174,2]]},"321":{"position":[[43,2]]},"323":{"position":[[0,2],[104,2]]},"327":{"position":[[80,2]]},"343":{"position":[[65,2]]},"359":{"position":[[9,2]]},"363":{"position":[[120,2]]},"368":{"position":[[14,2]]},"392":{"position":[[71,2]]},"406":{"position":[[0,2]]},"472":{"position":[[9,2]]},"535":{"position":[[0,2]]},"539":{"position":[[0,2]]},"580":{"position":[[0,2]]},"589":{"position":[[209,2]]},"606":{"position":[[448,2]]},"633":{"position":[[0,2]]},"639":{"position":[[0,2]]},"643":{"position":[[597,2]]},"722":{"position":[[216,2]]},"735":{"position":[[81,2]]},"743":{"position":[[120,2]]},"781":{"position":[[40,2]]},"789":{"position":[[78,2],[222,2]]},"795":{"position":[[42,2]]},"799":{"position":[[0,2]]}}}],["提醒",{"_index":2352,"t":{"743":{"position":[[123,2]]},"789":{"position":[[81,2],[225,2]]}}}],["提高",{"_index":1027,"t":{"195":{"position":[[47,2]]}}}],["插件",{"_index":62,"t":{"4":{"position":[[143,2],[157,2],[168,2],[323,2],[335,2],[355,2],[422,2]]},"7":{"position":[[62,2],[172,2]]},"23":{"position":[[245,2]]},"25":{"position":[[2,2],[54,2]]},"43":{"position":[[234,2]]},"45":{"position":[[2,2],[54,2]]},"63":{"position":[[45,2]]},"65":{"position":[[2,2],[66,2]]},"72":{"position":[[9,2]]},"96":{"position":[[20,2],[198,2]]},"98":{"position":[[18,2],[72,2]]},"100":{"position":[[45,2]]},"117":{"position":[[141,2]]},"126":{"position":[[251,2]]},"128":{"position":[[2,2],[56,2]]},"137":{"position":[[620,2]]},"139":{"position":[[207,2]]},"149":{"position":[[54,2]]},"151":{"position":[[38,2]]},"162":{"position":[[10,2]]},"164":{"position":[[10,2]]},"183":{"position":[[1,2]]},"187":{"position":[[34,2]]},"205":{"position":[[10,2]]},"212":{"position":[[40,2]]},"224":{"position":[[41,2],[82,2]]},"274":{"position":[[2,2],[55,2]]},"295":{"position":[[0,2]]},"307":{"position":[[0,2]]},"309":{"position":[[172,2]]},"311":{"position":[[2,2],[56,2]]},"313":{"position":[[59,2],[653,2]]},"325":{"position":[[176,2]]},"357":{"position":[[103,2],[479,2]]},"359":{"position":[[1016,2],[1751,2]]},"361":{"position":[[1879,2],[1942,2],[1950,2],[2882,2]]},"363":{"position":[[263,2]]},"365":{"position":[[88,2],[379,2],[721,2]]},"370":{"position":[[27,2]]},"443":{"position":[[14,2]]},"533":{"position":[[51,2]]},"535":{"position":[[444,2]]},"564":{"position":[[53,2]]},"660":{"position":[[45,2]]},"667":{"position":[[71,2]]},"681":{"position":[[116,2]]},"741":{"position":[[351,2],[368,2],[518,2]]},"747":{"position":[[71,2]]},"793":{"position":[[26,2]]},"795":{"position":[[7,2],[197,2]]},"797":{"position":[[13,2],[62,2],[618,2]]},"799":{"position":[[3,2],[70,2],[100,2],[174,2],[227,2],[246,2],[1108,2],[1123,2]]},"801":{"position":[[12,2]]},"805":{"position":[[642,2],[646,2]]},"807":{"position":[[59,2]]},"823":{"position":[[0,2]]}}}],["插入",{"_index":2065,"t":{"585":{"position":[[34,2],[153,2]]},"695":{"position":[[7,2],[25,2]]},"697":{"position":[[17,2]]},"807":{"position":[[57,2]]}}}],["插槽",{"_index":1038,"t":{"197":{"position":[[30,2]]}}}],["搭建",{"_index":242,"t":{"19":{"position":[[14,2]]}}}],["搭配",{"_index":97,"t":{"4":{"position":[[344,2]]},"382":{"position":[[22,2]]},"384":{"position":[[19,2]]},"386":{"position":[[19,2]]}}}],["操作",{"_index":28,"t":{"2":{"position":[[90,2]]},"19":{"position":[[82,2]]},"43":{"position":[[147,2],[186,2]]},"47":{"position":[[43,2]]},"51":{"position":[[23,2]]},"57":{"position":[[2,2]]},"295":{"position":[[1133,2]]},"299":{"position":[[53,2],[549,2]]},"539":{"position":[[169,2]]},"781":{"position":[[42,2]]},"807":{"position":[[43,2],[64,2]]}}}],["操作系统",{"_index":2041,"t":{"558":{"position":[[94,4]]}}}],["支付宝",{"_index":2358,"t":{"745":{"position":[[99,3]]}}}],["支持",{"_index":56,"t":{"4":{"position":[[114,2]]},"15":{"position":[[69,2]]},"23":{"position":[[104,2]]},"59":{"position":[[0,2]]},"96":{"position":[[23,2],[46,2],[63,2],[90,2],[247,2]]},"103":{"position":[[24,2]]},"120":{"position":[[19,2]]},"126":{"position":[[108,2]]},"177":{"position":[[43,2]]},"183":{"position":[[3,2]]},"203":{"position":[[18,2]]},"214":{"position":[[15,2]]},"235":{"position":[[144,2]]},"248":{"position":[[60,2]]},"257":{"position":[[187,2],[224,2]]},"266":{"position":[[199,2],[240,2]]},"270":{"position":[[560,2]]},"293":{"position":[[11,2]]},"299":{"position":[[498,2],[538,2]]},"309":{"position":[[117,2]]},"319":{"position":[[9,2]]},"321":{"position":[[51,2]]},"323":{"position":[[8,2]]},"325":{"position":[[6,2]]},"327":{"position":[[88,2]]},"357":{"position":[[266,2],[445,2]]},"359":{"position":[[74,2],[650,2],[859,2],[1018,2],[1127,2],[1159,2]]},"361":{"position":[[2843,2]]},"370":{"position":[[11,2],[19,2]]},"374":{"position":[[8,2]]},"376":{"position":[[52,2]]},"378":{"position":[[8,2]]},"380":{"position":[[8,2]]},"388":{"position":[[8,2]]},"392":{"position":[[8,2]]},"394":{"position":[[8,2]]},"398":{"position":[[8,2]]},"404":{"position":[[8,2],[50,2]]},"427":{"position":[[1056,2]]},"435":{"position":[[19,2],[553,2],[680,2]]},"469":{"position":[[7,2]]},"479":{"position":[[8,2]]},"485":{"position":[[8,2]]},"489":{"position":[[8,2]]},"491":{"position":[[8,2]]},"495":{"position":[[8,2]]},"509":{"position":[[8,2]]},"511":{"position":[[8,2]]},"513":{"position":[[8,2]]},"515":{"position":[[8,2],[938,2]]},"517":{"position":[[69,2],[84,2]]},"519":{"position":[[37,2]]},"523":{"position":[[90,2],[183,2]]},"527":{"position":[[105,2],[119,2]]},"529":{"position":[[8,2]]},"539":{"position":[[8,2],[160,2]]},"545":{"position":[[2,2]]},"547":{"position":[[3,2]]},"560":{"position":[[21,2]]},"580":{"position":[[8,2]]},"602":{"position":[[140,2]]},"604":{"position":[[8,2]]},"608":{"position":[[8,2]]},"633":{"position":[[8,2]]},"639":{"position":[[8,2]]},"647":{"position":[[71,2],[293,2]]},"651":{"position":[[645,2]]},"654":{"position":[[9,2],[308,2]]},"658":{"position":[[174,2]]},"660":{"position":[[49,2]]},"665":{"position":[[5,2]]},"670":{"position":[[92,2],[133,2]]},"689":{"position":[[57,2]]},"699":{"position":[[5,2]]},"701":{"position":[[10,2]]},"707":{"position":[[2,2]]},"709":{"position":[[7,2]]},"712":{"position":[[386,2]]},"718":{"position":[[2,2]]},"733":{"position":[[2,2]]},"735":{"position":[[7,2]]},"741":{"position":[[21,2]]},"745":{"position":[[52,2],[147,2],[152,2]]},"751":{"position":[[26,2]]},"793":{"position":[[85,2],[115,2]]},"805":{"position":[[683,2]]},"807":{"position":[[290,2]]},"809":{"position":[[185,2]]},"811":{"position":[[163,2]]},"819":{"position":[[0,2],[11,2]]},"821":{"position":[[0,2]]}}}],["收敛",{"_index":1154,"t":{"226":{"position":[[17,2]]},"361":{"position":[[13,2]]}}}],["改为",{"_index":640,"t":{"87":{"position":[[727,2]]},"237":{"position":[[145,2],[178,2]]}}}],["改变",{"_index":1412,"t":{"278":{"position":[[230,2]]},"295":{"position":[[261,2]]}}}],["改造",{"_index":887,"t":{"158":{"position":[[23,2]]},"210":{"position":[[364,2]]},"741":{"position":[[18,2]]}}}],["放到",{"_index":1854,"t":{"439":{"position":[[46,2]]}}}],["放在",{"_index":1559,"t":{"339":{"position":[[200,2]]},"351":{"position":[[39,2],[135,2],[418,2]]}}}],["效果",{"_index":1831,"t":{"427":{"position":[[1323,2]]},"521":{"position":[[256,2]]}}}],["效率",{"_index":1030,"t":{"195":{"position":[[57,2]]},"505":{"position":[[146,2]]}}}],["敬请期待",{"_index":2275,"t":{"707":{"position":[[5,4]]}}}],["数字",{"_index":1463,"t":{"299":{"position":[[504,2]]}}}],["数据",{"_index":52,"t":{"4":{"position":[[98,2]]},"43":{"position":[[263,2]]},"47":{"position":[[22,2],[98,2],[294,2]]},"51":{"position":[[57,2],[72,2]]},"53":{"position":[[119,2]]},"55":{"position":[[129,2]]},"222":{"position":[[58,2],[78,2]]},"226":{"position":[[68,2],[154,2]]},"230":{"position":[[21,2],[53,2],[113,2]]},"232":{"position":[[10,2],[74,2],[348,2]]},"235":{"position":[[57,2]]},"237":{"position":[[218,2]]},"293":{"position":[[625,2]]},"365":{"position":[[287,2],[295,2]]},"382":{"position":[[17,2],[311,2]]},"384":{"position":[[14,2],[44,2]]},"396":{"position":[[174,2]]},"427":{"position":[[5,2],[31,2],[49,2],[112,2],[218,2],[230,2],[596,2],[630,2],[863,2],[1016,2],[1074,2],[1107,2],[1237,2],[1270,2],[1335,2],[1362,2]]},"429":{"position":[[11,2],[26,2],[54,2],[82,2],[95,2],[146,2],[166,2],[777,2],[793,2]]},"435":{"position":[[43,2],[61,2],[94,2],[144,2],[572,2],[675,2]]},"437":{"position":[[7,2],[55,2],[288,2]]},"439":{"position":[[12,2],[41,2],[64,2],[110,2],[612,2],[632,2],[663,2],[715,2],[728,2]]},"441":{"position":[[74,2]]},"443":{"position":[[37,2]]},"483":{"position":[[83,2]]},"539":{"position":[[31,2],[71,2],[90,2]]},"543":{"position":[[197,2]]},"547":{"position":[[279,2]]},"549":{"position":[[90,2]]},"551":{"position":[[21,2],[43,2]]},"553":{"position":[[19,2]]},"576":{"position":[[12,2]]},"602":{"position":[[150,2]]},"606":{"position":[[156,2]]},"637":{"position":[[172,2],[310,2],[524,2],[709,2],[838,2]]},"639":{"position":[[348,2],[384,2]]},"643":{"position":[[25,2],[60,2],[126,2],[387,2],[505,2],[633,2]]},"683":{"position":[[97,2]]},"687":{"position":[[2,2]]},"749":{"position":[[46,2],[64,2],[107,2],[132,2],[190,2]]},"833":{"position":[[7,2]]}}}],["数据服务",{"_index":1865,"t":{"451":{"position":[[19,4]]}}}],["数据流",{"_index":2376,"t":{"767":{"position":[[6,3]]}}}],["数据管理",{"_index":2377,"t":{"767":{"position":[[10,4]]}}}],["数据类型",{"_index":1890,"t":{"481":{"position":[[553,4]]}}}],["数组",{"_index":725,"t":{"107":{"position":[[46,2]]},"122":{"position":[[37,2]]},"193":{"position":[[133,2]]},"237":{"position":[[336,2]]},"439":{"position":[[103,2],[639,2],[642,2]]},"600":{"position":[[53,2]]},"643":{"position":[[624,2]]},"741":{"position":[[703,2]]},"753":{"position":[[80,2]]},"829":{"position":[[387,2]]}}}],["整个",{"_index":524,"t":{"78":{"position":[[46,2]]},"235":{"position":[[77,2],[93,2]]},"315":{"position":[[18,2]]},"427":{"position":[[84,2]]},"606":{"position":[[256,2]]},"649":{"position":[[2,2]]},"793":{"position":[[88,2]]}}}],["整体",{"_index":1189,"t":{"235":{"position":[[26,2]]}}}],["整理",{"_index":203,"t":{"11":{"position":[[89,2]]}}}],["文件",{"_index":309,"t":{"23":{"position":[[407,2]]},"63":{"position":[[23,2],[77,2]]},"70":{"position":[[3,2]]},"80":{"position":[[57,2]]},"117":{"position":[[355,2]]},"179":{"position":[[120,2]]},"212":{"position":[[79,2],[110,2]]},"257":{"position":[[31,2]]},"266":{"position":[[33,2]]},"288":{"position":[[19,2]]},"295":{"position":[[41,2],[56,2],[61,2]]},"309":{"position":[[134,2]]},"339":{"position":[[50,2],[80,2]]},"343":{"position":[[103,2]]},"351":{"position":[[62,2],[133,2],[416,2],[450,2]]},"359":{"position":[[28,2],[60,2],[715,2]]},"406":{"position":[[32,2]]},"451":{"position":[[8,2]]},"453":{"position":[[34,2]]},"457":{"position":[[5,2]]},"461":{"position":[[16,2]]},"463":{"position":[[30,2]]},"474":{"position":[[30,2]]},"489":{"position":[[103,2]]},"491":{"position":[[254,2]]},"501":{"position":[[62,2]]},"503":{"position":[[574,2]]},"513":{"position":[[426,2],[620,2],[648,2]]},"515":{"position":[[133,2],[167,2]]},"529":{"position":[[58,2],[174,2],[186,2]]},"541":{"position":[[33,2],[45,2],[165,2],[173,2],[332,2],[344,2]]},"543":{"position":[[9,2]]},"555":{"position":[[41,2]]},"560":{"position":[[18,2],[26,2],[64,2],[130,2],[300,2],[366,2],[445,2]]},"564":{"position":[[46,2]]},"598":{"position":[[56,2]]},"600":{"position":[[254,2]]},"602":{"position":[[14,2]]},"610":{"position":[[21,2]]},"612":{"position":[[37,2],[55,2],[177,2]]},"629":{"position":[[48,2]]},"647":{"position":[[315,2]]},"649":{"position":[[33,2],[45,2]]},"651":{"position":[[294,2]]},"654":{"position":[[60,2]]},"681":{"position":[[33,2]]},"753":{"position":[[281,2]]},"797":{"position":[[46,2]]},"805":{"position":[[336,2]]},"819":{"position":[[247,2]]},"823":{"position":[[191,2]]}}}],["文件名",{"_index":1070,"t":{"205":{"position":[[286,3]]},"339":{"position":[[92,3]]},"351":{"position":[[72,3],[84,3],[122,3],[401,3]]},"604":{"position":[[55,3]]},"606":{"position":[[595,3]]},"608":{"position":[[52,3]]},"651":{"position":[[246,3],[252,3]]},"805":{"position":[[601,3]]}}}],["文件大小",{"_index":2007,"t":{"537":{"position":[[180,4]]}}}],["文件夹",{"_index":523,"t":{"78":{"position":[[39,3]]},"604":{"position":[[352,3]]},"606":{"position":[[4,3]]}}}],["文件尺寸",{"_index":1978,"t":{"521":{"position":[[200,4]]}}}],["文件目录",{"_index":498,"t":{"68":{"position":[[6,4]]},"799":{"position":[[103,4]]}}}],["文本",{"_index":842,"t":{"139":{"position":[[98,2]]}}}],["文档",{"_index":88,"t":{"4":{"position":[[298,2],[312,2],[444,2],[478,2]]},"43":{"position":[[39,2],[267,2]]},"89":{"position":[[114,2]]},"139":{"position":[[1,2],[171,2],[263,2]]},"171":{"position":[[136,2]]},"246":{"position":[[49,2]]},"313":{"position":[[698,2]]},"357":{"position":[[416,2]]},"363":{"position":[[282,2]]},"384":{"position":[[48,2]]},"394":{"position":[[47,2]]},"404":{"position":[[91,2]]},"474":{"position":[[66,2]]},"509":{"position":[[66,2]]},"511":{"position":[[65,2]]},"551":{"position":[[261,2]]},"651":{"position":[[909,2],[930,2]]},"670":{"position":[[172,2]]},"681":{"position":[[331,2]]},"691":{"position":[[6,2]]},"693":{"position":[[11,2]]},"735":{"position":[[103,2]]},"741":{"position":[[963,2]]},"749":{"position":[[170,2]]}}}],["新",{"_index":157,"t":{"9":{"position":[[49,1]]},"115":{"position":[[570,1]]},"183":{"position":[[53,1]]},"185":{"position":[[129,1]]},"237":{"position":[[437,1]]},"299":{"position":[[576,1]]},"359":{"position":[[16,1],[1121,1]]},"481":{"position":[[540,1]]},"606":{"position":[[420,1]]}}}],["新增",{"_index":1110,"t":{"214":{"position":[[61,2]]},"359":{"position":[[42,2]]},"503":{"position":[[553,2]]}}}],["新建",{"_index":564,"t":{"85":{"position":[[12,2],[133,2],[634,2]]},"87":{"position":[[11,2]]},"257":{"position":[[12,2]]},"259":{"position":[[87,2]]},"261":{"position":[[165,2]]},"266":{"position":[[12,2]]},"270":{"position":[[110,2]]},"286":{"position":[[10,2]]},"288":{"position":[[10,2]]},"541":{"position":[[9,2]]},"797":{"position":[[9,2],[42,2]]}}}],["新版",{"_index":1663,"t":{"359":{"position":[[1739,2],[1749,2],[1759,2]]},"361":{"position":[[0,2]]},"363":{"position":[[303,2]]}}}],["方便",{"_index":1496,"t":{"309":{"position":[[114,2],[177,2]]},"313":{"position":[[2,2]]},"337":{"position":[[63,2]]},"651":{"position":[[84,2]]},"801":{"position":[[19,2]]}}}],["方便使用",{"_index":2052,"t":{"568":{"position":[[16,4]]}}}],["方式",{"_index":94,"t":{"4":{"position":[[326,2]]},"15":{"position":[[191,2]]},"23":{"position":[[385,2]]},"76":{"position":[[21,2]]},"137":{"position":[[25,2]]},"139":{"position":[[37,2]]},"222":{"position":[[73,2]]},"228":{"position":[[16,2]]},"235":{"position":[[158,2],[431,2]]},"237":{"position":[[1258,2],[1682,2]]},"246":{"position":[[39,2]]},"295":{"position":[[336,2]]},"299":{"position":[[50,2]]},"315":{"position":[[14,2]]},"317":{"position":[[157,2]]},"337":{"position":[[36,2],[61,2]]},"339":{"position":[[117,2]]},"345":{"position":[[26,2]]},"347":{"position":[[24,2],[40,2]]},"357":{"position":[[483,2]]},"359":{"position":[[1204,2],[1831,2]]},"361":{"position":[[2893,2]]},"363":{"position":[[363,2]]},"372":{"position":[[181,2],[191,2]]},"394":{"position":[[31,2]]},"400":{"position":[[95,2],[128,2]]},"402":{"position":[[100,2],[134,2]]},"406":{"position":[[13,2]]},"427":{"position":[[227,2],[1331,2]]},"439":{"position":[[106,2]]},"481":{"position":[[536,2],[726,2]]},"491":{"position":[[75,2]]},"501":{"position":[[172,2],[593,2]]},"505":{"position":[[57,2]]},"515":{"position":[[374,2]]},"535":{"position":[[70,2]]},"558":{"position":[[105,2]]},"587":{"position":[[102,2]]},"606":{"position":[[301,2]]},"614":{"position":[[11,2]]},"631":{"position":[[32,2]]},"633":{"position":[[85,2]]},"637":{"position":[[528,2]]},"656":{"position":[[141,2]]},"658":{"position":[[31,2]]},"665":{"position":[[112,2]]},"670":{"position":[[159,2]]},"699":{"position":[[102,2]]},"703":{"position":[[61,2]]},"737":{"position":[[4,2]]},"758":{"position":[[194,2],[204,2]]},"799":{"position":[[223,2]]},"829":{"position":[[324,2]]}}}],["方案",{"_index":31,"t":{"2":{"position":[[98,2]]},"4":{"position":[[51,2],[90,2],[185,2],[204,2]]},"19":{"position":[[3,2],[32,2],[109,2]]},"137":{"position":[[4,2],[265,2]]},"222":{"position":[[63,2]]},"354":{"position":[[64,2]]},"357":{"position":[[474,2]]},"359":{"position":[[604,2]]},"365":{"position":[[12,2],[299,2],[639,2],[647,2]]},"461":{"position":[[23,2]]},"539":{"position":[[157,2]]},"647":{"position":[[29,2],[58,2]]},"651":{"position":[[33,2]]},"765":{"position":[[6,2]]},"767":{"position":[[14,2]]}}}],["方法",{"_index":738,"t":{"109":{"position":[[16,2]]},"111":{"position":[[17,2],[48,2]]},"162":{"position":[[497,2]]},"201":{"position":[[126,2]]},"218":{"position":[[125,2]]},"220":{"position":[[80,2]]},"230":{"position":[[109,2],[484,2],[710,2]]},"241":{"position":[[399,2],[501,2]]},"257":{"position":[[158,2]]},"266":{"position":[[168,2]]},"295":{"position":[[276,2],[328,2],[347,2],[863,2],[1177,2]]},"368":{"position":[[1,2]]},"370":{"position":[[1,2]]},"384":{"position":[[33,2]]},"388":{"position":[[18,2]]},"431":{"position":[[389,2]]},"435":{"position":[[132,2]]},"437":{"position":[[49,2],[281,2]]},"481":{"position":[[599,2],[642,2]]},"545":{"position":[[52,2],[92,2],[106,2]]},"591":{"position":[[92,2]]},"637":{"position":[[29,2],[598,2]]},"643":{"position":[[64,2]]},"679":{"position":[[296,2]]},"714":{"position":[[316,2],[372,2]]},"726":{"position":[[49,2],[139,2]]},"760":{"position":[[17,2]]},"819":{"position":[[939,2]]}}}],["无法",{"_index":864,"t":{"143":{"position":[[65,2]]},"149":{"position":[[18,2],[57,2]]},"218":{"position":[[91,2]]},"284":{"position":[[21,2]]},"297":{"position":[[31,2]]},"299":{"position":[[496,2]]},"535":{"position":[[192,2]]},"600":{"position":[[18,2]]},"641":{"position":[[56,2]]},"720":{"position":[[37,2]]},"730":{"position":[[87,2]]},"749":{"position":[[313,2]]},"753":{"position":[[45,2]]}}}],["无线",{"_index":2169,"t":{"654":{"position":[[20,2]]}}}],["无论",{"_index":2129,"t":{"639":{"position":[[378,2]]}}}],["无论是",{"_index":212,"t":{"13":{"position":[[22,3]]},"243":{"position":[[0,3]]}}}],["无需",{"_index":121,"t":{"7":{"position":[[52,2]]},"43":{"position":[[33,2]]},"137":{"position":[[614,2]]},"210":{"position":[[359,2],[368,2]]},"313":{"position":[[48,2]]},"337":{"position":[[27,2]]},"521":{"position":[[96,2]]}}}],["日志",{"_index":1623,"t":{"359":{"position":[[548,2]]}}}],["旧",{"_index":217,"t":{"15":{"position":[[71,1]]},"237":{"position":[[443,1]]}}}],["时",{"_index":278,"t":{"23":{"position":[[122,1]]},"43":{"position":[[137,1],[197,1]]},"49":{"position":[[250,1],[450,1]]},"57":{"position":[[263,1],[318,1]]},"59":{"position":[[8,1]]},"63":{"position":[[36,1],[54,1]]},"72":{"position":[[4,1]]},"107":{"position":[[153,1]]},"109":{"position":[[152,1]]},"126":{"position":[[126,1]]},"139":{"position":[[219,1]]},"141":{"position":[[139,1]]},"171":{"position":[[15,1],[61,1],[124,1]]},"177":{"position":[[53,1]]},"179":{"position":[[40,1]]},"185":{"position":[[82,1]]},"193":{"position":[[185,1]]},"195":{"position":[[37,1]]},"203":{"position":[[174,1]]},"212":{"position":[[58,1],[335,1]]},"237":{"position":[[590,1],[630,1],[810,1],[907,1],[1174,1],[1210,1]]},"243":{"position":[[83,1],[151,1]]},"248":{"position":[[23,1]]},"250":{"position":[[54,1]]},"295":{"position":[[315,1]]},"303":{"position":[[12,1],[39,1]]},"323":{"position":[[123,1],[185,1]]},"325":{"position":[[24,1]]},"327":{"position":[[18,1],[26,1]]},"335":{"position":[[259,1]]},"351":{"position":[[151,1],[410,1]]},"361":{"position":[[20,1]]},"372":{"position":[[150,1]]},"388":{"position":[[223,1]]},"427":{"position":[[215,1],[1030,1],[1359,1]]},"429":{"position":[[127,1],[148,1],[531,1],[718,1],[824,1]]},"431":{"position":[[36,1]]},"439":{"position":[[100,1],[700,1]]},"457":{"position":[[19,1]]},"467":{"position":[[66,1]]},"481":{"position":[[176,1],[506,1],[618,1],[704,1]]},"485":{"position":[[78,1]]},"487":{"position":[[40,1]]},"499":{"position":[[66,1],[91,1],[157,1],[376,1]]},"513":{"position":[[690,1],[868,1]]},"515":{"position":[[781,1]]},"537":{"position":[[51,1]]},"547":{"position":[[281,1]]},"555":{"position":[[23,1],[75,1]]},"562":{"position":[[23,1],[27,1],[46,1],[80,1]]},"566":{"position":[[15,1],[43,1],[90,1]]},"600":{"position":[[83,1]]},"606":{"position":[[418,1],[518,1]]},"637":{"position":[[121,1],[965,1]]},"639":{"position":[[17,1],[58,1],[419,1]]},"641":{"position":[[9,1],[47,1],[89,1],[129,1]]},"643":{"position":[[8,1],[38,1],[106,1],[626,1],[687,1]]},"651":{"position":[[185,1]]},"665":{"position":[[13,1]]},"709":{"position":[[15,1]]},"716":{"position":[[57,1]]},"722":{"position":[[89,1],[213,1]]},"728":{"position":[[20,1],[64,1],[98,1]]},"735":{"position":[[93,1]]},"741":{"position":[[356,1],[397,1]]},"743":{"position":[[8,1],[34,1],[78,1]]},"749":{"position":[[214,1]]},"753":{"position":[[110,1]]},"758":{"position":[[163,1]]},"789":{"position":[[10,1],[36,1]]},"793":{"position":[[121,1]]},"795":{"position":[[317,1]]},"797":{"position":[[99,1],[343,1]]},"799":{"position":[[84,1],[204,1],[253,1]]},"803":{"position":[[12,1],[76,1]]},"805":{"position":[[351,1]]},"807":{"position":[[16,1]]},"823":{"position":[[4,1],[14,1],[187,1]]}}}],["时会",{"_index":794,"t":{"115":{"position":[[60,2]]},"195":{"position":[[6,2]]},"299":{"position":[[31,2]]},"539":{"position":[[179,2]]}}}],["时候",{"_index":664,"t":{"94":{"position":[[8,2]]},"107":{"position":[[103,2]]},"115":{"position":[[88,2],[545,2]]},"372":{"position":[[200,2]]},"477":{"position":[[89,2]]},"758":{"position":[[213,2]]}}}],["时机",{"_index":1532,"t":{"333":{"position":[[15,2]]},"427":{"position":[[35,2],[252,2],[1113,2]]}}}],["时间",{"_index":1304,"t":{"237":{"position":[[994,2],[1002,2]]}}}],["明确",{"_index":1925,"t":{"501":{"position":[[572,2]]}}}],["映射",{"_index":1876,"t":{"477":{"position":[[240,2]]},"598":{"position":[[60,2]]},"629":{"position":[[50,2]]},"714":{"position":[[17,2],[119,2],[143,2],[231,2],[450,2]]},"722":{"position":[[194,2]]},"805":{"position":[[500,2]]}}}],["是否",{"_index":451,"t":{"51":{"position":[[20,2]]},"57":{"position":[[220,2]]},"72":{"position":[[5,2]]},"205":{"position":[[254,2],[292,2]]},"237":{"position":[[812,2],[909,2]]},"239":{"position":[[237,2]]},"321":{"position":[[72,2],[144,2]]},"327":{"position":[[9,2],[27,2],[68,2]]},"388":{"position":[[143,2]]},"390":{"position":[[137,2],[166,2]]},"418":{"position":[[267,2]]},"420":{"position":[[146,2],[231,2]]},"483":{"position":[[76,2]]},"509":{"position":[[36,2]]},"511":{"position":[[35,2]]},"572":{"position":[[6,2]]},"574":{"position":[[6,2]]},"576":{"position":[[6,2]]},"639":{"position":[[380,2]]},"805":{"position":[[604,2],[779,2],[960,2],[980,2],[1043,2]]}}}],["显",{"_index":813,"t":{"115":{"position":[[560,1]]},"728":{"position":[[101,1]]}}}],["显示",{"_index":473,"t":{"57":{"position":[[319,2]]},"94":{"position":[[69,2]]},"100":{"position":[[308,2],[349,2],[373,2],[395,2]]},"237":{"position":[[712,2],[905,2]]},"408":{"position":[[435,2]]},"410":{"position":[[241,2]]},"689":{"position":[[28,2]]},"691":{"position":[[3,2]]},"693":{"position":[[8,2]]},"714":{"position":[[101,2]]}}}],["显著",{"_index":837,"t":{"139":{"position":[[51,2]]}}}],["普通",{"_index":2067,"t":{"587":{"position":[[29,2]]},"639":{"position":[[116,2]]}}}],["暂",{"_index":1596,"t":{"357":{"position":[[264,1]]},"718":{"position":[[0,1]]},"733":{"position":[[0,1]]},"745":{"position":[[145,1]]}}}],["暂时",{"_index":2371,"t":{"749":{"position":[[311,2]]}}}],["暗色",{"_index":327,"t":{"30":{"position":[[25,2]]}}}],["暴露",{"_index":2038,"t":{"555":{"position":[[70,2]]},"591":{"position":[[89,2]]}}}],["曝光",{"_index":1527,"t":{"327":{"position":[[29,2]]},"333":{"position":[[22,2]]}}}],["更",{"_index":93,"t":{"4":{"position":[[315,1],[370,1],[408,1]]},"7":{"position":[[74,1]]},"9":{"position":[[20,1],[186,1]]},"43":{"position":[[241,1]]},"57":{"position":[[26,1]]},"139":{"position":[[77,1]]},"171":{"position":[[130,1]]},"181":{"position":[[56,1]]},"183":{"position":[[34,1]]},"185":{"position":[[157,1],[167,1]]},"187":{"position":[[215,1]]},"201":{"position":[[142,1]]},"235":{"position":[[1757,1]]},"237":{"position":[[159,1],[191,1],[1678,1]]},"307":{"position":[[163,1]]},"313":{"position":[[678,1]]},"354":{"position":[[35,1]]},"359":{"position":[[1572,1]]},"365":{"position":[[276,1],[623,1],[951,1]]},"474":{"position":[[45,1]]},"509":{"position":[[48,1]]},"511":{"position":[[47,1]]},"527":{"position":[[147,1]]},"633":{"position":[[126,1]]},"651":{"position":[[894,1]]},"670":{"position":[[132,1],[143,1]]}}}],["更优",{"_index":183,"t":{"9":{"position":[[184,2]]}}}],["更加",{"_index":1873,"t":{"477":{"position":[[98,2]]},"481":{"position":[[715,2]]},"651":{"position":[[230,2]]}}}],["更好",{"_index":177,"t":{"9":{"position":[[150,2]]},"96":{"position":[[79,2]]},"272":{"position":[[49,2]]},"359":{"position":[[4,2]]},"363":{"position":[[295,2]]},"422":{"position":[[23,2]]},"427":{"position":[[173,2]]},"595":{"position":[[46,2]]},"606":{"position":[[138,2],[310,2]]},"614":{"position":[[61,2]]},"633":{"position":[[133,2]]},"695":{"position":[[346,2]]},"697":{"position":[[243,2]]}}}],["更新",{"_index":180,"t":{"9":{"position":[[175,2]]},"51":{"position":[[65,2]]},"55":{"position":[[114,2],[302,2]]},"107":{"position":[[75,2],[109,2]]},"109":{"position":[[108,2]]},"115":{"position":[[62,2]]},"295":{"position":[[339,2],[1180,2]]},"513":{"position":[[892,2]]}}}],["更爽",{"_index":955,"t":{"183":{"position":[[32,2]]}}}],["替代",{"_index":1597,"t":{"357":{"position":[[476,2]]},"519":{"position":[[28,2]]}}}],["替换",{"_index":1062,"t":{"203":{"position":[[141,2]]},"481":{"position":[[523,2],[607,2]]}}}],["替换成",{"_index":1883,"t":{"481":{"position":[[186,3]]}}}],["最优",{"_index":338,"t":{"37":{"position":[[7,2]]},"359":{"position":[[1174,2]]}}}],["最佳",{"_index":45,"t":{"4":{"position":[[73,2]]},"7":{"position":[[83,2]]},"13":{"position":[[17,2]]},"359":{"position":[[630,2]]}}}],["最后",{"_index":1389,"t":{"261":{"position":[[258,2],[879,2]]},"270":{"position":[[288,2],[1020,2]]}}}],["最大",{"_index":1807,"t":{"427":{"position":[[21,2]]}}}],["最小",{"_index":1766,"t":{"416":{"position":[[14,2]]}}}],["最快",{"_index":2101,"t":{"606":{"position":[[170,2]]}}}],["最终",{"_index":425,"t":{"47":{"position":[[105,2]]},"212":{"position":[[380,2]]},"230":{"position":[[80,2]]},"232":{"position":[[39,2]]},"431":{"position":[[403,2]]},"481":{"position":[[416,2],[471,2]]},"807":{"position":[[346,2]]}}}],["有助于",{"_index":2073,"t":{"589":{"position":[[251,3]]}}}],["有效",{"_index":1974,"t":{"521":{"position":[[180,2],[335,2]]}}}],["有时候",{"_index":1531,"t":{"333":{"position":[[0,3]]}}}],["有用",{"_index":2026,"t":{"547":{"position":[[283,2]]}}}],["服务",{"_index":517,"t":{"78":{"position":[[13,2]]},"82":{"position":[[135,2]]},"222":{"position":[[27,2]]},"408":{"position":[[358,2]]},"513":{"position":[[894,2]]},"539":{"position":[[191,2]]},"541":{"position":[[43,2],[163,2],[185,2]]},"543":{"position":[[7,2],[129,2]]},"549":{"position":[[30,2],[44,2]]},"558":{"position":[[18,2]]},"805":{"position":[[858,2]]},"807":{"position":[[523,2]]},"821":{"position":[[12,2]]}}}],["服务器",{"_index":509,"t":{"74":{"position":[[67,3]]},"80":{"position":[[17,3],[59,3]]},"408":{"position":[[6,3],[225,3]]},"633":{"position":[[15,3]]},"785":{"position":[[167,3]]}}}],["服务器端",{"_index":1757,"t":{"408":{"position":[[261,4]]},"578":{"position":[[15,4]]}}}],["服务器资源",{"_index":1588,"t":{"351":{"position":[[420,5]]}}}],["服务端",{"_index":57,"t":{"4":{"position":[[116,3]]},"47":{"position":[[15,3],[85,3]]},"107":{"position":[[156,3]]},"109":{"position":[[155,3]]},"222":{"position":[[55,3]]},"235":{"position":[[51,3]]},"239":{"position":[[724,3]]},"243":{"position":[[73,3],[143,3]]},"633":{"position":[[56,3]]},"749":{"position":[[222,3]]},"805":{"position":[[650,3]]}}}],["期望",{"_index":1981,"t":{"521":{"position":[[411,2]]}}}],["未",{"_index":1143,"t":{"220":{"position":[[163,1]]},"243":{"position":[[146,1]]},"372":{"position":[[164,1]]},"505":{"position":[[239,1]]},"745":{"position":[[146,1]]},"758":{"position":[[177,1]]}}}],["本",{"_index":385,"t":{"43":{"position":[[38,1]]},"139":{"position":[[0,1],[170,1]]},"335":{"position":[[261,1]]},"735":{"position":[[41,1],[100,1]]}}}],["本地",{"_index":502,"t":{"72":{"position":[[0,2]]},"94":{"position":[[3,2]]},"246":{"position":[[52,2]]},"408":{"position":[[2,2],[13,2]]},"441":{"position":[[70,2]]},"451":{"position":[[13,2]]},"539":{"position":[[175,2]]},"558":{"position":[[14,2]]},"560":{"position":[[106,2],[166,2]]}}}],["本地化",{"_index":492,"t":{"63":{"position":[[67,3]]},"749":{"position":[[251,3]]},"769":{"position":[[14,3]]}}}],["本文",{"_index":1764,"t":{"416":{"position":[[0,2]]}}}],["本来",{"_index":2285,"t":{"714":{"position":[[13,2]]}}}],["本质",{"_index":969,"t":{"185":{"position":[[68,2]]},"795":{"position":[[9,2]]}}}],["本身",{"_index":2197,"t":{"658":{"position":[[172,2]]}}}],["机制",{"_index":1133,"t":{"220":{"position":[[12,2]]},"651":{"position":[[73,2]]}}}],["权",{"_index":379,"t":{"43":{"position":[[9,1]]},"793":{"position":[[137,1]]}}}],["权限",{"_index":389,"t":{"43":{"position":[[52,2],[83,2],[110,2],[120,2],[132,2],[142,2],[149,2],[166,2],[178,2],[192,2],[202,2],[252,2],[257,2]]},"47":{"position":[[6,2],[20,2],[32,2],[47,2],[96,2],[292,2]]},"49":{"position":[[9,2],[39,2],[253,2],[453,2]]},"51":{"position":[[25,2],[55,2],[70,2]]},"53":{"position":[[117,2]]},"55":{"position":[[116,2],[304,2]]},"57":{"position":[[5,2],[19,2],[33,2],[223,2],[261,2],[316,2]]},"59":{"position":[[6,2],[296,2]]},"325":{"position":[[33,2]]},"365":{"position":[[637,2],[645,2],[899,2],[960,2]]},"749":{"position":[[240,2]]},"765":{"position":[[2,2]]}}}],["条件",{"_index":1020,"t":{"193":{"position":[[194,2],[219,2]]},"361":{"position":[[3109,2]]}}}],["来自",{"_index":2077,"t":{"591":{"position":[[94,2]]}}}],["来说",{"_index":2089,"t":{"600":{"position":[[5,2]]},"730":{"position":[[51,2]]},"753":{"position":[[32,2]]}}}],["极大",{"_index":1255,"t":{"237":{"position":[[16,2]]}}}],["极少数",{"_index":1465,"t":{"299":{"position":[[532,3]]}}}],["极致",{"_index":295,"t":{"23":{"position":[[224,2]]},"126":{"position":[[228,2]]},"137":{"position":[[590,2]]},"501":{"position":[[90,2]]},"670":{"position":[[144,2]]}}}],["构建",{"_index":15,"t":{"2":{"position":[[55,2]]},"4":{"position":[[130,2]]},"7":{"position":[[15,2],[60,2],[71,2]]},"9":{"position":[[178,2]]},"13":{"position":[[25,2]]},"23":{"position":[[120,2]]},"39":{"position":[[2,2]]},"63":{"position":[[50,2]]},"74":{"position":[[32,2],[35,2]]},"80":{"position":[[1,2]]},"82":{"position":[[89,2]]},"89":{"position":[[21,2]]},"126":{"position":[[124,2]]},"141":{"position":[[130,2]]},"216":{"position":[[46,2]]},"250":{"position":[[290,2]]},"339":{"position":[[151,2]]},"351":{"position":[[25,2],[375,2]]},"354":{"position":[[18,2]]},"408":{"position":[[392,2],[417,2]]},"410":{"position":[[0,2],[223,2]]},"427":{"position":[[1200,2]]},"431":{"position":[[405,2]]},"441":{"position":[[51,2],[394,2]]},"445":{"position":[[3,2],[13,2]]},"453":{"position":[[41,2]]},"467":{"position":[[24,2],[34,2]]},"469":{"position":[[12,2]]},"474":{"position":[[0,2]]},"489":{"position":[[49,2]]},"493":{"position":[[20,2]]},"513":{"position":[[677,2],[872,2]]},"535":{"position":[[20,2],[179,2],[188,2]]},"537":{"position":[[37,2],[225,2],[271,2]]},"555":{"position":[[18,2]]},"562":{"position":[[21,2]]},"564":{"position":[[21,2],[51,2]]},"595":{"position":[[41,2]]},"606":{"position":[[17,2]]},"637":{"position":[[951,2]]},"639":{"position":[[15,2],[56,2],[417,2]]},"641":{"position":[[60,2],[87,2]]},"643":{"position":[[673,2]]},"739":{"position":[[99,2]]},"743":{"position":[[64,2]]},"749":{"position":[[212,2]]},"785":{"position":[[7,2],[19,2]]},"791":{"position":[[17,2]]},"793":{"position":[[80,2],[90,2]]},"795":{"position":[[241,2]]},"797":{"position":[[73,2],[626,2]]},"799":{"position":[[1128,2]]},"803":{"position":[[10,2],[112,2]]},"805":{"position":[[319,2],[407,2],[884,2]]},"807":{"position":[[14,2],[318,2],[342,2],[368,2],[411,2],[434,2],[462,2]]}}}],["枚举",{"_index":1972,"t":{"517":{"position":[[91,2]]}}}],["某个",{"_index":400,"t":{"43":{"position":[[128,2]]},"51":{"position":[[8,2]]},"604":{"position":[[349,2]]},"658":{"position":[[7,2]]}}}],["某些",{"_index":369,"t":{"41":{"position":[[27,2]]},"43":{"position":[[156,2]]},"49":{"position":[[3,2]]},"51":{"position":[[1,2]]},"63":{"position":[[27,2]]},"241":{"position":[[1,2]]},"541":{"position":[[171,2]]},"608":{"position":[[13,2]]},"793":{"position":[[110,2]]}}}],["查找",{"_index":539,"t":{"80":{"position":[[118,2]]}}}],["查看",{"_index":92,"t":{"4":{"position":[[310,2],[333,2],[406,2],[442,2],[472,2]]},"15":{"position":[[31,2]]},"109":{"position":[[71,2]]},"259":{"position":[[224,2]]},"261":{"position":[[901,2]]},"268":{"position":[[202,2]]},"270":{"position":[[1042,2]]},"412":{"position":[[0,2]]},"414":{"position":[[0,2]]},"420":{"position":[[256,2]]}}}],["查询",{"_index":2300,"t":{"716":{"position":[[31,2]]}}}],["标准",{"_index":705,"t":{"98":{"position":[[308,2]]},"513":{"position":[[222,2],[233,2]]},"654":{"position":[[31,2]]},"720":{"position":[[5,2],[11,2]]},"805":{"position":[[639,2]]}}}],["标注",{"_index":2367,"t":{"749":{"position":[[42,2]]}}}],["标签",{"_index":1125,"t":{"218":{"position":[[12,2]]},"582":{"position":[[454,2]]},"589":{"position":[[221,2]]},"591":{"position":[[39,2]]},"695":{"position":[[20,2],[35,2]]},"705":{"position":[[10,2]]},"709":{"position":[[26,2]]},"712":{"position":[[238,2],[375,2]]},"714":{"position":[[206,2],[249,2],[444,2]]},"722":{"position":[[5,2]]},"728":{"position":[[35,2]]},"741":{"position":[[815,2],[850,2],[953,2],[973,2]]}}}],["标记",{"_index":1838,"t":{"429":{"position":[[128,2],[532,2]]}}}],["标识",{"_index":1131,"t":{"218":{"position":[[166,2]]},"237":{"position":[[694,2]]},"572":{"position":[[2,2]]},"574":{"position":[[2,2]]},"576":{"position":[[2,2]]},"578":{"position":[[2,2]]}}}],["标识符",{"_index":707,"t":{"98":{"position":[[318,3]]},"481":{"position":[[681,3]]}}}],["标题",{"_index":2060,"t":{"582":{"position":[[417,2]]},"691":{"position":[[0,2]]}}}],["样式",{"_index":280,"t":{"23":{"position":[[134,2],[162,2],[193,2],[220,2],[272,2],[338,2],[389,2]]},"28":{"position":[[36,2]]},"126":{"position":[[138,2],[166,2],[197,2],[224,2],[278,2]]},"131":{"position":[[45,2],[66,2],[78,2],[93,2]]},"137":{"position":[[2,2],[263,2],[584,2],[609,2]]},"205":{"position":[[260,2],[298,2]]},"214":{"position":[[65,2],[178,2]]},"216":{"position":[[44,2],[81,2],[91,2]]},"309":{"position":[[26,2],[37,2],[42,2]]},"343":{"position":[[101,2]]},"359":{"position":[[1589,2]]},"441":{"position":[[297,2]]},"461":{"position":[[3,2],[21,2]]},"537":{"position":[[277,2]]},"647":{"position":[[33,2]]},"649":{"position":[[9,2]]},"651":{"position":[[10,2],[43,2],[78,2],[88,2],[97,2],[106,2],[190,2],[221,2],[292,2]]},"654":{"position":[[58,2]]},"656":{"position":[[24,2],[101,2]]},"658":{"position":[[18,2],[129,2]]},"712":{"position":[[20,2],[59,2],[72,2],[96,2],[114,2],[121,2],[226,2],[240,2],[352,2],[357,2]]},"714":{"position":[[276,2],[294,2],[333,2],[387,2]]},"728":{"position":[[71,2]]},"741":{"position":[[817,2],[857,2],[883,2]]},"771":{"position":[[10,2]]},"773":{"position":[[12,2]]}}}],["核心",{"_index":675,"t":{"96":{"position":[[38,2]]},"141":{"position":[[117,2]]},"208":{"position":[[22,2]]}}}],["根",{"_index":760,"t":{"113":{"position":[[20,1]]},"321":{"position":[[8,1]]},"363":{"position":[[540,1]]}}}],["根据",{"_index":112,"t":{"4":{"position":[[451,2]]},"37":{"position":[[71,2]]},"41":{"position":[[6,2]]},"51":{"position":[[14,2]]},"113":{"position":[[29,2]]},"117":{"position":[[13,2]]},"205":{"position":[[284,2]]},"237":{"position":[[858,2]]},"250":{"position":[[59,2]]},"315":{"position":[[28,2]]},"463":{"position":[[28,2]]},"499":{"position":[[278,2]]},"519":{"position":[[47,2]]},"521":{"position":[[372,2]]},"598":{"position":[[3,2]]},"654":{"position":[[106,2]]},"712":{"position":[[25,2],[37,2]]}}}],["根目录",{"_index":1365,"t":{"257":{"position":[[8,3]]},"261":{"position":[[161,3]]},"266":{"position":[[8,3]]},"270":{"position":[[106,3]]},"351":{"position":[[395,3],[425,3]]},"408":{"position":[[192,3]]},"410":{"position":[[188,3]]},"503":{"position":[[549,3]]},"797":{"position":[[5,3]]},"803":{"position":[[94,3]]}}}],["格式",{"_index":427,"t":{"47":{"position":[[109,2]]},"651":{"position":[[255,2]]}}}],["格式化",{"_index":1159,"t":{"226":{"position":[[511,3]]},"237":{"position":[[665,3]]},"239":{"position":[[618,3]]}}}],["框架",{"_index":11,"t":{"2":{"position":[[35,2]]},"4":{"position":[[211,2]]},"7":{"position":[[47,2]]},"15":{"position":[[2,2]]},"17":{"position":[[5,2]]},"19":{"position":[[72,2]]},"141":{"position":[[23,2]]},"154":{"position":[[14,2]]},"162":{"position":[[173,2]]},"169":{"position":[[13,2]]},"203":{"position":[[0,2]]},"226":{"position":[[0,2]]},"237":{"position":[[116,2]]},"252":{"position":[[41,2]]},"317":{"position":[[0,2]]},"337":{"position":[[0,2],[54,2]]},"339":{"position":[[0,2]]},"345":{"position":[[18,2]]},"351":{"position":[[11,2]]},"361":{"position":[[2,2],[2837,2]]},"363":{"position":[[298,2]]},"368":{"position":[[7,2]]},"400":{"position":[[24,2]]},"427":{"position":[[0,2],[118,2],[1023,2]]},"461":{"position":[[8,2]]},"505":{"position":[[39,2]]},"521":{"position":[[69,2],[393,2]]},"572":{"position":[[4,2]]},"574":{"position":[[4,2]]},"576":{"position":[[4,2]]},"598":{"position":[[0,2]]},"606":{"position":[[220,2],[264,2],[431,2]]},"649":{"position":[[37,2]]},"695":{"position":[[64,2]]},"793":{"position":[[37,2],[55,2],[78,2]]},"801":{"position":[[0,2]]},"805":{"position":[[17,2]]},"823":{"position":[[9,2],[183,2]]},"825":{"position":[[14,2]]}}}],["桌面",{"_index":174,"t":{"9":{"position":[[130,2]]}}}],["桥",{"_index":1063,"t":{"203":{"position":[[158,1]]}}}],["检查",{"_index":2407,"t":{"805":{"position":[[913,2],[941,2]]}}}],["检测",{"_index":1990,"t":{"525":{"position":[[39,2]]},"527":{"position":[[47,2]]}}}],["概念",{"_index":959,"t":{"183":{"position":[[55,2],[73,2]]},"185":{"position":[[150,2],[183,2]]},"197":{"position":[[24,2]]},"751":{"position":[[8,2]]}}}],["槽",{"_index":1044,"t":{"197":{"position":[[272,1]]}}}],["模块",{"_index":81,"t":{"4":{"position":[[264,2]]},"37":{"position":[[76,2]]},"214":{"position":[[171,2]]},"216":{"position":[[49,2],[74,2]]},"477":{"position":[[105,2]]},"491":{"position":[[52,2]]},"513":{"position":[[254,2],[889,2]]},"515":{"position":[[141,2]]},"519":{"position":[[49,2]]},"521":{"position":[[374,2]]},"658":{"position":[[12,2]]},"735":{"position":[[101,2]]},"795":{"position":[[18,2]]},"799":{"position":[[824,2]]},"819":{"position":[[44,2],[243,2],[425,2]]},"823":{"position":[[202,2]]}}}],["模块化",{"_index":2163,"t":{"651":{"position":[[274,3]]}}}],["模型",{"_index":1169,"t":{"228":{"position":[[21,2]]},"230":{"position":[[120,2],[482,2],[598,2],[691,2]]},"295":{"position":[[264,2],[279,2],[850,2],[889,2],[915,2],[1163,2]]}}}],["模式",{"_index":55,"t":{"4":{"position":[[111,2]]},"141":{"position":[[103,2]]},"210":{"position":[[357,2]]},"212":{"position":[[97,2],[364,2]]},"214":{"position":[[21,2]]},"216":{"position":[[18,2],[65,2]]},"237":{"position":[[1086,2],[1132,2]]},"321":{"position":[[86,2]]},"359":{"position":[[1135,2]]},"390":{"position":[[94,2]]},"408":{"position":[[115,2]]},"410":{"position":[[111,2]]},"427":{"position":[[45,2],[160,2]]},"517":{"position":[[36,2],[106,2]]},"527":{"position":[[103,2]]},"560":{"position":[[307,2]]},"570":{"position":[[13,2]]},"633":{"position":[[105,2]]},"639":{"position":[[74,2]]}}}],["模拟",{"_index":434,"t":{"47":{"position":[[288,2]]},"246":{"position":[[42,2]]},"293":{"position":[[619,2]]},"441":{"position":[[72,2]]},"451":{"position":[[15,2]]},"539":{"position":[[88,2]]},"551":{"position":[[41,2]]},"749":{"position":[[48,2],[109,2]]}}}],["模拟能力",{"_index":2368,"t":{"749":{"position":[[134,4]]}}}],["模板",{"_index":104,"t":{"4":{"position":[[383,2],[468,2]]},"154":{"position":[[2,2]]},"156":{"position":[[2,2]]},"158":{"position":[[6,2]]},"185":{"position":[[115,2]]},"441":{"position":[[327,2]]},"459":{"position":[[5,2]]},"580":{"position":[[40,2]]},"582":{"position":[[12,2],[542,2]]},"689":{"position":[[22,2]]},"781":{"position":[[66,2]]},"787":{"position":[[8,2]]},"799":{"position":[[5,2]]}}}],["模版",{"_index":1903,"t":{"491":{"position":[[244,2]]},"819":{"position":[[8,2]]}}}],["次",{"_index":1269,"t":{"237":{"position":[[328,1]]}}}],["欢迎",{"_index":2011,"t":{"537":{"position":[[437,2]]}}}],["正则",{"_index":1920,"t":{"501":{"position":[[184,2],[591,2]]}}}],["正常",{"_index":228,"t":{"15":{"position":[[160,2]]},"139":{"position":[[166,2]]},"641":{"position":[[58,2]]},"758":{"position":[[239,2]]}}}],["此基础",{"_index":117,"t":{"7":{"position":[[28,3]]}}}],["此外",{"_index":222,"t":{"15":{"position":[[100,2]]},"212":{"position":[[317,2]]},"560":{"position":[[258,2]]}}}],["此时",{"_index":1123,"t":{"216":{"position":[[99,2]]},"246":{"position":[[24,2]]},"248":{"position":[[44,2]]},"549":{"position":[[12,2]]},"672":{"position":[[69,2]]},"783":{"position":[[96,2]]}}}],["此类",{"_index":247,"t":{"19":{"position":[[30,2]]}}}],["步骤",{"_index":886,"t":{"158":{"position":[[19,2]]},"679":{"position":[[123,2]]}}}],["段",{"_index":913,"t":{"167":{"position":[[54,1]]},"243":{"position":[[89,1],[157,1]]},"390":{"position":[[18,1]]},"515":{"position":[[951,1]]},"663":{"position":[[61,1],[252,1]]},"681":{"position":[[136,1],[154,1]]},"799":{"position":[[243,1]]},"809":{"position":[[30,1],[254,1]]},"811":{"position":[[196,1]]}}}],["每一项",{"_index":2094,"t":{"600":{"position":[[248,3]]},"753":{"position":[[275,3]]}}}],["每个",{"_index":341,"t":{"37":{"position":[[32,2]]},"78":{"position":[[24,2]]},"241":{"position":[[24,2]]},"295":{"position":[[59,2]]},"309":{"position":[[40,2]]},"629":{"position":[[251,2]]},"807":{"position":[[562,2]]}}}],["每次",{"_index":1303,"t":{"237":{"position":[[972,2]]}}}],["比如",{"_index":193,"t":{"11":{"position":[[45,2]]},"17":{"position":[[48,2]]},"98":{"position":[[322,2]]},"113":{"position":[[511,2]]},"117":{"position":[[57,2]]},"133":{"position":[[36,2]]},"276":{"position":[[24,2]]},"309":{"position":[[52,2]]},"325":{"position":[[31,2]]},"327":{"position":[[20,2]]},"339":{"position":[[122,2]]},"351":{"position":[[47,2],[342,2],[431,2]]},"354":{"position":[[43,2]]},"392":{"position":[[114,2]]},"427":{"position":[[1341,2]]},"443":{"position":[[24,2]]},"491":{"position":[[80,2]]},"541":{"position":[[48,2]]},"547":{"position":[[29,2]]},"591":{"position":[[25,2]]},"606":{"position":[[187,2]]},"608":{"position":[[60,2]]},"793":{"position":[[101,2],[125,2]]},"797":{"position":[[21,2]]}}}],["比较",{"_index":1797,"t":{"422":{"position":[[33,2]]},"429":{"position":[[30,2]]}}}],["毫无疑问",{"_index":186,"t":{"11":{"position":[[0,4]]}}}],["毫秒",{"_index":1294,"t":{"237":{"position":[[782,2],[1073,2],[1119,2]]}}}],["污染",{"_index":2147,"t":{"651":{"position":[[59,2],[173,2]]}}}],["没",{"_index":1337,"t":{"246":{"position":[[14,1]]}}}],["没有",{"_index":401,"t":{"43":{"position":[[130,2],[190,2]]},"59":{"position":[[294,2]]},"137":{"position":[[588,2]]},"139":{"position":[[140,2]]},"210":{"position":[[95,2]]},"212":{"position":[[331,2]]},"218":{"position":[[40,2]]},"610":{"position":[[43,2]]},"672":{"position":[[11,2]]},"749":{"position":[[296,2]]}}}],["泛",{"_index":1749,"t":{"400":{"position":[[117,1]]},"402":{"position":[[123,1]]}}}],["注入",{"_index":1895,"t":{"481":{"position":[[728,2]]},"564":{"position":[[18,2]]},"805":{"position":[[346,2]]}}}],["注册",{"_index":850,"t":{"139":{"position":[[223,2]]},"437":{"position":[[53,2]]},"439":{"position":[[56,2]]},"677":{"position":[[76,2]]},"679":{"position":[[36,2],[110,2]]},"807":{"position":[[27,2]]},"819":{"position":[[423,2],[651,2],[918,2]]}}}],["注意",{"_index":729,"t":{"107":{"position":[[85,2]]},"109":{"position":[[84,2]]},"122":{"position":[[23,2]]},"299":{"position":[[484,2]]},"335":{"position":[[219,2]]},"429":{"position":[[695,2]]},"481":{"position":[[500,2]]},"560":{"position":[[357,2]]},"562":{"position":[[36,2],[83,2]]},"585":{"position":[[134,2]]},"600":{"position":[[236,2]]},"663":{"position":[[235,2]]},"703":{"position":[[29,2],[388,2]]},"751":{"position":[[51,2]]},"753":{"position":[[263,2]]},"758":{"position":[[299,2]]}}}],["注意事项",{"_index":2350,"t":{"741":{"position":[[956,4]]}}}],["流",{"_index":2108,"t":{"606":{"position":[[374,1],[397,1]]}}}],["流程",{"_index":1116,"t":{"214":{"position":[[183,2]]}}}],["流行",{"_index":685,"t":{"96":{"position":[[123,2]]},"422":{"position":[[35,2]]}}}],["测试",{"_index":1360,"t":{"252":{"position":[[39,2]]},"259":{"position":[[5,2],[226,2]]},"261":{"position":[[6,2],[487,2],[903,2]]},"268":{"position":[[2,2],[15,2],[204,2]]},"270":{"position":[[585,2],[1044,2]]}}}],["测试环境",{"_index":1821,"t":{"427":{"position":[[1123,4]]}}}],["测试用例",{"_index":1379,"t":{"259":{"position":[[91,4]]},"261":{"position":[[622,4]]},"268":{"position":[[38,4]]},"270":{"position":[[722,4]]}}}],["浏览器",{"_index":218,"t":{"15":{"position":[[73,3]]},"85":{"position":[[1202,3]]},"220":{"position":[[15,3]]},"248":{"position":[[29,3]]},"250":{"position":[[55,3]]},"392":{"position":[[172,3]]},"408":{"position":[[324,3]]},"505":{"position":[[186,3],[265,3],[342,3]]},"543":{"position":[[150,3]]},"566":{"position":[[25,3]]},"633":{"position":[[98,3]]},"637":{"position":[[105,3]]},"641":{"position":[[119,3]]},"643":{"position":[[380,3]]},"654":{"position":[[221,3]]},"712":{"position":[[15,3],[66,3]]},"714":{"position":[[328,3],[382,3]]},"728":{"position":[[22,3]]},"783":{"position":[[103,3]]},"805":{"position":[[654,3]]}}}],["消失",{"_index":1528,"t":{"327":{"position":[[76,2]]}}}],["消费",{"_index":1168,"t":{"228":{"position":[[0,2]]},"382":{"position":[[202,2]]},"429":{"position":[[144,2],[737,2]]},"435":{"position":[[142,2]]},"439":{"position":[[698,2]]},"641":{"position":[[1,2],[115,2]]}}}],["涉及",{"_index":393,"t":{"43":{"position":[[91,2]]},"361":{"position":[[21,2]]},"400":{"position":[[109,2]]},"402":{"position":[[115,2]]}}}],["淘宝",{"_index":1796,"t":{"420":{"position":[[279,2]]},"745":{"position":[[103,2]]}}}],["混乱",{"_index":2154,"t":{"651":{"position":[[166,2],[232,2]]}}}],["混用",{"_index":2225,"t":{"667":{"position":[[73,2]]},"747":{"position":[[73,2]]}}}],["添加",{"_index":314,"t":{"25":{"position":[[52,2]]},"45":{"position":[[52,2]]},"65":{"position":[[64,2]]},"80":{"position":[[26,2]]},"98":{"position":[[70,2]]},"128":{"position":[[54,2]]},"162":{"position":[[8,2]]},"164":{"position":[[8,2]]},"224":{"position":[[80,2]]},"257":{"position":[[272,2]]},"274":{"position":[[53,2]]},"303":{"position":[[52,2]]},"305":{"position":[[301,2]]},"311":{"position":[[54,2]]},"361":{"position":[[1877,2],[1955,2],[2403,2]]},"363":{"position":[[607,2]]},"365":{"position":[[86,2],[377,2],[719,2]]},"457":{"position":[[28,2]]},"481":{"position":[[649,2]]},"491":{"position":[[247,2]]},"503":{"position":[[88,2]]},"533":{"position":[[49,2]]},"535":{"position":[[433,2]]},"587":{"position":[[66,2]]},"589":{"position":[[224,2]]},"629":{"position":[[285,2]]},"712":{"position":[[116,2]]},"741":{"position":[[636,2]]},"793":{"position":[[141,2]]},"797":{"position":[[620,2]]},"799":{"position":[[1125,2]]},"809":{"position":[[24,2]]},"811":{"position":[[6,2]]},"815":{"position":[[0,2]]},"819":{"position":[[42,2],[241,2]]},"821":{"position":[[25,2]]},"827":{"position":[[6,2]]},"829":{"position":[[7,2],[252,2],[256,2]]}}}],["清楚",{"_index":1138,"t":{"220":{"position":[[98,2]]}}}],["清空",{"_index":1940,"t":{"503":{"position":[[586,2]]}}}],["渲染",{"_index":58,"t":{"4":{"position":[[119,2]]},"57":{"position":[[266,2]]},"85":{"position":[[628,2]]},"169":{"position":[[27,2],[41,2],[134,2],[146,2]]},"195":{"position":[[4,2],[35,2],[55,2]]},"315":{"position":[[16,2]]},"323":{"position":[[189,2],[332,2]]},"363":{"position":[[632,2]]},"388":{"position":[[76,2],[156,2],[174,2],[188,2]]},"390":{"position":[[92,2]]},"392":{"position":[[65,2],[176,2],[235,2]]},"396":{"position":[[56,2]]},"398":{"position":[[26,2],[32,2]]},"427":{"position":[[242,2],[1311,2]]},"429":{"position":[[22,2],[48,2],[67,2],[91,2]]},"439":{"position":[[732,2]]},"582":{"position":[[492,2],[548,2]]},"589":{"position":[[41,2]]},"591":{"position":[[20,2]]},"595":{"position":[[33,2]]},"606":{"position":[[246,2],[254,2],[440,2],[550,2]]},"610":{"position":[[55,2]]},"614":{"position":[[55,2]]},"633":{"position":[[18,2],[83,2],[102,2]]},"637":{"position":[[54,2]]},"639":{"position":[[18,2],[72,2],[402,2]]},"641":{"position":[[51,2]]},"654":{"position":[[250,2]]},"685":{"position":[[17,2]]},"697":{"position":[[36,2]]},"749":{"position":[[215,2],[225,2]]},"829":{"position":[[322,2]]},"831":{"position":[[3,2],[23,2]]}}}],["渲染器",{"_index":2333,"t":{"730":{"position":[[34,3]]}}}],["源",{"_index":1793,"t":{"420":{"position":[[184,1],[262,1],[283,1]]}}}],["源码",{"_index":251,"t":{"19":{"position":[[63,2]]},"37":{"position":[[62,2]]},"203":{"position":[[130,2]]},"339":{"position":[[278,2]]},"351":{"position":[[319,2]]},"441":{"position":[[156,2]]},"455":{"position":[[4,2]]},"805":{"position":[[496,2],[678,2],[686,2]]},"823":{"position":[[205,2]]}}}],["滚动",{"_index":1526,"t":{"327":{"position":[[24,2]]}}}],["滞后",{"_index":1815,"t":{"427":{"position":[[257,2]]}}}],["满足",{"_index":976,"t":{"185":{"position":[[121,2]]},"345":{"position":[[7,2]]},"515":{"position":[[362,2]]},"535":{"position":[[194,2]]},"631":{"position":[[8,2]]},"793":{"position":[[60,2]]},"805":{"position":[[1091,2]]}}}],["潜在",{"_index":987,"t":{"185":{"position":[[197,2]]}}}],["瀑布",{"_index":2107,"t":{"606":{"position":[[372,2],[395,2]]}}}],["灵活",{"_index":962,"t":{"185":{"position":[[8,2]]}}}],["点",{"_index":759,"t":{"111":{"position":[[863,1]]},"149":{"position":[[17,1]]},"235":{"position":[[43,1]]},"237":{"position":[[67,1]]},"333":{"position":[[25,1]]},"735":{"position":[[66,1]]},"751":{"position":[[53,1]]},"831":{"position":[[136,1]]}}}],["热",{"_index":1955,"t":{"513":{"position":[[891,1]]}}}],["焦点",{"_index":1299,"t":{"237":{"position":[[900,2]]}}}],["然后",{"_index":413,"t":{"47":{"position":[[25,2]]},"78":{"position":[[43,2]]},"80":{"position":[[41,2]]},"89":{"position":[[81,2]]},"94":{"position":[[44,2]]},"98":{"position":[[50,2]]},"250":{"position":[[46,2]]},"257":{"position":[[546,2]]},"261":{"position":[[156,2]]},"266":{"position":[[530,2]]},"270":{"position":[[101,2]]},"339":{"position":[[272,2]]},"781":{"position":[[36,2]]},"797":{"position":[[35,2]]}}}],["父",{"_index":1746,"t":{"398":{"position":[[28,1]]}}}],["版本",{"_index":145,"t":{"9":{"position":[[14,2]]},"23":{"position":[[349,2]]},"78":{"position":[[26,2]]},"177":{"position":[[120,2]]},"359":{"position":[[17,2],[1122,2]]},"414":{"position":[[11,2]]},"418":{"position":[[29,2],[92,2],[211,2]]},"443":{"position":[[29,2]]},"489":{"position":[[62,2]]},"560":{"position":[[449,2]]},"724":{"position":[[315,2]]},"779":{"position":[[25,2]]},"803":{"position":[[203,2]]}}}],["物料",{"_index":29,"t":{"2":{"position":[[93,2]]},"4":{"position":[[460,2],[474,2]]},"15":{"position":[[114,2],[145,2]]},"19":{"position":[[75,2]]}}}],["物理",{"_index":2184,"t":{"654":{"position":[[165,2],[193,2],[214,2]]}}}],["特别",{"_index":2046,"t":{"562":{"position":[[34,2],[60,2]]},"703":{"position":[[386,2]]}}}],["特定",{"_index":1567,"t":{"345":{"position":[[9,2]]},"643":{"position":[[57,2]]}}}],["特性",{"_index":676,"t":{"96":{"position":[[40,2]]},"181":{"position":[[31,2]]},"185":{"position":[[117,2]]}}}],["特有",{"_index":2132,"t":{"641":{"position":[[122,2]]}}}],["特殊",{"_index":1544,"t":{"337":{"position":[[46,2]]},"521":{"position":[[407,2]]},"604":{"position":[[31,2]]}}}],["状态",{"_index":50,"t":{"4":{"position":[[93,2]]},"7":{"position":[[97,2]]},"13":{"position":[[31,2]]},"171":{"position":[[63,2],[99,2],[126,2]]},"179":{"position":[[49,2]]},"230":{"position":[[3,2]]},"237":{"position":[[24,2],[278,2],[490,2]]},"239":{"position":[[731,2]]},"243":{"position":[[80,2]]},"272":{"position":[[39,2],[56,2]]},"276":{"position":[[13,2],[20,2]]},"278":{"position":[[21,2],[31,2],[240,2]]},"284":{"position":[[5,2]]},"293":{"position":[[6,2]]},"295":{"position":[[266,2],[341,2],[1182,2]]},"301":{"position":[[46,2],[65,2]]},"303":{"position":[[16,2],[47,2]]},"305":{"position":[[38,2]]},"365":{"position":[[0,2],[8,2],[282,2]]},"394":{"position":[[24,2]]}}}],["独有",{"_index":2337,"t":{"735":{"position":[[72,2]]}}}],["独立",{"_index":344,"t":{"37":{"position":[[41,2]]},"151":{"position":[[36,2]]},"309":{"position":[[34,2]]},"351":{"position":[[94,2]]}}}],["环境",{"_index":215,"t":{"15":{"position":[[60,2]]},"94":{"position":[[25,2]]},"113":{"position":[[35,2],[314,2]]},"124":{"position":[[57,2]]},"220":{"position":[[18,2]]},"250":{"position":[[52,2],[300,2]]},"408":{"position":[[113,2]]},"410":{"position":[[9,2],[109,2]]},"416":{"position":[[18,2]]},"427":{"position":[[1212,2]]},"481":{"position":[[206,2]]},"501":{"position":[[408,2]]},"555":{"position":[[76,2]]},"564":{"position":[[23,2]]},"566":{"position":[[28,2]]},"641":{"position":[[134,2]]},"670":{"position":[[119,2],[136,2]]},"743":{"position":[[73,2]]},"749":{"position":[[4,2]]},"779":{"position":[[41,2]]},"785":{"position":[[11,2]]},"791":{"position":[[26,2]]},"805":{"position":[[321,2]]}}}],["环境变量",{"_index":1622,"t":{"359":{"position":[[542,4]]},"441":{"position":[[363,4]]},"447":{"position":[[2,4],[10,4]]},"481":{"position":[[721,4]]},"555":{"position":[[11,4],[46,4],[62,4]]},"558":{"position":[[34,4],[99,4]]},"560":{"position":[[32,4],[98,4],[311,4]]},"562":{"position":[[11,4],[39,4]]},"564":{"position":[[11,4]]},"566":{"position":[[5,4],[39,4]]},"568":{"position":[[12,4]]},"641":{"position":[[125,4]]}}}],["环节",{"_index":2015,"t":{"539":{"position":[[45,2]]}}}],["现代",{"_index":1945,"t":{"505":{"position":[[263,2]]}}}],["现在",{"_index":716,"t":{"100":{"position":[[43,2]]},"259":{"position":[[2,2]]},"261":{"position":[[484,2]]},"268":{"position":[[182,2]]},"270":{"position":[[583,2]]},"799":{"position":[[62,2]]}}}],["现有",{"_index":1614,"t":{"359":{"position":[[403,2]]}}}],["瓶颈",{"_index":1948,"t":{"507":{"position":[[522,2]]}}}],["甚至",{"_index":2152,"t":{"651":{"position":[[138,2]]}}}],["生产",{"_index":665,"t":{"94":{"position":[[23,2]]},"124":{"position":[[55,2]]},"410":{"position":[[7,2]]},"743":{"position":[[71,2]]},"785":{"position":[[9,2]]},"791":{"position":[[24,2]]}}}],["生命周期",{"_index":851,"t":{"139":{"position":[[227,4]]},"164":{"position":[[230,4]]},"376":{"position":[[27,4]]},"427":{"position":[[1259,4],[1292,4]]},"667":{"position":[[9,4],[26,4]]},"677":{"position":[[70,4]]},"679":{"position":[[39,4]]},"747":{"position":[[9,4],[26,4]]},"793":{"position":[[92,4]]},"807":{"position":[[293,4]]}}}],["生态",{"_index":836,"t":{"139":{"position":[[49,2],[87,2],[107,2]]}}}],["生成",{"_index":342,"t":{"37":{"position":[[37,2]]},"96":{"position":[[53,2]]},"100":{"position":[[293,2]]},"117":{"position":[[41,2],[343,2]]},"147":{"position":[[59,2]]},"351":{"position":[[92,2]]},"459":{"position":[[38,2]]},"463":{"position":[[32,2]]},"467":{"position":[[69,2]]},"481":{"position":[[538,2]]},"489":{"position":[[107,2]]},"531":{"position":[[26,2],[69,2]]},"537":{"position":[[65,2]]},"551":{"position":[[13,2],[36,2]]},"598":{"position":[[14,2]]},"612":{"position":[[43,2]]},"633":{"position":[[74,2]]},"639":{"position":[[61,2],[127,2],[436,2]]},"785":{"position":[[38,2]]},"791":{"position":[[61,2]]},"805":{"position":[[982,2]]},"819":{"position":[[2,2],[46,2],[245,2]]}}}],["生效",{"_index":559,"t":{"82":{"position":[[182,2]]},"113":{"position":[[508,2]]},"124":{"position":[[82,2]]},"376":{"position":[[101,2]]},"485":{"position":[[79,2]]},"487":{"position":[[41,2]]},"497":{"position":[[40,2]]},"501":{"position":[[617,2]]},"515":{"position":[[784,2]]},"651":{"position":[[103,2]]},"679":{"position":[[300,2]]},"716":{"position":[[17,2]]},"805":{"position":[[662,2]]}}}],["用于",{"_index":721,"t":{"103":{"position":[[16,2]]},"105":{"position":[[19,2]]},"107":{"position":[[73,2]]},"120":{"position":[[12,2]]},"162":{"position":[[441,2]]},"167":{"position":[[33,2]]},"169":{"position":[[39,2]]},"179":{"position":[[33,2]]},"195":{"position":[[45,2]]},"226":{"position":[[15,2]]},"368":{"position":[[3,2]]},"370":{"position":[[3,2]]},"372":{"position":[[12,2]]},"376":{"position":[[121,2]]},"378":{"position":[[82,2]]},"388":{"position":[[67,2]]},"396":{"position":[[54,2]]},"398":{"position":[[24,2]]},"400":{"position":[[20,2]]},"402":{"position":[[22,2]]},"408":{"position":[[10,2]]},"451":{"position":[[11,2]]},"453":{"position":[[0,2]]},"455":{"position":[[0,2]]},"457":{"position":[[8,2]]},"459":{"position":[[36,2]]},"481":{"position":[[200,2]]},"503":{"position":[[86,2]]},"515":{"position":[[116,2]]},"570":{"position":[[0,2]]},"572":{"position":[[0,2]]},"574":{"position":[[0,2]]},"576":{"position":[[0,2]]},"578":{"position":[[0,2]]},"643":{"position":[[495,2]]},"697":{"position":[[41,2]]},"795":{"position":[[235,2],[311,2]]},"797":{"position":[[67,2],[93,2],[337,2]]},"807":{"position":[[48,2]]}}}],["用以",{"_index":2348,"t":{"741":{"position":[[705,2]]}}}],["用到",{"_index":1350,"t":{"250":{"position":[[12,2]]}}}],["用户",{"_index":398,"t":{"43":{"position":[[124,2],[169,2],[182,2],[239,2]]},"49":{"position":[[240,2],[440,2]]},"53":{"position":[[115,2]]},"55":{"position":[[216,2]]},"107":{"position":[[166,2]]},"109":{"position":[[165,2]]},"115":{"position":[[10,2],[118,2]]},"124":{"position":[[31,2]]},"139":{"position":[[134,2]]},"143":{"position":[[16,2],[76,2]]},"149":{"position":[[27,2]]},"205":{"position":[[0,2]]},"276":{"position":[[35,2]]},"278":{"position":[[29,2]]},"535":{"position":[[47,2],[201,2]]},"553":{"position":[[2,2]]},"600":{"position":[[85,2]]},"643":{"position":[[34,2]]},"722":{"position":[[198,2],[218,2]]},"728":{"position":[[86,2]]},"753":{"position":[[112,2]]},"803":{"position":[[109,2]]},"809":{"position":[[1,2]]},"813":{"position":[[2,2],[139,2]]}}}],["用来",{"_index":916,"t":{"169":{"position":[[144,2]]}}}],["用法",{"_index":1315,"t":{"237":{"position":[[1299,2],[1392,2],[1517,2]]},"365":{"position":[[278,2],[628,2],[956,2]]},"712":{"position":[[263,2],[397,2]]},"714":{"position":[[209,2]]}}}],["由于",{"_index":1108,"t":{"214":{"position":[[0,2]]},"372":{"position":[[152,2]]},"523":{"position":[[160,2]]},"587":{"position":[[3,2]]},"651":{"position":[[169,2]]},"654":{"position":[[304,2]]},"735":{"position":[[15,2]]},"758":{"position":[[165,2]]}}}],["痛点",{"_index":2146,"t":{"651":{"position":[[51,2]]}}}],["登录",{"_index":382,"t":{"43":{"position":[[21,2]]}}}],["白名单",{"_index":1126,"t":{"218":{"position":[[25,3]]}}}],["百度",{"_index":2362,"t":{"745":{"position":[[215,2]]}}}],["的话",{"_index":1733,"t":{"388":{"position":[[210,2]]}}}],["监听",{"_index":1074,"t":{"210":{"position":[[30,2]]},"679":{"position":[[279,2]]},"807":{"position":[[10,2]]}}}],["监测",{"_index":1524,"t":{"327":{"position":[[3,2],[62,2]]}}}],["目前",{"_index":826,"t":{"131":{"position":[[48,2]]},"179":{"position":[[76,2]]},"252":{"position":[[53,2]]},"293":{"position":[[8,2]]},"363":{"position":[[270,2]]},"422":{"position":[[31,2]]},"424":{"position":[[0,2]]},"497":{"position":[[25,2]]},"647":{"position":[[67,2]]},"679":{"position":[[46,2]]},"745":{"position":[[42,2]]},"807":{"position":[[288,2]]}}}],["目录",{"_index":47,"t":{"4":{"position":[[78,2]]},"7":{"position":[[92,2]]},"78":{"position":[[55,2]]},"80":{"position":[[22,2]]},"82":{"position":[[91,2]]},"89":{"position":[[49,2]]},"117":{"position":[[65,2]]},"147":{"position":[[38,2],[67,2]]},"226":{"position":[[13,2],[24,2]]},"230":{"position":[[40,2]]},"232":{"position":[[29,2]]},"278":{"position":[[15,2]]},"286":{"position":[[7,2],[20,2]]},"288":{"position":[[7,2]]},"295":{"position":[[37,2]]},"339":{"position":[[215,2]]},"351":{"position":[[7,2],[20,2],[42,2],[145,2],[338,2],[367,2]]},"359":{"position":[[39,2],[632,2]]},"363":{"position":[[345,2]]},"441":{"position":[[12,2],[30,2],[55,2],[110,2],[158,2]]},"453":{"position":[[24,2],[28,2],[45,2]]},"455":{"position":[[7,2]]},"463":{"position":[[7,2]]},"465":{"position":[[7,2],[13,2]]},"467":{"position":[[6,2],[28,2],[51,2],[74,2],[78,2]]},"493":{"position":[[26,2],[39,2]]},"515":{"position":[[294,2],[595,2]]},"529":{"position":[[159,2],[170,2]]},"541":{"position":[[6,2],[18,2],[54,2],[128,2],[317,2],[328,2]]},"598":{"position":[[8,2],[34,2]]},"600":{"position":[[264,2]]},"604":{"position":[[20,2],[316,2],[372,2]]},"606":{"position":[[574,2]]},"610":{"position":[[10,2]]},"629":{"position":[[26,2],[269,2]]},"651":{"position":[[302,2]]},"743":{"position":[[147,2]]},"753":{"position":[[291,2]]},"783":{"position":[[18,2]]},"785":{"position":[[48,2],[162,2]]},"789":{"position":[[105,2],[249,2]]},"791":{"position":[[71,2],[102,2]]},"797":{"position":[[15,2],[39,2]]},"805":{"position":[[411,2],[467,2],[888,2]]},"819":{"position":[[48,2]]}}}],["目录名",{"_index":2110,"t":{"608":{"position":[[56,3]]},"797":{"position":[[18,3]]}}}],["直接",{"_index":265,"t":{"23":{"position":[[12,2]]},"43":{"position":[[171,2]]},"57":{"position":[[264,2]]},"126":{"position":[[12,2]]},"137":{"position":[[598,2]]},"181":{"position":[[12,2]]},"195":{"position":[[38,2]]},"205":{"position":[[4,2]]},"232":{"position":[[59,2]]},"237":{"position":[[410,2]]},"359":{"position":[[1107,2],[1811,2]]},"429":{"position":[[735,2]]},"481":{"position":[[371,2]]},"535":{"position":[[54,2]]},"543":{"position":[[147,2]]},"654":{"position":[[55,2],[322,2]]},"672":{"position":[[24,2]]},"679":{"position":[[118,2]]},"703":{"position":[[20,2]]},"709":{"position":[[16,2]]},"714":{"position":[[376,2]]},"722":{"position":[[220,2]]},"726":{"position":[[30,2]]},"739":{"position":[[92,2]]},"749":{"position":[[315,2]]}}}],["相关",{"_index":891,"t":{"162":{"position":[[238,2]]},"164":{"position":[[228,2]]},"169":{"position":[[46,2]]},"319":{"position":[[16,2]]},"325":{"position":[[148,2]]},"359":{"position":[[679,2],[877,2],[1149,2]]},"427":{"position":[[1170,2]]},"499":{"position":[[79,2],[105,2]]},"509":{"position":[[55,2]]},"511":{"position":[[54,2]]},"637":{"position":[[993,2]]},"643":{"position":[[712,2]]},"749":{"position":[[33,2],[87,2],[166,2]]},"751":{"position":[[6,2]]},"758":{"position":[[229,2]]},"807":{"position":[[536,2]]},"825":{"position":[[16,2]]}}}],["相对",{"_index":500,"t":{"70":{"position":[[6,2]]},"515":{"position":[[563,2],[579,2]]},"606":{"position":[[287,2]]},"730":{"position":[[38,2]]}}}],["相对路径",{"_index":1351,"t":{"250":{"position":[[23,4]]}}}],["相应",{"_index":854,"t":{"139":{"position":[[267,2]]},"681":{"position":[[140,2]]},"743":{"position":[[118,2]]},"789":{"position":[[76,2],[220,2]]}}}],["相比",{"_index":143,"t":{"9":{"position":[[9,2]]},"614":{"position":[[34,2]]},"633":{"position":[[93,2]]},"745":{"position":[[5,2]]}}}],["省略",{"_index":2025,"t":{"545":{"position":[[102,2]]}}}],["看到",{"_index":2023,"t":{"543":{"position":[[191,2]]},"612":{"position":[[118,2]]},"745":{"position":[[2,2]]},"781":{"position":[[125,2]]},"783":{"position":[[137,2]]},"787":{"position":[[108,2]]}}}],["真实",{"_index":974,"t":{"185":{"position":[[91,2]]},"218":{"position":[[94,2]]},"220":{"position":[[139,2]]}}}],["知识",{"_index":190,"t":{"11":{"position":[[35,2],[84,2]]}}}],["知道",{"_index":1926,"t":{"501":{"position":[[574,2]]}}}],["码",{"_index":1329,"t":{"239":{"position":[[733,1]]},"243":{"position":[[82,1]]}}}],["研发",{"_index":10,"t":{"2":{"position":[[33,2],[102,2]]},"4":{"position":[[289,2]]},"19":{"position":[[65,2],[89,2]]},"141":{"position":[[21,2]]}}}],["确保",{"_index":1120,"t":{"216":{"position":[[70,2]]},"418":{"position":[[21,2]]},"427":{"position":[[1185,2]]},"779":{"position":[[17,2]]}}}],["确定",{"_index":1166,"t":{"226":{"position":[[699,2]]},"600":{"position":[[20,2]]},"753":{"position":[[47,2]]},"805":{"position":[[317,2]]}}}],["确实",{"_index":2124,"t":{"637":{"position":[[504,2]]}}}],["确有",{"_index":2262,"t":{"695":{"position":[[83,2]]}}}],["确认",{"_index":552,"t":{"82":{"position":[[148,2]]},"143":{"position":[[80,2]]},"149":{"position":[[31,2]]}}}],["示例",{"_index":89,"t":{"4":{"position":[[301,2]]},"43":{"position":[[58,2]]},"85":{"position":[[1055,2],[1142,2],[1151,2]]},"87":{"position":[[686,2]]},"96":{"position":[[201,2]]},"177":{"position":[[0,2]]},"197":{"position":[[77,2]]},"241":{"position":[[337,2]]},"252":{"position":[[0,2]]},"272":{"position":[[0,2]]},"333":{"position":[[161,2]]},"388":{"position":[[240,2]]},"392":{"position":[[243,2]]},"420":{"position":[[71,2]]},"427":{"position":[[635,2]]},"433":{"position":[[0,2]]},"435":{"position":[[65,2]]},"437":{"position":[[62,2],[291,2]]},"439":{"position":[[117,2]]},"503":{"position":[[105,2]]},"545":{"position":[[55,2]]},"553":{"position":[[37,2]]},"558":{"position":[[72,2]]},"560":{"position":[[67,2],[196,2]]},"587":{"position":[[105,2]]},"598":{"position":[[70,2]]},"600":{"position":[[133,2]]},"606":{"position":[[30,2],[443,2]]},"637":{"position":[[209,2],[602,2]]},"639":{"position":[[447,2]]},"672":{"position":[[100,2]]},"691":{"position":[[28,2]]},"693":{"position":[[33,2]]},"703":{"position":[[447,2]]},"753":{"position":[[160,2]]}}}],["社区",{"_index":273,"t":{"23":{"position":[[81,2],[145,2]]},"126":{"position":[[85,2],[149,2]]},"139":{"position":[[47,2],[105,2]]},"185":{"position":[[138,2]]}}}],["禁止",{"_index":1627,"t":{"359":{"position":[[578,2]]},"408":{"position":[[318,2]]}}}],["禁用",{"_index":801,"t":{"115":{"position":[[173,2],[522,2]]},"408":{"position":[[350,2]]}}}],["移动",{"_index":148,"t":{"9":{"position":[[23,2],[126,2]]},"43":{"position":[[2,2]]},"335":{"position":[[257,2]]},"354":{"position":[[37,2]]},"606":{"position":[[329,2]]}}}],["移除",{"_index":930,"t":{"177":{"position":[[57,2]]},"179":{"position":[[44,2]]},"361":{"position":[[2539,2]]},"499":{"position":[[46,2],[67,2],[93,2],[112,2],[130,2],[292,2],[359,2]]},"637":{"position":[[968,2]]},"643":{"position":[[690,2]]},"821":{"position":[[232,2]]}}}],["程序",{"_index":649,"t":{"89":{"position":[[78,2],[98,2],[136,2]]},"139":{"position":[[131,2],[151,2],[205,2]]},"197":{"position":[[448,2]]},"321":{"position":[[47,2]]},"323":{"position":[[4,2],[24,2]]},"327":{"position":[[84,2]]},"354":{"position":[[62,2]]},"374":{"position":[[4,2]]},"376":{"position":[[4,2],[48,2]]},"378":{"position":[[4,2],[39,2]]},"380":{"position":[[4,2]]},"388":{"position":[[4,2]]},"392":{"position":[[4,2]]},"394":{"position":[[4,2]]},"396":{"position":[[5,2]]},"398":{"position":[[4,2]]},"404":{"position":[[4,2]]},"427":{"position":[[1210,2]]},"479":{"position":[[4,2]]},"485":{"position":[[4,2]]},"489":{"position":[[4,2]]},"491":{"position":[[4,2]]},"495":{"position":[[4,2]]},"509":{"position":[[4,2]]},"511":{"position":[[4,2]]},"513":{"position":[[4,2]]},"515":{"position":[[4,2]]},"519":{"position":[[33,2]]},"529":{"position":[[4,2]]},"539":{"position":[[4,2]]},"580":{"position":[[4,2]]},"600":{"position":[[3,2],[32,2],[81,2],[286,2]]},"604":{"position":[[4,2]]},"608":{"position":[[4,2]]},"620":{"position":[[190,2]]},"633":{"position":[[4,2],[70,2]]},"639":{"position":[[4,2]]},"654":{"position":[[302,2]]},"663":{"position":[[41,2],[261,2]]},"665":{"position":[[1,2],[78,2],[89,2],[97,2]]},"667":{"position":[[3,2],[20,2],[39,2]]},"670":{"position":[[102,2],[108,2],[114,2]]},"672":{"position":[[36,2],[42,2],[55,2]]},"674":{"position":[[3,2],[15,2]]},"681":{"position":[[3,2],[48,2],[74,2],[338,2],[350,2]]},"699":{"position":[[1,2],[68,2],[79,2],[87,2]]},"701":{"position":[[8,2]]},"703":{"position":[[3,2],[50,2],[78,2],[153,2],[396,2]]},"709":{"position":[[13,2]]},"712":{"position":[[391,2]]},"714":{"position":[[42,2]]},"716":{"position":[[2,2],[48,2]]},"720":{"position":[[9,2]]},"722":{"position":[[9,2],[169,2]]},"724":{"position":[[143,2],[166,2]]},"726":{"position":[[126,2],[161,2]]},"728":{"position":[[45,2]]},"735":{"position":[[18,2],[48,2],[70,2],[91,2]]},"737":{"position":[[17,2]]},"741":{"position":[[710,2],[720,2],[942,2]]},"743":{"position":[[6,2],[32,2],[69,2]]},"745":{"position":[[20,2],[58,2],[81,2],[156,2],[179,2]]},"747":{"position":[[3,2],[20,2],[39,2]]},"749":{"position":[[2,2],[26,2],[60,2],[121,2],[128,2],[163,2],[177,2],[200,2],[327,2]]},"751":{"position":[[1,2],[45,2]]},"753":{"position":[[30,2],[59,2],[108,2],[313,2]]},"756":{"position":[[8,2],[25,2]]},"758":{"position":[[31,2],[222,2],[248,2]]},"760":{"position":[[3,2]]},"763":{"position":[[3,2]]},"787":{"position":[[3,2]]},"789":{"position":[[8,2],[34,2]]},"791":{"position":[[5,2],[22,2]]}}}],["程序代码",{"_index":655,"t":{"89":{"position":[[121,4]]}}}],["程序开发",{"_index":646,"t":{"89":{"position":[[38,4],[54,4]]},"323":{"position":[[40,4]]},"424":{"position":[[3,4],[27,4],[51,4]]},"681":{"position":[[111,4]]},"735":{"position":[[10,4]]},"741":{"position":[[24,4],[347,4],[364,4]]},"743":{"position":[[134,4]]},"789":{"position":[[92,4],[236,4]]},"791":{"position":[[86,4]]}}}],["程序管理",{"_index":651,"t":{"89":{"position":[[89,4]]}}}],["程序运行",{"_index":2347,"t":{"741":{"position":[[393,4]]}}}],["程度",{"_index":1625,"t":{"359":{"position":[[554,2]]},"505":{"position":[[139,2]]}}}],["稳定",{"_index":1339,"t":{"246":{"position":[[21,2]]}}}],["空",{"_index":1051,"t":{"199":{"position":[[2,1]]}}}],["空值",{"_index":2131,"t":{"641":{"position":[[15,2]]}}}],["空白",{"_index":668,"t":{"94":{"position":[[71,2]]}}}],["窗口",{"_index":2383,"t":{"783":{"position":[[106,2]]}}}],["立即",{"_index":1705,"t":{"372":{"position":[[176,2]]},"758":{"position":[[189,2]]}}}],["站点",{"_index":2128,"t":{"639":{"position":[[108,2]]}}}],["章节",{"_index":791,"t":{"115":{"position":[[4,2]]},"268":{"position":[[17,2]]},"735":{"position":[[42,2]]},"739":{"position":[[101,2]]},"749":{"position":[[35,2]]},"751":{"position":[[18,2]]},"753":{"position":[[5,2]]}}}],["端",{"_index":149,"t":{"9":{"position":[[25,1],[128,1],[132,1]]},"11":{"position":[[67,1]]},"43":{"position":[[4,1]]},"222":{"position":[[26,1]]},"246":{"position":[[8,1]]},"248":{"position":[[49,1]]},"250":{"position":[[16,1]]},"293":{"position":[[624,1]]},"321":{"position":[[49,1]]},"323":{"position":[[6,1]]},"327":{"position":[[86,1]]},"354":{"position":[[39,1]]},"374":{"position":[[6,1]]},"376":{"position":[[6,1],[50,1]]},"378":{"position":[[6,1]]},"380":{"position":[[6,1]]},"388":{"position":[[6,1],[74,1],[154,1],[173,1],[187,1]]},"392":{"position":[[6,1],[63,1],[196,1]]},"394":{"position":[[6,1]]},"396":{"position":[[7,1]]},"398":{"position":[[6,1]]},"404":{"position":[[6,1]]},"479":{"position":[[6,1]]},"485":{"position":[[6,1]]},"489":{"position":[[6,1]]},"491":{"position":[[6,1]]},"495":{"position":[[6,1]]},"509":{"position":[[6,1]]},"511":{"position":[[6,1]]},"513":{"position":[[6,1],[687,1],[865,1]]},"515":{"position":[[6,1]]},"519":{"position":[[35,1]]},"529":{"position":[[6,1]]},"539":{"position":[[6,1],[18,1],[58,1],[99,1]]},"549":{"position":[[2,1],[86,1]]},"580":{"position":[[6,1]]},"604":{"position":[[6,1]]},"606":{"position":[[331,1]]},"608":{"position":[[6,1]]},"633":{"position":[[6,1],[101,1]]},"637":{"position":[[43,1],[68,1],[134,1],[192,1],[202,1],[517,1]]},"639":{"position":[[6,1]]},"641":{"position":[[79,1]]},"643":{"position":[[17,1]]},"654":{"position":[[22,1]]},"665":{"position":[[3,1]]},"672":{"position":[[76,1]]},"674":{"position":[[17,1]]},"681":{"position":[[5,1]]},"699":{"position":[[3,1]]},"703":{"position":[[398,1]]},"726":{"position":[[27,1]]},"735":{"position":[[20,1]]},"749":{"position":[[28,1],[329,1]]},"751":{"position":[[3,1],[47,1]]},"756":{"position":[[72,1]]},"805":{"position":[[657,1]]}}}],["端口",{"_index":1341,"t":{"248":{"position":[[18,2]]},"543":{"position":[[138,2]]},"560":{"position":[[180,2],[193,2]]},"805":{"position":[[870,2]]}}}],["端口号",{"_index":2039,"t":{"558":{"position":[[21,3]]}}}],["端的",{"_index":2126,"t":{"637":{"position":[[707,2],[836,2],[961,2]]},"643":{"position":[[683,2]]},"712":{"position":[[48,2]]},"749":{"position":[[130,2]]},"758":{"position":[[33,2]]}}}],["符合",{"_index":1263,"t":{"237":{"position":[[192,2]]},"243":{"position":[[46,2]]},"299":{"position":[[525,2]]}}}],["第一个",{"_index":1432,"t":{"293":{"position":[[738,3]]},"515":{"position":[[538,3]]},"639":{"position":[[331,3]]}}}],["第一次",{"_index":1732,"t":{"388":{"position":[[162,3]]}}}],["第一项",{"_index":2091,"t":{"600":{"position":[[56,3],[279,3]]},"753":{"position":[[83,3],[306,3]]}}}],["第三个",{"_index":1961,"t":{"515":{"position":[[645,3]]}}}],["第三方",{"_index":346,"t":{"37":{"position":[[73,3]]}}}],["第二个",{"_index":1959,"t":{"515":{"position":[[552,3]]},"829":{"position":[[258,3]]}}}],["等",{"_index":18,"t":{"2":{"position":[[63,1],[77,1],[97,1]]},"4":{"position":[[102,1],[206,1],[274,1],[306,1],[440,1]]},"7":{"position":[[101,1]]},"11":{"position":[[72,1]]},"17":{"position":[[63,1]]},"19":{"position":[[84,1]]},"23":{"position":[[101,1]]},"63":{"position":[[25,1],[79,1]]},"74":{"position":[[59,1]]},"76":{"position":[[8,1]]},"82":{"position":[[174,1]]},"92":{"position":[[17,1]]},"96":{"position":[[166,1]]},"126":{"position":[[105,1]]},"139":{"position":[[103,1]]},"212":{"position":[[328,1]]},"222":{"position":[[97,1]]},"276":{"position":[[39,1]]},"295":{"position":[[919,1]]},"335":{"position":[[238,1]]},"354":{"position":[[66,1]]},"372":{"position":[[25,1]]},"443":{"position":[[35,1]]},"457":{"position":[[40,1]]},"505":{"position":[[341,1]]},"507":{"position":[[509,1]]},"535":{"position":[[42,1]]},"539":{"position":[[168,1]]},"591":{"position":[[16,1],[86,1]]},"651":{"position":[[159,1]]},"663":{"position":[[59,1]]},"665":{"position":[[46,1]]},"670":{"position":[[116,1]]},"672":{"position":[[66,1]]},"683":{"position":[[137,1]]},"699":{"position":[[36,1]]},"703":{"position":[[394,1]]},"714":{"position":[[95,1],[164,1],[205,1],[441,1]]},"726":{"position":[[19,1]]},"745":{"position":[[108,1]]},"749":{"position":[[281,1]]},"807":{"position":[[558,1]]}}}],["等同于",{"_index":1576,"t":{"347":{"position":[[156,3]]},"349":{"position":[[70,3]]},"527":{"position":[[110,3]]},"545":{"position":[[176,3]]}}}],["等待",{"_index":557,"t":{"82":{"position":[[178,2]]},"429":{"position":[[9,2]]},"639":{"position":[[390,2]]}}}],["等等",{"_index":417,"t":{"47":{"position":[[45,2]]},"239":{"position":[[56,2]]}}}],["等级",{"_index":1916,"t":{"499":{"position":[[287,2],[306,2]]}}}],["答疑",{"_index":262,"t":{"21":{"position":[[48,2]]}}}],["策略",{"_index":1343,"t":{"248":{"position":[[35,2]]},"521":{"position":[[78,2],[93,2],[128,2],[213,2],[262,2],[280,2],[290,2],[353,2],[399,2]]}}}],["简化",{"_index":1150,"t":{"222":{"position":[[85,2]]},"237":{"position":[[19,2]]},"359":{"position":[[362,2]]},"805":{"position":[[219,2]]}}}],["简单",{"_index":407,"t":{"43":{"position":[[242,2]]},"185":{"position":[[168,2]]},"226":{"position":[[375,2]]},"299":{"position":[[509,2]]},"477":{"position":[[100,2]]},"515":{"position":[[871,2]]}}}],["简称",{"_index":2116,"t":{"633":{"position":[[21,2]]},"639":{"position":[[21,2]]}}}],["管理",{"_index":51,"t":{"4":{"position":[[95,2],[431,2]]},"7":{"position":[[99,2]]},"13":{"position":[[33,2]]},"43":{"position":[[54,2],[85,2],[112,2],[244,2],[259,2]]},"47":{"position":[[8,2]]},"222":{"position":[[82,2]]},"230":{"position":[[5,2],[27,2]]},"232":{"position":[[16,2]]},"237":{"position":[[27,2]]},"272":{"position":[[41,2],[51,2],[58,2]]},"305":{"position":[[40,2]]},"365":{"position":[[2,2],[10,2],[284,2],[962,2]]},"418":{"position":[[84,2]]},"420":{"position":[[197,2]]},"560":{"position":[[451,2]]},"749":{"position":[[242,2]]},"765":{"position":[[4,2]]}}}],["管理工具",{"_index":1784,"t":{"420":{"position":[[34,4]]}}}],["类",{"_index":462,"t":{"57":{"position":[[4,1]]}}}],["类似",{"_index":985,"t":{"185":{"position":[[181,2]]},"197":{"position":[[0,2]]},"459":{"position":[[34,2]]},"481":{"position":[[528,2]]}}}],["类型",{"_index":321,"t":{"28":{"position":[[0,2]]},"30":{"position":[[0,2]]},"32":{"position":[[0,2]]},"34":{"position":[[0,2]]},"43":{"position":[[114,2],[249,2]]},"68":{"position":[[13,2]]},"70":{"position":[[18,2]]},"72":{"position":[[12,2]]},"120":{"position":[[0,2]]},"122":{"position":[[0,2]]},"124":{"position":[[0,2]]},"131":{"position":[[0,2],[64,2]]},"133":{"position":[[0,2]]},"135":{"position":[[0,2]]},"162":{"position":[[170,2]]},"164":{"position":[[170,2]]},"167":{"position":[[8,2]]},"169":{"position":[[0,2]]},"173":{"position":[[7,2],[43,2]]},"193":{"position":[[148,2]]},"243":{"position":[[50,2]]},"299":{"position":[[511,2]]},"317":{"position":[[172,2]]},"321":{"position":[[15,2],[108,2],[160,2]]},"323":{"position":[[56,2],[59,2],[112,2],[166,2],[196,2],[400,2]]},"359":{"position":[[7,2]]},"363":{"position":[[118,2]]},"368":{"position":[[12,2]]},"370":{"position":[[16,2]]},"400":{"position":[[28,2],[104,2],[112,2],[133,2]]},"402":{"position":[[30,2],[110,2],[118,2],[139,2]]},"408":{"position":[[46,2]]},"410":{"position":[[42,2]]},"435":{"position":[[678,2]]},"472":{"position":[[7,2]]},"477":{"position":[[0,2]]},"479":{"position":[[15,2]]},"481":{"position":[[0,2]]},"483":{"position":[[0,2]]},"485":{"position":[[15,2]]},"487":{"position":[[0,2]]},"489":{"position":[[15,2]]},"491":{"position":[[15,2]]},"493":{"position":[[0,2]]},"495":{"position":[[15,2]]},"497":{"position":[[0,2]]},"499":{"position":[[0,2]]},"501":{"position":[[0,2]]},"503":{"position":[[0,2]]},"505":{"position":[[0,2]]},"507":{"position":[[0,2]]},"509":{"position":[[15,2]]},"511":{"position":[[15,2]]},"513":{"position":[[15,2]]},"515":{"position":[[15,2]]},"517":{"position":[[0,2]]},"521":{"position":[[0,2]]},"523":{"position":[[0,2]]},"525":{"position":[[0,2],[37,2]]},"527":{"position":[[0,2]]},"529":{"position":[[15,2]]},"531":{"position":[[0,2]]},"533":{"position":[[0,2]]},"535":{"position":[[78,2]]},"537":{"position":[[0,2]]},"547":{"position":[[26,2],[65,2],[105,2],[195,2]]},"562":{"position":[[30,2],[48,2],[91,2]]},"701":{"position":[[16,2]]},"795":{"position":[[40,2]]},"805":{"position":[[911,2]]},"807":{"position":[[576,2],[586,2]]},"809":{"position":[[187,2]]},"819":{"position":[[653,2]]}}}],["类型定义",{"_index":1747,"t":{"400":{"position":[[15,4]]},"402":{"position":[[17,4]]}}}],["精简",{"_index":2006,"t":{"537":{"position":[[164,2],[282,2]]},"730":{"position":[[57,2]]}}}],["糖",{"_index":983,"t":{"185":{"position":[[163,1]]}}}],["系",{"_index":2357,"t":{"745":{"position":[[97,1]]}}}],["系统",{"_index":878,"t":{"151":{"position":[[18,2]]},"793":{"position":[[28,2]]}}}],["索引",{"_index":1014,"t":{"193":{"position":[[144,2]]}}}],["紧凑",{"_index":328,"t":{"32":{"position":[[25,2]]}}}],["紧密",{"_index":848,"t":{"139":{"position":[[157,2]]}}}],["繁冗",{"_index":123,"t":{"7":{"position":[[57,2]]}}}],["繁琐",{"_index":1457,"t":{"299":{"position":[[35,2]]}}}],["约定",{"_index":419,"t":{"47":{"position":[[52,2],[103,2]]},"226":{"position":[[2,2]]},"230":{"position":[[19,2],[51,2]]},"232":{"position":[[8,2]]},"278":{"position":[[0,2]]},"280":{"position":[[0,2]]},"286":{"position":[[0,2]]},"288":{"position":[[0,2]]},"295":{"position":[[2,2]]},"363":{"position":[[320,2],[481,2]]},"427":{"position":[[17,2]]},"441":{"position":[[27,2]]},"463":{"position":[[19,2]]},"515":{"position":[[356,2],[901,2]]},"539":{"position":[[65,2]]},"595":{"position":[[10,2]]},"600":{"position":[[10,2]]},"604":{"position":[[58,2]]},"631":{"position":[[2,2]]},"651":{"position":[[250,2]]},"683":{"position":[[92,2],[120,2]]},"753":{"position":[[19,2],[37,2]]},"756":{"position":[[73,2]]}}}],["级",{"_index":288,"t":{"23":{"position":[[198,1]]},"126":{"position":[[202,1]]},"226":{"position":[[153,1]]},"293":{"position":[[5,1]]},"390":{"position":[[4,1]]},"427":{"position":[[1236,1],[1269,1]]},"435":{"position":[[60,1]]},"437":{"position":[[5,1],[287,1]]},"602":{"position":[[146,1]]},"604":{"position":[[363,1],[403,1],[422,1]]},"651":{"position":[[4,1],[8,1]]},"689":{"position":[[62,1]]},"695":{"position":[[2,1]]},"697":{"position":[[2,1]]}}}],["级别",{"_index":1979,"t":{"521":{"position":[[220,2],[359,2]]}}}],["纯",{"_index":1092,"t":{"210":{"position":[[414,1]]},"278":{"position":[[243,1]]},"295":{"position":[[389,1]]}}}],["组件",{"_index":78,"t":{"4":{"position":[[251,2],[281,2],[296,2]]},"17":{"position":[[18,2],[43,2]]},"23":{"position":[[22,2],[33,2],[191,2]]},"28":{"position":[[30,2]]},"39":{"position":[[19,2],[77,2]]},"43":{"position":[[161,2]]},"49":{"position":[[19,2]]},"51":{"position":[[10,2],[50,2]]},"57":{"position":[[21,2]]},"59":{"position":[[12,2]]},"63":{"position":[[0,2]]},"107":{"position":[[11,2]]},"109":{"position":[[28,2],[31,2]]},"111":{"position":[[29,2]]},"126":{"position":[[24,2],[37,2],[195,2]]},"131":{"position":[[39,2],[58,2]]},"133":{"position":[[28,2]]},"139":{"position":[[201,2],[220,2]]},"141":{"position":[[113,2]]},"162":{"position":[[709,2]]},"169":{"position":[[22,2]]},"177":{"position":[[46,2],[60,2]]},"179":{"position":[[30,2],[47,2],[83,2],[146,2],[159,2]]},"181":{"position":[[6,2],[48,2],[61,2]]},"199":{"position":[[3,2]]},"205":{"position":[[56,2]]},"210":{"position":[[422,2]]},"261":{"position":[[0,2],[499,2],[619,2]]},"268":{"position":[[30,2]]},"270":{"position":[[597,2],[719,2]]},"276":{"position":[[7,2]]},"284":{"position":[[15,2]]},"327":{"position":[[59,2]]},"329":{"position":[[21,2],[28,2]]},"335":{"position":[[262,2]]},"351":{"position":[[163,2]]},"370":{"position":[[9,2]]},"378":{"position":[[25,2],[84,2]]},"382":{"position":[[197,2]]},"384":{"position":[[12,2],[24,2]]},"386":{"position":[[14,2]]},"388":{"position":[[81,2]]},"392":{"position":[[11,2],[30,2],[67,2],[91,2],[111,2],[118,2],[179,2],[238,2],[442,2]]},"394":{"position":[[11,2],[21,2]]},"396":{"position":[[14,2],[32,2],[51,2]]},"398":{"position":[[11,2],[62,2]]},"402":{"position":[[105,2]]},"404":{"position":[[11,2],[47,2]]},"427":{"position":[[56,2],[200,2],[713,2],[1344,2]]},"429":{"position":[[159,2],[255,2],[749,2],[760,2]]},"435":{"position":[[4,2],[15,2],[136,2],[670,2]]},"437":{"position":[[261,2]]},"439":{"position":[[52,2],[75,2]]},"441":{"position":[[186,2],[208,2],[272,2]]},"463":{"position":[[4,2]]},"465":{"position":[[5,2],[91,2],[99,2]]},"515":{"position":[[560,2],[759,2]]},"521":{"position":[[222,2],[361,2]]},"582":{"position":[[384,2],[502,2],[510,2]]},"585":{"position":[[13,2],[31,2]]},"591":{"position":[[17,2],[87,2],[98,2]]},"602":{"position":[[2,2],[138,2]]},"604":{"position":[[34,2],[85,2],[90,2],[280,2],[289,2],[295,2],[301,2],[340,2],[380,2],[396,2],[406,2],[414,2],[425,2]]},"606":{"position":[[10,2],[55,2],[150,2],[232,2],[357,2],[381,2],[548,2],[773,2]]},"610":{"position":[[47,2],[61,2]]},"618":{"position":[[0,2]]},"620":{"position":[[0,2],[17,2],[199,2],[220,2]]},"627":{"position":[[5,2]]},"629":{"position":[[66,2],[76,2],[278,2],[298,2]]},"637":{"position":[[11,2],[562,2]]},"639":{"position":[[373,2]]},"643":{"position":[[72,2],[108,2]]},"651":{"position":[[6,2],[286,2]]},"656":{"position":[[98,2],[159,2]]},"658":{"position":[[16,2],[170,2]]},"667":{"position":[[68,2]]},"679":{"position":[[250,2]]},"683":{"position":[[13,2],[24,2],[34,2],[39,2],[66,2]]},"685":{"position":[[4,2],[9,2]]},"695":{"position":[[335,2]]},"697":{"position":[[230,2]]},"701":{"position":[[19,2]]},"703":{"position":[[7,2],[66,2]]},"714":{"position":[[36,2],[53,2],[96,2]]},"716":{"position":[[50,2]]},"722":{"position":[[11,2],[34,2],[129,2],[234,2]]},"726":{"position":[[133,2]]},"730":{"position":[[84,2]]},"747":{"position":[[68,2]]},"749":{"position":[[289,2],[308,2]]},"751":{"position":[[30,2]]},"756":{"position":[[18,2],[40,2]]},"771":{"position":[[8,2]]},"773":{"position":[[10,2]]},"793":{"position":[[132,2],[145,2]]},"829":{"position":[[5,2],[250,2]]},"831":{"position":[[110,2]]},"833":{"position":[[4,2]]},"835":{"position":[[4,2]]}}}],["组织",{"_index":127,"t":{"7":{"position":[[94,2]]},"226":{"position":[[26,2]]},"363":{"position":[[343,2]]},"427":{"position":[[225,2]]},"439":{"position":[[28,2]]},"606":{"position":[[304,2]]}}}],["组装",{"_index":2251,"t":{"683":{"position":[[27,2]]}}}],["细粒度",{"_index":466,"t":{"57":{"position":[[27,3]]},"181":{"position":[[57,3]]}}}],["终端",{"_index":693,"t":{"98":{"position":[[8,2]]},"781":{"position":[[1,2]]}}}],["经常",{"_index":392,"t":{"43":{"position":[[88,2]]},"420":{"position":[[171,2]]}}}],["经过",{"_index":1555,"t":{"339":{"position":[[98,2],[149,2]]},"749":{"position":[[298,2]]}}}],["经验",{"_index":2276,"t":{"712":{"position":[[39,2]]}}}],["绑定",{"_index":1029,"t":{"195":{"position":[[51,2]]},"199":{"position":[[15,2]]},"220":{"position":[[90,2]]},"703":{"position":[[409,2]]}}}],["结合",{"_index":26,"t":{"2":{"position":[[85,2]]},"23":{"position":[[143,2]]},"126":{"position":[[147,2]]},"139":{"position":[[153,2]]},"230":{"position":[[0,2]]},"250":{"position":[[288,2]]},"587":{"position":[[74,2]]},"672":{"position":[[83,2]]}}}],["结尾",{"_index":1094,"t":{"212":{"position":[[76,2]]},"560":{"position":[[442,2]]}}}],["结束",{"_index":2418,"t":{"807":{"position":[[424,2],[475,2]]}}}],["结构",{"_index":816,"t":{"117":{"position":[[67,2]]},"169":{"position":[[50,2],[152,2]]},"185":{"position":[[99,2]]},"243":{"position":[[149,2]]},"363":{"position":[[347,2]]},"441":{"position":[[24,2],[32,2]]},"541":{"position":[[56,2]]},"580":{"position":[[42,2]]},"598":{"position":[[10,2]]},"606":{"position":[[576,2]]},"651":{"position":[[304,2]]}}}],["结果",{"_index":1284,"t":{"237":{"position":[[670,2]]},"259":{"position":[[228,2]]},"261":{"position":[[905,2]]},"268":{"position":[[206,2]]},"270":{"position":[[1046,2]]},"481":{"position":[[691,2]]},"521":{"position":[[342,2]]},"637":{"position":[[98,2]]},"807":{"position":[[439,2]]}}}],["给出",{"_index":1545,"t":{"337":{"position":[[56,2]]},"743":{"position":[[116,2]]},"789":{"position":[[74,2],[218,2]]}}}],["绝大部分",{"_index":1065,"t":{"203":{"position":[[161,4]]}}}],["绝对路径",{"_index":2390,"t":{"797":{"position":[[362,4]]}}}],["统一",{"_index":381,"t":{"43":{"position":[[19,2]]},"185":{"position":[[171,2]]},"222":{"position":[[75,2]]},"230":{"position":[[25,2],[57,2]]},"232":{"position":[[14,2]]},"239":{"position":[[17,2],[39,2],[432,2]]},"359":{"position":[[699,2]]},"365":{"position":[[565,2]]},"427":{"position":[[125,2]]},"431":{"position":[[8,2],[62,2],[333,2]]},"521":{"position":[[148,2],[314,2]]},"649":{"position":[[12,2]]},"651":{"position":[[218,2]]},"654":{"position":[[33,2]]},"749":{"position":[[70,2]]},"793":{"position":[[127,2]]},"821":{"position":[[2,2]]}}}],["继续",{"_index":1296,"t":{"237":{"position":[[814,2]]}}}],["维度",{"_index":339,"t":{"37":{"position":[[25,2]]}}}],["维护",{"_index":2055,"t":{"580":{"position":[[29,2]]},"604":{"position":[[38,2]]}}}],["综上所述",{"_index":291,"t":{"23":{"position":[[204,4]]},"126":{"position":[[208,4]]}}}],["缓存",{"_index":929,"t":{"177":{"position":[[54,2]]},"179":{"position":[[41,2],[152,2]]},"181":{"position":[[2,2],[54,2]]},"195":{"position":[[30,2],[42,2]]},"394":{"position":[[15,2]]},"408":{"position":[[419,2]]},"521":{"position":[[184,2],[339,2]]},"805":{"position":[[886,2]]}}}],["编写",{"_index":1363,"t":{"255":{"position":[[32,2]]},"257":{"position":[[636,2]]},"261":{"position":[[617,2]]},"268":{"position":[[33,2]]},"270":{"position":[[717,2]]},"647":{"position":[[31,2]]},"703":{"position":[[40,2]]},"799":{"position":[[225,2]]}}}],["编码",{"_index":1805,"t":{"427":{"position":[[10,2],[43,2]]},"523":{"position":[[100,2]]}}}],["编程",{"_index":1149,"t":{"222":{"position":[[70,2]]}}}],["编译",{"_index":849,"t":{"139":{"position":[[217,2]]},"185":{"position":[[123,2]]},"351":{"position":[[31,2],[75,2],[88,2]]},"361":{"position":[[3189,2]]},"408":{"position":[[79,2]]},"410":{"position":[[75,2]]},"449":{"position":[[11,2]]},"481":{"position":[[174,2],[504,2]]},"501":{"position":[[68,2],[125,2],[142,2],[162,2],[400,2],[433,2],[584,2]]},"505":{"position":[[131,2],[144,2],[156,2],[227,2]]},"507":{"position":[[325,2],[476,2],[518,2]]},"647":{"position":[[56,2]]},"681":{"position":[[146,2],[352,2]]},"743":{"position":[[106,2],[143,2]]},"789":{"position":[[64,2],[101,2],[208,2],[245,2]]},"805":{"position":[[764,2]]}}}],["编译器",{"_index":2141,"t":{"647":{"position":[[307,3]]},"651":{"position":[[659,3]]}}}],["编译成",{"_index":1888,"t":{"481":{"position":[[420,3],[475,3]]}}}],["编辑器",{"_index":2201,"t":{"660":{"position":[[11,3]]}}}],["缩写",{"_index":701,"t":{"98":{"position":[[300,2]]}}}],["缺点",{"_index":2150,"t":{"651":{"position":[[91,2]]},"714":{"position":[[263,2]]}}}],["缺陷",{"_index":1976,"t":{"521":{"position":[[187,2]]}}}],["网",{"_index":513,"t":{"76":{"position":[[7,1]]},"208":{"position":[[42,1]]}}}],["网站",{"_index":487,"t":{"63":{"position":[[32,2]]}}}],["网络",{"_index":371,"t":{"41":{"position":[[39,2]]},"224":{"position":[[0,2]]},"365":{"position":[[632,2]]},"633":{"position":[[119,2]]}}}],["网络资源",{"_index":491,"t":{"63":{"position":[[63,4]]},"769":{"position":[[10,4]]}}}],["美国",{"_index":713,"t":{"98":{"position":[[361,2]]}}}],["群",{"_index":264,"t":{"21":{"position":[[52,1]]}}}],["考虑",{"_index":355,"t":{"39":{"position":[[11,2]]},"501":{"position":[[72,2]]}}}],["者",{"_index":647,"t":{"89":{"position":[[42,1],[58,1]]},"424":{"position":[[31,1],[55,1]]},"743":{"position":[[138,1]]},"789":{"position":[[96,1],[240,1]]},"791":{"position":[[90,1]]}}}],["耦",{"_index":1819,"t":{"427":{"position":[[608,1]]}}}],["耦合",{"_index":234,"t":{"17":{"position":[[12,2]]},"96":{"position":[[109,2]]},"252":{"position":[[33,2]]}}}],["联动",{"_index":1448,"t":{"295":{"position":[[917,2]]}}}],["聚焦",{"_index":1302,"t":{"237":{"position":[[967,2]]}}}],["能",{"_index":207,"t":{"11":{"position":[[104,1]]},"107":{"position":[[161,1]]},"109":{"position":[[160,1]]},"183":{"position":[[24,1]]},"507":{"position":[[515,1]]},"610":{"position":[[49,1]]},"637":{"position":[[204,1]]},"651":{"position":[[37,1]]},"712":{"position":[[253,1]]}}}],["能力",{"_index":20,"t":{"2":{"position":[[66,2],[80,2]]},"4":{"position":[[145,2],[152,2],[174,2]]},"7":{"position":[[17,2],[37,2],[49,2],[114,2],[159,2],[180,2]]},"9":{"position":[[26,2]]},"19":{"position":[[85,2]]},"63":{"position":[[70,2]]},"96":{"position":[[35,2]]},"139":{"position":[[160,2],[247,2],[269,2]]},"177":{"position":[[40,2],[80,2]]},"201":{"position":[[128,2]]},"203":{"position":[[124,2],[175,2]]},"210":{"position":[[74,2],[100,2]]},"224":{"position":[[7,2]]},"235":{"position":[[153,2]]},"246":{"position":[[60,2]]},"309":{"position":[[109,2],[194,2]]},"313":{"position":[[657,2],[671,2],[682,2]]},"321":{"position":[[157,2]]},"325":{"position":[[28,2],[151,2],[155,2]]},"327":{"position":[[91,2]]},"357":{"position":[[105,2],[262,2]]},"359":{"position":[[72,2],[423,2],[681,2]]},"361":{"position":[[1590,2]]},"363":{"position":[[255,2],[276,2],[300,2]]},"483":{"position":[[88,2]]},"509":{"position":[[45,2]]},"511":{"position":[[44,2]]},"519":{"position":[[10,2]]},"521":{"position":[[417,2]]},"539":{"position":[[11,2]]},"580":{"position":[[11,2]]},"633":{"position":[[11,2],[146,2]]},"639":{"position":[[11,2],[94,2]]},"670":{"position":[[13,2]]},"695":{"position":[[71,2]]},"726":{"position":[[181,2]]},"735":{"position":[[24,2],[74,2]]},"749":{"position":[[22,2],[117,2]]},"756":{"position":[[53,2]]},"758":{"position":[[22,2]]},"763":{"position":[[8,2]]},"769":{"position":[[18,2]]},"771":{"position":[[21,2]]},"773":{"position":[[23,2]]},"775":{"position":[[18,2]]},"793":{"position":[[39,2],[57,2],[122,2]]},"797":{"position":[[75,2],[100,2]]},"799":{"position":[[205,2]]},"801":{"position":[[7,2],[30,2]]},"805":{"position":[[372,2],[1061,2]]},"819":{"position":[[463,2],[696,2],[1001,2]]},"823":{"position":[[15,2]]}}}],["能够",{"_index":2209,"t":{"665":{"position":[[69,2]]},"699":{"position":[[59,2]]},"720":{"position":[[25,2]]}}}],["脑",{"_index":843,"t":{"139":{"position":[[101,1]]}}}],["脚本",{"_index":269,"t":{"23":{"position":[[46,2]]},"126":{"position":[[50,2]]},"257":{"position":[[572,2]]},"266":{"position":[[556,2]]},"343":{"position":[[98,2]]},"697":{"position":[[10,2]]}}}],["自动",{"_index":348,"t":{"37":{"position":[[80,2]]},"96":{"position":[[48,2],[92,2]]},"100":{"position":[[291,2]]},"113":{"position":[[2,2],[37,2],[60,2],[483,2]]},"124":{"position":[[25,2]]},"143":{"position":[[67,2]]},"149":{"position":[[20,2]]},"212":{"position":[[368,2]]},"463":{"position":[[26,2]]},"505":{"position":[[94,2],[173,2]]},"519":{"position":[[53,2]]},"521":{"position":[[380,2]]},"539":{"position":[[181,2]]},"560":{"position":[[38,2]]},"598":{"position":[[12,2]]},"783":{"position":[[99,2]]}}}],["自动化",{"_index":860,"t":{"143":{"position":[[26,3]]}}}],["自定义",{"_index":463,"t":{"57":{"position":[[14,3]]},"59":{"position":[[2,3]]},"139":{"position":[[198,3]]},"218":{"position":[[59,3],[138,3],[168,3]]},"241":{"position":[[486,3]]},"257":{"position":[[191,3]]},"266":{"position":[[203,3]]},"333":{"position":[[47,3]]},"359":{"position":[[916,3],[1201,3]]},"431":{"position":[[42,3],[200,3]]},"441":{"position":[[181,3]]},"483":{"position":[[92,3]]},"503":{"position":[[99,3]]},"515":{"position":[[376,3],[874,3],[912,3],[921,3]]},"537":{"position":[[268,3]]},"541":{"position":[[200,3]]},"585":{"position":[[36,3]]},"591":{"position":[[3,3],[105,3],[357,3],[566,3],[778,3]]},"610":{"position":[[90,3]]},"631":{"position":[[36,3]]},"730":{"position":[[30,3]]},"801":{"position":[[27,3]]},"805":{"position":[[40,3],[1122,3]]},"809":{"position":[[26,3]]},"811":{"position":[[8,3]]},"815":{"position":[[2,3]]},"819":{"position":[[934,3]]},"831":{"position":[[0,3]]}}}],["自己",{"_index":113,"t":{"4":{"position":[[457,2]]},"681":{"position":[[9,2]]}}}],["自由选择",{"_index":1361,"t":{"252":{"position":[[48,4]]}}}],["自行",{"_index":2293,"t":{"714":{"position":[[272,2]]}}}],["自身",{"_index":1453,"t":{"297":{"position":[[291,2],[619,2]]},"695":{"position":[[43,2]]},"714":{"position":[[74,2]]}}}],["至于",{"_index":2297,"t":{"714":{"position":[[434,2]]}}}],["良好",{"_index":1511,"t":{"317":{"position":[[169,2]]},"363":{"position":[[116,2]]},"441":{"position":[[17,2]]},"472":{"position":[[4,2]]},"513":{"position":[[886,2]]},"795":{"position":[[37,2]]}}}],["节流",{"_index":1310,"t":{"237":{"position":[[1110,2],[1130,2]]}}}],["节点",{"_index":1005,"t":{"191":{"position":[[176,2],[181,2]]},"193":{"position":[[182,2]]},"195":{"position":[[53,2]]},"218":{"position":[[96,2]]},"220":{"position":[[42,2],[146,2]]},"321":{"position":[[9,2]]},"388":{"position":[[228,2]]},"582":{"position":[[497,2]]}}}],["花",{"_index":963,"t":{"185":{"position":[[16,1]]}}}],["英文",{"_index":712,"t":{"98":{"position":[[358,2]]}}}],["范式",{"_index":87,"t":{"4":{"position":[[291,2]]}}}],["获取",{"_index":412,"t":{"47":{"position":[[18,2],[90,2]]},"51":{"position":[[53,2]]},"103":{"position":[[18,2]]},"105":{"position":[[21,2]]},"167":{"position":[[35,2]]},"218":{"position":[[127,2]]},"237":{"position":[[868,2],[898,2]]},"301":{"position":[[30,2]]},"359":{"position":[[2,2]]},"368":{"position":[[5,2]]},"370":{"position":[[5,2]]},"372":{"position":[[14,2]]},"376":{"position":[[353,2]]},"384":{"position":[[31,2]]},"390":{"position":[[0,2]]},"400":{"position":[[22,2]]},"402":{"position":[[24,2]]},"435":{"position":[[139,2]]},"437":{"position":[[283,2]]},"439":{"position":[[629,2]]},"472":{"position":[[2,2]]},"589":{"position":[[259,2]]},"593":{"position":[[0,2]]},"623":{"position":[[15,2]]},"625":{"position":[[19,2]]},"627":{"position":[[20,2]]},"643":{"position":[[20,2],[123,2]]},"724":{"position":[[23,2],[147,2]]},"760":{"position":[[44,2]]},"803":{"position":[[227,2]]},"805":{"position":[[15,2]]},"807":{"position":[[338,2],[432,2],[534,2],[568,2]]},"817":{"position":[[0,2]]},"833":{"position":[[0,2]]},"835":{"position":[[0,2]]}}}],["获取数据",{"_index":1419,"t":{"282":{"position":[[201,4]]}}}],["获得",{"_index":680,"t":{"96":{"position":[[77,2]]},"317":{"position":[[167,2]]},"363":{"position":[[114,2]]},"427":{"position":[[170,2]]},"606":{"position":[[308,2]]},"795":{"position":[[35,2]]}}}],["营销",{"_index":2103,"t":{"606":{"position":[[332,2]]}}}],["虽然",{"_index":961,"t":{"185":{"position":[[4,2]]}}}],["行为",{"_index":418,"t":{"47":{"position":[[49,2]]},"164":{"position":[[236,2]]},"220":{"position":[[167,2]]},"335":{"position":[[252,2],[265,2]]},"408":{"position":[[329,2]]},"591":{"position":[[22,2],[42,2],[101,2]]},"793":{"position":[[98,2]]}}}],["行会",{"_index":2351,"t":{"743":{"position":[[114,2]]},"789":{"position":[[72,2],[216,2]]}}}],["行内",{"_index":2284,"t":{"714":{"position":[[8,2],[23,2],[165,2],[292,2],[442,2]]}}}],["补充",{"_index":2307,"t":{"722":{"position":[[95,2]]}}}],["补齐",{"_index":1103,"t":{"212":{"position":[[370,2]]}}}],["表单",{"_index":2304,"t":{"722":{"position":[[32,2]]}}}],["表现",{"_index":1991,"t":{"527":{"position":[[108,2]]},"714":{"position":[[289,2]]}}}],["表示",{"_index":1013,"t":{"193":{"position":[[140,2]]}}}],["表达",{"_index":984,"t":{"185":{"position":[[165,2]]}}}],["表达式",{"_index":970,"t":{"185":{"position":[[75,3]]},"481":{"position":[[194,3]]},"515":{"position":[[152,3]]}}}],["装饰",{"_index":1480,"t":{"305":{"position":[[360,2]]}}}],["要",{"_index":448,"t":{"51":{"position":[[13,1]]},"115":{"position":[[566,1]]},"237":{"position":[[163,1]]},"259":{"position":[[4,1]]},"261":{"position":[[486,1]]},"392":{"position":[[120,1]]},"481":{"position":[[606,1]]},"641":{"position":[[131,1]]},"726":{"position":[[130,1]]}}}],["要求",{"_index":216,"t":{"15":{"position":[[63,2]]},"23":{"position":[[227,2]]},"126":{"position":[[231,2]]},"137":{"position":[[594,2]]},"505":{"position":[[329,2]]}}}],["覆盖",{"_index":518,"t":{"78":{"position":[[18,2]]},"237":{"position":[[441,2]]},"313":{"position":[[71,2]]},"560":{"position":[[134,2],[170,2]]},"651":{"position":[[113,2]]},"656":{"position":[[20,2],[90,2],[144,2]]},"658":{"position":[[5,2],[28,2]]},"672":{"position":[[13,2]]}}}],["见",{"_index":411,"t":{"43":{"position":[[262,1]]}}}],["规则",{"_index":1543,"t":{"337":{"position":[[16,2],[51,2]]},"345":{"position":[[4,2]]},"347":{"position":[[3,2]]},"359":{"position":[[1561,2],[1591,2]]},"361":{"position":[[2401,2]]},"363":{"position":[[317,2],[339,2],[484,2]]},"374":{"position":[[82,2]]},"463":{"position":[[36,2]]},"477":{"position":[[79,2]]},"513":{"position":[[655,2]]},"515":{"position":[[769,2]]},"537":{"position":[[67,2],[273,2]]},"612":{"position":[[45,2]]},"627":{"position":[[69,2]]},"651":{"position":[[240,2]]},"703":{"position":[[441,2]]},"760":{"position":[[86,2]]}}}],["规定",{"_index":2177,"t":{"654":{"position":[[118,2]]},"728":{"position":[[74,2]]}}}],["规范",{"_index":48,"t":{"4":{"position":[[80,2],[85,2],[453,2]]},"13":{"position":[[28,2]]},"185":{"position":[[188,2]]},"189":{"position":[[9,2]]},"359":{"position":[[1753,2]]},"427":{"position":[[12,2]]},"651":{"position":[[238,2]]},"683":{"position":[[44,2]]},"722":{"position":[[15,2]]}}}],["视图",{"_index":572,"t":{"85":{"position":[[129,2],[630,2]]},"228":{"position":[[61,2]]},"230":{"position":[[83,2],[477,2]]},"232":{"position":[[42,2]]}}}],["角色",{"_index":449,"t":{"51":{"position":[[16,2]]},"55":{"position":[[218,2]]}}}],["解",{"_index":1818,"t":{"427":{"position":[[607,1]]}}}],["解决",{"_index":670,"t":{"94":{"position":[[97,2]]},"185":{"position":[[56,2]]},"651":{"position":[[41,2]]}}}],["解决办法",{"_index":2331,"t":{"728":{"position":[[81,4]]}}}],["解决方案",{"_index":7,"t":{"2":{"position":[[24,4]]},"9":{"position":[[189,4]]},"151":{"position":[[26,4],[81,4]]},"272":{"position":[[43,4]]}}}],["解析",{"_index":1407,"t":{"270":{"position":[[562,2]]},"427":{"position":[[79,2],[144,2],[1048,2]]},"435":{"position":[[656,2]]},"541":{"position":[[187,2]]},"585":{"position":[[173,2]]},"610":{"position":[[26,2]]},"629":{"position":[[71,2],[293,2]]},"639":{"position":[[399,2]]}}}],["触发",{"_index":1023,"t":{"195":{"position":[[8,2]]},"230":{"position":[[111,2]]},"232":{"position":[[72,2],[346,2]]},"237":{"position":[[166,2],[295,2],[591,2],[631,2],[1228,2]]},"282":{"position":[[187,2]]},"335":{"position":[[240,2]]},"606":{"position":[[433,2]]}}}],["警告",{"_index":302,"t":{"23":{"position":[[331,2]]},"139":{"position":[[120,2]]},"179":{"position":[[53,2]]},"191":{"position":[[119,2]]},"218":{"position":[[85,2]]},"284":{"position":[[0,2]]},"293":{"position":[[0,2]]},"297":{"position":[[0,2]]},"335":{"position":[[215,2]]},"351":{"position":[[357,2]]},"372":{"position":[[126,2]]},"374":{"position":[[0,2]]},"376":{"position":[[0,2]]},"378":{"position":[[0,2]]},"380":{"position":[[0,2]]},"388":{"position":[[0,2],[85,2]]},"392":{"position":[[0,2]]},"394":{"position":[[0,2]]},"398":{"position":[[0,2]]},"400":{"position":[[70,2]]},"402":{"position":[[74,2]]},"404":{"position":[[0,2]]},"479":{"position":[[0,2]]},"485":{"position":[[0,2]]},"489":{"position":[[0,2]]},"491":{"position":[[0,2]]},"495":{"position":[[0,2]]},"501":{"position":[[380,2]]},"509":{"position":[[0,2]]},"511":{"position":[[0,2]]},"513":{"position":[[0,2]]},"515":{"position":[[0,2],[751,2]]},"519":{"position":[[0,2]]},"529":{"position":[[0,2]]},"585":{"position":[[131,2]]},"604":{"position":[[0,2]]},"608":{"position":[[0,2]]},"679":{"position":[[285,2]]},"758":{"position":[[139,2]]}}}],["计划",{"_index":2359,"t":{"745":{"position":[[150,2]]}}}],["计算",{"_index":972,"t":{"185":{"position":[[88,2]]},"295":{"position":[[376,2]]},"515":{"position":[[1086,2]]},"547":{"position":[[263,2]]}}}],["讨论",{"_index":281,"t":{"23":{"position":[[147,2]]},"126":{"position":[[151,2]]}}}],["讲述",{"_index":1765,"t":{"416":{"position":[[2,2]]}}}],["许可证",{"_index":1863,"t":{"443":{"position":[[32,3]]}}}],["设备",{"_index":219,"t":{"15":{"position":[[77,2]]},"633":{"position":[[114,2]]}}}],["设置",{"_index":689,"t":{"96":{"position":[[187,2]]},"107":{"position":[[171,2]]},"109":{"position":[[170,2]]},"115":{"position":[[12,2]]},"124":{"position":[[45,2]]},"162":{"position":[[166,2]]},"164":{"position":[[166,2]]},"222":{"position":[[88,2]]},"237":{"position":[[449,2],[710,2],[1076,2],[1122,2]]},"239":{"position":[[226,2]]},"293":{"position":[[13,2],[468,2]]},"323":{"position":[[108,2],[129,2],[168,2]]},"337":{"position":[[29,2]]},"469":{"position":[[42,2]]},"481":{"position":[[512,2]]},"489":{"position":[[74,2],[86,2]]},"491":{"position":[[48,2]]},"501":{"position":[[451,2],[597,2]]},"505":{"position":[[75,2]]},"513":{"position":[[263,2]]},"517":{"position":[[86,2]]},"519":{"position":[[104,2]]},"521":{"position":[[100,2],[422,2]]},"531":{"position":[[36,2]]},"560":{"position":[[29,2]]},"562":{"position":[[63,2]]},"564":{"position":[[8,2]]},"566":{"position":[[37,2]]},"651":{"position":[[76,2]]},"691":{"position":[[24,2]]},"693":{"position":[[29,2]]},"728":{"position":[[8,2],[50,2],[103,2]]},"809":{"position":[[278,2]]},"811":{"position":[[220,2]]}}}],["访问",{"_index":399,"t":{"43":{"position":[[126,2]]},"49":{"position":[[255,2],[455,2]]},"63":{"position":[[39,2]]},"78":{"position":[[74,2]]},"80":{"position":[[96,2]]},"94":{"position":[[46,2]]},"100":{"position":[[385,2]]},"107":{"position":[[148,2]]},"109":{"position":[[147,2]]},"113":{"position":[[14,2]]},"220":{"position":[[137,2]]},"248":{"position":[[1,2],[69,2]]},"250":{"position":[[48,2]]},"351":{"position":[[486,2]]},"376":{"position":[[197,2]]},"392":{"position":[[121,2]]},"515":{"position":[[517,2]]},"543":{"position":[[154,2]]},"564":{"position":[[73,2]]},"566":{"position":[[16,2],[31,2],[94,2]]},"606":{"position":[[505,2],[747,2]]},"610":{"position":[[38,2]]},"631":{"position":[[178,2]]},"643":{"position":[[36,2]]},"783":{"position":[[109,2]]}}}],["访问控制",{"_index":1347,"t":{"248":{"position":[[84,4]]}}}],["识别",{"_index":765,"t":{"113":{"position":[[317,2]]},"541":{"position":[[154,2]]}}}],["诉求",{"_index":830,"t":{"137":{"position":[[283,2]]},"359":{"position":[[1807,2]]},"672":{"position":[[77,2]]},"793":{"position":[[62,2]]}}}],["详细",{"_index":1624,"t":{"359":{"position":[[552,2]]},"394":{"position":[[27,2]]},"825":{"position":[[47,2]]}}}],["详见",{"_index":560,"t":{"82":{"position":[[187,2]]},"124":{"position":[[85,2]]},"171":{"position":[[134,2]]},"210":{"position":[[451,2]]},"237":{"position":[[1684,2]]},"445":{"position":[[10,2]]},"447":{"position":[[7,2]]},"451":{"position":[[24,2]]},"457":{"position":[[42,2]]},"459":{"position":[[49,2]]},"461":{"position":[[19,2]]},"463":{"position":[[39,2]]},"602":{"position":[[157,2]]},"670":{"position":[[161,2]]},"687":{"position":[[0,2]]},"705":{"position":[[0,2]]},"741":{"position":[[717,2],[961,2]]},"779":{"position":[[36,2]]}}}],["详解",{"_index":1349,"t":{"248":{"position":[[107,2]]},"651":{"position":[[945,2]]}}}],["语义",{"_index":1264,"t":{"237":{"position":[[194,2]]}}}],["语句",{"_index":1965,"t":{"515":{"position":[[779,2]]}}}],["语法",{"_index":195,"t":{"11":{"position":[[62,2]]},"183":{"position":[[15,2]]},"185":{"position":[[6,2],[25,2],[161,2],[186,2]]},"187":{"position":[[225,2]]},"191":{"position":[[0,2]]},"193":{"position":[[0,2]]},"195":{"position":[[70,2]]},"197":{"position":[[37,2]]},"201":{"position":[[0,2]]},"270":{"position":[[569,2]]},"305":{"position":[[363,2]]},"361":{"position":[[2859,2]]},"459":{"position":[[15,2]]},"505":{"position":[[92,2],[279,2],[356,2]]},"523":{"position":[[88,2],[186,2]]},"551":{"position":[[247,2]]},"587":{"position":[[24,2]]},"703":{"position":[[38,2]]}}}],["语言",{"_index":684,"t":{"96":{"position":[[100,2]]},"98":{"position":[[297,2],[316,2]]},"100":{"position":[[23,2],[37,2],[317,2],[322,2],[332,2],[358,2],[382,2],[398,2]]},"103":{"position":[[29,2]]},"105":{"position":[[30,2]]},"107":{"position":[[61,2],[82,2],[140,2],[176,2],[185,2],[363,2]]},"109":{"position":[[81,2],[139,2],[175,2],[184,2],[328,2]]},"111":{"position":[[52,2]]},"113":{"position":[[33,2],[312,2]]},"115":{"position":[[17,2],[147,2],[542,2],[571,2]]},"117":{"position":[[45,2]]},"120":{"position":[[22,2]]},"122":{"position":[[18,2]]},"124":{"position":[[35,2]]},"276":{"position":[[32,2]]}}}],["说明",{"_index":214,"t":{"15":{"position":[[45,2]]},"23":{"position":[[42,2]]},"82":{"position":[[198,2]]},"126":{"position":[[46,2]]},"193":{"position":[[123,2]]},"408":{"position":[[49,2]]},"410":{"position":[[45,2]]},"527":{"position":[[36,2]]},"781":{"position":[[131,2]]}}}],["请",{"_index":410,"t":{"43":{"position":[[261,1]]},"167":{"position":[[55,1]]},"201":{"position":[[144,1]]},"235":{"position":[[105,1],[1763,1]]},"248":{"position":[[74,1]]},"295":{"position":[[403,1]]},"313":{"position":[[685,1]]},"335":{"position":[[218,1]]},"363":{"position":[[279,1]]},"427":{"position":[[1326,1]]},"474":{"position":[[49,1]]},"501":{"position":[[403,1]]},"551":{"position":[[249,1]]},"651":{"position":[[911,1]]},"663":{"position":[[240,1]]},"735":{"position":[[95,1]]}}}],["请求",{"_index":53,"t":{"4":{"position":[[100,2]]},"41":{"position":[[41,2]]},"43":{"position":[[265,2]]},"47":{"position":[[290,2]]},"107":{"position":[[159,2]]},"109":{"position":[[158,2]]},"222":{"position":[[53,2],[80,2]]},"224":{"position":[[2,2]]},"226":{"position":[[19,2],[70,2],[156,2],[291,2]]},"230":{"position":[[23,2],[55,2],[115,2]]},"232":{"position":[[12,2],[76,2],[350,2]]},"235":{"position":[[148,2]]},"237":{"position":[[22,2],[213,2],[244,2],[276,2],[297,2],[331,2],[354,2],[395,2],[438,2],[444,2],[469,2],[487,2],[546,2],[586,2],[626,2],[668,2],[690,2],[872,2],[915,2],[935,2],[979,2],[1014,2],[1080,2],[1126,2],[1180,2],[1230,2],[1306,2]]},"239":{"position":[[11,2],[27,2],[51,2],[407,2],[581,2],[664,2],[719,2]]},"241":{"position":[[21,2],[28,2],[397,2],[499,2]]},"248":{"position":[[8,2]]},"250":{"position":[[70,2],[80,2]]},"293":{"position":[[621,2]]},"365":{"position":[[289,2],[297,2],[568,2],[634,2]]},"384":{"position":[[46,2]]},"427":{"position":[[51,2],[114,2],[220,2],[232,2],[249,2],[598,2],[632,2],[865,2],[1018,2],[1059,2],[1076,2],[1090,2],[1109,2],[1337,2],[1364,2]]},"429":{"position":[[13,2],[779,2],[820,2]]},"435":{"position":[[45,2],[63,2],[96,2],[574,2]]},"439":{"position":[[14,2],[43,2],[66,2],[112,2],[614,2],[665,2]]},"451":{"position":[[17,2]]},"545":{"position":[[50,2],[90,2],[104,2]]},"549":{"position":[[82,2]]},"553":{"position":[[16,2]]},"606":{"position":[[158,2]]},"637":{"position":[[174,2],[312,2],[526,2],[711,2],[840,2]]},"643":{"position":[[62,2],[389,2],[635,2]]},"683":{"position":[[99,2]]},"749":{"position":[[66,2]]}}}],["读取",{"_index":1717,"t":{"376":{"position":[[123,2]]}}}],["调用",{"_index":406,"t":{"43":{"position":[[188,2]]},"107":{"position":[[93,2]]},"109":{"position":[[92,2]]},"115":{"position":[[45,2]]},"226":{"position":[[276,2]]},"228":{"position":[[24,2],[64,2]]},"230":{"position":[[71,2],[88,2],[123,2],[480,2],[587,2],[683,2]]},"232":{"position":[[61,2],[239,2]]},"241":{"position":[[403,2],[505,2]]},"295":{"position":[[304,2],[912,2],[1161,2]]},"297":{"position":[[289,2],[544,2],[617,2]]},"372":{"position":[[204,2]]},"376":{"position":[[71,2]]},"637":{"position":[[74,2],[135,2]]},"670":{"position":[[53,2]]},"724":{"position":[[10,2]]},"726":{"position":[[32,2],[131,2]]},"758":{"position":[[217,2]]}}}],["调试",{"_index":17,"t":{"2":{"position":[[61,2]]},"4":{"position":[[428,2]]},"72":{"position":[[2,2]]},"307":{"position":[[52,2]]},"408":{"position":[[17,2]]},"422":{"position":[[18,2],[26,2]]},"424":{"position":[[7,2]]},"539":{"position":[[177,2]]},"543":{"position":[[127,2]]},"739":{"position":[[96,2]]},"743":{"position":[[27,2],[151,2]]},"783":{"position":[[73,2],[81,2]]},"789":{"position":[[5,2],[29,2],[109,2],[253,2]]},"805":{"position":[[498,2],[868,2]]}}}],["负责",{"_index":1667,"t":{"361":{"position":[[24,2]]}}}],["账户",{"_index":553,"t":{"82":{"position":[[150,2]]}}}],["贴合",{"_index":43,"t":{"4":{"position":[[68,2]]}}}],["资源",{"_index":508,"t":{"74":{"position":[[62,2]]},"78":{"position":[[83,2]]},"80":{"position":[[12,2]]},"92":{"position":[[18,2],[48,2]]},"337":{"position":[[11,2],[31,2],[70,2]]},"339":{"position":[[9,2],[18,2],[90,2],[112,2],[198,2],[283,2]]},"343":{"position":[[70,2]]},"345":{"position":[[29,2]]},"347":{"position":[[8,2],[19,2],[28,2],[162,2]]},"349":{"position":[[13,2],[76,2]]},"351":{"position":[[18,2],[34,2],[82,2],[324,2],[371,2],[414,2]]},"410":{"position":[[13,2]]},"441":{"position":[[108,2]]},"453":{"position":[[6,2]]},"489":{"position":[[53,2]]},"582":{"position":[[443,2],[478,2]]},"585":{"position":[[157,2]]},"593":{"position":[[17,2]]},"606":{"position":[[153,2],[173,2]]},"697":{"position":[[12,2]]},"749":{"position":[[249,2]]},"793":{"position":[[112,2]]},"805":{"position":[[463,2],[597,2],[984,2]]}}}],["资源共享",{"_index":1348,"t":{"248":{"position":[[97,4]]}}}],["资讯",{"_index":2444,"t":{"825":{"position":[[78,2]]}}}],["走",{"_index":1634,"t":{"359":{"position":[[701,1],[921,1]]}}}],["越来越",{"_index":2157,"t":{"651":{"position":[[198,3]]}}}],["足够",{"_index":1825,"t":{"427":{"position":[[1204,2]]}}}],["跨",{"_index":138,"t":{"7":{"position":[[189,1]]},"248":{"position":[[39,1],[67,1],[95,1]]},"284":{"position":[[23,1]]},"589":{"position":[[262,1]]},"672":{"position":[[75,1]]}}}],["路径",{"_index":501,"t":{"70":{"position":[[15,2]]},"92":{"position":[[53,2]]},"374":{"position":[[114,2]]},"378":{"position":[[90,2]]},"408":{"position":[[157,2]]},"410":{"position":[[153,2]]},"467":{"position":[[42,2]]},"477":{"position":[[236,2]]},"513":{"position":[[625,2]]},"515":{"position":[[169,2],[1088,2]]},"600":{"position":[[270,2]]},"627":{"position":[[88,2]]},"753":{"position":[[297,2]]},"758":{"position":[[315,2]]},"799":{"position":[[828,2]]}}}],["路径名",{"_index":1850,"t":{"435":{"position":[[617,3]]}}}],["路由",{"_index":16,"t":{"2":{"position":[[58,2]]},"4":{"position":[[88,2]]},"7":{"position":[[89,2]]},"37":{"position":[[23,2],[34,2]]},"85":{"position":[[1146,2]]},"87":{"position":[[704,2]]},"94":{"position":[[13,2],[63,2]]},"96":{"position":[[58,2],[229,2]]},"100":{"position":[[3,2],[10,2],[31,2],[298,2],[327,2],[390,2]]},"113":{"position":[[0,2],[21,2],[48,2],[58,2],[481,2]]},"115":{"position":[[77,2],[83,2]]},"141":{"position":[[125,2]]},"171":{"position":[[59,2]]},"179":{"position":[[36,2],[157,2]]},"181":{"position":[[4,2]]},"286":{"position":[[5,2]]},"288":{"position":[[5,2]]},"323":{"position":[[45,2],[54,2],[110,2],[164,2],[192,2],[388,2]]},"363":{"position":[[285,2],[315,2],[323,2],[330,2],[352,2],[541,2],[605,2]]},"370":{"position":[[7,2]]},"372":{"position":[[16,2]]},"374":{"position":[[33,2],[80,2]]},"384":{"position":[[10,2],[22,2]]},"386":{"position":[[12,2]]},"394":{"position":[[19,2]]},"398":{"position":[[29,2],[35,2]]},"402":{"position":[[26,2],[103,2]]},"435":{"position":[[2,2]]},"439":{"position":[[25,2],[50,2],[73,2]]},"441":{"position":[[204,2]]},"457":{"position":[[25,2]]},"463":{"position":[[2,2],[22,2],[34,2],[41,2]]},"465":{"position":[[97,2]]},"515":{"position":[[139,2],[359,2],[379,2],[515,2],[544,2],[636,2],[665,2],[757,2],[767,2],[904,2],[930,2],[954,2]]},"521":{"position":[[218,2],[357,2]]},"572":{"position":[[10,2]]},"589":{"position":[[28,2]]},"595":{"position":[[13,2],[22,2]]},"598":{"position":[[19,2],[65,2]]},"600":{"position":[[13,2],[127,2]]},"602":{"position":[[0,2],[136,2]]},"604":{"position":[[88,2],[338,2],[378,2]]},"606":{"position":[[21,2],[118,2],[181,2],[230,2],[269,2],[298,2],[379,2],[514,2],[561,2],[743,2],[771,2]]},"608":{"position":[[26,2]]},"610":{"position":[[31,2],[41,2],[59,2]]},"612":{"position":[[35,2],[40,2],[53,2],[58,2],[135,2],[149,2],[175,2],[180,2]]},"614":{"position":[[15,2]]},"616":{"position":[[18,2]]},"618":{"position":[[27,2]]},"620":{"position":[[21,2]]},"627":{"position":[[3,2],[24,2],[67,2]]},"629":{"position":[[55,2],[74,2],[296,2]]},"631":{"position":[[5,2],[176,2]]},"637":{"position":[[9,2],[111,2],[560,2]]},"643":{"position":[[70,2]]},"663":{"position":[[238,2],[264,2]]},"683":{"position":[[11,2],[32,2]]},"685":{"position":[[2,2]]},"741":{"position":[[723,2]]},"751":{"position":[[4,2],[16,2],[35,2],[48,2]]},"753":{"position":[[3,2],[22,2],[40,2],[154,2]]},"756":{"position":[[47,2],[76,2]]},"758":{"position":[[35,2],[227,2]]},"760":{"position":[[84,2]]},"793":{"position":[[130,2]]},"825":{"position":[[96,2]]},"829":{"position":[[3,2],[385,2]]}}}],["跳",{"_index":2244,"t":{"679":{"position":[[120,1]]},"739":{"position":[[94,1]]}}}],["跳转",{"_index":402,"t":{"43":{"position":[[138,2],[198,2]]},"113":{"position":[[39,2]]},"115":{"position":[[85,2]]},"372":{"position":[[23,2]]},"378":{"position":[[50,2],[76,2],[92,2]]},"396":{"position":[[61,2]]},"606":{"position":[[184,2],[205,2]]},"614":{"position":[[18,2]]},"616":{"position":[[20,2]]},"618":{"position":[[29,2]]},"620":{"position":[[23,2]]},"637":{"position":[[113,2]]},"756":{"position":[[51,2]]},"758":{"position":[[37,2]]}}}],["转",{"_index":2113,"t":{"612":{"position":[[140,1]]}}}],["转义字符",{"_index":2114,"t":{"612":{"position":[[166,4]]}}}],["转化",{"_index":1684,"t":{"361":{"position":[[2861,2],[2895,2]]},"507":{"position":[[115,2]]},"805":{"position":[[680,2],[692,2]]}}}],["转化成",{"_index":1105,"t":{"212":{"position":[[382,3],[408,3]]}}}],["转换",{"_index":1683,"t":{"361":{"position":[[2852,2]]},"654":{"position":[[75,2],[241,2],[254,2],[340,2]]}}}],["转换成",{"_index":1096,"t":{"212":{"position":[[115,3]]}}}],["转码",{"_index":1566,"t":{"343":{"position":[[92,2]]}}}],["转而",{"_index":1901,"t":{"491":{"position":[[58,2]]}}}],["轮询",{"_index":1270,"t":{"237":{"position":[[360,2],[774,2],[816,2],[833,2]]}}}],["轻松",{"_index":2099,"t":{"606":{"position":[[15,2]]}}}],["较",{"_index":370,"t":{"41":{"position":[[36,1]]},"712":{"position":[[245,1]]}}}],["较为",{"_index":847,"t":{"139":{"position":[[155,2]]}}}],["较大",{"_index":356,"t":{"39":{"position":[[16,2]]},"427":{"position":[[1178,2]]},"712":{"position":[[380,2]]},"722":{"position":[[22,2]]}}}],["较慢",{"_index":1833,"t":{"429":{"position":[[58,2]]},"523":{"position":[[167,2]]}}}],["辅助",{"_index":246,"t":{"19":{"position":[[27,2]]},"143":{"position":[[49,2]]}}}],["输出",{"_index":876,"t":{"149":{"position":[[100,2]]},"359":{"position":[[550,2],[628,2]]},"374":{"position":[[209,2]]},"410":{"position":[[5,2]]},"467":{"position":[[40,2]]},"493":{"position":[[24,2]]},"760":{"position":[[195,2]]},"805":{"position":[[409,2],[465,2],[599,2]]}}}],["边界",{"_index":1516,"t":{"321":{"position":[[153,2]]},"574":{"position":[[12,2]]},"670":{"position":[[15,2]]}}}],["达到",{"_index":1980,"t":{"521":{"position":[[333,2]]},"606":{"position":[[168,2]]},"614":{"position":[[59,2]]},"633":{"position":[[131,2]]},"695":{"position":[[344,2]]},"697":{"position":[[241,2]]}}}],["达成",{"_index":2100,"t":{"606":{"position":[[136,2]]}}}],["迁移",{"_index":835,"t":{"139":{"position":[[25,2],[175,2],[272,2]]},"143":{"position":[[29,2],[53,2],[69,2]]},"149":{"position":[[8,2],[22,2],[35,2]]},"361":{"position":[[18,2],[42,2]]},"363":{"position":[[367,2]]},"741":{"position":[[829,2]]}}}],["过",{"_index":354,"t":{"39":{"position":[[6,1]]},"41":{"position":[[23,1],[52,1]]},"507":{"position":[[498,1]]},"519":{"position":[[92,1]]},"521":{"position":[[194,1],[204,1]]},"679":{"position":[[121,1]]}}}],["过于",{"_index":1696,"t":{"363":{"position":[[354,2]]}}}],["过滤",{"_index":1688,"t":{"361":{"position":[[3107,2]]},"513":{"position":[[422,2]]}}}],["过程",{"_index":921,"t":{"171":{"position":[[86,2]]},"427":{"position":[[86,2]]},"429":{"position":[[797,2]]}}}],["运营",{"_index":658,"t":{"89":{"position":[[144,2]]}}}],["运行",{"_index":173,"t":{"9":{"position":[[123,2]]},"15":{"position":[[162,2]]},"63":{"position":[[34,2]]},"82":{"position":[[53,2]]},"85":{"position":[[1149,2]]},"141":{"position":[[106,2],[137,2]]},"147":{"position":[[43,2]]},"171":{"position":[[13,2]]},"185":{"position":[[80,2]]},"203":{"position":[[172,2]]},"205":{"position":[[49,2]]},"259":{"position":[[208,2]]},"261":{"position":[[882,2]]},"268":{"position":[[186,2]]},"270":{"position":[[1023,2]]},"325":{"position":[[22,2]]},"392":{"position":[[108,2]]},"457":{"position":[[17,2]]},"467":{"position":[[9,2],[54,2]]},"481":{"position":[[702,2]]},"485":{"position":[[67,2]]},"555":{"position":[[21,2],[73,2]]},"562":{"position":[[25,2]]},"566":{"position":[[13,2],[88,2]]},"570":{"position":[[11,2]]},"633":{"position":[[59,2]]},"641":{"position":[[98,2]]},"665":{"position":[[11,2]]},"741":{"position":[[354,2]]},"793":{"position":[[119,2]]},"795":{"position":[[315,2]]},"797":{"position":[[97,2],[341,2]]},"799":{"position":[[82,2],[202,2],[251,2]]},"803":{"position":[[31,2]]},"805":{"position":[[349,2]]},"807":{"position":[[53,2]]},"823":{"position":[[2,2],[12,2],[185,2]]}}}],["返回",{"_index":426,"t":{"47":{"position":[[107,2]]},"107":{"position":[[181,2]]},"109":{"position":[[180,2]]},"235":{"position":[[49,2],[91,2],[1769,2]]},"237":{"position":[[215,2]]},"239":{"position":[[239,2],[727,2]]},"243":{"position":[[37,2],[76,2],[147,2]]},"257":{"position":[[160,2]]},"266":{"position":[[170,2]]},"299":{"position":[[572,2]]},"374":{"position":[[29,2]]},"376":{"position":[[8,2],[31,2],[79,2]]},"378":{"position":[[68,2]]},"380":{"position":[[29,2]]},"382":{"position":[[11,2],[309,2]]},"384":{"position":[[8,2]]},"386":{"position":[[10,2]]},"388":{"position":[[40,2]]},"392":{"position":[[168,2]]},"396":{"position":[[172,2]]},"429":{"position":[[728,2]]},"439":{"position":[[725,2]]},"543":{"position":[[195,2]]},"547":{"position":[[275,2]]},"549":{"position":[[87,2]]},"643":{"position":[[493,2]]}}}],["返回值",{"_index":724,"t":{"107":{"position":[[40,3]]},"226":{"position":[[514,3]]},"237":{"position":[[170,3]]},"435":{"position":[[660,3]]},"439":{"position":[[668,3]]},"547":{"position":[[0,3],[53,3],[95,3],[183,3],[265,3]]},"643":{"position":[[148,3]]}}}],["还是",{"_index":191,"t":{"11":{"position":[[37,2]]},"13":{"position":[[35,2]]},"243":{"position":[[13,2]]},"714":{"position":[[446,2]]}}}],["还有",{"_index":1783,"t":{"420":{"position":[[28,2]]}}}],["这个",{"_index":968,"t":{"185":{"position":[[59,2]]},"604":{"position":[[370,2]]},"606":{"position":[[324,2]]},"637":{"position":[[596,2]]},"695":{"position":[[69,2]]}}}],["这么",{"_index":795,"t":{"115":{"position":[[111,2]]}}}],["这些",{"_index":133,"t":{"7":{"position":[[157,2],[178,2]]},"15":{"position":[[143,2]]},"78":{"position":[[76,2]]},"191":{"position":[[174,2]]},"216":{"position":[[72,2]]},"218":{"position":[[134,2]]},"295":{"position":[[274,2],[345,2],[861,2]]},"339":{"position":[[196,2]]},"582":{"position":[[500,2]]},"670":{"position":[[55,2]]},"712":{"position":[[92,2]]},"724":{"position":[[305,2]]}}}],["这时",{"_index":660,"t":{"92":{"position":[[23,2]]},"94":{"position":[[80,2]]},"239":{"position":[[59,2]]},"259":{"position":[[205,2]]},"643":{"position":[[43,2]]},"783":{"position":[[134,2]]},"785":{"position":[[149,2]]},"791":{"position":[[75,2]]}}}],["这样",{"_index":732,"t":{"107":{"position":[[143,2]]},"109":{"position":[[142,2]]},"115":{"position":[[139,2],[518,2]]},"299":{"position":[[506,2]]},"439":{"position":[[718,2]]},"499":{"position":[[382,2]]},"549":{"position":[[76,2]]},"606":{"position":[[384,2],[715,2]]},"612":{"position":[[32,2],[48,2]]},"614":{"position":[[21,2]]},"643":{"position":[[98,2]]},"703":{"position":[[282,2]]},"714":{"position":[[259,2]]}}}],["这种",{"_index":1464,"t":{"299":{"position":[[527,2]]},"427":{"position":[[158,2],[223,2]]}}}],["这部分",{"_index":1081,"t":{"210":{"position":[[71,3],[97,3]]}}}],["这里",{"_index":1069,"t":{"205":{"position":[[263,2]]},"749":{"position":[[153,2]]}}}],["进一步",{"_index":943,"t":{"181":{"position":[[51,3]]},"427":{"position":[[1082,3]]}}}],["进入",{"_index":650,"t":{"89":{"position":[[83,2]]},"147":{"position":[[3,2]]},"237":{"position":[[1082,2],[1128,2]]},"303":{"position":[[34,2]]},"427":{"position":[[1026,2]]},"783":{"position":[[14,2]]}}}],["进去",{"_index":526,"t":{"78":{"position":[[59,2]]}}}],["进度",{"_index":1988,"t":{"523":{"position":[[165,2]]}}}],["进行",{"_index":159,"t":{"9":{"position":[[64,2]]},"15":{"position":[[131,2]]},"39":{"position":[[21,2]]},"41":{"position":[[12,2]]},"49":{"position":[[7,2]]},"55":{"position":[[131,2]]},"74":{"position":[[28,2]]},"76":{"position":[[23,2]]},"78":{"position":[[15,2]]},"89":{"position":[[95,2]]},"111":{"position":[[50,2]]},"137":{"position":[[27,2]]},"139":{"position":[[173,2],[265,2]]},"158":{"position":[[21,2]]},"177":{"position":[[49,2]]},"220":{"position":[[24,2]]},"230":{"position":[[69,2]]},"235":{"position":[[17,2]]},"239":{"position":[[13,2],[81,2]]},"295":{"position":[[908,2],[1127,2]]},"303":{"position":[[6,2]]},"313":{"position":[[69,2]]},"343":{"position":[[82,2]]},"345":{"position":[[31,2]]},"347":{"position":[[26,2],[42,2]]},"351":{"position":[[29,2],[484,2]]},"359":{"position":[[30,2]]},"361":{"position":[[10,2],[40,2]]},"363":{"position":[[265,2],[365,2]]},"372":{"position":[[202,2]]},"378":{"position":[[48,2]]},"382":{"position":[[200,2]]},"384":{"position":[[35,2]]},"420":{"position":[[195,2]]},"422":{"position":[[9,2]]},"427":{"position":[[1264,2],[1333,2]]},"457":{"position":[[13,2]]},"467":{"position":[[83,2]]},"477":{"position":[[238,2]]},"481":{"position":[[526,2]]},"499":{"position":[[290,2]]},"501":{"position":[[66,2],[123,2],[582,2],[595,2]]},"505":{"position":[[129,2],[225,2],[268,2]]},"513":{"position":[[235,2],[259,2]]},"515":{"position":[[910,2]]},"523":{"position":[[98,2],[211,2]]},"535":{"position":[[24,2],[177,2]]},"541":{"position":[[198,2]]},"600":{"position":[[125,2]]},"606":{"position":[[244,2]]},"614":{"position":[[13,2],[53,2]]},"616":{"position":[[16,2]]},"618":{"position":[[25,2]]},"620":{"position":[[19,2]]},"629":{"position":[[95,2]]},"631":{"position":[[34,2]]},"641":{"position":[[90,2]]},"654":{"position":[[112,2],[248,2]]},"663":{"position":[[62,2],[253,2]]},"672":{"position":[[95,2]]},"677":{"position":[[63,2]]},"681":{"position":[[138,2]]},"712":{"position":[[31,2]]},"741":{"position":[[31,2]]},"743":{"position":[[149,2]]},"749":{"position":[[40,2],[146,2]]},"753":{"position":[[152,2]]},"758":{"position":[[215,2]]},"789":{"position":[[107,2],[251,2]]},"793":{"position":[[68,2]]},"795":{"position":[[30,2]]},"805":{"position":[[38,2],[688,2],[762,2],[781,2],[1120,2]]},"823":{"position":[[216,2]]},"831":{"position":[[21,2]]},"833":{"position":[[26,2]]},"835":{"position":[[26,2]]}}}],["远程",{"_index":484,"t":{"63":{"position":[[13,2]]}}}],["追加",{"_index":1921,"t":{"501":{"position":[[186,2]]}}}],["适合",{"_index":210,"t":{"13":{"position":[[0,2]]}}}],["适应",{"_index":2176,"t":{"654":{"position":[[115,2]]},"712":{"position":[[254,2]]}}}],["适用",{"_index":1447,"t":{"295":{"position":[[905,2]]},"505":{"position":[[111,2],[205,2]]},"639":{"position":[[103,2],[112,2]]},"749":{"position":[[30,2],[124,2]]}}}],["适配",{"_index":151,"t":{"9":{"position":[[32,2]]},"741":{"position":[[807,2],[855,2]]},"749":{"position":[[300,2]]}}}],["选",{"_index":903,"t":{"164":{"position":[[240,1]]},"171":{"position":[[23,1]]},"224":{"position":[[6,1]]},"239":{"position":[[221,1]]},"392":{"position":[[211,1]]},"513":{"position":[[644,1]]},"683":{"position":[[103,1],[142,1]]},"795":{"position":[[195,1],[309,1]]},"797":{"position":[[91,1],[335,1]]},"809":{"position":[[183,1]]}}}],["选择",{"_index":178,"t":{"9":{"position":[[153,2],[201,2]]},"17":{"position":[[28,2]]},"96":{"position":[[172,2]]},"137":{"position":[[267,2]]},"222":{"position":[[9,2]]},"429":{"position":[[64,2]]},"505":{"position":[[70,2],[348,2]]}}}],["选择器",{"_index":2148,"t":{"651":{"position":[[70,3],[195,3]]},"716":{"position":[[12,3],[36,3]]},"722":{"position":[[163,3]]}}}],["选项",{"_index":694,"t":{"98":{"position":[[75,2]]},"100":{"position":[[48,2]]},"408":{"position":[[43,2],[440,2]]},"410":{"position":[[39,2],[246,2]]},"503":{"position":[[702,2]]},"781":{"position":[[59,2]]}}}],["通",{"_index":2111,"t":{"610":{"position":[[29,1],[57,1]]}}}],["通俗",{"_index":254,"t":{"19":{"position":[[101,2]]}}}],["通信",{"_index":198,"t":{"11":{"position":[[70,2]]},"297":{"position":[[33,2]]}}}],["通常",{"_index":225,"t":{"15":{"position":[[138,2]]},"43":{"position":[[10,2],[99,2]]},"47":{"position":[[10,2]]},"57":{"position":[[8,2]]},"239":{"position":[[6,2]]},"398":{"position":[[38,2]]},"465":{"position":[[93,2]]},"568":{"position":[[21,2]]},"610":{"position":[[65,2]]},"643":{"position":[[0,2],[31,2]]},"697":{"position":[[39,2]]}}}],["通用",{"_index":82,"t":{"4":{"position":[[271,2]]},"19":{"position":[[45,2],[56,2]]},"337":{"position":[[14,2]]},"465":{"position":[[2,2]]},"606":{"position":[[341,2]]},"689":{"position":[[14,2]]}}}],["通讯",{"_index":1146,"t":{"222":{"position":[[29,2]]}}}],["通过",{"_index":66,"t":{"4":{"position":[[155,2],[166,2],[321,2],[376,2]]},"7":{"position":[[170,2]]},"15":{"position":[[179,2]]},"19":{"position":[[70,2]]},"23":{"position":[[248,2]]},"43":{"position":[[184,2]]},"47":{"position":[[30,2]]},"51":{"position":[[32,2]]},"78":{"position":[[2,2],[67,2]]},"126":{"position":[[254,2]]},"137":{"position":[[21,2]]},"147":{"position":[[41,2]]},"154":{"position":[[0,2]]},"156":{"position":[[0,2]]},"158":{"position":[[4,2]]},"203":{"position":[[52,2],[127,2]]},"205":{"position":[[6,2]]},"210":{"position":[[0,2],[49,2]]},"218":{"position":[[107,2]]},"220":{"position":[[6,2],[40,2]]},"222":{"position":[[11,2],[66,2]]},"226":{"position":[[274,2]]},"230":{"position":[[86,2]]},"232":{"position":[[45,2]]},"235":{"position":[[106,2]]},"246":{"position":[[30,2]]},"248":{"position":[[52,2]]},"250":{"position":[[94,2]]},"297":{"position":[[277,2],[605,2]]},"299":{"position":[[540,2]]},"301":{"position":[[0,2]]},"305":{"position":[[0,2]]},"309":{"position":[[99,2]]},"313":{"position":[[57,2]]},"315":{"position":[[7,2]]},"317":{"position":[[135,2]]},"327":{"position":[[35,2]]},"329":{"position":[[33,2]]},"333":{"position":[[31,2]]},"339":{"position":[[110,2]]},"347":{"position":[[17,2],[36,2]]},"349":{"position":[[0,2]]},"351":{"position":[[455,2]]},"359":{"position":[[540,2],[737,2],[1011,2],[1813,2]]},"363":{"position":[[258,2],[334,2]]},"376":{"position":[[331,2],[444,2]]},"378":{"position":[[17,2]]},"390":{"position":[[40,2]]},"400":{"position":[[75,2],[124,2]]},"402":{"position":[[79,2],[130,2]]},"427":{"position":[[610,2],[999,2],[1217,2]]},"431":{"position":[[6,2],[40,2],[167,2]]},"435":{"position":[[21,2],[69,2],[121,2]]},"437":{"position":[[267,2]]},"481":{"position":[[719,2]]},"491":{"position":[[60,2]]},"501":{"position":[[182,2],[589,2]]},"507":{"position":[[95,2],[467,2]]},"513":{"position":[[394,2],[658,2],[837,2]]},"515":{"position":[[370,2],[880,2]]},"517":{"position":[[71,2]]},"539":{"position":[[80,2]]},"541":{"position":[[192,2]]},"549":{"position":[[16,2]]},"555":{"position":[[9,2]]},"564":{"position":[[56,2]]},"589":{"position":[[2,2]]},"591":{"position":[[52,2],[69,2]]},"600":{"position":[[104,2]]},"602":{"position":[[17,2]]},"604":{"position":[[96,2]]},"606":{"position":[[0,2],[723,2]]},"629":{"position":[[80,2],[283,2]]},"631":{"position":[[16,2]]},"637":{"position":[[109,2],[533,2]]},"643":{"position":[[67,2],[110,2]]},"656":{"position":[[2,2]]},"658":{"position":[[188,2]]},"663":{"position":[[18,2]]},"665":{"position":[[53,2],[109,2]]},"670":{"position":[[51,2]]},"679":{"position":[[16,2],[253,2]]},"689":{"position":[[36,2]]},"691":{"position":[[12,2]]},"693":{"position":[[17,2]]},"699":{"position":[[43,2],[99,2]]},"703":{"position":[[399,2]]},"749":{"position":[[139,2]]},"753":{"position":[[131,2]]},"756":{"position":[[10,2]]},"758":{"position":[[0,2]]},"781":{"position":[[51,2]]},"787":{"position":[[0,2]]},"805":{"position":[[0,2],[27,2],[228,2],[1100,2]]},"807":{"position":[[0,2]]},"809":{"position":[[263,2]]},"811":{"position":[[205,2]]}}}],["通配符",{"_index":2298,"t":{"716":{"position":[[23,3]]}}}],["速度",{"_index":373,"t":{"41":{"position":[[50,2]]},"354":{"position":[[20,2]]},"606":{"position":[[177,2]]}}}],["造成",{"_index":1943,"t":{"505":{"position":[[158,2]]},"507":{"position":[[516,2]]}}}],["逻辑",{"_index":1152,"t":{"222":{"position":[[98,2]]},"226":{"position":[[21,2]]},"272":{"position":[[60,2]]},"359":{"position":[[1170,2]]},"361":{"position":[[2863,2]]},"427":{"position":[[1172,2]]},"431":{"position":[[59,2]]},"437":{"position":[[59,2]]},"481":{"position":[[215,2]]},"515":{"position":[[790,2]]},"602":{"position":[[154,2]]},"606":{"position":[[285,2]]},"793":{"position":[[138,2]]}}}],["遇到",{"_index":229,"t":{"15":{"position":[[169,2]]}}}],["遵循",{"_index":704,"t":{"98":{"position":[[306,2]]},"703":{"position":[[434,2]]}}}],["避免",{"_index":1289,"t":{"237":{"position":[[729,2]]},"427":{"position":[[1162,2]]},"429":{"position":[[41,2]]},"521":{"position":[[166,2]]},"641":{"position":[[20,2]]},"651":{"position":[[188,2]]}}}],["那么",{"_index":718,"t":{"100":{"position":[[283,2]]},"117":{"position":[[339,2]]}}}],["部分",{"_index":871,"t":{"149":{"position":[[13,2]]},"429":{"position":[[78,2]]},"499":{"position":[[114,2]]},"560":{"position":[[96,2]]},"606":{"position":[[292,2]]},"639":{"position":[[432,2]]},"712":{"position":[[64,2]]},"714":{"position":[[323,2]]},"716":{"position":[[5,2]]},"720":{"position":[[33,2]]},"722":{"position":[[27,2]]},"730":{"position":[[63,2]]}}}],["部署",{"_index":489,"t":{"63":{"position":[[52,2]]},"74":{"position":[[64,2]]},"76":{"position":[[25,2]]},"94":{"position":[[32,2]]},"113":{"position":[[476,2]]},"351":{"position":[[408,2]]},"785":{"position":[[164,2]]}}}],["都",{"_index":65,"t":{"4":{"position":[[154,1]]},"9":{"position":[[198,1]]},"13":{"position":[[40,1]]},"17":{"position":[[10,1]]},"23":{"position":[[102,1],[125,1]]},"126":{"position":[[106,1],[129,1]]},"141":{"position":[[17,1]]},"212":{"position":[[112,1]]},"222":{"position":[[7,1]]},"237":{"position":[[161,1],[974,1]]},"241":{"position":[[30,1]]},"243":{"position":[[45,1]]},"250":{"position":[[21,1]]},"351":{"position":[[36,1]]},"427":{"position":[[197,1]]},"435":{"position":[[18,1]]},"562":{"position":[[50,1]]},"564":{"position":[[15,1]]},"637":{"position":[[203,1]]},"639":{"position":[[387,1]]},"651":{"position":[[99,1]]},"683":{"position":[[6,1]]},"714":{"position":[[98,1]]}}}],["配",{"_index":2112,"t":{"610":{"position":[[30,1],[58,1]]}}}],["配合",{"_index":743,"t":{"111":{"position":[[19,2]]},"113":{"position":[[493,2]]},"124":{"position":[[65,2]]},"137":{"position":[[289,2]]},"359":{"position":[[401,2]]},"582":{"position":[[505,2]]},"726":{"position":[[167,2]]},"833":{"position":[[12,2]]},"835":{"position":[[12,2]]}}}],["配置",{"_index":124,"t":{"7":{"position":[[65,2]]},"34":{"position":[[35,2],[54,2]]},"41":{"position":[[73,2]]},"49":{"position":[[35,2]]},"59":{"position":[[273,2]]},"80":{"position":[[38,2]]},"85":{"position":[[1144,2]]},"92":{"position":[[27,2]]},"94":{"position":[[85,2]]},"100":{"position":[[50,2]]},"105":{"position":[[25,2]]},"115":{"position":[[170,2]]},"117":{"position":[[15,2],[144,2]]},"131":{"position":[[111,2]]},"133":{"position":[[30,2]]},"135":{"position":[[35,2],[54,2]]},"137":{"position":[[29,2],[618,2]]},"141":{"position":[[132,2],[140,2]]},"143":{"position":[[60,2]]},"147":{"position":[[63,2]]},"149":{"position":[[66,2]]},"162":{"position":[[233,2],[485,2],[712,2]]},"164":{"position":[[226,2]]},"167":{"position":[[51,2]]},"169":{"position":[[201,2]]},"171":{"position":[[24,2],[132,2]]},"187":{"position":[[32,2]]},"235":{"position":[[1761,2]]},"237":{"position":[[1019,2],[1406,2]]},"239":{"position":[[25,2],[83,2]]},"241":{"position":[[17,2],[26,2],[221,2]]},"250":{"position":[[114,2],[292,2],[450,2]]},"252":{"position":[[77,2]]},"257":{"position":[[174,2],[184,2],[201,2],[450,2],[625,2]]},"266":{"position":[[184,2],[196,2],[215,2]]},"303":{"position":[[56,2]]},"307":{"position":[[30,2],[105,2],[165,2]]},"313":{"position":[[52,2],[61,2],[67,2],[655,2],[669,2],[680,2],[696,2]]},"315":{"position":[[11,2],[33,2]]},"317":{"position":[[163,2]]},"319":{"position":[[5,2],[18,2]]},"323":{"position":[[18,2],[35,2]]},"325":{"position":[[12,2],[35,2]]},"359":{"position":[[32,2],[364,2],[576,2],[654,2],[882,2],[1109,2],[1154,2],[1491,2],[1611,2],[1741,2],[1771,2],[1835,2]]},"361":{"position":[[8,2],[38,2],[1603,2]]},"363":{"position":[[327,2]]},"365":{"position":[[570,2],[625,2],[901,2],[953,2]]},"368":{"position":[[9,2]]},"370":{"position":[[14,2],[22,2]]},"386":{"position":[[16,2]]},"400":{"position":[[26,2]]},"402":{"position":[[28,2]]},"431":{"position":[[19,2],[88,2],[183,2],[197,2]]},"441":{"position":[[396,2]]},"443":{"position":[[19,2]]},"445":{"position":[[15,2]]},"447":{"position":[[0,2]]},"457":{"position":[[20,2]]},"461":{"position":[[5,2]]},"467":{"position":[[36,2]]},"469":{"position":[[14,2],[21,2]]},"474":{"position":[[6,2],[10,2],[47,2]]},"477":{"position":[[94,2],[223,2]]},"479":{"position":[[11,2],[68,2]]},"485":{"position":[[11,2],[31,2]]},"489":{"position":[[11,2]]},"491":{"position":[[11,2]]},"495":{"position":[[11,2],[32,2],[49,2]]},"499":{"position":[[84,2],[161,2],[384,2]]},"501":{"position":[[190,2]]},"503":{"position":[[102,2],[306,2],[524,2],[541,2],[579,2],[600,2]]},"505":{"position":[[314,2],[383,2]]},"507":{"position":[[108,2],[495,2]]},"509":{"position":[[11,2]]},"511":{"position":[[11,2]]},"513":{"position":[[11,2]]},"515":{"position":[[11,2],[927,2]]},"519":{"position":[[40,2]]},"521":{"position":[[259,2]]},"523":{"position":[[193,2]]},"525":{"position":[[46,2]]},"527":{"position":[[34,2],[121,2]]},"529":{"position":[[11,2],[47,2]]},"535":{"position":[[22,2],[67,2],[190,2],[216,2]]},"537":{"position":[[70,2],[136,2]]},"541":{"position":[[196,2]]},"555":{"position":[[44,2],[51,2]]},"558":{"position":[[103,2]]},"560":{"position":[[103,2],[115,2],[144,2]]},"582":{"position":[[525,2]]},"602":{"position":[[142,2]]},"629":{"position":[[97,2],[288,2]]},"635":{"position":[[63,2]]},"645":{"position":[[22,2]]},"663":{"position":[[64,2],[255,2]]},"665":{"position":[[7,2],[47,2],[82,2],[102,2]]},"667":{"position":[[0,2],[17,2],[34,2]]},"681":{"position":[[16,2],[143,2],[354,2]]},"689":{"position":[[63,2]]},"699":{"position":[[37,2],[72,2],[92,2]]},"735":{"position":[[27,2]]},"741":{"position":[[39,2],[61,2],[344,2],[516,2],[693,2]]},"747":{"position":[[0,2],[17,2],[34,2]]},"749":{"position":[[148,2]]},"771":{"position":[[19,2]]},"773":{"position":[[21,2]]},"787":{"position":[[130,2]]},"793":{"position":[[82,2]]},"795":{"position":[[243,2],[318,2]]},"797":{"position":[[344,2],[628,2]]},"799":{"position":[[79,2],[85,2],[254,2],[820,2],[1130,2]]},"803":{"position":[[135,2]]},"805":{"position":[[22,2],[36,2],[225,2],[245,2],[265,2],[275,2],[330,2],[474,2],[595,2],[676,2],[723,2],[735,2],[758,2],[805,2],[849,2],[866,2],[882,2],[916,2],[944,2],[1006,2],[1028,2],[1087,2]]},"807":{"position":[[348,2]]},"809":{"position":[[257,2]]},"811":{"position":[[199,2]]},"813":{"position":[[4,2],[161,2]]},"815":{"position":[[185,2],[201,2]]},"825":{"position":[[21,2],[44,2],[80,2]]},"835":{"position":[[7,2]]}}}],["配置文件",{"_index":889,"t":{"162":{"position":[[3,4]]},"164":{"position":[[3,4]]},"224":{"position":[[75,4]]},"317":{"position":[[19,4]]},"408":{"position":[[153,4]]},"410":{"position":[[149,4]]},"441":{"position":[[367,4],[448,4]]},"445":{"position":[[5,4]]},"449":{"position":[[16,4]]},"472":{"position":[[40,4]]},"681":{"position":[[164,4],[342,4]]},"803":{"position":[[114,4]]},"809":{"position":[[3,4]]},"813":{"position":[[141,4]]}}}],["采用",{"_index":2087,"t":{"595":{"position":[[7,2]]},"658":{"position":[[24,2]]},"753":{"position":[[17,2]]}}}],["里",{"_index":483,"t":{"63":{"position":[[4,1]]},"230":{"position":[[68,1],[85,1]]},"232":{"position":[[44,1]]},"243":{"position":[[6,1]]},"250":{"position":[[11,1]]},"305":{"position":[[300,1]]},"491":{"position":[[246,1]]},"521":{"position":[[142,1],[308,1]]},"543":{"position":[[153,1]]},"658":{"position":[[14,1]]},"714":{"position":[[185,1]]},"799":{"position":[[860,1]]},"819":{"position":[[422,1],[650,1],[917,1]]}}}],["重写",{"_index":1939,"t":{"503":{"position":[[513,2]]},"651":{"position":[[86,2]]}}}],["重复",{"_index":988,"t":{"185":{"position":[[200,2]]},"521":{"position":[[168,2]]}}}],["重定向",{"_index":682,"t":{"96":{"position":[[94,3]]},"113":{"position":[[4,3],[62,3],[485,3]]},"115":{"position":[[79,3]]},"124":{"position":[[27,3]]}}}],["重新",{"_index":1026,"t":{"195":{"position":[[33,2]]},"237":{"position":[[391,2],[896,2],[903,2],[911,2],[931,2],[965,2],[975,2],[1010,2],[1232,2]]},"303":{"position":[[40,2]]},"361":{"position":[[1953,2]]},"363":{"position":[[341,2]]},"429":{"position":[[89,2]]},"606":{"position":[[252,2]]}}}],["重新安装",{"_index":1599,"t":{"357":{"position":[[670,4]]}}}],["重置",{"_index":2278,"t":{"712":{"position":[[62,2]]}}}],["重要",{"_index":2014,"t":{"539":{"position":[[40,2]]}}}],["量",{"_index":290,"t":{"23":{"position":[[200,1],[269,1],[337,1],[399,1]]},"126":{"position":[[204,1],[275,1]]},"137":{"position":[[603,1]]},"359":{"position":[[653,1]]},"501":{"position":[[161,1],[399,1]]}}}],["鉴",{"_index":378,"t":{"43":{"position":[[8,1]]},"793":{"position":[[136,1]]}}}],["针对",{"_index":303,"t":{"23":{"position":[[342,2]]},"43":{"position":[[163,2]]},"151":{"position":[[14,2]]},"339":{"position":[[5,2]]},"595":{"position":[[17,2]]},"606":{"position":[[114,2]]}}}],["钉",{"_index":263,"t":{"21":{"position":[[50,1],[51,1]]},"745":{"position":[[106,1],[107,1]]}}}],["钩子",{"_index":917,"t":{"171":{"position":[[17,2]]}}}],["链",{"_index":182,"t":{"9":{"position":[[182,1]]}}}],["链接",{"_index":1664,"t":{"359":{"position":[[1746,2],[1756,2]]},"424":{"position":[[36,2]]}}}],["错误",{"_index":924,"t":{"171":{"position":[[122,2]]},"191":{"position":[[189,2]]},"239":{"position":[[729,2]]},"243":{"position":[[8,2],[40,2],[78,2]]},"301":{"position":[[63,2]]},"321":{"position":[[151,2]]},"527":{"position":[[57,2],[74,2]]},"574":{"position":[[10,2]]},"589":{"position":[[254,2]]},"651":{"position":[[111,2]]}}}],["错误处理",{"_index":1151,"t":{"222":{"position":[[93,4]]}}}],["键值",{"_index":1431,"t":{"293":{"position":[[721,2],[743,2]]},"813":{"position":[[145,2]]}}}],["镜像",{"_index":1792,"t":{"420":{"position":[[182,2],[260,2],[281,2]]}}}],["长度",{"_index":2172,"t":{"654":{"position":[[47,2]]}}}],["门槛",{"_index":33,"t":{"2":{"position":[[104,2]]},"11":{"position":[[24,2]]},"19":{"position":[[91,2]]}}}],["闪烁",{"_index":1290,"t":{"237":{"position":[[731,2]]}}}],["问题",{"_index":171,"t":{"9":{"position":[[110,2]]},"15":{"position":[[173,2]]},"23":{"position":[[40,2],[184,2]]},"126":{"position":[[44,2],[188,2]]},"185":{"position":[[61,2]]},"216":{"position":[[96,2]]},"248":{"position":[[41,2]]},"513":{"position":[[877,2]]},"600":{"position":[[25,2]]},"651":{"position":[[53,2],[160,2],[176,2]]},"654":{"position":[[78,2]]},"753":{"position":[[52,2]]}}}],["间",{"_index":928,"t":{"177":{"position":[[48,1]]},"606":{"position":[[183,1]]},"614":{"position":[[17,1]]},"756":{"position":[[49,1]]}}}],["间隔",{"_index":1293,"t":{"237":{"position":[[776,2],[996,2],[1004,2],[1066,2],[1112,2]]}}}],["阅读",{"_index":2339,"t":{"735":{"position":[[98,2]]}}}],["防",{"_index":1307,"t":{"237":{"position":[[1064,1],[1084,1]]}}}],["阶段",{"_index":772,"t":{"113":{"position":[[478,2]]},"117":{"position":[[38,2]]},"185":{"position":[[83,2]]},"218":{"position":[[82,2]]},"351":{"position":[[377,2]]},"497":{"position":[[38,2]]},"501":{"position":[[82,2],[136,2],[155,2],[180,2],[392,2],[430,2]]},"807":{"position":[[334,2],[428,2],[512,2],[530,2]]},"823":{"position":[[207,2]]}}}],["阻塞",{"_index":1811,"t":{"427":{"position":[[92,2],[151,2],[1302,2]]},"585":{"position":[[161,2]]},"695":{"position":[[58,2]]},"697":{"position":[[34,2]]}}}],["阿里",{"_index":514,"t":{"78":{"position":[[5,2]]},"89":{"position":[[133,2]]},"424":{"position":[[48,2]]},"665":{"position":[[86,2],[94,2]]},"670":{"position":[[105,2]]},"674":{"position":[[0,2]]},"681":{"position":[[71,2],[347,2]]},"699":{"position":[[76,2],[84,2]]},"703":{"position":[[75,2]]},"745":{"position":[[95,2]]},"749":{"position":[[157,2],[174,2]]},"758":{"position":[[245,2]]}}}],["阿里巴巴",{"_index":2170,"t":{"654":{"position":[[25,4]]}}}],["附上",{"_index":1803,"t":{"424":{"position":[[24,2]]}}}],["附加",{"_index":2378,"t":{"781":{"position":[[53,2]]}}}],["降低",{"_index":32,"t":{"2":{"position":[[100,2]]},"11":{"position":[[17,2]]},"19":{"position":[[87,2]]}}}],["降级",{"_index":1738,"t":{"390":{"position":[[174,2]]},"637":{"position":[[119,2]]}}}],["限于",{"_index":872,"t":{"149":{"position":[[42,2]]}}}],["限制",{"_index":1827,"t":{"427":{"position":[[1214,2]]},"714":{"position":[[58,2]]},"749":{"position":[[6,2]]}}}],["限度",{"_index":1808,"t":{"427":{"position":[[23,2]]}}}],["除",{"_index":1568,"t":{"347":{"position":[[0,1]]}}}],["除了",{"_index":940,"t":{"181":{"position":[[0,2]]},"212":{"position":[[60,2]]},"325":{"position":[[4,2]]}}}],["除此以外",{"_index":1782,"t":{"420":{"position":[[23,4]]},"547":{"position":[[247,4]]}}}],["除非",{"_index":2261,"t":{"695":{"position":[[81,2]]}}}],["随机",{"_index":2028,"t":{"551":{"position":[[11,2],[38,2]]}}}],["隐私",{"_index":798,"t":{"115":{"position":[[136,2]]}}}],["隐藏",{"_index":404,"t":{"43":{"position":[[173,2]]},"237":{"position":[[808,2]]}}}],["难",{"_index":2161,"t":{"651":{"position":[[217,1]]}}}],["集中",{"_index":2266,"t":{"701":{"position":[[14,2]]}}}],["集合",{"_index":1434,"t":{"295":{"position":[[271,2],[858,2]]}}}],["集团",{"_index":2171,"t":{"654":{"position":[[29,2]]}}}],["集成",{"_index":120,"t":{"7":{"position":[[43,2]]},"307":{"position":[[5,2]]}}}],["零",{"_index":2250,"t":{"683":{"position":[[18,1]]}}}],["需",{"_index":268,"t":{"23":{"position":[[36,1],[51,1],[129,1],[139,1],[165,1]]},"28":{"position":[[33,1]]},"49":{"position":[[1,1],[15,1]]},"126":{"position":[[40,1],[55,1],[133,1],[143,1],[169,1]]},"131":{"position":[[42,1]]},"235":{"position":[[90,1]]},"359":{"position":[[668,1]]},"365":{"position":[[14,1],[301,1],[649,1]]},"424":{"position":[[10,1]]},"429":{"position":[[740,1]]},"449":{"position":[[14,1]]},"513":{"position":[[871,1],[875,1]]},"521":{"position":[[225,1],[231,1],[364,1]]},"525":{"position":[[43,1]]},"606":{"position":[[436,1]]},"697":{"position":[[234,1]]},"741":{"position":[[30,1]]},"771":{"position":[[13,1]]},"773":{"position":[[15,1]]}}}],["需求",{"_index":86,"t":{"4":{"position":[[278,2]]},"43":{"position":[[94,2]]},"359":{"position":[[1192,2]]},"537":{"position":[[435,2]]},"805":{"position":[[1095,2]]}}}],["需要",{"_index":134,"t":{"7":{"position":[[161,2]]},"11":{"position":[[5,2],[39,2]]},"15":{"position":[[82,2]]},"23":{"position":[[396,2]]},"47":{"position":[[12,2]]},"74":{"position":[[43,2]]},"92":{"position":[[25,2]]},"94":{"position":[[83,2]]},"96":{"position":[[222,2]]},"98":{"position":[[5,2]]},"113":{"position":[[75,2],[81,2],[491,2]]},"115":{"position":[[164,2],[547,2]]},"122":{"position":[[21,2]]},"124":{"position":[[63,2]]},"139":{"position":[[251,2]]},"143":{"position":[[74,2]]},"149":{"position":[[25,2]]},"158":{"position":[[12,2]]},"177":{"position":[[82,2]]},"214":{"position":[[47,2]]},"216":{"position":[[68,2]]},"224":{"position":[[14,2]]},"237":{"position":[[540,2],[989,2],[1017,2]]},"239":{"position":[[8,2],[62,2]]},"250":{"position":[[92,2]]},"257":{"position":[[2,2]]},"266":{"position":[[2,2]]},"295":{"position":[[63,2]]},"303":{"position":[[50,2]]},"305":{"position":[[282,2]]},"307":{"position":[[25,2],[58,2]]},"323":{"position":[[125,2],[187,2]]},"327":{"position":[[1,2]]},"329":{"position":[[31,2]]},"333":{"position":[[6,2]]},"359":{"position":[[493,2]]},"382":{"position":[[20,2]]},"384":{"position":[[17,2]]},"406":{"position":[[137,2]]},"418":{"position":[[7,2]]},"420":{"position":[[173,2]]},"431":{"position":[[82,2]]},"439":{"position":[[4,2]]},"443":{"position":[[5,2]]},"467":{"position":[[81,2]]},"477":{"position":[[92,2],[221,2]]},"481":{"position":[[577,2],[620,2]]},"501":{"position":[[138,2],[396,2],[580,2]]},"503":{"position":[[509,2],[544,2]]},"505":{"position":[[190,2],[283,2]]},"515":{"position":[[641,2],[1093,2]]},"539":{"position":[[63,2],[109,2]]},"541":{"position":[[1,2],[176,2]]},"547":{"position":[[271,2]]},"558":{"position":[[2,2]]},"560":{"position":[[355,2]]},"562":{"position":[[81,2]]},"566":{"position":[[22,2]]},"587":{"position":[[72,2]]},"600":{"position":[[87,2]]},"604":{"position":[[284,2]]},"608":{"position":[[20,2]]},"635":{"position":[[32,2]]},"637":{"position":[[176,2],[506,2]]},"639":{"position":[[388,2]]},"641":{"position":[[11,2],[66,2]]},"643":{"position":[[663,2]]},"654":{"position":[[71,2]]},"660":{"position":[[15,2]]},"679":{"position":[[34,2],[108,2]]},"685":{"position":[[15,2]]},"689":{"position":[[12,2]]},"695":{"position":[[3,2],[85,2]]},"697":{"position":[[3,2]]},"703":{"position":[[27,2],[421,2],[470,2]]},"712":{"position":[[29,2],[109,2],[128,2]]},"714":{"position":[[15,2],[270,2],[325,2]]},"722":{"position":[[91,2]]},"741":{"position":[[862,2]]},"743":{"position":[[1,2],[23,2],[62,2]]},"745":{"position":[[25,2]]},"749":{"position":[[68,2]]},"753":{"position":[[114,2]]},"779":{"position":[[0,2]]},"783":{"position":[[2,2]]},"789":{"position":[[1,2],[25,2]]},"797":{"position":[[615,2]]},"799":{"position":[[64,2],[818,2],[1120,2]]},"805":{"position":[[760,2]]}}}],["静态",{"_index":59,"t":{"4":{"position":[[128,2]]},"68":{"position":[[4,2]]},"74":{"position":[[60,2]]},"76":{"position":[[9,2]]},"80":{"position":[[55,2]]},"92":{"position":[[46,2]]},"185":{"position":[[113,2]]},"337":{"position":[[9,2]]},"351":{"position":[[16,2],[80,2]]},"431":{"position":[[17,2],[337,2]]},"441":{"position":[[106,2]]},"453":{"position":[[4,2]]},"639":{"position":[[106,2],[129,2]]},"805":{"position":[[461,2]]}}}],["非",{"_index":250,"t":{"19":{"position":[[44,1]]},"78":{"position":[[17,1]]},"214":{"position":[[18,1]]},"218":{"position":[[48,1]]},"226":{"position":[[73,1]]},"268":{"position":[[10,1]]},"335":{"position":[[239,1]]},"587":{"position":[[28,1]]}}}],["非常",{"_index":1456,"t":{"299":{"position":[[33,2]]},"427":{"position":[[255,2]]},"651":{"position":[[121,2]]}}}],["非标",{"_index":1130,"t":{"218":{"position":[[136,2]]}}}],["面",{"_index":2061,"t":{"582":{"position":[[434,1]]},"783":{"position":[[142,1]]}}}],["面向",{"_index":126,"t":{"7":{"position":[[76,2]]},"13":{"position":[[3,2]]},"19":{"position":[[37,2],[54,2]]},"139":{"position":[[3,2]]},"505":{"position":[[261,2]]}}}],["页",{"_index":620,"t":{"85":{"position":[[1060,1]]},"303":{"position":[[2,1]]},"606":{"position":[[334,1]]}}}],["页面",{"_index":153,"t":{"9":{"position":[[40,2],[118,2]]},"37":{"position":[[3,2]]},"41":{"position":[[46,2]]},"43":{"position":[[118,2],[135,2],[144,2],[152,2],[204,2]]},"47":{"position":[[40,2]]},"49":{"position":[[5,2],[17,2],[258,2],[458,2]]},"59":{"position":[[270,2]]},"89":{"position":[[63,2]]},"94":{"position":[[73,2]]},"96":{"position":[[105,2]]},"100":{"position":[[8,2],[20,2],[261,2],[402,2]]},"107":{"position":[[58,2],[79,2],[137,2],[151,2],[188,2]]},"109":{"position":[[78,2],[136,2],[150,2],[187,2]]},"113":{"position":[[17,2]]},"117":{"position":[[89,2]]},"124":{"position":[[40,2]]},"139":{"position":[[193,2],[225,2]]},"226":{"position":[[151,2]]},"237":{"position":[[806,2]]},"248":{"position":[[3,2]]},"276":{"position":[[5,2]]},"284":{"position":[[3,2],[11,2],[24,2]]},"286":{"position":[[67,2]]},"288":{"position":[[57,2]]},"293":{"position":[[3,2]]},"303":{"position":[[8,2],[14,2],[29,2],[37,2],[45,2]]},"323":{"position":[[340,2]]},"354":{"position":[[23,2]]},"363":{"position":[[543,2]]},"376":{"position":[[12,2]]},"384":{"position":[[42,2]]},"427":{"position":[[3,2],[28,2],[109,2],[165,2],[236,2],[592,2],[627,2],[711,2],[860,2],[1028,2],[1267,2],[1304,2]]},"429":{"position":[[6,2],[43,2],[98,2],[169,2],[253,2]]},"435":{"position":[[0,2],[58,2],[92,2],[570,2],[614,2],[639,2],[668,2]]},"437":{"position":[[256,2]]},"439":{"position":[[2,2],[30,2]]},"441":{"position":[[206,2]]},"491":{"position":[[242,2]]},"515":{"position":[[558,2]]},"527":{"position":[[81,2]]},"580":{"position":[[31,2]]},"582":{"position":[[397,2],[414,2],[432,2],[469,2],[490,2],[534,2]]},"585":{"position":[[180,2]]},"589":{"position":[[25,2],[35,2]]},"593":{"position":[[4,2]]},"602":{"position":[[9,2],[144,2],[159,2]]},"604":{"position":[[45,2],[361,2],[401,2],[420,2]]},"606":{"position":[[48,2],[134,2],[258,2],[282,2]]},"610":{"position":[[98,2]]},"614":{"position":[[32,2],[39,2]]},"629":{"position":[[253,2],[275,2]]},"637":{"position":[[102,2],[117,2]]},"639":{"position":[[139,2]]},"651":{"position":[[2,2],[280,2]]},"658":{"position":[[9,2]]},"665":{"position":[[9,2],[74,2],[80,2],[100,2]]},"667":{"position":[[24,2],[65,2]]},"683":{"position":[[3,2],[94,2],[122,2]]},"685":{"position":[[12,2]]},"689":{"position":[[0,2],[60,2]]},"695":{"position":[[0,2],[41,2],[333,2]]},"697":{"position":[[0,2],[228,2]]},"699":{"position":[[64,2],[70,2],[90,2]]},"741":{"position":[[714,2],[791,2]]},"747":{"position":[[24,2],[65,2]]},"758":{"position":[[311,2]]},"760":{"position":[[7,2]]},"833":{"position":[[2,2]]},"835":{"position":[[2,2]]}}}],["顶层",{"_index":2098,"t":{"604":{"position":[[320,2]]}}}],["顶部",{"_index":2104,"t":{"606":{"position":[[339,2]]}}}],["项",{"_index":1501,"t":{"313":{"position":[[63,1]]},"319":{"position":[[7,1]]},"359":{"position":[[1613,1]]},"469":{"position":[[16,1],[23,1]]},"495":{"position":[[51,1]]},"805":{"position":[[247,1],[267,1],[807,1],[918,1],[946,1],[1089,1]]},"813":{"position":[[163,1]]},"815":{"position":[[203,1]]}}}],["项目",{"_index":108,"t":{"4":{"position":[[403,2],[466,2]]},"7":{"position":[[190,2],[202,2]]},"9":{"position":[[50,2],[73,2]]},"23":{"position":[[7,2],[196,2],[230,2]]},"74":{"position":[[30,2]]},"82":{"position":[[74,2],[85,2]]},"85":{"position":[[14,2]]},"89":{"position":[[61,2]]},"96":{"position":[[245,2]]},"126":{"position":[[7,2],[200,2],[234,2]]},"143":{"position":[[24,2]]},"214":{"position":[[50,2]]},"216":{"position":[[35,2]]},"239":{"position":[[3,2]]},"246":{"position":[[0,2]]},"257":{"position":[[5,2]]},"261":{"position":[[159,2]]},"266":{"position":[[5,2]]},"270":{"position":[[104,2]]},"295":{"position":[[44,2]]},"359":{"position":[[37,2]]},"408":{"position":[[19,2]]},"410":{"position":[[2,2]]},"427":{"position":[[1097,2]]},"457":{"position":[[0,2]]},"465":{"position":[[0,2]]},"467":{"position":[[64,2]]},"477":{"position":[[84,2]]},"503":{"position":[[547,2]]},"515":{"position":[[935,2]]},"521":{"position":[[192,2]]},"539":{"position":[[127,2]]},"541":{"position":[[4,2]]},"598":{"position":[[5,2]]},"649":{"position":[[4,2]]},"681":{"position":[[12,2],[162,2],[340,2]]},"703":{"position":[[54,2]]},"712":{"position":[[27,2],[50,2],[107,2]]},"741":{"position":[[777,2],[838,2]]},"781":{"position":[[133,2]]},"783":{"position":[[6,2],[16,2]]},"787":{"position":[[12,2],[110,2]]},"793":{"position":[[103,2]]},"797":{"position":[[3,2]]},"803":{"position":[[92,2],[145,2]]}}}],["顺序",{"_index":766,"t":{"113":{"position":[[319,2]]},"191":{"position":[[140,2],[187,2]]}}}],["预",{"_index":1820,"t":{"427":{"position":[[1058,1],[1089,1]]},"483":{"position":[[85,1]]},"647":{"position":[[55,1],[306,1]]},"651":{"position":[[658,1]]}}}],["预料",{"_index":1144,"t":{"220":{"position":[[164,2]]}}}],["预期",{"_index":1894,"t":{"481":{"position":[[689,2]]}}}],["预览",{"_index":90,"t":{"4":{"position":[[304,2]]},"408":{"position":[[327,2]]},"527":{"position":[[79,2]]},"743":{"position":[[153,2]]},"789":{"position":[[111,2],[255,2]]}}}],["领域",{"_index":24,"t":{"2":{"position":[[78,2]]},"4":{"position":[[183,2]]},"7":{"position":[[80,2]]},"19":{"position":[[41,2],[58,2]]}}}],["额外",{"_index":833,"t":{"137":{"position":[[616,2]]},"307":{"position":[[27,2]]},"313":{"position":[[50,2]]},"501":{"position":[[140,2]]},"521":{"position":[[98,2]]},"695":{"position":[[5,2]]}}}],["风格",{"_index":2160,"t":{"651":{"position":[[213,2]]}}}],["飞",{"_index":0,"t":{"2":{"position":[[0,1]]},"13":{"position":[[9,1]]},"15":{"position":[[103,1]]},"17":{"position":[[0,1]]},"19":{"position":[[51,1],[96,1]]},"151":{"position":[[10,1]]}}}],["首先",{"_index":692,"t":{"98":{"position":[[0,2]]},"257":{"position":[[0,2]]},"261":{"position":[[65,2]]},"266":{"position":[[0,2]]},"270":{"position":[[0,2]]},"439":{"position":[[17,2]]},"712":{"position":[[126,2]]},"783":{"position":[[0,2]]}}}],["首次",{"_index":1022,"t":{"195":{"position":[[2,2]]},"333":{"position":[[10,2]]},"427":{"position":[[202,2],[240,2],[1346,2]]}}}],["首页",{"_index":2090,"t":{"600":{"position":[[22,2],[64,2],[289,2]]},"753":{"position":[[49,2],[91,2],[316,2]]}}}],["香港",{"_index":711,"t":{"98":{"position":[[348,2]]}}}],["驼峰",{"_index":2274,"t":{"703":{"position":[[436,2]]}}}],["验证",{"_index":1778,"t":{"418":{"position":[[259,2]]},"420":{"position":[[138,2],[224,2]]}}}],["高",{"_index":130,"t":{"7":{"position":[[112,1],[166,1]]},"560":{"position":[[375,1]]},"728":{"position":[[19,1],[32,1],[39,1],[63,1],[78,1],[108,1]]}}}],["高阶",{"_index":2386,"t":{"793":{"position":[[143,2]]}}}],["默认",{"_index":119,"t":{"7":{"position":[[41,2]]},"15":{"position":[[12,2],[116,2]]},"23":{"position":[[123,2]]},"37":{"position":[[20,2],[68,2]]},"41":{"position":[[4,2]]},"55":{"position":[[120,2]]},"59":{"position":[[15,2]]},"82":{"position":[[87,2]]},"100":{"position":[[320,2]]},"105":{"position":[[28,2]]},"107":{"position":[[88,2]]},"109":{"position":[[87,2]]},"113":{"position":[[52,2]]},"122":{"position":[[15,2]]},"124":{"position":[[21,2]]},"126":{"position":[[127,2]]},"131":{"position":[[69,2]]},"141":{"position":[[28,2]]},"235":{"position":[[46,2],[142,2]]},"237":{"position":[[221,2],[252,2],[431,2],[530,2],[751,2],[819,2],[918,2]]},"239":{"position":[[254,2]]},"241":{"position":[[241,2],[394,2]]},"257":{"position":[[172,2]]},"266":{"position":[[182,2]]},"295":{"position":[[65,2]]},"299":{"position":[[6,2],[563,2]]},"307":{"position":[[3,2]]},"313":{"position":[[34,2]]},"337":{"position":[[2,2]]},"339":{"position":[[95,2]]},"351":{"position":[[13,2],[78,2]]},"363":{"position":[[310,2]]},"408":{"position":[[320,2]]},"420":{"position":[[13,2]]},"429":{"position":[[0,2]]},"441":{"position":[[8,2]]},"461":{"position":[[10,2]]},"467":{"position":[[67,2]]},"477":{"position":[[65,2]]},"493":{"position":[[29,2]]},"497":{"position":[[27,2]]},"501":{"position":[[26,2]]},"517":{"position":[[39,2],[109,2]]},"519":{"position":[[44,2]]},"521":{"position":[[91,2],[395,2]]},"525":{"position":[[21,2]]},"535":{"position":[[162,2]]},"537":{"position":[[185,2]]},"545":{"position":[[0,2]]},"564":{"position":[[0,2]]},"566":{"position":[[0,2]]},"582":{"position":[[377,2]]},"612":{"position":[[0,2]]},"629":{"position":[[0,2]]},"635":{"position":[[26,2]]},"639":{"position":[[85,2]]},"649":{"position":[[40,2]]},"683":{"position":[[61,2]]},"712":{"position":[[18,2],[70,2],[94,2],[112,2]]},"714":{"position":[[287,2],[331,2],[385,2],[448,2]]},"728":{"position":[[69,2]]},"785":{"position":[[36,2]]},"791":{"position":[[59,2]]},"831":{"position":[[6,2]]}}}],["默认值",{"_index":323,"t":{"28":{"position":[[12,3]]},"30":{"position":[[12,3]]},"32":{"position":[[12,3]]},"34":{"position":[[27,3]]},"68":{"position":[[24,3]]},"70":{"position":[[29,3]]},"72":{"position":[[24,3]]},"124":{"position":[[11,3]]},"131":{"position":[[19,3]]},"133":{"position":[[11,3]]},"135":{"position":[[27,3]]},"167":{"position":[[20,3]]},"237":{"position":[[134,3]]},"321":{"position":[[25,3],[119,3],[171,3]]},"323":{"position":[[92,3],[214,3],[410,3]]},"477":{"position":[[34,3]]},"479":{"position":[[58,3]]},"481":{"position":[[36,3]]},"483":{"position":[[67,3]]},"485":{"position":[[25,3]]},"487":{"position":[[10,3]]},"489":{"position":[[35,3]]},"491":{"position":[[41,3]]},"493":{"position":[[10,3]]},"495":{"position":[[25,3]]},"497":{"position":[[11,3]]},"499":{"position":[[35,3]]},"501":{"position":[[19,3]]},"503":{"position":[[79,3]]},"505":{"position":[[29,3]]},"507":{"position":[[81,3]]},"509":{"position":[[26,3]]},"511":{"position":[[26,3]]},"513":{"position":[[128,3]]},"515":{"position":[[96,3]]},"517":{"position":[[20,3]]},"521":{"position":[[60,3]]},"523":{"position":[[58,3]]},"525":{"position":[[11,3]]},"527":{"position":[[20,3]]},"529":{"position":[[40,3]]},"531":{"position":[[11,3]]},"533":{"position":[[42,3]]},"535":{"position":[[146,3]]},"537":{"position":[[30,3]]}}}],["默认设置",{"_index":1258,"t":{"237":{"position":[[88,4]]}}}],["默认页",{"_index":2384,"t":{"783":{"position":[[139,3]]}}}]],"pipeline":["stemmer"]}}] \ No newline at end of file diff --git a/search/index.html b/search/index.html index 9fcab6fc08..ae38626712 100644 --- a/search/index.html +++ b/search/index.html @@ -3,14 +3,14 @@ -搜索文档 - - +搜索文档 + +
- - +

搜索文档

+ + \ No newline at end of file diff --git a/sitemap.xml b/sitemap.xml index 5437a0b7e1..17373be089 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -1 +1 @@ -https://v3.ice.work/componentweekly0.5https://v3.ice.work/docs/guide/advanceweekly0.5https://v3.ice.work/docs/icestarkweekly0.5https://v3.ice.work/docs/materialsweekly0.5https://v3.ice.work/searchweekly0.5https://v3.ice.work/docs/guide/aboutweekly0.5https://v3.ice.work/docs/guide/advanced/antdweekly0.5https://v3.ice.work/docs/guide/advanced/authweekly0.5https://v3.ice.work/docs/guide/advanced/code-splittingweekly0.5https://v3.ice.work/docs/guide/advanced/css-assets-localweekly0.5https://v3.ice.work/docs/guide/advanced/deployweekly0.5https://v3.ice.work/docs/guide/advanced/faasweekly0.5https://v3.ice.work/docs/guide/advanced/fusionweekly0.5https://v3.ice.work/docs/guide/advanced/i18nweekly0.5https://v3.ice.work/docs/guide/advanced/icestarkweekly0.5https://v3.ice.work/docs/guide/advanced/integrate-from-raxweekly0.5https://v3.ice.work/docs/guide/advanced/jsx-plusweekly0.5https://v3.ice.work/docs/guide/advanced/keep-aliveweekly0.5https://v3.ice.work/docs/guide/advanced/micro-frontendsweekly0.5https://v3.ice.work/docs/guide/advanced/rax-compatweekly0.5https://v3.ice.work/docs/guide/advanced/requestweekly0.5https://v3.ice.work/docs/guide/advanced/storeweekly0.5https://v3.ice.work/docs/guide/advanced/unit-testweekly0.5https://v3.ice.work/docs/guide/advanced/update-from-icejs2weekly0.5https://v3.ice.work/docs/guide/basic/apiweekly0.5https://v3.ice.work/docs/guide/basic/appweekly0.5https://v3.ice.work/docs/guide/basic/appearweekly0.5https://v3.ice.work/docs/guide/basic/assetsweekly0.5https://v3.ice.work/docs/guide/basic/cliweekly0.5https://v3.ice.work/docs/guide/basic/configweekly0.5https://v3.ice.work/docs/guide/basic/data-loaderweekly0.5https://v3.ice.work/docs/guide/basic/developmentweekly0.5https://v3.ice.work/docs/guide/basic/directoryweekly0.5https://v3.ice.work/docs/guide/basic/documentweekly0.5https://v3.ice.work/docs/guide/basic/envweekly0.5https://v3.ice.work/docs/guide/basic/mockweekly0.5https://v3.ice.work/docs/guide/basic/pageweekly0.5https://v3.ice.work/docs/guide/basic/routerweekly0.5https://v3.ice.work/docs/guide/basic/ssgweekly0.5https://v3.ice.work/docs/guide/basic/ssrweekly0.5https://v3.ice.work/docs/guide/basic/styleweekly0.5https://v3.ice.work/docs/guide/miniapp/apiweekly0.5https://v3.ice.work/docs/guide/miniapp/app-configweekly0.5https://v3.ice.work/docs/guide/miniapp/component-useweekly0.5https://v3.ice.work/docs/guide/miniapp/native-lifecycle-eventsweekly0.5https://v3.ice.work/docs/guide/miniapp/project-configweekly0.5https://v3.ice.work/docs/guide/miniapp/routerweekly0.5https://v3.ice.work/docs/guide/miniapp/startweekly0.5https://v3.ice.work/docs/guide/miniapp/use-htmlweekly0.5https://v3.ice.work/docs/guide/plugins/plugin-devweekly0.5https://v3.ice.work/docs/guide/plugins/plugin-listweekly0.5https://v3.ice.work/docs/guide/practiceweekly0.5https://v3.ice.work/docs/guide/startweekly0.5https://v3.ice.work/weekly0.5 \ No newline at end of file +https://v3.ice.work/componentweekly0.5https://v3.ice.work/docs/guide/advanceweekly0.5https://v3.ice.work/docs/icestarkweekly0.5https://v3.ice.work/docs/materialsweekly0.5https://v3.ice.work/searchweekly0.5https://v3.ice.work/docs/guide/aboutweekly0.5https://v3.ice.work/docs/guide/advanced/antdweekly0.5https://v3.ice.work/docs/guide/advanced/authweekly0.5https://v3.ice.work/docs/guide/advanced/code-splittingweekly0.5https://v3.ice.work/docs/guide/advanced/css-assets-localweekly0.5https://v3.ice.work/docs/guide/advanced/deployweekly0.5https://v3.ice.work/docs/guide/advanced/faasweekly0.5https://v3.ice.work/docs/guide/advanced/fusionweekly0.5https://v3.ice.work/docs/guide/advanced/i18nweekly0.5https://v3.ice.work/docs/guide/advanced/icestarkweekly0.5https://v3.ice.work/docs/guide/advanced/integrate-from-raxweekly0.5https://v3.ice.work/docs/guide/advanced/jsx-plusweekly0.5https://v3.ice.work/docs/guide/advanced/keep-aliveweekly0.5https://v3.ice.work/docs/guide/advanced/micro-frontendsweekly0.5https://v3.ice.work/docs/guide/advanced/rax-compatweekly0.5https://v3.ice.work/docs/guide/advanced/requestweekly0.5https://v3.ice.work/docs/guide/advanced/storeweekly0.5https://v3.ice.work/docs/guide/advanced/unit-testweekly0.5https://v3.ice.work/docs/guide/advanced/unocssweekly0.5https://v3.ice.work/docs/guide/advanced/update-from-icejs2weekly0.5https://v3.ice.work/docs/guide/basic/apiweekly0.5https://v3.ice.work/docs/guide/basic/appweekly0.5https://v3.ice.work/docs/guide/basic/appearweekly0.5https://v3.ice.work/docs/guide/basic/assetsweekly0.5https://v3.ice.work/docs/guide/basic/cliweekly0.5https://v3.ice.work/docs/guide/basic/configweekly0.5https://v3.ice.work/docs/guide/basic/data-loaderweekly0.5https://v3.ice.work/docs/guide/basic/developmentweekly0.5https://v3.ice.work/docs/guide/basic/directoryweekly0.5https://v3.ice.work/docs/guide/basic/documentweekly0.5https://v3.ice.work/docs/guide/basic/envweekly0.5https://v3.ice.work/docs/guide/basic/mockweekly0.5https://v3.ice.work/docs/guide/basic/pageweekly0.5https://v3.ice.work/docs/guide/basic/routerweekly0.5https://v3.ice.work/docs/guide/basic/ssgweekly0.5https://v3.ice.work/docs/guide/basic/ssrweekly0.5https://v3.ice.work/docs/guide/basic/styleweekly0.5https://v3.ice.work/docs/guide/miniapp/apiweekly0.5https://v3.ice.work/docs/guide/miniapp/app-configweekly0.5https://v3.ice.work/docs/guide/miniapp/component-useweekly0.5https://v3.ice.work/docs/guide/miniapp/native-lifecycle-eventsweekly0.5https://v3.ice.work/docs/guide/miniapp/project-configweekly0.5https://v3.ice.work/docs/guide/miniapp/routerweekly0.5https://v3.ice.work/docs/guide/miniapp/startweekly0.5https://v3.ice.work/docs/guide/miniapp/use-htmlweekly0.5https://v3.ice.work/docs/guide/plugins/plugin-devweekly0.5https://v3.ice.work/docs/guide/plugins/plugin-listweekly0.5https://v3.ice.work/docs/guide/practiceweekly0.5https://v3.ice.work/docs/guide/startweekly0.5https://v3.ice.work/weekly0.5 \ No newline at end of file