-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy path20190507.html
26 lines (24 loc) · 21.6 KB
/
20190507.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>小蜜蜂前端周刊第二十五期 | 小蜜蜂前端周刊</title>
<meta name="generator" content="VuePress 1.8.2">
<meta name="description" content="好好学习,天天向上。">
<link rel="preload" href="/FE-Weekly/assets/css/0.styles.a908ec75.css" as="style"><link rel="preload" href="/FE-Weekly/assets/js/app.44c279c7.js" as="script"><link rel="preload" href="/FE-Weekly/assets/js/2.946cf503.js" as="script"><link rel="preload" href="/FE-Weekly/assets/js/31.c82acf82.js" as="script"><link rel="preload" href="/FE-Weekly/assets/js/6.de6a323c.js" as="script"><link rel="prefetch" href="/FE-Weekly/assets/js/10.5352507b.js"><link rel="prefetch" href="/FE-Weekly/assets/js/11.83a72ade.js"><link rel="prefetch" href="/FE-Weekly/assets/js/12.00b61850.js"><link rel="prefetch" href="/FE-Weekly/assets/js/13.d79373a6.js"><link rel="prefetch" href="/FE-Weekly/assets/js/14.462af9ef.js"><link rel="prefetch" href="/FE-Weekly/assets/js/15.8441e7fa.js"><link rel="prefetch" href="/FE-Weekly/assets/js/16.7f190713.js"><link rel="prefetch" href="/FE-Weekly/assets/js/17.d836d8bc.js"><link rel="prefetch" href="/FE-Weekly/assets/js/18.636e69cb.js"><link rel="prefetch" href="/FE-Weekly/assets/js/19.9b122cc9.js"><link rel="prefetch" href="/FE-Weekly/assets/js/20.413f7eec.js"><link rel="prefetch" href="/FE-Weekly/assets/js/21.c65a8de1.js"><link rel="prefetch" href="/FE-Weekly/assets/js/22.97da2382.js"><link rel="prefetch" href="/FE-Weekly/assets/js/23.26864382.js"><link rel="prefetch" href="/FE-Weekly/assets/js/24.3a360530.js"><link rel="prefetch" href="/FE-Weekly/assets/js/25.d971b269.js"><link rel="prefetch" href="/FE-Weekly/assets/js/26.23721e08.js"><link rel="prefetch" href="/FE-Weekly/assets/js/27.0cf07053.js"><link rel="prefetch" href="/FE-Weekly/assets/js/28.ece7a01d.js"><link rel="prefetch" href="/FE-Weekly/assets/js/29.e7a224ad.js"><link rel="prefetch" href="/FE-Weekly/assets/js/3.e8932c61.js"><link rel="prefetch" href="/FE-Weekly/assets/js/30.a70521fc.js"><link rel="prefetch" href="/FE-Weekly/assets/js/32.e092bf1f.js"><link rel="prefetch" href="/FE-Weekly/assets/js/33.a2b31d8a.js"><link rel="prefetch" href="/FE-Weekly/assets/js/34.f332a696.js"><link rel="prefetch" href="/FE-Weekly/assets/js/35.1a57f590.js"><link rel="prefetch" href="/FE-Weekly/assets/js/36.d502f847.js"><link rel="prefetch" href="/FE-Weekly/assets/js/37.0a25424b.js"><link rel="prefetch" href="/FE-Weekly/assets/js/38.7ea8abc4.js"><link rel="prefetch" href="/FE-Weekly/assets/js/39.c31b2e25.js"><link rel="prefetch" href="/FE-Weekly/assets/js/4.e6e8c85d.js"><link rel="prefetch" href="/FE-Weekly/assets/js/40.998d7921.js"><link rel="prefetch" href="/FE-Weekly/assets/js/41.0badd321.js"><link rel="prefetch" href="/FE-Weekly/assets/js/42.3c31a06f.js"><link rel="prefetch" href="/FE-Weekly/assets/js/43.86f810a9.js"><link rel="prefetch" href="/FE-Weekly/assets/js/44.75e0f4c4.js"><link rel="prefetch" href="/FE-Weekly/assets/js/45.cc392e03.js"><link rel="prefetch" href="/FE-Weekly/assets/js/46.6278f709.js"><link rel="prefetch" href="/FE-Weekly/assets/js/47.e4eaf2a2.js"><link rel="prefetch" href="/FE-Weekly/assets/js/48.313a7005.js"><link rel="prefetch" href="/FE-Weekly/assets/js/49.3bb92779.js"><link rel="prefetch" href="/FE-Weekly/assets/js/5.f9b108dd.js"><link rel="prefetch" href="/FE-Weekly/assets/js/50.7f55cbb3.js"><link rel="prefetch" href="/FE-Weekly/assets/js/51.c323b810.js"><link rel="prefetch" href="/FE-Weekly/assets/js/52.12606e67.js"><link rel="prefetch" href="/FE-Weekly/assets/js/53.2d7b3e69.js"><link rel="prefetch" href="/FE-Weekly/assets/js/54.92e08cca.js"><link rel="prefetch" href="/FE-Weekly/assets/js/55.012f73b8.js"><link rel="prefetch" href="/FE-Weekly/assets/js/56.03073a43.js"><link rel="prefetch" href="/FE-Weekly/assets/js/57.e3439957.js"><link rel="prefetch" href="/FE-Weekly/assets/js/58.baa6fd74.js"><link rel="prefetch" href="/FE-Weekly/assets/js/59.a4ed02f6.js"><link rel="prefetch" href="/FE-Weekly/assets/js/60.42e7e9e5.js"><link rel="prefetch" href="/FE-Weekly/assets/js/61.48f6b23c.js"><link rel="prefetch" href="/FE-Weekly/assets/js/62.43bc49af.js"><link rel="prefetch" href="/FE-Weekly/assets/js/7.eefe6189.js"><link rel="prefetch" href="/FE-Weekly/assets/js/8.02d5fb3e.js"><link rel="prefetch" href="/FE-Weekly/assets/js/9.473470b2.js">
<link rel="stylesheet" href="/FE-Weekly/assets/css/0.styles.a908ec75.css">
</head>
<body>
<div id="app" data-server-rendered="true"><div class="theme-container"><header class="navbar"><div class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/FE-Weekly/" class="home-link router-link-active"><!----> <span class="site-name">小蜜蜂前端周刊</span></a> <div class="links"><div class="search-box"><input aria-label="Search" autocomplete="off" spellcheck="false" value=""> <!----></div> <nav class="nav-links can-hide"><div class="nav-item"><a href="/FE-Weekly/" class="nav-link">
首页
</a></div><div class="nav-item"><a href="https://github.com/bee-fe/FE-Weekly" target="_blank" rel="noopener noreferrer" class="nav-link external">
Github
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></div> <!----></nav></div></header> <div class="sidebar-mask"></div> <aside class="sidebar"><nav class="nav-links"><div class="nav-item"><a href="/FE-Weekly/" class="nav-link">
首页
</a></div><div class="nav-item"><a href="https://github.com/bee-fe/FE-Weekly" target="_blank" rel="noopener noreferrer" class="nav-link external">
Github
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></div> <!----></nav> <ul class="sidebar-links"><li><section class="sidebar-group depth-0"><p class="sidebar-heading open"><span>小蜜蜂前端周刊第二十五期</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/FE-Weekly/20190507.html#个人" class="sidebar-link">个人</a><ul class="sidebar-sub-headers"><li class="sidebar-sub-header"><a href="/FE-Weekly/20190507.html#npm包全局安装和局部安装-执行包命令有什么不同" class="sidebar-link">npm包全局安装和局部安装,执行包命令有什么不同?</a></li></ul></li><li><a href="/FE-Weekly/20190507.html#新鲜事" class="sidebar-link">新鲜事</a><ul class="sidebar-sub-headers"><li class="sidebar-sub-header"><a href="/FE-Weekly/20190507.html#introducing-node-js-12" class="sidebar-link">Introducing Node.js 12</a></li></ul></li><li><a href="/FE-Weekly/20190507.html#react" class="sidebar-link">React</a><ul class="sidebar-sub-headers"><li class="sidebar-sub-header"><a href="/FE-Weekly/20190507.html#react-ref-的前世今生" class="sidebar-link">React ref 的前世今生</a></li></ul></li><li><a href="/FE-Weekly/20190507.html#css" class="sidebar-link">CSS</a><ul class="sidebar-sub-headers"><li class="sidebar-sub-header"><a href="/FE-Weekly/20190507.html#css技巧-01" class="sidebar-link">CSS技巧(01)</a></li><li class="sidebar-sub-header"><a href="/FE-Weekly/20190507.html#css-技巧-02" class="sidebar-link">CSS 技巧(02)</a></li><li class="sidebar-sub-header"><a href="/FE-Weekly/20190507.html#web技巧-03" class="sidebar-link">Web技巧 (03)</a></li><li class="sidebar-sub-header"><a href="/FE-Weekly/20190507.html#web技巧-04" class="sidebar-link">Web技巧 (04)</a></li></ul></li><li><a href="/FE-Weekly/20190507.html#js" class="sidebar-link">JS</a><ul class="sidebar-sub-headers"><li class="sidebar-sub-header"><a href="/FE-Weekly/20190507.html#图解-map、reduce-和-filter-数组方法" class="sidebar-link">图解 Map、Reduce 和 Filter 数组方法</a></li></ul></li><li><a href="/FE-Weekly/20190507.html#rxjs" class="sidebar-link">RxJS</a><ul class="sidebar-sub-headers"><li class="sidebar-sub-header"><a href="/FE-Weekly/20190507.html#rxjs-入门" class="sidebar-link">RxJS 入门</a></li></ul></li><li><a href="/FE-Weekly/20190507.html#多语言" class="sidebar-link">多语言</a><ul class="sidebar-sub-headers"><li class="sidebar-sub-header"><a href="/FE-Weekly/20190507.html#eslint-plugin-i18next-多语言文本检查" class="sidebar-link">ESLint-plugin-i18next:多语言文本检查</a></li></ul></li></ul></section></li></ul> </aside> <main class="page"> <div class="theme-default-content content__default"><h1 id="小蜜蜂前端周刊第二十五期"><a href="#小蜜蜂前端周刊第二十五期" class="header-anchor">#</a> 小蜜蜂前端周刊第二十五期</h1> <p><strong>本期文章由 张紫月 供稿</strong></p> <h2 id="个人"><a href="#个人" class="header-anchor">#</a> 个人</h2> <h3 id="npm包全局安装和局部安装-执行包命令有什么不同"><a href="#npm包全局安装和局部安装-执行包命令有什么不同" class="header-anchor">#</a> <a href="https://juejin.im/post/5ccf9dc0f265da03914d7524" target="_blank" rel="noopener noreferrer">npm包全局安装和局部安装,执行包命令有什么不同?<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></h3> <ul><li>推荐理由: npm包全局安装和局部安装,执行包命令有什么不同?</li> <li>推荐人: 张紫月</li></ul> <h2 id="新鲜事"><a href="#新鲜事" class="header-anchor">#</a> 新鲜事</h2> <h3 id="introducing-node-js-12"><a href="#introducing-node-js-12" class="header-anchor">#</a> <a href="https://medium.com/@nodejs/introducing-node-js-12-76c41a1b3f3f" target="_blank" rel="noopener noreferrer">Introducing Node.js 12<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></h3> <ul><li>推荐理由: 时隔一年,Node.js 12 如约而至,正式发布第一个 Current 版本。</li></ul> <h2 id="react"><a href="#react" class="header-anchor">#</a> React</h2> <h3 id="react-ref-的前世今生"><a href="#react-ref-的前世今生" class="header-anchor">#</a> <a href="https://zhuanlan.zhihu.com/p/40462264" target="_blank" rel="noopener noreferrer">React ref 的前世今生<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></h3> <ul><li>推荐理由: 众所周知,React 通过声明式的渲染机制把复杂的 DOM 操作抽象成为简单的 state 与 props 操作,一时圈粉无数,一夜间将前端工程师从面条式的 DOM 操作中拯救出来。尽管我们一再强调在 React 开发中尽量避免 DOM 操作,但在一些场景中仍然无法避免。当然 React 并没有把路堵死,它提供了 ref 用于访问在 render 方法中创建的 DOM 元素或者是 React 组件实例。</li></ul> <h2 id="css"><a href="#css" class="header-anchor">#</a> CSS</h2> <h3 id="css技巧-01"><a href="#css技巧-01" class="header-anchor">#</a> <a href="https://zhuanlan.zhihu.com/p/60201227" target="_blank" rel="noopener noreferrer">CSS技巧(01)<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></h3> <ul><li>推荐理由: 从这周开始,我将会把每周看到有关于CSS有意思的技巧整合成一篇文章。将会在每周的星期天整理发布,每篇文章中将会以CSS的技巧为主线进行介绍,但每个技巧不会深入的阐述。主要目的给对CSS感兴趣的同学增强CSS的眼界,扩大知识面和使用场景。同时也希望能帮助大家将一些CSS技巧运用到实际项目中,另外提高自己在这方面的技术。如果感兴趣的话,可以持续关注,或者有你相关的技巧也可以和我们一起共享。</li></ul> <h3 id="css-技巧-02"><a href="#css-技巧-02" class="header-anchor">#</a> <a href="https://zhuanlan.zhihu.com/p/61632491" target="_blank" rel="noopener noreferrer">CSS 技巧(02)<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></h3> <ul><li>推荐理由: 在写第一期有关于CSS技巧的时候立下过一个Flag,即每周末发布一篇有关于自己在本周看到过有关于CSS的小技巧(有意思的CSS)。但由于上周末去深圳参回第五届CSS Conf,没有如期整理发布,所以今天整理了发出来。在这期的小技巧中,大部分是与边框相关的故事。希望大家会喜欢。</li></ul> <h3 id="web技巧-03"><a href="#web技巧-03" class="header-anchor">#</a> <a href="https://zhuanlan.zhihu.com/p/62511013" target="_blank" rel="noopener noreferrer">Web技巧 (03)<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></h3> <ul><li>推荐理由: 又到了每周CSS技巧发布的时间了,在正式发布这期之前,先说一下,从这期开始将以Web技巧的标题来发布,因为今后发布的内容不再局限于CSS的方面,或涉及到Web的其他技术或特性。原则是同样的,将会以自己在本周看到的一些有关于Web技术有意思的知识,将每个知识点整理成文来发布。在上一期中,主要围绕着CSS的border来扩展故事。那么这一期将会涉及到哪些Web知识点呢?感兴趣的同学请继续往下阅读。</li></ul> <h3 id="web技巧-04"><a href="#web技巧-04" class="header-anchor">#</a> <a href="https://zhuanlan.zhihu.com/p/63412563" target="_blank" rel="noopener noreferrer">Web技巧 (04)<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></h3> <ul><li>推荐理由: 在Web技巧第三期中,我们了解到了排版中断字连接符、原生的延迟加载、不规则阴影处理、Sass颜色函数和CSS自定义属性的结合以及CSS中对齐等知识点。在这一期中,我们将围绕着CSS中的布局来展开。在这一期中将会向大家介绍CSS Shapes给布局带来的变化(Web艺术)、在Flexbox和Grid布局中如何控制最后一行的剩余项以及如何使用Flexbox和Grid实现响应式布局、CSS怎么实现瀑布流布局、CSS怎么构建对角容器和两个还未得到支持的CSS特性:subgrid和带两个属性值的display。</li></ul> <h2 id="js"><a href="#js" class="header-anchor">#</a> JS</h2> <h3 id="图解-map、reduce-和-filter-数组方法"><a href="#图解-map、reduce-和-filter-数组方法" class="header-anchor">#</a> <a href="https://zhuanlan.zhihu.com/p/62108150" target="_blank" rel="noopener noreferrer">图解 Map、Reduce 和 Filter 数组方法<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></h3> <ul><li>推荐理由: map、reduce 和 filter 是三个非常实用的 JavaScript 数组方法,赋予了开发者四两拨千斤的能力。我们直接进入正题,看看如何使用(并记住)这些超级好用的方法!</li></ul> <h2 id="rxjs"><a href="#rxjs" class="header-anchor">#</a> RxJS</h2> <h3 id="rxjs-入门"><a href="#rxjs-入门" class="header-anchor">#</a> <a href="https://zhuanlan.zhihu.com/p/62098043" target="_blank" rel="noopener noreferrer">RxJS 入门<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></h3> <ul><li>推荐理由: RxJS 入门</li></ul> <h2 id="多语言"><a href="#多语言" class="header-anchor">#</a> 多语言</h2> <h3 id="eslint-plugin-i18next-多语言文本检查"><a href="#eslint-plugin-i18next-多语言文本检查" class="header-anchor">#</a> <a href="https://zhuanlan.zhihu.com/p/61104291" target="_blank" rel="noopener noreferrer">ESLint-plugin-i18next:多语言文本检查<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></h3> <ul><li>推荐理由: 在需要支持多语言的项目中,我们常常保存一份词典,里面保存着每段文本对应不同语言的翻译,根据用户选择的语言,动态显示对应的文本。我们可能需要一个类似 i18next 的模块来管理词典。</li></ul> <div class="gitalk-container"><div id="gitalk-container"></div></div></div> <footer class="page-edit"><!----> <div class="last-updated"><span class="prefix">最后更新:</span> <span class="time">2021/12/10 上午10:52:50</span></div></footer> <!----> </main></div><div class="global-ui"></div></div>
<script src="/FE-Weekly/assets/js/app.44c279c7.js" defer></script><script src="/FE-Weekly/assets/js/2.946cf503.js" defer></script><script src="/FE-Weekly/assets/js/31.c82acf82.js" defer></script><script src="/FE-Weekly/assets/js/6.de6a323c.js" defer></script>
</body>
</html>