{"componentChunkName":"component---node-modules-narative-gatsby-theme-novela-src-templates-article-template-tsx","path":"/2020-05-27-about-the-source-dot-zshrc-command","result":{"pageContext":{"article":{"id":"4376a9fd-e032-59e5-bbb7-3a99f3c4c2ea","slug":"/2020-05-27-about-the-source-dot-zshrc-command","secret":false,"title":"Source 命令踩坑小记","author":"Bryan Lee","date":"May 27th, 2020","dateForSEO":"2020-05-27T00:00:00.000Z","timeToRead":1,"excerpt":"至此，情况已经非常清晰明了，在启用 Powerlevel10k 的情况下，运行 `source ~/.zshrc` 命令会让 zsh-autosuggestion 插件出现问题：光标后提供的补全提示显示为白色，而不是[默认设置][]的颜色——灰色。","canonical_url":null,"subscription":true,"body":"function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/* @jsxRuntime classic */\n\n/* @jsx mdx */\nvar _frontmatter = {\n  \"title\": \"Source 命令踩坑小记\",\n  \"slug\": \"2020-05-27-about-the-source-dot-zshrc-command\",\n  \"author\": \"Bryan Lee\",\n  \"date\": \"2020-05-27T00:00:00.000Z\",\n  \"hero\": \"./images/hero.jpeg\",\n  \"excerpt\": \"至此，情况已经非常清晰明了，在启用 Powerlevel10k 的情况下，运行 `source ~/.zshrc` 命令会让 zsh-autosuggestion 插件出现问题：光标后提供的补全提示显示为白色，而不是[默认设置][]的颜色——灰色。\",\n  \"tags\": [\"Oh My ZSH\", \"Powerlevel10k\", \"zsh-autosuggestions\"]\n};\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n      props = _objectWithoutProperties(_ref, [\"components\"]);\n\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"h2\", {\n    \"id\": \"前情介绍\"\n  }, \"\\u524D\\u60C5\\u4ECB\\u7ECD\"), mdx(\"p\", null, \"\\u8FD9\\u4E24\\u5929\\u5076\\u7136\\u53D1\\u73B0\\u4E86\\u4E00\\u4E2A\\u95EE\\u9898\\uFF0C\\u5728 \", mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"https://github.com/gnachman/iTerm2\",\n    \"title\": \"iTerm2 的 repository\",\n    \"target\": \"_blank\",\n    \"rel\": \"noreferrer\"\n  }), \"iTerm2\"), \" + \", mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"https://github.com/ohmyzsh/ohmyzsh\",\n    \"title\": \"Oh My ZSH 的 repository\",\n    \"target\": \"_blank\",\n    \"rel\": \"noreferrer\"\n  }), \"Oh My ZSH\"), \" \\u73AF\\u5883\\u4E0B\\uFF0C\\u8FD0\\u884C \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"source ~/.zshrc\"), \" \\u547D\\u4EE4\\u4E4B\\u540E\\u4F1A\\u5BFC\\u81F4 \", mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"https://github.com/zsh-users/zsh-autosuggestions\",\n    \"title\": \"zsh-autosuggestions 的 repository\",\n    \"target\": \"_blank\",\n    \"rel\": \"noreferrer\"\n  }), \"zsh-autosuggestions\"), \" \\u63D2\\u4EF6\\u51FA\\u73B0\\u4E00\\u4E9B\\u8089\\u773C\\u53EF\\u89C1\\u7684\\u95EE\\u9898\\uFF0C\\u6309\\u7167 zsh-autosuggestions \\u63D2\\u4EF6\\u7684\", mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"https://github.com/zsh-users/zsh-autosuggestions#usage\",\n    \"title\": \"zsh-autosuggestions 功能说明部分的文档\",\n    \"target\": \"_blank\",\n    \"rel\": \"noreferrer\"\n  }), \"\\u6587\\u6863\\u63CF\\u8FF0\"), \"\\uFF1A\"), mdx(\"blockquote\", null, mdx(\"p\", {\n    parentName: \"blockquote\"\n  }, \"As you type commands, you will see a completion offered after the cursor in a muted gray color.\")), mdx(\"p\", null, \"\\u5373\\u201C\\u5F53\\u4F60\\u952E\\u5165\\u547D\\u4EE4\\u65F6\\uFF0C\\u5C06\\u4F1A\\u770B\\u5230\\u5149\\u6807\\u540E\\u63D0\\u4F9B\\u7684\\u8865\\u5168\\u63D0\\u793A\\u663E\\u793A\\u4E3A\\u9759\\u9ED8\\u7684\\u7070\\u8272\\u201D\\uFF0C\\u4E0D\\u8FC7\\u5F53\\u6211\\u8FD0\\u884C \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"source ~/.zshrc\"), \" \\u4EE5\\u540E\\uFF0C\\u5149\\u6807\\u540E\\u63D0\\u4F9B\\u7684\\u8865\\u5168\\u63D0\\u793A\\u5374\\u663E\\u793A\\u4E3A\\u767D\\u8272\\uFF0C\\u4E0E\\u5149\\u6807\\u524D\\u5DF2\\u7ECF\\u8F93\\u5165\\u7684\\u547D\\u4EE4\\u90E8\\u5206\\u76F8\\u540C\\uFF0C\\u8BA9\\u4EBA\\u96BE\\u4EE5\\u533A\\u5206\\u3002\"), mdx(\"h2\", {\n    \"id\": \"排查过程\"\n  }, \"\\u6392\\u67E5\\u8FC7\\u7A0B\"), mdx(\"p\", null, \"\\u53D1\\u73B0\\u95EE\\u9898\\u540E\\uFF0C\\u6211\\u7B2C\\u4E00\\u65F6\\u95F4\\u53BB\\u5230 zsh-autosuggestions \\u7684 repo\\uFF0C\\u67E5\\u627E\\u76F8\\u5173 issue\\uFF0C\\u5374\\u6CA1\\u6709\\u4EFB\\u4F55\\u6536\\u83B7\\uFF08\\u5B9E\\u9645\\u4E0A\\u6709\\u4E00\\u4E2A\\u5173\\u4E8E\\u6B64\\u95EE\\u9898\\u7684 \", mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"https://github.com/zsh-users/zsh-autosuggestions/issues/516\",\n    \"title\": \"ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE changes after source\",\n    \"target\": \"_blank\",\n    \"rel\": \"noreferrer\"\n  }), \"issue#516\"), \"\\uFF0C\\u4F46\\u662F\\u6211\\u6CA1\\u627E\\u5BF9\\u5173\\u952E\\u8BCD\\uFF09\\u3002\\u57FA\\u4E8E\\u6B64\\uFF0C\\u6211\\u4FBF\\u6574\\u7406\\u4E86\\u4E00\\u4E0B\\uFF0C\\u81EA\\u5DF1\\u63D0\\u4E86\\u4E00\\u4E2A \", mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"https://github.com/zsh-users/zsh-autosuggestions/issues/538\",\n    \"title\": \"The color of the automatic prompt is incorrect\",\n    \"target\": \"_blank\",\n    \"rel\": \"noreferrer\"\n  }), \"issue#538\"), \"\\u3002\"), mdx(\"p\", null, \"zsh-autosuggestions \\u7684\\u4F5C\\u8005 \", mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"https://github.com/ericfreese\",\n    \"title\": \"ericfreese 的 GitHub 主页\",\n    \"target\": \"_blank\",\n    \"rel\": \"noreferrer\"\n  }), \"ericfreese\"), \" \\u56DE\\u590D\\u6211\\u8BF4\\uFF1A\\u6709\\u4EBA\\u63D0\\u4E86\\u4E00\\u4E2A\\u76F8\\u540C\\u7684 issue\\uFF0C\\u53EF\\u4EE5\\u770B\\u4E00\\u4E0B\\u3002\\u5B9E\\u9645\\u4E0A\\uFF0Cericfreese \\u672C\\u4EBA\\u5728\\u91CC\\u9762\\u7684\\u56DE\\u590D\\u4E5F\\u6BD4\\u8F83\\u7B80\\u77ED\\uFF1A\"), mdx(\"blockquote\", null, mdx(\"p\", {\n    parentName: \"blockquote\"\n  }, \"I don\\u2019t know what exactly is going on here but it\\u2019s generally not a good idea to source your .zshrc additional times. If you\\u2019ve made changes to the file, try exec zsh instead.\")), mdx(\"p\", null, \"\\u5927\\u610F\\u662F\\u8BF4 ericfreese \\u81EA\\u5DF1\\u4E5F\\u4E0D\\u6E05\\u695A\\u8FD9\\u662F\\u4EC0\\u4E48\\u539F\\u56E0\\u9020\\u6210\\u7684\\uFF0C\\u4F46\\u4ED6\\u8BA4\\u4E3A\\u5982\\u679C\\u60F3\\u8981\\u5BF9 \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \".zshrc\"), \" \\u6587\\u4EF6\\u7684\\u4FEE\\u6539\\u751F\\u6548\\uFF0C\\u90A3\\u4E48\\u6700\\u597D\\u4E0D\\u8981\\u4F7F\\u7528 \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"source ~/.zshrc\"), \" \\u547D\\u4EE4\\uFF0C \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"exec zsh\"), \" \\u547D\\u4EE4\\u662F\\u66F4\\u597D\\u7684\\u9009\\u62E9\\u3002\"), mdx(\"p\", null, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"\\u6CE8\\u610F\"), \"\\uFF1A\\u5728\\u6211\\u8FD9\\u91CC\\u7684\\u60C5\\u51B5\\u662F\\uFF0C\\u8FD0\\u884C \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"exec zsh\"), \" \\u540E zsh-autosuggestions \\u63D2\\u4EF6\\u786E\\u5B9E\\u53EF\\u4EE5\\u6B63\\u5E38\\u5DE5\\u4F5C\\uFF0C\\u6CA1\\u6709\\u4EFB\\u4F55\\u663E\\u793A\\u4E0A\\u7684\\u95EE\\u9898\\uFF1B\\u4E0D\\u8FC7\\u53EA\\u8981\\u540E\\u7EED\\u8FD0\\u884C\\u4E86 \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"source ~/.zshrc\"), \" \\u547D\\u4EE4\\uFF0C\\u4F9D\\u65E7\\u4F1A\\u8BA9 zsh-autosuggestions \\u7684\\u529F\\u80FD\\u51FA\\u73B0\\u95EE\\u9898\\uFF1A\\u5149\\u6807\\u540E\\u63D0\\u4F9B\\u7684\\u8865\\u5168\\u63D0\\u793A\\u663E\\u793A\\u4E3A\\u767D\\u8272\\u3002\"), mdx(\"p\", null, \"\\u4E0E\\u6B64\\u540C\\u65F6\\u6211\\u4E5F\\u901A\\u8FC7\\u8FD9\\u4E2A issue \\u53D1\\u73B0\\u4E86\\u4E00\\u4E2A\\u5171\\u901A\\u70B9\\uFF0C\\u90A3\\u5C31\\u662F\\u9047\\u5230\\u76F8\\u540C\\u95EE\\u9898\\u7684\\u6211\\u4EEC\\u90FD\\u4E0D\\u7EA6\\u800C\\u540C\\u5730\\u4F7F\\u7528\\u4E86 \", mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"https://github.com/romkatv/powerlevel10k\",\n    \"title\": \"Powerlevel10k 的 repository\",\n    \"target\": \"_blank\",\n    \"rel\": \"noreferrer\"\n  }), \"Powerlevel10k\"), \"\\uFF0C\\u4E00\\u4E2A zsh \\u4E3B\\u9898\\uFF1B\\u6211\\u4FBF\\u8BD5\\u7740\\u5C06\\u5B83\\u7981\\u7528\\u6389\\uFF0C\\u5728\\u8FD9\\u4E4B\\u540E\\u5C1D\\u8BD5\\u8FD0\\u884C \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"source ~/.zshrc\"), \" \\u547D\\u4EE4\\uFF0C\\u7ED3\\u679C\\u5C31\\u662F\\u65E0\\u8BBA\\u8FD0\\u884C\\u591A\\u5C11\\u6B21\\uFF0C\\u5149\\u6807\\u540E\\u63D0\\u4F9B\\u7684\\u8865\\u5168\\u63D0\\u793A\\u7686\\u6B63\\u5E38\\u663E\\u793A\\u4E3A\\u9759\\u9ED8\\u7684\\u7070\\u8272\\uFF0C\\u5373 zsh-autosuggestion \\u63D2\\u4EF6\\u6B63\\u5E38\\u5DE5\\u4F5C\\uFF0C\\u6CA1\\u6709\\u51FA\\u73B0\\u663E\\u793A\\u4E0A\\u7684\\u95EE\\u9898\\u3002\"), mdx(\"p\", null, \"\\u81F3\\u6B64\\uFF0C\\u60C5\\u51B5\\u5DF2\\u7ECF\\u975E\\u5E38\\u6E05\\u6670\\u660E\\u4E86\\uFF0C\\u5728\\u542F\\u7528 Powerlevel10k \\u7684\\u60C5\\u51B5\\u4E0B\\uFF0C\\u8FD0\\u884C \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"source ~/.zshrc\"), \" \\u547D\\u4EE4\\u4F1A\\u8BA9 zsh-autosuggestion \\u63D2\\u4EF6\\u51FA\\u73B0\\u95EE\\u9898\\uFF1A\\u5149\\u6807\\u540E\\u63D0\\u4F9B\\u7684\\u8865\\u5168\\u63D0\\u793A\\u663E\\u793A\\u4E3A\\u767D\\u8272\\uFF0C\\u800C\\u4E0D\\u662F\", mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"https://github.com/zsh-users/zsh-autosuggestions/blob/0d3bbaf8e6eee660190a4bb1158a60ea6d39374c/src/config.zsh#L10\",\n    \"title\": \"高亮显示建议时使用的默认颜色在这里定义\",\n    \"target\": \"_blank\",\n    \"rel\": \"noreferrer\"\n  }), \"\\u9ED8\\u8BA4\\u8BBE\\u7F6E\"), \"\\u7684\\u989C\\u8272\\u2014\\u2014\\u7070\\u8272\\u3002\"), mdx(\"p\", null, \"\\u56E0\\u6B64\\uFF0C\\u6211\\u5728 issue \\u4E2D @ \\u4E86 Powerlevel10k \\u7684\\u4F5C\\u8005 \", mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"https://github.com/romkatv\",\n    \"title\": \"romkatv 的 GitHub 主页\",\n    \"target\": \"_blank\",\n    \"rel\": \"noreferrer\"\n  }), \"romkatv\"), \"\\uFF0C\\u5E76\\u5C1D\\u8BD5\\u5411\\u4ED6\\u9610\\u8FF0\\u6574\\u4EF6\\u4E8B\\u60C5\\u7684\\u7ECF\\u8FC7\\u4E0E\\u6211\\u7684\\u89C2\\u70B9\\uFF0C\\u6211\\u4EEC\\u7684\\u8BA8\\u8BBA\\u5185\\u5BB9\\u5F88\\u7B80\\u5355\\uFF0C\\u4E0D\\u8FC7\\u56E0\\u4E3A\\u610F\\u89C1\\u76F8\\u5DE6\\uFF0C\\u6574\\u6574\\u4E00\\u4E2A\\u9875\\u9762\\u7684\\u697C\\u5C42\\u90FD\\u662F\\u6211\\u4EEC\\u4E89\\u8BBA\\u7684\\u5185\\u5BB9\\uFF0C\\u5982\\u679C\\u4F60\\u6709\\u5174\\u8DA3\\u7684\\u8BDD\\uFF0C\\u53EF\\u4EE5\\u5728\\u8FD9\\u4E2A \", mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"https://github.com/zsh-users/zsh-autosuggestions/issues/538\",\n    \"title\": \"The color of the automatic prompt is incorrect\",\n    \"target\": \"_blank\",\n    \"rel\": \"noreferrer\"\n  }), \"issue#538\"), \" \\u4E2D\\u770B\\u5230\\u5168\\u90E8\\u7684\\u5185\\u5BB9\\u3002\"), mdx(\"p\", null, \"TL;DR. \\u6211\\u76F8\\u4FE1\\u5927\\u90E8\\u5206\\u4EBA\\u90FD\\u6CA1\\u6709\\u8FD9\\u4E2A\\u8010\\u5FC3\\u770B\\u5B8C\\uFF0C\\u90A3\\u6211\\u5C3D\\u53EF\\u80FD\\u5730\\u957F\\u8BDD\\u77ED\\u8BF4\\uFF1A\"), mdx(\"ol\", null, mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, \"romkatv\\uFF1A\\u5982\\u679C\\u60F3\\u8981\\u91CD\\u65B0\\u52A0\\u8F7D zsh\\uFF0C \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"exec zsh\"), \" \\u547D\\u4EE4\\u8DB3\\u4EE5\\uFF0C\\u4E14\\u5B57\\u6570\\u66F4\\u5C11\\u3002\"), mdx(\"p\", {\n    parentName: \"li\"\n  }, \"\\u6211\\uFF1A\\u6BD4\\u8F83\\u60F3\\u77E5\\u9053\\u4E3A\\u4EC0\\u4E48 \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"source ~/.zshrc\"), \" \\u4E0E Powerlevel10k \\u4E0D\\u517C\\u5BB9\\u3002\")), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, \"romkatv\\uFF1A \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"source ~/.zshrc\"), \" \\u547D\\u4EE4\\u7684\\u539F\\u7406\\u5C31\\u5B58\\u5728\\u7F3A\\u9677\\uFF0C\\u4E0E\\u5176\\u95EE\\u5B83\\u4E3A\\u4EC0\\u4E48\\u4F1A\\u51FA\\u73B0\\u95EE\\u9898\\uFF0C\\u4E0D\\u5982\\u95EE\\u95EE\\u81EA\\u5DF1\\u4E3A\\u4EC0\\u4E48\\u975E\\u8981\\u7528\\u5B83\\u3002\"), mdx(\"p\", {\n    parentName: \"li\"\n  }, \"\\u6211\\uFF1A\\u53EF\\u662F\\u901A\\u8FC7\\u63A7\\u5236\\u53D8\\u91CF\\u6CD5\\u53EF\\u4EE5\\u5F88\\u5BB9\\u6613\\u5730\\u770B\\u51FA\\u662F Powerlevel10k \\u5F15\\u8D77\\u7684\\u51B2\\u7A81\\uFF0C\\u4E0D\\u542F\\u7528 Powerlevel10k \\u7684\\u8BDD\\uFF0C\\u8FD0\\u884C\\u591A\\u5C11\\u6B21 \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"source ~/.zshrc\"), \" \\u90FD\\u4E0D\\u4F1A\\u8BA9 zsh-autosuggestions \\u63D2\\u4EF6\\u51FA\\u95EE\\u9898\\u3002\")), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, \"romkatv\\uFF1A\\u4F60\\u9519\\u4E86\\uFF0C\\u7C7B\\u6BD4\\u4E00\\u4E0B\\uFF1A\\u300C\\u671D\\u81EA\\u5DF1\\u7684\\u811A\\u5F00\\u67AA\\u4F1A\\u5F88\\u75DB\\uFF0C\\u89E3\\u51B3\\u65B9\\u6848\\u5F88\\u7B80\\u5355\\uFF1A\\u4E0D\\u8981\\u90A3\\u6837\\u505A\\u300D\\uFF0C\\u6CA1\\u6709\\u4EC0\\u4E48\\u7406\\u7531\\u975E\\u8981\\u4F7F\\u7528 \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"source ~/.zshrc\"), \" \\u4E0D\\u53EF\\uFF0C\\u6240\\u4EE5\\u4E0D\\u7528\\u662F\\u6700\\u597D\\u7684\\u3002\"), mdx(\"p\", {\n    parentName: \"li\"\n  }, \"\\u6211\\uFF1A\\u6211\\u4EEC\\u4E0D\\u8981\\u7EA0\\u7ED3 \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"source ~/.zshrc\"), \" \\u6709\\u591A\\u7CDF\\u7CD5\\uFF0C\\u4F1A\\u9020\\u6210\\u54EA\\u4E9B\\u9690\\u60A3\\uFF0C\\u5355\\u5C31 zsh-autosuggestions \\u63D2\\u4EF6\\u51FA\\u73B0\\u7684\\u95EE\\u9898\\u6765\\u770B\\uFF0CPowerlevel10k \\u7684\\u539F\\u56E0\\u591A\\u4E00\\u4E9B\\uFF0C\\u5C06\\u8FD9\\u4E2A\\u95EE\\u9898\\u7B80\\u5355\\u7C97\\u66B4\\u5730\\u5F52\\u548E\\u4E8E \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"source ~/.zshrc\"), \" \\u662F\\u4E0D\\u8D1F\\u8D23\\u4EFB\\u7684\\u3002\")), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, \"romkatv\\uFF1A \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"source ~/.zshrc\"), \" \\u5C31\\u4E0D\\u5E94\\u8BE5\\u7528\\u4E8E\\u91CD\\u8F7D zsh\\uFF0C\\u4E0D\\u8981\\u5BF9\\u5B83\\u62B1\\u6709\\u4EFB\\u4F55\\u671F\\u671B\\uFF0C\\u5B83\\u7684\\u884C\\u4E3A\\u4E0D\\u53EF\\u6349\\u6478\\uFF0C\\u53D1\\u751F\\u4EC0\\u4E48\\u9519\\u8BEF\\u90FD\\u6709\\u53EF\\u80FD\\uFF0C\\u56E0\\u6B64\\u4F7F\\u7528 \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"exec zsh\"), \" \\u624D\\u662F\\u6B63\\u786E\\u7684\\u3002\"), mdx(\"p\", {\n    parentName: \"li\"\n  }, \"\\u6211\\uFF1A\\u90A3\\u6211\\u660E\\u767D\\u4F60\\u7684\\u610F\\u601D\\u4E86\\uFF0C\\u4F60\\u8BA4\\u4E3A\\u7EA0\\u7ED3 \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"source ~/.zshrc\"), \" \\u4E3A\\u4EC0\\u4E48\\u4F1A\\u51FA\\u95EE\\u9898\\u6CA1\\u6709\\u610F\\u4E49\\uFF0C\\u4E0D\\u5982\\u4E00\\u5F00\\u59CB\\u5C31\\u4E0D\\u53BB\\u4F7F\\u7528\\u5B83\\u3002\")), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, \"romkatv\\uFF1A\\u6CA1\\u9519\\uFF0C\\u6216\\u8BB8\\u6709\\u4EBA\\u4F1A\\u597D\\u5947\\u4E3A\\u4EC0\\u4E48 \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"source ~/.zshrc\"), \" \\u4E3A\\u4EC0\\u4E48\\u4F1A\\u51FA\\u73B0\\u8FD9\\u6837\\u6216\\u90A3\\u6837\\u7684\\u95EE\\u9898\\uFF0C\\u5E76\\u5C1D\\u8BD5\\u53BB\\u4FEE\\u590D\\u6B64\\u7C7B\\u95EE\\u9898\\u6216\\u51CF\\u514D\\u95EE\\u9898\\u53D1\\u751F\\u7684\\u51E0\\u7387\\uFF1B\\u4F46\\u5B9E\\u9645\\u4E0A\\u8FD9\\u6837\\u505A\\u662F\\u5728\\u6D6A\\u8D39\\u65F6\\u95F4\\uFF0C\\u662F\\u6BEB\\u65E0\\u610F\\u4E49\\u7684\\u884C\\u4E3A\\u3002\"))), mdx(\"h2\", {\n    \"id\": \"做个总结\"\n  }, \"\\u505A\\u4E2A\\u603B\\u7ED3\"), mdx(\"p\", null, \"\\u56AF\\uFF0C\\u597D\\u50CF\\u5373\\u4FBF\\u662F\\u7B80\\u5355\\u5199\\u4E2A\\u6982\\u8981\\u4E5F\\u5360\\u4E86\\u6781\\u5927\\u7BC7\\u8BFB\\uFF1B\\u5B9E\\u9645\\u4E0A\\u6211\\u4E0E romkatv \\u7684\\u89C2\\u70B9\\u5DEE\\u5F02\\u662F\\u6839\\u672C\\u4E0A\\u7684\\u8BA4\\u77E5\\u4E0D\\u540C\\uFF1A\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, \"\\u6211\\uFF1A\\u4E0D\\u542F\\u7528 Powerlevel10k\\uFF0C \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"source ~/.zshrc\"), \" \\u547D\\u4EE4\\u5E76\\u6CA1\\u6709\\u8BA9 zsh-autosuggestions \\u63D2\\u4EF6\\u51FA\\u73B0\\u95EE\\u9898\\uFF0C\\u4E00\\u65E6\\u542F\\u7528 Powerlevel10k\\uFF0C\\u518D\\u8FD0\\u884C \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"source ~/.zshrc\"), \" \\u7684\\u8BDD zsh-autosuggestions \\u63D2\\u4EF6\\u5C31\\u51FA\\u95EE\\u9898\\u4E86\\uFF0C\\u8FD9\\u4E4B\\u95F4\\u5230\\u5E95\\u53D1\\u751F\\u4E86\\u4EC0\\u4E48\\uFF1F\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, \"romkatv\\uFF1A \\u5982\\u679C\\u60F3\\u8981\\u91CD\\u8F7D zsh\\uFF0C \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"exec zsh\"), \" \\u662F\\u6700\\u4F18\\u9009\\uFF0C\", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"source ~/.zshrc\"), \" \\u9690\\u60A3\\u8F83\\u591A\\uFF0C\\u662F\\u4E2A\\u5B9A\\u65F6\\u70B8\\u5F39\\uFF0C\\u6781\\u4E0D\\u63A8\\u8350\\uFF1B\\u81F3\\u4E8E\\u7EA0\\u7ED3\\u5B83\\u4E3A\\u4EC0\\u4E48\\u4F1A\\u8DDF Powerlevel10k \\u4EA7\\u751F\\u51B2\\u7A81\\uFF1F\\u7B54\\u6848\\u5F88\\u7B80\\u5355\\uFF1A\\u4E0D\\u53BB\\u4F7F\\u7528 \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"source ~/.zshrc\"), \" \\u5C31\\u6C38\\u8FDC\\u4E5F\\u6CA1\\u6709\\u8FD9\\u4E2A\\u95EE\\u9898\\u3002\"))));\n}\n;\nMDXContent.isMDXComponent = true;","hero":{"full":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAFwABAQEBAAAAAAAAAAAAAAAABAADBf/EABUBAQEAAAAAAAAAAAAAAAAAAAME/9oADAMBAAIQAxAAAAEm7zrPxZUVP//EABoQAAMBAAMAAAAAAAAAAAAAAAECEgMAERP/2gAIAQEAAQUCujC9aAB/FQNQF4zCv//EABgRAQEAAwAAAAAAAAAAAAAAAAEAAxEi/9oACAEDAQE/AUB5jIav/8QAGBEAAgMAAAAAAAAAAAAAAAAAABEBAjH/2gAIAQIBAT8Bb0mp/8QAGhAAAgMBAQAAAAAAAAAAAAAAAAERIVEiQf/aAAgBAQAGPwJR7pakoo0fKP/EABsQAQACAgMAAAAAAAAAAAAAAAEAESFBMVFx/9oACAEBAAE/IQjPKrhyB9EYBogSYAwwa6VCFu3P/9oADAMBAAIAAwAAABBQL//EABcRAAMBAAAAAAAAAAAAAAAAAAABETH/2gAIAQMBAT8QWskin//EABgRAQEAAwAAAAAAAAAAAAAAAAEAESFB/9oACAECAQE/EBDuTOr/xAAbEAEAAwADAQAAAAAAAAAAAAABABEhMUGRUf/aAAgBAQABPxCrM2S48g7JcHSvYq4Qxb2upyDBQVv2L1asmh8hwYKaWf/Z","aspectRatio":1.5031847133757963,"src":"/static/730f1c48e049304c0d0cd68f1d0e3d28/58fe7/hero.jpg","srcSet":"/static/730f1c48e049304c0d0cd68f1d0e3d28/e0f30/hero.jpg 236w,\n/static/730f1c48e049304c0d0cd68f1d0e3d28/86afd/hero.jpg 472w,\n/static/730f1c48e049304c0d0cd68f1d0e3d28/58fe7/hero.jpg 944w,\n/static/730f1c48e049304c0d0cd68f1d0e3d28/02748/hero.jpg 1416w,\n/static/730f1c48e049304c0d0cd68f1d0e3d28/5c241/hero.jpg 1888w,\n/static/730f1c48e049304c0d0cd68f1d0e3d28/e3277/hero.jpg 2250w","srcWebp":"/static/730f1c48e049304c0d0cd68f1d0e3d28/99fbb/hero.webp","srcSetWebp":"/static/730f1c48e049304c0d0cd68f1d0e3d28/77392/hero.webp 236w,\n/static/730f1c48e049304c0d0cd68f1d0e3d28/1f177/hero.webp 472w,\n/static/730f1c48e049304c0d0cd68f1d0e3d28/99fbb/hero.webp 944w,\n/static/730f1c48e049304c0d0cd68f1d0e3d28/4a492/hero.webp 1416w,\n/static/730f1c48e049304c0d0cd68f1d0e3d28/b0b8f/hero.webp 1888w,\n/static/730f1c48e049304c0d0cd68f1d0e3d28/d168a/hero.webp 2250w","sizes":"(max-width: 944px) 100vw, 944px"},"regular":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAFwABAQEBAAAAAAAAAAAAAAAABAADBf/EABUBAQEAAAAAAAAAAAAAAAAAAAME/9oADAMBAAIQAxAAAAEm7zrPxZUVP//EABoQAAMBAAMAAAAAAAAAAAAAAAECEgMAERP/2gAIAQEAAQUCujC9aAB/FQNQF4zCv//EABgRAQEAAwAAAAAAAAAAAAAAAAEAAxEi/9oACAEDAQE/AUB5jIav/8QAGBEAAgMAAAAAAAAAAAAAAAAAABEBAjH/2gAIAQIBAT8Bb0mp/8QAGhAAAgMBAQAAAAAAAAAAAAAAAAERIVEiQf/aAAgBAQAGPwJR7pakoo0fKP/EABsQAQACAgMAAAAAAAAAAAAAAAEAESFBMVFx/9oACAEBAAE/IQjPKrhyB9EYBogSYAwwa6VCFu3P/9oADAMBAAIAAwAAABBQL//EABcRAAMBAAAAAAAAAAAAAAAAAAABETH/2gAIAQMBAT8QWskin//EABgRAQEAAwAAAAAAAAAAAAAAAAEAESFB/9oACAECAQE/EBDuTOr/xAAbEAEAAwADAQAAAAAAAAAAAAABABEhMUGRUf/aAAgBAQABPxCrM2S48g7JcHSvYq4Qxb2upyDBQVv2L1asmh8hwYKaWf/Z","aspectRatio":1.4954128440366972,"src":"/static/730f1c48e049304c0d0cd68f1d0e3d28/1dc0b/hero.jpg","srcSet":"/static/730f1c48e049304c0d0cd68f1d0e3d28/3a5ce/hero.jpg 163w,\n/static/730f1c48e049304c0d0cd68f1d0e3d28/05730/hero.jpg 327w,\n/static/730f1c48e049304c0d0cd68f1d0e3d28/1dc0b/hero.jpg 653w,\n/static/730f1c48e049304c0d0cd68f1d0e3d28/f72c7/hero.jpg 980w,\n/static/730f1c48e049304c0d0cd68f1d0e3d28/6e4a3/hero.jpg 1306w,\n/static/730f1c48e049304c0d0cd68f1d0e3d28/e3277/hero.jpg 2250w","srcWebp":"/static/730f1c48e049304c0d0cd68f1d0e3d28/0acdf/hero.webp","srcSetWebp":"/static/730f1c48e049304c0d0cd68f1d0e3d28/ac59e/hero.webp 163w,\n/static/730f1c48e049304c0d0cd68f1d0e3d28/7660b/hero.webp 327w,\n/static/730f1c48e049304c0d0cd68f1d0e3d28/0acdf/hero.webp 653w,\n/static/730f1c48e049304c0d0cd68f1d0e3d28/75470/hero.webp 980w,\n/static/730f1c48e049304c0d0cd68f1d0e3d28/68d47/hero.webp 1306w,\n/static/730f1c48e049304c0d0cd68f1d0e3d28/d168a/hero.webp 2250w","sizes":"(max-width: 653px) 100vw, 653px"},"narrow":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAFwABAQEBAAAAAAAAAAAAAAAABAADBf/EABUBAQEAAAAAAAAAAAAAAAAAAAME/9oADAMBAAIQAxAAAAEm7zrPxZUVP//EABoQAAMBAAMAAAAAAAAAAAAAAAECEgMAERP/2gAIAQEAAQUCujC9aAB/FQNQF4zCv//EABgRAQEAAwAAAAAAAAAAAAAAAAEAAxEi/9oACAEDAQE/AUB5jIav/8QAGBEAAgMAAAAAAAAAAAAAAAAAABEBAjH/2gAIAQIBAT8Bb0mp/8QAGhAAAgMBAQAAAAAAAAAAAAAAAAERIVEiQf/aAAgBAQAGPwJR7pakoo0fKP/EABsQAQACAgMAAAAAAAAAAAAAAAEAESFBMVFx/9oACAEBAAE/IQjPKrhyB9EYBogSYAwwa6VCFu3P/9oADAMBAAIAAwAAABBQL//EABcRAAMBAAAAAAAAAAAAAAAAAAABETH/2gAIAQMBAT8QWskin//EABgRAQEAAwAAAAAAAAAAAAAAAAEAESFB/9oACAECAQE/EBDuTOr/xAAbEAEAAwADAQAAAAAAAAAAAAABABEhMUGRUf/aAAgBAQABPxCrM2S48g7JcHSvYq4Qxb2upyDBQVv2L1asmh8hwYKaWf/Z","aspectRatio":1.5,"src":"/static/730f1c48e049304c0d0cd68f1d0e3d28/eaa58/hero.jpg","srcSet":"/static/730f1c48e049304c0d0cd68f1d0e3d28/5a3ee/hero.jpg 114w,\n/static/730f1c48e049304c0d0cd68f1d0e3d28/41f8f/hero.jpg 229w,\n/static/730f1c48e049304c0d0cd68f1d0e3d28/eaa58/hero.jpg 457w,\n/static/730f1c48e049304c0d0cd68f1d0e3d28/c309b/hero.jpg 686w,\n/static/730f1c48e049304c0d0cd68f1d0e3d28/e3008/hero.jpg 914w,\n/static/730f1c48e049304c0d0cd68f1d0e3d28/e3277/hero.jpg 2250w","srcWebp":"/static/730f1c48e049304c0d0cd68f1d0e3d28/15384/hero.webp","srcSetWebp":"/static/730f1c48e049304c0d0cd68f1d0e3d28/31fce/hero.webp 114w,\n/static/730f1c48e049304c0d0cd68f1d0e3d28/e3e25/hero.webp 229w,\n/static/730f1c48e049304c0d0cd68f1d0e3d28/15384/hero.webp 457w,\n/static/730f1c48e049304c0d0cd68f1d0e3d28/0258d/hero.webp 686w,\n/static/730f1c48e049304c0d0cd68f1d0e3d28/64ea2/hero.webp 914w,\n/static/730f1c48e049304c0d0cd68f1d0e3d28/d168a/hero.webp 2250w","sizes":"(max-width: 457px) 100vw, 457px"},"seo":{"src":"/static/730f1c48e049304c0d0cd68f1d0e3d28/0ff54/hero.jpg"}}},"authors":[{"authorsPage":true,"bio":"Web Developer. Now prefer TypeScript and Rust, mainly working on UED.\n","id":"7d3dbfdc-58e9-5099-b0f3-ca98ddc04463","name":"Bryan Lee","featured":true,"social":[{"url":"https://github.com/liby"},{"url":"https://twitter.com/meetliby"}],"slug":"/authors/bryan-lee","avatar":{"small":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAUABQDASIAAhEBAxEB/8QAGAABAAMBAAAAAAAAAAAAAAAAAAMEBQL/xAAWAQEBAQAAAAAAAAAAAAAAAAACAwH/2gAMAwEAAhADEAAAAe5VadK7YMR0wPUBz//EABwQAAMBAAIDAAAAAAAAAAAAAAECAwAEEhEhMv/aAAgBAQABBQKXVcWnTBnnrwHYIGI40tRj5j9A+v/EABQRAQAAAAAAAAAAAAAAAAAAACD/2gAIAQMBAT8BH//EABgRAAIDAAAAAAAAAAAAAAAAAAABEBFR/9oACAECAQE/AWi0bH//xAAfEAACAgIBBQAAAAAAAAAAAAAAAREhAhIQMkFRcYH/2gAIAQEABj8Czy26nRqx4ryTM3MCruXL+jPfH//EABsQAAMBAQEBAQAAAAAAAAAAAAABESExUUGB/9oACAEBAAE/IciyprpKg3+DnlXilF99PwgGhJan1sVAzTb6Y4f/2gAMAwEAAgADAAAAEF/4/wD/xAAXEQEBAQEAAAAAAAAAAAAAAAABABEx/9oACAEDAQE/EDMnscJv/8QAGBEBAAMBAAAAAAAAAAAAAAAAAQAQESH/2gAIAQIBAT8Q6LsMo0//xAAgEAEBAAIBAwUAAAAAAAAAAAABEQAhMRBRYYGhweHx/9oACAEBAAE/EApBPFBUr5uXjxBXbN86azXHxMCnKLRDzJzvNcUtyQHeIVKqFX0wZktfb8x4pRs7376J/9k=","aspectRatio":1,"src":"/static/112d7159f7c020bdec3bdf12fb558466/fa1ea/bryan-lee.jpg","srcSet":"/static/112d7159f7c020bdec3bdf12fb558466/afb2b/bryan-lee.jpg 13w,\n/static/112d7159f7c020bdec3bdf12fb558466/7c20e/bryan-lee.jpg 25w,\n/static/112d7159f7c020bdec3bdf12fb558466/fa1ea/bryan-lee.jpg 50w,\n/static/112d7159f7c020bdec3bdf12fb558466/03612/bryan-lee.jpg 75w,\n/static/112d7159f7c020bdec3bdf12fb558466/61cdf/bryan-lee.jpg 100w,\n/static/112d7159f7c020bdec3bdf12fb558466/f86e8/bryan-lee.jpg 460w","srcWebp":"/static/112d7159f7c020bdec3bdf12fb558466/e7b2c/bryan-lee.webp","srcSetWebp":"/static/112d7159f7c020bdec3bdf12fb558466/58718/bryan-lee.webp 13w,\n/static/112d7159f7c020bdec3bdf12fb558466/74aad/bryan-lee.webp 25w,\n/static/112d7159f7c020bdec3bdf12fb558466/e7b2c/bryan-lee.webp 50w,\n/static/112d7159f7c020bdec3bdf12fb558466/ed320/bryan-lee.webp 75w,\n/static/112d7159f7c020bdec3bdf12fb558466/66016/bryan-lee.webp 100w,\n/static/112d7159f7c020bdec3bdf12fb558466/d908f/bryan-lee.webp 460w","sizes":"(max-width: 50px) 100vw, 50px"},"medium":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAUABQDASIAAhEBAxEB/8QAGAABAAMBAAAAAAAAAAAAAAAAAAMEBQL/xAAWAQEBAQAAAAAAAAAAAAAAAAACAwH/2gAMAwEAAhADEAAAAe5VadK7YMR0wPUBz//EABwQAAMBAAIDAAAAAAAAAAAAAAECAwAEEhEhMv/aAAgBAQABBQKXVcWnTBnnrwHYIGI40tRj5j9A+v/EABQRAQAAAAAAAAAAAAAAAAAAACD/2gAIAQMBAT8BH//EABgRAAIDAAAAAAAAAAAAAAAAAAABEBFR/9oACAECAQE/AWi0bH//xAAfEAACAgIBBQAAAAAAAAAAAAAAAREhAhIQMkFRcYH/2gAIAQEABj8Czy26nRqx4ryTM3MCruXL+jPfH//EABsQAAMBAQEBAQAAAAAAAAAAAAABESExUUGB/9oACAEBAAE/IciyprpKg3+DnlXilF99PwgGhJan1sVAzTb6Y4f/2gAMAwEAAgADAAAAEF/4/wD/xAAXEQEBAQEAAAAAAAAAAAAAAAABABEx/9oACAEDAQE/EDMnscJv/8QAGBEBAAMBAAAAAAAAAAAAAAAAAQAQESH/2gAIAQIBAT8Q6LsMo0//xAAgEAEBAAIBAwUAAAAAAAAAAAABEQAhMRBRYYGhweHx/9oACAEBAAE/EApBPFBUr5uXjxBXbN86azXHxMCnKLRDzJzvNcUtyQHeIVKqFX0wZktfb8x4pRs7376J/9k=","aspectRatio":1,"src":"/static/112d7159f7c020bdec3bdf12fb558466/61cdf/bryan-lee.jpg","srcSet":"/static/112d7159f7c020bdec3bdf12fb558466/7c20e/bryan-lee.jpg 25w,\n/static/112d7159f7c020bdec3bdf12fb558466/fa1ea/bryan-lee.jpg 50w,\n/static/112d7159f7c020bdec3bdf12fb558466/61cdf/bryan-lee.jpg 100w,\n/static/112d7159f7c020bdec3bdf12fb558466/59538/bryan-lee.jpg 150w,\n/static/112d7159f7c020bdec3bdf12fb558466/fd013/bryan-lee.jpg 200w,\n/static/112d7159f7c020bdec3bdf12fb558466/f86e8/bryan-lee.jpg 460w","srcWebp":"/static/112d7159f7c020bdec3bdf12fb558466/66016/bryan-lee.webp","srcSetWebp":"/static/112d7159f7c020bdec3bdf12fb558466/74aad/bryan-lee.webp 25w,\n/static/112d7159f7c020bdec3bdf12fb558466/e7b2c/bryan-lee.webp 50w,\n/static/112d7159f7c020bdec3bdf12fb558466/66016/bryan-lee.webp 100w,\n/static/112d7159f7c020bdec3bdf12fb558466/d9b14/bryan-lee.webp 150w,\n/static/112d7159f7c020bdec3bdf12fb558466/6b183/bryan-lee.webp 200w,\n/static/112d7159f7c020bdec3bdf12fb558466/d908f/bryan-lee.webp 460w","sizes":"(max-width: 100px) 100vw, 100px"},"large":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAUABQDASIAAhEBAxEB/8QAGAABAAMBAAAAAAAAAAAAAAAAAAMEBQL/xAAWAQEBAQAAAAAAAAAAAAAAAAACAwH/2gAMAwEAAhADEAAAAe5VadK7YMR0wPUBz//EABwQAAMBAAIDAAAAAAAAAAAAAAECAwAEEhEhMv/aAAgBAQABBQKXVcWnTBnnrwHYIGI40tRj5j9A+v/EABQRAQAAAAAAAAAAAAAAAAAAACD/2gAIAQMBAT8BH//EABgRAAIDAAAAAAAAAAAAAAAAAAABEBFR/9oACAECAQE/AWi0bH//xAAfEAACAgIBBQAAAAAAAAAAAAAAAREhAhIQMkFRcYH/2gAIAQEABj8Czy26nRqx4ryTM3MCruXL+jPfH//EABsQAAMBAQEBAQAAAAAAAAAAAAABESExUUGB/9oACAEBAAE/IciyprpKg3+DnlXilF99PwgGhJan1sVAzTb6Y4f/2gAMAwEAAgADAAAAEF/4/wD/xAAXEQEBAQEAAAAAAAAAAAAAAAABABEx/9oACAEDAQE/EDMnscJv/8QAGBEBAAMBAAAAAAAAAAAAAAAAAQAQESH/2gAIAQIBAT8Q6LsMo0//xAAgEAEBAAIBAwUAAAAAAAAAAAABEQAhMRBRYYGhweHx/9oACAEBAAE/EApBPFBUr5uXjxBXbN86azXHxMCnKLRDzJzvNcUtyQHeIVKqFX0wZktfb8x4pRs7376J/9k=","aspectRatio":1,"src":"/static/112d7159f7c020bdec3bdf12fb558466/ec46e/bryan-lee.jpg","srcSet":"/static/112d7159f7c020bdec3bdf12fb558466/a2637/bryan-lee.jpg 82w,\n/static/112d7159f7c020bdec3bdf12fb558466/15203/bryan-lee.jpg 164w,\n/static/112d7159f7c020bdec3bdf12fb558466/ec46e/bryan-lee.jpg 328w,\n/static/112d7159f7c020bdec3bdf12fb558466/f86e8/bryan-lee.jpg 460w","srcWebp":"/static/112d7159f7c020bdec3bdf12fb558466/5a48e/bryan-lee.webp","srcSetWebp":"/static/112d7159f7c020bdec3bdf12fb558466/2d087/bryan-lee.webp 82w,\n/static/112d7159f7c020bdec3bdf12fb558466/29d87/bryan-lee.webp 164w,\n/static/112d7159f7c020bdec3bdf12fb558466/5a48e/bryan-lee.webp 328w,\n/static/112d7159f7c020bdec3bdf12fb558466/d908f/bryan-lee.webp 460w","sizes":"(max-width: 328px) 100vw, 328px"}}}],"basePath":"/","permalink":"https://liby.github.io/2020-05-27-about-the-source-dot-zshrc-command/","slug":"/2020-05-27-about-the-source-dot-zshrc-command","id":"4376a9fd-e032-59e5-bbb7-3a99f3c4c2ea","title":"Source 命令踩坑小记","canonicalUrl":null,"mailchimp":"","next":[{"id":"e903c32f-5efc-5146-9483-5b8258836127","slug":"/2020-05-26-personal-configuration-of-some-dotfile-files","secret":false,"title":"关于我个人的一些 `dotfile` 文件的配置","author":"Bryan Lee","date":"May 26th, 2020","dateForSEO":"2020-05-26T00:00:00.000Z","timeToRead":1,"excerpt":"我个人喜欢将配置项尽可能地归类放置，完全是出于个人喜好，再譬如一些配置项出于个人习惯就没有按照上面的规则进行放置，比如 `[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh` 这行代码，所以可以作为参考，但并不代表说我的配置风格就是最好的、完美的。","canonical_url":null,"subscription":true,"body":"function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/* @jsxRuntime classic */\n\n/* @jsx mdx */\nvar _frontmatter = {\n  \"title\": \"关于我个人的一些 `dotfile` 文件的配置\",\n  \"slug\": \"2020-05-26-personal-configuration-of-some-dotfile-files\",\n  \"author\": \"Bryan Lee\",\n  \"date\": \"2020-05-26T00:00:00.000Z\",\n  \"hero\": \"./images/hero.jpeg\",\n  \"excerpt\": \"我个人喜欢将配置项尽可能地归类放置，完全是出于个人喜好，再譬如一些配置项出于个人习惯就没有按照上面的规则进行放置，比如 `[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh` 这行代码，所以可以作为参考，但并不代表说我的配置风格就是最好的、完美的。\",\n  \"tags\": [\"Oh My ZSH\", \"Powerlevel10k\", \"Vim\"]\n};\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n      props = _objectWithoutProperties(_ref, [\"components\"]);\n\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"details\", null, mdx(\"summary\", null, mdx(\"strong\", null, \"\\u6587\\u4EF6\\u6C47\\u603B\")), mdx(\"p\", null, \"  \", mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"https://gist.githubusercontent.com/liby/772fe930e54f30ae82821d8be133facb/raw/.vimrc\",\n    \"title\": \"我的 Vim 配置\",\n    \"target\": \"_blank\",\n    \"rel\": \"noreferrer\"\n  }), \".vimrc\")), mdx(\"hr\", null), mdx(\"p\", null, \"  \", mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"https://gist.githubusercontent.com/liby/772fe930e54f30ae82821d8be133facb/raw/.zshrc\",\n    \"title\": \"我的 Oh My ZSH 配置\",\n    \"target\": \"_blank\",\n    \"rel\": \"noreferrer\"\n  }), \".zshrc\"))), mdx(\"h2\", {\n    \"id\": \"有几个需要注意的地方\"\n  }, \"\\u6709\\u51E0\\u4E2A\\u9700\\u8981\\u6CE8\\u610F\\u7684\\u5730\\u65B9\"), mdx(\"ol\", null, mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, \"\\u5982\\u679C\\u60F3\\u8981\\u542F\\u7528 \", mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"https://github.com/romkatv/powerlevel10k\",\n    \"title\": \"Powerlevel10k 的 repository\",\n    \"target\": \"_blank\",\n    \"rel\": \"noreferrer\"\n  }), \"Powerlevel10k\"), \" \\u7684 \", mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"https://github.com/romkatv/powerlevel10k#how-do-i-enable-instant-prompt\",\n    \"title\": \"有关 instant prompt 的文档说明\",\n    \"target\": \"_blank\",\n    \"rel\": \"noreferrer\"\n  }), \"instant prompt\"), \" \\u529F\\u80FD\\uFF0C\\u90A3\\u4E48\\u5FC5\\u987B\\u5C06\\u4E0B\\u5217\\u914D\\u7F6E\\u9879\\u653E\\u7F6E\\u5728 \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"~/.zshrc\"), \" \\u6587\\u4EF6\\u9876\\u90E8\\u3002\"), mdx(\"pre\", {\n    parentName: \"li\"\n  }, mdx(\"code\", _extends({\n    parentName: \"pre\"\n  }, {\n    \"className\": \"language-sh\"\n  }), \"# Enable Powerlevel10k instant prompt. Should stay close to the top of ~/.zshrc.\\n# Initialization code that may require console input (password prompts, [y/n]\\n# confirmations, etc.) must go above this block; everything else may go below.\\nif [[ -r \\\"${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh\\\" ]]; then\\n  source \\\"${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh\\\"\\nfi\\n\"))), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, \"\\u9700\\u8981 \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"export\"), \" \\u76F8\\u5173\\u7684\\u8BBE\\u7F6E\\u5C3D\\u91CF\\u653E\\u5728\\u5176\\u4ED6\\u914D\\u7F6E\\u9879\\u4E4B\\u524D\\uFF0C\\u907F\\u514D\\u51FA\\u73B0\\u540E\\u7EED\\u914D\\u7F6E\\u9879\\u9700\\u8981\\u7528\\u5230\\u5BFC\\u51FA\\u7684\\u53D8\\u91CF\\u5374\\u53D1\\u73B0\\u627E\\u4E0D\\u5230\\u7684\\u60C5\\u51B5\\u3002\")), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"source\"), \" \\u6709\\u5173\\u7684\\u914D\\u7F6E\\u9879\\u5728\\u6211\\u770B\\u6765\\u57FA\\u672C\\u662F\\u5F15\\u5165\\u4E00\\u4E9B\\u5176\\u4ED6\\u6587\\u4EF6\\u4E2D\\uFF08\\u6BD4\\u5982 \", mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/autojump\",\n    \"title\": \"autojump 的 repository\",\n    \"target\": \"_blank\",\n    \"rel\": \"noreferrer\"\n  }), \"autojump\"), \" \\u8FD9\\u4E2A\\u63D2\\u4EF6\\u7684\\u52A0\\u8F7D\\uFF09\\u7684\\u914D\\u7F6E\\uFF0C\\u6240\\u4EE5\\u4E60\\u60EF\\u5C06\\u5B83\\u653E\\u5728 \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"plugins\"), \" \\u914D\\u7F6E\\u9879\\u7684\\u540E\\u9762\\u3002\")), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"alias\"), \" \\u76F8\\u5173\\u7684\\u914D\\u7F6E\\u6700\\u597D\\u653E\\u5230\\u6700\\u540E\\uFF0C\\u6BD4\\u5982 \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"alias ll='ls -alFh'\"), \" \\u5982\\u679C\\u653E\\u5728 \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"source $ZSH/oh-my-zsh.sh\"), \" \\u4E4B\\u524D\\uFF0C\\u90A3\\u4E48\\u5C31\\u4F1A\\u88AB\\u8986\\u76D6\\u3002\")), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, \"\\u6211\\u4E2A\\u4EBA\\u559C\\u6B22\\u5C06\\u914D\\u7F6E\\u9879\\u5C3D\\u53EF\\u80FD\\u5730\\u5F52\\u7C7B\\u653E\\u7F6E\\uFF0C\\u5B8C\\u5168\\u662F\\u51FA\\u4E8E\\u4E2A\\u4EBA\\u559C\\u597D\\uFF0C\\u518D\\u8B6C\\u5982\\u4E00\\u4E9B\\u914D\\u7F6E\\u9879\\u51FA\\u4E8E\\u4E2A\\u4EBA\\u4E60\\u60EF\\u5C31\\u6CA1\\u6709\\u6309\\u7167\\u4E0A\\u9762\\u7684\\u89C4\\u5219\\u8FDB\\u884C\\u653E\\u7F6E\\uFF0C\\u6BD4\\u5982 \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh\"), \" \\u8FD9\\u884C\\u4EE3\\u7801\\uFF0C\\u6240\\u4EE5\\u53EF\\u4EE5\\u4F5C\\u4E3A\\u53C2\\u8003\\uFF0C\\u4F46\\u5E76\\u4E0D\\u4EE3\\u8868\\u8BF4\\u6211\\u7684\\u914D\\u7F6E\\u98CE\\u683C\\u5C31\\u662F\\u6700\\u597D\\u7684\\u3001\\u5B8C\\u7F8E\\u7684\\u3002\")), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, \"Vim \\u7684\\u914D\\u7F6E\\u76F8\\u8F83\\u6765\\u8BF4\\u6BD4\\u8F83\\u7B80\\u5355\\uFF0C\\u6211\\u8BA4\\u4E3A\\u9664\\u4E86\\u4EE5\\u4E0B\\u914D\\u7F6E\\u5916\\u5176\\u4ED6\\u914D\\u7F6E\\u9879\\u90FD\\u4E0D\\u662F\\u5FC5\\u9700\\u7684\\uFF0C\\u6839\\u636E\\u81EA\\u5DF1\\u9700\\u6C42\\u548C\\u559C\\u597D\\u589E\\u5220\\u5C31\\u53EF\\u4EE5\\u4E86\\uFF1A\"), mdx(\"pre\", {\n    parentName: \"li\"\n  }, mdx(\"code\", _extends({\n    parentName: \"pre\"\n  }, {\n    \"className\": \"language-vim\"\n  }), \"\\\" \\u663E\\u793A\\u884C\\u53F7\\nset number\\n\\\" \\u8BED\\u6CD5\\u9AD8\\u4EAE\\u663E\\u793A\\nsyntax on\\n\\\" \\u542F\\u7528\\u81EA\\u52A8\\u5BF9\\u9F50\\u529F\\u80FD\\uFF0C\\u628A\\u4E0A\\u4E00\\u884C\\u7684\\u5BF9\\u9F50\\u683C\\u5F0F\\u5E94\\u7528\\u5230\\u4E0B\\u4E00\\u884C\\nset autoindent\\n\\\" \\u8BBE\\u7F6E\\u663E\\u793A\\u5236\\u8868\\u7B26\\u7684\\u7A7A\\u683C\\u5B57\\u7B26\\u4E2A\\u6570,\\u6539\\u8FDB tab \\u7F29\\u8FDB\\u503C\\uFF0C\\u9ED8\\u8BA4\\u4E3A 8\\uFF0C\\u73B0\\u6539\\u4E3A 2\\nset tabstop=2\\n\\\" \\u663E\\u793A\\u5339\\u914D\\u7684\\u62EC\\u53F7\\nset showmatch\\n\"))), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, \"\\u4E0B\\u9762\\u7684\\u914D\\u7F6E\\u662F\\u4E3A\\u4E86\\u5728 \", mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"https://github.com/gnachman/iTerm2\",\n    \"title\": \"iTerm2 的 repository\",\n    \"target\": \"_blank\",\n    \"rel\": \"noreferrer\"\n  }), \"iTerm2\"), \" \\u4E2D\\u8BA9\\u5149\\u6807\\u5728 insert \\u6A21\\u5F0F\\u548C normal \\u6A21\\u5F0F\\u4E0B\\u663E\\u793A\\u4E0D\\u540C\\u7684\\u6837\\u5F0F\\uFF0C\\u53EF\\u4EE5\\u6839\\u636E\\u4E2A\\u4EBA\\u9700\\u6C42\\u81EA\\u884C\\u9009\\u62E9\\u662F\\u5426\\u4FDD\\u7559\"), mdx(\"pre\", {\n    parentName: \"li\"\n  }, mdx(\"code\", _extends({\n    parentName: \"pre\"\n  }, {\n    \"className\": \"language-vim\"\n  }), \"\\\" Change cursor shape between insert and normal mode in iTerm2.app\\nif $TERM_PROGRAM =~ \\\"iTerm\\\"\\n    let &t_SI = \\\"\\\\<Esc>]50;CursorShape=1\\\\x7\\\" \\\" Vertical bar in insert mode\\n    let &t_EI = \\\"\\\\<Esc>]50;CursorShape=0\\\\x7\\\" \\\" Block in normal mode\\nendif\\n\")))));\n}\n;\nMDXContent.isMDXComponent = true;","hero":{"full":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAGQAAAgMBAAAAAAAAAAAAAAAAAAECAwQF/8QAFgEBAQEAAAAAAAAAAAAAAAAAAAEC/9oADAMBAAIQAxAAAAGxc7ZcogH/xAAZEAADAQEBAAAAAAAAAAAAAAAAAQIREhP/2gAIAQEAAQUC9Jkdtm0Tbdc6kmf/xAAVEQEBAAAAAAAAAAAAAAAAAAAAEv/aAAgBAwEBPwGlP//EABYRAQEBAAAAAAAAAAAAAAAAAAAREv/aAAgBAgEBPwHKP//EABoQAQACAwEAAAAAAAAAAAAAAAABIQIRMTL/2gAIAQEABj8CrUPSslpdf//EABwQAAICAgMAAAAAAAAAAAAAAAABETEhQVFxof/aAAgBAQABPyGKkuK4LBUlyQXNdEKQUNpemQtHFH//2gAMAwEAAgADAAAAEAsf/8QAFxEBAAMAAAAAAAAAAAAAAAAAARARMf/aAAgBAwEBPxBq5D//xAAWEQEBAQAAAAAAAAAAAAAAAAABEBH/2gAIAQIBAT8QDk//xAAbEAEBAAMBAQEAAAAAAAAAAAABEQAhMWFBgf/aAAgBAQABPxAgEI0UPJgdlho/ce0uxHkiFDTfcF5gVJcKhJydT9z/2Q==","aspectRatio":1.5031847133757963,"src":"/static/07ddaf139bc712056f0374d91f5742de/58fe7/hero.jpg","srcSet":"/static/07ddaf139bc712056f0374d91f5742de/e0f30/hero.jpg 236w,\n/static/07ddaf139bc712056f0374d91f5742de/86afd/hero.jpg 472w,\n/static/07ddaf139bc712056f0374d91f5742de/58fe7/hero.jpg 944w,\n/static/07ddaf139bc712056f0374d91f5742de/02748/hero.jpg 1416w,\n/static/07ddaf139bc712056f0374d91f5742de/5c241/hero.jpg 1888w,\n/static/07ddaf139bc712056f0374d91f5742de/e3277/hero.jpg 2250w","srcWebp":"/static/07ddaf139bc712056f0374d91f5742de/99fbb/hero.webp","srcSetWebp":"/static/07ddaf139bc712056f0374d91f5742de/77392/hero.webp 236w,\n/static/07ddaf139bc712056f0374d91f5742de/1f177/hero.webp 472w,\n/static/07ddaf139bc712056f0374d91f5742de/99fbb/hero.webp 944w,\n/static/07ddaf139bc712056f0374d91f5742de/4a492/hero.webp 1416w,\n/static/07ddaf139bc712056f0374d91f5742de/b0b8f/hero.webp 1888w,\n/static/07ddaf139bc712056f0374d91f5742de/d168a/hero.webp 2250w","sizes":"(max-width: 944px) 100vw, 944px"},"regular":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAGQAAAgMBAAAAAAAAAAAAAAAAAAECAwQF/8QAFgEBAQEAAAAAAAAAAAAAAAAAAAEC/9oADAMBAAIQAxAAAAGxc7ZcogH/xAAZEAADAQEBAAAAAAAAAAAAAAAAAQIREhP/2gAIAQEAAQUC9Jkdtm0Tbdc6kmf/xAAVEQEBAAAAAAAAAAAAAAAAAAAAEv/aAAgBAwEBPwGlP//EABYRAQEBAAAAAAAAAAAAAAAAAAAREv/aAAgBAgEBPwHKP//EABoQAQACAwEAAAAAAAAAAAAAAAABIQIRMTL/2gAIAQEABj8CrUPSslpdf//EABwQAAICAgMAAAAAAAAAAAAAAAABETEhQVFxof/aAAgBAQABPyGKkuK4LBUlyQXNdEKQUNpemQtHFH//2gAMAwEAAgADAAAAEAsf/8QAFxEBAAMAAAAAAAAAAAAAAAAAARARMf/aAAgBAwEBPxBq5D//xAAWEQEBAQAAAAAAAAAAAAAAAAABEBH/2gAIAQIBAT8QDk//xAAbEAEBAAMBAQEAAAAAAAAAAAABEQAhMWFBgf/aAAgBAQABPxAgEI0UPJgdlho/ce0uxHkiFDTfcF5gVJcKhJydT9z/2Q==","aspectRatio":1.4954128440366972,"src":"/static/07ddaf139bc712056f0374d91f5742de/1dc0b/hero.jpg","srcSet":"/static/07ddaf139bc712056f0374d91f5742de/3a5ce/hero.jpg 163w,\n/static/07ddaf139bc712056f0374d91f5742de/05730/hero.jpg 327w,\n/static/07ddaf139bc712056f0374d91f5742de/1dc0b/hero.jpg 653w,\n/static/07ddaf139bc712056f0374d91f5742de/f72c7/hero.jpg 980w,\n/static/07ddaf139bc712056f0374d91f5742de/6e4a3/hero.jpg 1306w,\n/static/07ddaf139bc712056f0374d91f5742de/e3277/hero.jpg 2250w","srcWebp":"/static/07ddaf139bc712056f0374d91f5742de/0acdf/hero.webp","srcSetWebp":"/static/07ddaf139bc712056f0374d91f5742de/ac59e/hero.webp 163w,\n/static/07ddaf139bc712056f0374d91f5742de/7660b/hero.webp 327w,\n/static/07ddaf139bc712056f0374d91f5742de/0acdf/hero.webp 653w,\n/static/07ddaf139bc712056f0374d91f5742de/75470/hero.webp 980w,\n/static/07ddaf139bc712056f0374d91f5742de/68d47/hero.webp 1306w,\n/static/07ddaf139bc712056f0374d91f5742de/d168a/hero.webp 2250w","sizes":"(max-width: 653px) 100vw, 653px"},"narrow":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAGQAAAgMBAAAAAAAAAAAAAAAAAAECAwQF/8QAFgEBAQEAAAAAAAAAAAAAAAAAAAEC/9oADAMBAAIQAxAAAAGxc7ZcogH/xAAZEAADAQEBAAAAAAAAAAAAAAAAAQIREhP/2gAIAQEAAQUC9Jkdtm0Tbdc6kmf/xAAVEQEBAAAAAAAAAAAAAAAAAAAAEv/aAAgBAwEBPwGlP//EABYRAQEBAAAAAAAAAAAAAAAAAAAREv/aAAgBAgEBPwHKP//EABoQAQACAwEAAAAAAAAAAAAAAAABIQIRMTL/2gAIAQEABj8CrUPSslpdf//EABwQAAICAgMAAAAAAAAAAAAAAAABETEhQVFxof/aAAgBAQABPyGKkuK4LBUlyQXNdEKQUNpemQtHFH//2gAMAwEAAgADAAAAEAsf/8QAFxEBAAMAAAAAAAAAAAAAAAAAARARMf/aAAgBAwEBPxBq5D//xAAWEQEBAQAAAAAAAAAAAAAAAAABEBH/2gAIAQIBAT8QDk//xAAbEAEBAAMBAQEAAAAAAAAAAAABEQAhMWFBgf/aAAgBAQABPxAgEI0UPJgdlho/ce0uxHkiFDTfcF5gVJcKhJydT9z/2Q==","aspectRatio":1.5,"src":"/static/07ddaf139bc712056f0374d91f5742de/eaa58/hero.jpg","srcSet":"/static/07ddaf139bc712056f0374d91f5742de/5a3ee/hero.jpg 114w,\n/static/07ddaf139bc712056f0374d91f5742de/41f8f/hero.jpg 229w,\n/static/07ddaf139bc712056f0374d91f5742de/eaa58/hero.jpg 457w,\n/static/07ddaf139bc712056f0374d91f5742de/c309b/hero.jpg 686w,\n/static/07ddaf139bc712056f0374d91f5742de/e3008/hero.jpg 914w,\n/static/07ddaf139bc712056f0374d91f5742de/e3277/hero.jpg 2250w","srcWebp":"/static/07ddaf139bc712056f0374d91f5742de/15384/hero.webp","srcSetWebp":"/static/07ddaf139bc712056f0374d91f5742de/31fce/hero.webp 114w,\n/static/07ddaf139bc712056f0374d91f5742de/e3e25/hero.webp 229w,\n/static/07ddaf139bc712056f0374d91f5742de/15384/hero.webp 457w,\n/static/07ddaf139bc712056f0374d91f5742de/0258d/hero.webp 686w,\n/static/07ddaf139bc712056f0374d91f5742de/64ea2/hero.webp 914w,\n/static/07ddaf139bc712056f0374d91f5742de/d168a/hero.webp 2250w","sizes":"(max-width: 457px) 100vw, 457px"},"seo":{"src":"/static/07ddaf139bc712056f0374d91f5742de/0ff54/hero.jpg"}}},{"id":"1a43dd34-6304-52e9-ac66-197297cd3878","slug":"/2020-05-25-error-passing-arguments-when-calling-new-array-causes-typecript-to-throw-an-error","secret":false,"title":"记一次 new Array() 时错误传递参数导致 TypeScript 报错的来龙去脉","author":"Bryan Lee","date":"May 25th, 2020","dateForSEO":"2020-05-25T00:00:00.000Z","timeToRead":1,"excerpt":"因为不想被 block 住，完成 ticket 是首要的，所以没有深究这个报错，便选择了折中的解决方案。后续空闲下来，再看这个部分的代码，认为 `Object.assign(this, data);` 这个地方写的异常丑陋， `new Providers()` 的传值被暴力复制给了 `this`，完全失去了传参意义，且代码可维护性极差。","canonical_url":null,"subscription":true,"body":"function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/* @jsxRuntime classic */\n\n/* @jsx mdx */\nvar _frontmatter = {\n  \"title\": \"记一次 new Array() 时错误传递参数导致 TypeScript 报错的来龙去脉\",\n  \"slug\": \"2020-05-25-error-passing-arguments-when-calling-new-array-causes-typecript-to-throw-an-error\",\n  \"author\": \"Bryan Lee\",\n  \"date\": \"2020-05-25T00:00:00.000Z\",\n  \"hero\": \"./images/hero.jpeg\",\n  \"excerpt\": \"因为不想被 block 住，完成 ticket 是首要的，所以没有深究这个报错，便选择了折中的解决方案。后续空闲下来，再看这个部分的代码，认为 `Object.assign(this, data);` 这个地方写的异常丑陋， `new Providers()` 的传值被暴力复制给了 `this`，完全失去了传参意义，且代码可维护性极差。\",\n  \"tags\": [\"Array\", \"TypeScript\", \"class\"]\n};\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n      props = _objectWithoutProperties(_ref, [\"components\"]);\n\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"h2\", {\n    \"id\": \"起因\"\n  }, \"\\u8D77\\u56E0\"), mdx(\"p\", null, \"\\u5728\\u5199\\u4E1A\\u52A1\\u4EE3\\u7801\\u65F6\\uFF0Cleader \\u6253\\u7B97\\u628A AngularJS \\u4EE3\\u7801\\u4E2D\\u7684\\u4F17\\u591A \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"$provide.value\"), \" \\u62BD\\u79BB\\u51FA\\u6765\\uFF0C\\u653E\\u5230\\u7C7B\\u4F3C \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"common\"), \" \\u7B49\\u6587\\u4EF6\\u5939\\u4E0B\\u5E76 \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"export\"), \"\\uFF0C\\u5728\\u9700\\u8981\\u7528\\u5230\\u7684\\u6587\\u4EF6\\u4E2D\\u518D\\u5355\\u72EC \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"import\"), \" \\u8FDB\\u6765\\u3002\"), mdx(\"p\", null, \"\\u6211\\u8D1F\\u8D23\\u91CD\\u6784\\u7684\\u8FD9\\u4E2A \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"$provide.value\"), \" \\u662F\\u4E00\\u4E2A\\u5BF9\\u8C61\\u6570\\u7EC4\\uFF0C\\u5E76\\u4E14\\u9700\\u8981\\u5728 Array \\u57FA\\u7C7B\\u7684\\u57FA\\u7840\\u4E0A\\u4E3A\\u5B83\\u6DFB\\u52A0\\u4E00\\u4E2A\\u65B9\\u6CD5\\u3002\"), mdx(\"p\", null, \"\\u6700\\u7EC8\\u5B9E\\u73B0\\u4EE3\\u7801\\u5982\\u4E0B\\uFF1A\"), mdx(\"pre\", null, mdx(\"code\", _extends({\n    parentName: \"pre\"\n  }, {\n    \"className\": \"language-ts\"\n  }), \"interface IProvider {\\n  type: string;\\n  name: string;\\n}\\n\\nclass Providers extends Array<IProvider> {\\n  constructor(data: IProvider[]) {\\n    super();\\n    Object.assign(this, data);\\n  }\\n\\n  $getProvider(type: string): IProvider | undefined {\\n    return this.find((item) => item.type === type);\\n  }\\n}\\n\\nexport const demo = new Providers(\\n  [\\n    {\\n      type: \\\"temp\\\",\\n      name: \\\"Provider1\\\"\\n    },\\n    {\\n      type: \\\"test\\\",\\n      name: \\\"Provider2\\\"\\n    }\\n  ]\\n);\\n\")), mdx(\"p\", null, \"\\u91CD\\u70B9\\u6765\\u8BF4\\u8BF4\\u8FD9\\u4E2A\\u90E8\\u5206\\u7684\\u4EE3\\u7801\\uFF1A\"), mdx(\"pre\", null, mdx(\"code\", _extends({\n    parentName: \"pre\"\n  }, {\n    \"className\": \"language-ts\"\n  }), \"  constructor(data: IProvider[]) {\\n    super();\\n    Object.assign(this, data);\\n  }\\n\")), mdx(\"p\", null, \"\\u8FD9\\u91CC\\u7EAF\\u7CB9\\u662F\\u65E0\\u5948\\u59A5\\u534F\\u4E4B\\u4E3E\\uFF0C\\u4E0D\\u5199\\u7684\\u8BDD\\uFF0C\\u53D1\\u73B0 \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"new Providers()\"), \" \\u7684\\u65F6\\u5019\\u76F4\\u63A5\\u4F20\\u5165\", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"\\u4E00\\u6574\\u4E2A\\u5BF9\\u8C61\\u6570\\u7EC4\\u7684\\u6570\\u636E\"), \"\\uFF0C\\u5C06\\u5F97\\u5230\\u5982\\u4E0B\\u62A5\\u9519\\uFF1A\"), mdx(\"p\", null, mdx(\"span\", _extends({\n    parentName: \"p\"\n  }, {\n    \"className\": \"gatsby-resp-image-wrapper\",\n    \"style\": {\n      \"position\": \"relative\",\n      \"display\": \"block\",\n      \"marginLeft\": \"auto\",\n      \"marginRight\": \"auto\",\n      \"maxWidth\": \"1376px\"\n    }\n  }), \"\\n      \", mdx(\"span\", _extends({\n    parentName: \"span\"\n  }, {\n    \"className\": \"gatsby-resp-image-background-image\",\n    \"style\": {\n      \"paddingBottom\": \"23.69186046511628%\",\n      \"position\": \"relative\",\n      \"bottom\": \"0\",\n      \"left\": \"0\",\n      \"backgroundImage\": \"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAFCAIAAADKYVtkAAAACXBIWXMAABYlAAAWJQFJUiTwAAAA30lEQVQY0z2Oa26DMBCEOUf7IyG8whsDNthgg8FOIAgaqVLuf5Quoa30abUa7cysQdtRqkWqR4xq04ltLwUubmJ5qenG+3QSN0DXqATxbEdw84/BuNL3rW6GrGgQ5pBVMUloDzoTeryt3TC3nZZ66cf5ZIUARBwYYpz19AUeQiWuu4ar3Sk0l/fH+r09X+vzJeSkpg12ODs6f824ZHXdhQnxwjyIcZDsRFkFE16o9o9YktO0oBBaEO5H5dn5a/4QyyeRiAjGb20/YTpcPGRdgdx00zcZKMCx235u+8Wb/AexmDx/dICvwAAAAABJRU5ErkJggg==')\",\n      \"backgroundSize\": \"cover\",\n      \"display\": \"block\"\n    }\n  })), \"\\n  \", mdx(\"picture\", {\n    parentName: \"span\"\n  }, \"\\n        \", mdx(\"source\", _extends({\n    parentName: \"picture\"\n  }, {\n    \"srcSet\": [\"/static/13892472a37fcdb99f336456f6f53433/902f9/article-image-1.webp 1376w\"],\n    \"sizes\": \"(max-width: 1376px) 100vw, 1376px\",\n    \"type\": \"image/webp\"\n  })), \"\\n        \", mdx(\"source\", _extends({\n    parentName: \"picture\"\n  }, {\n    \"srcSet\": [\"/static/13892472a37fcdb99f336456f6f53433/f4ca3/article-image-1.png 1376w\"],\n    \"sizes\": \"(max-width: 1376px) 100vw, 1376px\",\n    \"type\": \"image/png\"\n  })), \"\\n        \", mdx(\"img\", _extends({\n    parentName: \"picture\"\n  }, {\n    \"className\": \"gatsby-resp-image-image\",\n    \"src\": \"/static/13892472a37fcdb99f336456f6f53433/f4ca3/article-image-1.png\",\n    \"alt\": \"TypeScript 的报错信息\",\n    \"title\": \"TypeScript 的报错信息\",\n    \"loading\": \"lazy\",\n    \"style\": {\n      \"width\": \"100%\",\n      \"height\": \"100%\",\n      \"margin\": \"0\",\n      \"verticalAlign\": \"middle\",\n      \"position\": \"absolute\",\n      \"top\": \"0\",\n      \"left\": \"0\"\n    }\n  })), \"\\n      \"), \"\\n    \")), mdx(\"p\", null, \"\\u56E0\\u4E3A\\u4E0D\\u60F3\\u88AB block \\u4F4F\\uFF0C\\u5B8C\\u6210 ticket \\u662F\\u9996\\u8981\\u7684\\uFF0C\\u6240\\u4EE5\\u6CA1\\u6709\\u6DF1\\u7A76\\u8FD9\\u4E2A\\u62A5\\u9519\\uFF0C\\u4FBF\\u9009\\u62E9\\u4E86\\u6298\\u4E2D\\u7684\\u89E3\\u51B3\\u65B9\\u6848\\u3002\\u540E\\u7EED\\u7A7A\\u95F2\\u4E0B\\u6765\\uFF0C\\u518D\\u770B\\u8FD9\\u4E2A\\u90E8\\u5206\\u7684\\u4EE3\\u7801\\uFF0C\\u8BA4\\u4E3A \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"Object.assign(this, data);\"), \" \\u8FD9\\u4E2A\\u5730\\u65B9\\u5199\\u7684\\u5F02\\u5E38\\u4E11\\u964B\\uFF0C \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"new Providers()\"), \" \\u7684\\u4F20\\u503C\\u88AB\\u66B4\\u529B\\u590D\\u5236\\u7ED9\\u4E86 \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"this\"), \"\\uFF0C\\u5B8C\\u5168\\u5931\\u53BB\\u4E86\\u4F20\\u53C2\\u610F\\u4E49\\uFF0C\\u4E14\\u4EE3\\u7801\\u53EF\\u7EF4\\u62A4\\u6027\\u6781\\u5DEE\\u3002\"), mdx(\"h2\", {\n    \"id\": \"过程\"\n  }, \"\\u8FC7\\u7A0B\"), mdx(\"p\", null, \"\\u5F00\\u59CB\\u6211\\u6000\\u7591\\u6570\\u7EC4\\u5B9A\\u4E49\\u5199\\u9519\\u4E86\\uFF0C\\u662F\\u4E0D\\u662F\\u5E94\\u8BE5\\u5199\\u6210 \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"Array<IProvider[]>\"), \"\\uFF0C\\u8FD9\\u6837 \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"new Providers()\"), \" \\u7684\\u65F6\\u5019\\u4F20\\u4E00\\u4E2A\\u6570\\u7EC4\\u8FDB\\u53BB\\u5C31\\u6CA1\\u6709\\u4EFB\\u4F55\\u95EE\\u9898\\uFF0C\\u4E0D\\u8FC7\\u8FD9\\u6837\\u505A\\u7684\\u5F97\\u5230\\u7684\\u662F\\u4E00\\u4E2A\\u4E8C\\u7EF4\\u6570\\u7EC4\\uFF0C\\u4E0E\\u9884\\u60F3\\u7684\\u6570\\u636E\\u7ED3\\u6784\\u6709\\u6240\\u51FA\\u5165\\u3002\"), mdx(\"p\", null, \"\\u4E4B\\u540E\\u8DDF leader \\u8BA8\\u8BBA\\u4E86\\u4E00\\u4E0B\\uFF0C\\u731C\\u6D4B\\u662F\\u4E0D\\u662F TypeScript \\u5BF9\\u8FD9\\u90E8\\u5206\\u7684\\u6CDB\\u578B\\u5B9A\\u4E49\\u6709\\u95EE\\u9898\\uFF0C\\u9042\\u5F00\\u59CB\\u67E5\\u9605 MDN \\u7684\\u6587\\u6863\\uFF0C\\u5F53\\u5373\\u53D1\\u73B0 \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"new Array()\"), \" \\u7684\\u65F6\\u5019\\u76F4\\u63A5\\u4F20\\u5165\", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"\\u4E00\\u6574\\u4E2A\\u6570\\u7EC4\\u7684\\u6570\\u636E\"), \"\\u4F5C\\u4E3A\\u53C2\\u6570\\u4E0E\\u6211\\u9884\\u60F3\\u7684\\u7ED3\\u679C\\u786E\\u5B9E\\u6709\\u6240\\u51FA\\u5165\\uFF1A\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, mdx(\"span\", _extends({\n    parentName: \"p\"\n  }, {\n    \"className\": \"gatsby-resp-image-wrapper\",\n    \"style\": {\n      \"position\": \"relative\",\n      \"display\": \"block\",\n      \"marginLeft\": \"auto\",\n      \"marginRight\": \"auto\",\n      \"maxWidth\": \"2040px\"\n    }\n  }), \"\\n      \", mdx(\"span\", _extends({\n    parentName: \"span\"\n  }, {\n    \"className\": \"gatsby-resp-image-background-image\",\n    \"style\": {\n      \"paddingBottom\": \"51.66666666666666%\",\n      \"position\": \"relative\",\n      \"bottom\": \"0\",\n      \"left\": \"0\",\n      \"backgroundImage\": \"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAKCAIAAAA7N+mxAAAACXBIWXMAABYlAAAWJQFJUiTwAAAA5ElEQVQoz5WR2w6CMBBE+/9fxG9oopEgF2sb0VKlCTe5OtmNPpgS43kgC11mZ7biJGVVVcuyzPOM5zRN4zguxPQLcdaXwpgHUdf1nUABxWYdNHRdJzb7w3632xJRFKVpeiaSJMnz3Fpb+DDGlGUpjLWk1PCo5xsIt23brYMeEQQBPHwy/4XIskwp9fHjnMN8S/Arf8d6PD/DvdYaEkgbxzGiIjCnBbxIrNDrS0AVrcMw4Hgk+r7/alpLJG63a3w8wjmGh2HIFqSUbIS94NRv+1rYRCqlNbyVzvFt4xoc1Vxgsd7JL5j7On8FUO03AAAAAElFTkSuQmCC')\",\n      \"backgroundSize\": \"cover\",\n      \"display\": \"block\"\n    }\n  })), \"\\n  \", mdx(\"picture\", {\n    parentName: \"span\"\n  }, \"\\n        \", mdx(\"source\", _extends({\n    parentName: \"picture\"\n  }, {\n    \"srcSet\": [\"/static/d093f2a870b5f6b958e6278026b7ee67/6dd0f/article-image-2.webp 2040w\"],\n    \"sizes\": \"(max-width: 2040px) 100vw, 2040px\",\n    \"type\": \"image/webp\"\n  })), \"\\n        \", mdx(\"source\", _extends({\n    parentName: \"picture\"\n  }, {\n    \"srcSet\": [\"/static/d093f2a870b5f6b958e6278026b7ee67/054ef/article-image-2.png 2040w\"],\n    \"sizes\": \"(max-width: 2040px) 100vw, 2040px\",\n    \"type\": \"image/png\"\n  })), \"\\n        \", mdx(\"img\", _extends({\n    parentName: \"picture\"\n  }, {\n    \"className\": \"gatsby-resp-image-image\",\n    \"src\": \"/static/d093f2a870b5f6b958e6278026b7ee67/054ef/article-image-2.png\",\n    \"alt\": \"New Array() 所接收的参数说明\",\n    \"title\": \"New Array() 所接收的参数说明\",\n    \"loading\": \"lazy\",\n    \"style\": {\n      \"width\": \"100%\",\n      \"height\": \"100%\",\n      \"margin\": \"0\",\n      \"verticalAlign\": \"middle\",\n      \"position\": \"absolute\",\n      \"top\": \"0\",\n      \"left\": \"0\"\n    }\n  })), \"\\n      \"), \"\\n    \"))), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, \"\\u6BD4\\u5982\"), mdx(\"pre\", {\n    parentName: \"li\"\n  }, mdx(\"code\", _extends({\n    parentName: \"pre\"\n  }, {\n    \"className\": \"language-js\"\n  }), \"// \\u60F3\\u5F97\\u5230\\u6570\\u7EC4 `[{name: demo}, {name: test}]`\\n// \\u9519\\u8BEF\\uFF0C\\u8FD4\\u56DE\\u7684\\u662F [[{name: demo}, {name: test}]]\\nnew Array([{name: \\\"demo\\\"}, {name: \\\"test\\\"}])\\n\\n// \\u6B63\\u786E\\nnew Array(...[{name: \\\"demo\\\"}, {name: \\\"test\\\"}])\\n\")))), mdx(\"p\", null, \"\\u5176\\u5B9E\\uFF0C\\u5728 VSCode \\u4E2D\\uFF0C\", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"Command + \\u5149\\u6807\"), \" \\u70B9\\u51FB \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"new Providers\"), \" \\u4E5F\\u80FD\\u770B\\u5230\\u8BE5\\u65B9\\u6CD5\\u7684\\u7C7B\\u578B\\u5B9A\\u4E49\\uFF1A\"), mdx(\"p\", null, mdx(\"span\", _extends({\n    parentName: \"p\"\n  }, {\n    \"className\": \"gatsby-resp-image-wrapper\",\n    \"style\": {\n      \"position\": \"relative\",\n      \"display\": \"block\",\n      \"marginLeft\": \"auto\",\n      \"marginRight\": \"auto\",\n      \"maxWidth\": \"1816px\"\n    }\n  }), \"\\n      \", mdx(\"span\", _extends({\n    parentName: \"span\"\n  }, {\n    \"className\": \"gatsby-resp-image-background-image\",\n    \"style\": {\n      \"paddingBottom\": \"37.77533039647577%\",\n      \"position\": \"relative\",\n      \"bottom\": \"0\",\n      \"left\": \"0\",\n      \"backgroundImage\": \"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAICAIAAAB2/0i6AAAACXBIWXMAABYlAAAWJQFJUiTwAAABLElEQVQY013Pi06DMBSAYV5jo9fTe2mBAk4cOJgTef83EhY1c8mXpjnJaf5m9fmrSde2m9v+Pb1Mp3FOp942gy5fhWu4b9nGNcwlbmtia2wqrCtqKulTxnWgYIz2QhZMWcYdFZbIgoJlVCGmD1QfsDiA8+dl+liHy226Ls240DRlhEhOhBSScZVjQIgfc5bnbLsgvMMIMOYEnOumeV7GYVqXdZhXqMaMyFDKrrVpKEJfhi5FLfz24n0TfiDOwHHlCFgMBoPd6ri02dGm0oy9+5z15S1Op/pWFYPQJaj4X+DKw0bvJ7/LjromsmxlOMkqhjrYCpjb+4l4hJnmvzt/MqxLoqLRbeOL6GJQhQSN0J76CFO5ZT/JmIpCRM4D26u2kd8+ljPzBIFnpnryDfRbSmKQ2TzNAAAAAElFTkSuQmCC')\",\n      \"backgroundSize\": \"cover\",\n      \"display\": \"block\"\n    }\n  })), \"\\n  \", mdx(\"picture\", {\n    parentName: \"span\"\n  }, \"\\n        \", mdx(\"source\", _extends({\n    parentName: \"picture\"\n  }, {\n    \"srcSet\": [\"/static/5934274e2f4efbdb1ab113947eb441bf/8b785/article-image-3.webp 1816w\"],\n    \"sizes\": \"(max-width: 1816px) 100vw, 1816px\",\n    \"type\": \"image/webp\"\n  })), \"\\n        \", mdx(\"source\", _extends({\n    parentName: \"picture\"\n  }, {\n    \"srcSet\": [\"/static/5934274e2f4efbdb1ab113947eb441bf/18b25/article-image-3.png 1816w\"],\n    \"sizes\": \"(max-width: 1816px) 100vw, 1816px\",\n    \"type\": \"image/png\"\n  })), \"\\n        \", mdx(\"img\", _extends({\n    parentName: \"picture\"\n  }, {\n    \"className\": \"gatsby-resp-image-image\",\n    \"src\": \"/static/5934274e2f4efbdb1ab113947eb441bf/18b25/article-image-3.png\",\n    \"alt\": \"Array constructor 的类型定义\",\n    \"title\": \"Array constructor 的类型定义\",\n    \"loading\": \"lazy\",\n    \"style\": {\n      \"width\": \"100%\",\n      \"height\": \"100%\",\n      \"margin\": \"0\",\n      \"verticalAlign\": \"middle\",\n      \"position\": \"absolute\",\n      \"top\": \"0\",\n      \"left\": \"0\"\n    }\n  })), \"\\n      \"), \"\\n    \")), mdx(\"p\", null, \"\\u6B64\\u5916\\uFF0C\\u5728 \", mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/Array\",\n    \"title\": \"MDN 中有关 Array() constructor 的说明\",\n    \"target\": \"_blank\",\n    \"rel\": \"noreferrer\"\n  }), \"MDN/Array() constructor\"), \" \\u4E2D\\u4E5F\\u6709\\u76F8\\u540C\\u7684\\u5B9A\\u4E49\\uFF0C\\u6240\\u4EE5\\u4E0D\\u51C6\\u786E\\u7684\\u6982\\u62EC\\u4E0B\\uFF1A\\u5982\\u679C\\u6CA1\\u6709\\u5B9A\\u4E49 \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"constructor()\"), \" \\u6240\\u63A5\\u6536\\u7684\\u53C2\\u6570\\u7C7B\\u578B\\uFF0C\\u90A3\\u4E48 \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"new <T>()\"), \" \\u4F1A\\u9ED8\\u8BA4\\u63A5\\u6536 \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"arrayLength: number\"), \" \\u6216 \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"...items: T[]\"), \" \\u8FD9\\u4E24\\u79CD\\u53C2\\u6570\\u7C7B\\u578B\\u3002\"), mdx(\"p\", null, \"\\u65E2\\u7136\\u77E5\\u9053\\u4E86\\u539F\\u56E0\\u90A3\\u4E48\\uFF0C\\u95EE\\u9898\\u5C31\\u8FCE\\u5203\\u800C\\u89E3\\u4E86\\uFF0C\\u4E0D\\u5570\\u55E6\\u4E0A\\u4EE3\\u7801\\uFF1A\"), mdx(\"pre\", null, mdx(\"code\", _extends({\n    parentName: \"pre\"\n  }, {\n    \"className\": \"language-ts\"\n  }), \"interface IProvider {\\n  type: string;\\n  name: string;\\n}\\n\\nclass Providers extends Array<IProvider> {\\n  $getProvider(type: string): IProvider | undefined {\\n    return this.find((item) => item.type === type);\\n  }\\n}\\n\\nexport const demo = new Providers(\\n  ...[\\n    {\\n      type: \\\"temp\\\",\\n      name: \\\"Provider1\\\"\\n    },\\n    {\\n      type: \\\"test\\\",\\n      name: \\\"Provider2\\\"\\n    }\\n  ]\\n);\\n\")), mdx(\"h2\", {\n    \"id\": \"总结\"\n  }, \"\\u603B\\u7ED3\"), mdx(\"p\", null, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Class \\u5199\\u7684\\u592A\\u5C11\\uFF0CTypeScript \\u7528\\u7684\\u4E0D\\u719F\\u3002\")));\n}\n;\nMDXContent.isMDXComponent = true;","hero":{"full":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAABAAB/8QAFgEBAQEAAAAAAAAAAAAAAAAAAQME/9oADAMBAAIQAxAAAAFGl2mZMSH/xAAYEAADAQEAAAAAAAAAAAAAAAAAAQIREP/aAAgBAQABBQKXKWybAu//xAAWEQADAAAAAAAAAAAAAAAAAAAAARP/2gAIAQMBAT8BsyrP/8QAFhEAAwAAAAAAAAAAAAAAAAAAAAES/9oACAECAQE/AYRKP//EABYQAQEBAAAAAAAAAAAAAAAAAEEAIP/aAAgBAQAGPwJmcf/EABgQAQEAAwAAAAAAAAAAAAAAAAEAICFB/9oACAEBAAE/IQhxGGhd3//aAAwDAQACAAMAAAAQdz//xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAEDAQE/EB//xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAECAQE/EAv/xAAaEAEBAQADAQAAAAAAAAAAAAABABEhUYGR/9oACAEBAAE/EA6Psw1fM7c6+SUmQxf/2Q==","aspectRatio":1.5031847133757963,"src":"/static/e0f6f9f2481a3a6083de093873a09a17/58fe7/hero.jpg","srcSet":"/static/e0f6f9f2481a3a6083de093873a09a17/e0f30/hero.jpg 236w,\n/static/e0f6f9f2481a3a6083de093873a09a17/86afd/hero.jpg 472w,\n/static/e0f6f9f2481a3a6083de093873a09a17/58fe7/hero.jpg 944w,\n/static/e0f6f9f2481a3a6083de093873a09a17/02748/hero.jpg 1416w,\n/static/e0f6f9f2481a3a6083de093873a09a17/5c241/hero.jpg 1888w,\n/static/e0f6f9f2481a3a6083de093873a09a17/abdbb/hero.jpg 2550w","srcWebp":"/static/e0f6f9f2481a3a6083de093873a09a17/99fbb/hero.webp","srcSetWebp":"/static/e0f6f9f2481a3a6083de093873a09a17/77392/hero.webp 236w,\n/static/e0f6f9f2481a3a6083de093873a09a17/1f177/hero.webp 472w,\n/static/e0f6f9f2481a3a6083de093873a09a17/99fbb/hero.webp 944w,\n/static/e0f6f9f2481a3a6083de093873a09a17/4a492/hero.webp 1416w,\n/static/e0f6f9f2481a3a6083de093873a09a17/b0b8f/hero.webp 1888w,\n/static/e0f6f9f2481a3a6083de093873a09a17/0b63c/hero.webp 2550w","sizes":"(max-width: 944px) 100vw, 944px"},"regular":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAABAAB/8QAFgEBAQEAAAAAAAAAAAAAAAAAAQME/9oADAMBAAIQAxAAAAFGl2mZMSH/xAAYEAADAQEAAAAAAAAAAAAAAAAAAQIREP/aAAgBAQABBQKXKWybAu//xAAWEQADAAAAAAAAAAAAAAAAAAAAARP/2gAIAQMBAT8BsyrP/8QAFhEAAwAAAAAAAAAAAAAAAAAAAAES/9oACAECAQE/AYRKP//EABYQAQEBAAAAAAAAAAAAAAAAAEEAIP/aAAgBAQAGPwJmcf/EABgQAQEAAwAAAAAAAAAAAAAAAAEAICFB/9oACAEBAAE/IQhxGGhd3//aAAwDAQACAAMAAAAQdz//xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAEDAQE/EB//xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAECAQE/EAv/xAAaEAEBAQADAQAAAAAAAAAAAAABABEhUYGR/9oACAEBAAE/EA6Psw1fM7c6+SUmQxf/2Q==","aspectRatio":1.4954128440366972,"src":"/static/e0f6f9f2481a3a6083de093873a09a17/1dc0b/hero.jpg","srcSet":"/static/e0f6f9f2481a3a6083de093873a09a17/3a5ce/hero.jpg 163w,\n/static/e0f6f9f2481a3a6083de093873a09a17/05730/hero.jpg 327w,\n/static/e0f6f9f2481a3a6083de093873a09a17/1dc0b/hero.jpg 653w,\n/static/e0f6f9f2481a3a6083de093873a09a17/f72c7/hero.jpg 980w,\n/static/e0f6f9f2481a3a6083de093873a09a17/6e4a3/hero.jpg 1306w,\n/static/e0f6f9f2481a3a6083de093873a09a17/abdbb/hero.jpg 2550w","srcWebp":"/static/e0f6f9f2481a3a6083de093873a09a17/0acdf/hero.webp","srcSetWebp":"/static/e0f6f9f2481a3a6083de093873a09a17/ac59e/hero.webp 163w,\n/static/e0f6f9f2481a3a6083de093873a09a17/7660b/hero.webp 327w,\n/static/e0f6f9f2481a3a6083de093873a09a17/0acdf/hero.webp 653w,\n/static/e0f6f9f2481a3a6083de093873a09a17/75470/hero.webp 980w,\n/static/e0f6f9f2481a3a6083de093873a09a17/68d47/hero.webp 1306w,\n/static/e0f6f9f2481a3a6083de093873a09a17/0b63c/hero.webp 2550w","sizes":"(max-width: 653px) 100vw, 653px"},"narrow":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAABAAB/8QAFgEBAQEAAAAAAAAAAAAAAAAAAQME/9oADAMBAAIQAxAAAAFGl2mZMSH/xAAYEAADAQEAAAAAAAAAAAAAAAAAAQIREP/aAAgBAQABBQKXKWybAu//xAAWEQADAAAAAAAAAAAAAAAAAAAAARP/2gAIAQMBAT8BsyrP/8QAFhEAAwAAAAAAAAAAAAAAAAAAAAES/9oACAECAQE/AYRKP//EABYQAQEBAAAAAAAAAAAAAAAAAEEAIP/aAAgBAQAGPwJmcf/EABgQAQEAAwAAAAAAAAAAAAAAAAEAICFB/9oACAEBAAE/IQhxGGhd3//aAAwDAQACAAMAAAAQdz//xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAEDAQE/EB//xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAECAQE/EAv/xAAaEAEBAQADAQAAAAAAAAAAAAABABEhUYGR/9oACAEBAAE/EA6Psw1fM7c6+SUmQxf/2Q==","aspectRatio":1.5,"src":"/static/e0f6f9f2481a3a6083de093873a09a17/eaa58/hero.jpg","srcSet":"/static/e0f6f9f2481a3a6083de093873a09a17/5a3ee/hero.jpg 114w,\n/static/e0f6f9f2481a3a6083de093873a09a17/41f8f/hero.jpg 229w,\n/static/e0f6f9f2481a3a6083de093873a09a17/eaa58/hero.jpg 457w,\n/static/e0f6f9f2481a3a6083de093873a09a17/c309b/hero.jpg 686w,\n/static/e0f6f9f2481a3a6083de093873a09a17/e3008/hero.jpg 914w,\n/static/e0f6f9f2481a3a6083de093873a09a17/abdbb/hero.jpg 2550w","srcWebp":"/static/e0f6f9f2481a3a6083de093873a09a17/15384/hero.webp","srcSetWebp":"/static/e0f6f9f2481a3a6083de093873a09a17/31fce/hero.webp 114w,\n/static/e0f6f9f2481a3a6083de093873a09a17/e3e25/hero.webp 229w,\n/static/e0f6f9f2481a3a6083de093873a09a17/15384/hero.webp 457w,\n/static/e0f6f9f2481a3a6083de093873a09a17/0258d/hero.webp 686w,\n/static/e0f6f9f2481a3a6083de093873a09a17/64ea2/hero.webp 914w,\n/static/e0f6f9f2481a3a6083de093873a09a17/0b63c/hero.webp 2550w","sizes":"(max-width: 457px) 100vw, 457px"},"seo":{"src":"/static/e0f6f9f2481a3a6083de093873a09a17/0ff54/hero.jpg"}}}]}},"staticQueryHashes":["1143375668","1491088328","1921650733","2068910035","2444214635"]}