模块周刊 #2

这周立夏了,我也翻出了在柜子里躺了半年了 Vue T恤,虽然有些折痕,不过穿上去还是意外地不难看,果然我比较适合黑色系的东西。

本周没有什么太大的新闻,不过 nonsense 界还是有篇文章还是值得一读: The Chinese part of React community 以及 我期待 Vue 改进的一些地方,感觉看完各位都会男默女泪,期待哪天真的能有把 Vue 喷到点子上的文章出现,当然也包括我。

言归正传,看看这周都有哪些有趣的轮子出现:

代码格式化: prettier/eslint-config-prettier

Prettier 虽然是比较新的项目但是通过口口相传应该已经有不少人使用过了,如果你想将其和 ESLint 搭配使用 (毕竟它只是个 style formatter 而不承担检查 code quality 的责任),可以使用 eslint-config-prettier。既然已经用了 ESLint,那么 .vue 文件当然只是支持的了,算是曲线救国吧。

清理不需要的 node_modules: bntzio/wipe-modules

每次用 cleanMyMac 清理文件的时候都会在查找大文件的时候卡很久,原因就是 node_modules 太多了。用这个工具可以清理掉不活跃的项目。

搜索 npm 模块: npmarket

模块周刊 #2_第1张图片
npm market

用于搜索 npm 模块的 web app,作者使用了类似邮箱的设计让快速搜索切换项目变得异常简单。值得一指的是使用了 Vue 和 Poi 进行开发。

错别字杀手: maybe-you-meant

class Foo extends Component {
  static propTypes = {
    foobar: PropTypes.string
  }

  static defaultProps = {
    foobar: 'whatever'
  }
}

// Somewhere in the app

// Oops! We misspelled, but we won't blow up because of a default prop type.

想要 foobar 结果写成了 foobbar? maybe-you-meant 可以提醒你:

模块周刊 #2_第2张图片
maybe you meant

IntelliSense for GitHub: pd4d10/intelli-octo

模块周刊 #2_第3张图片
IntelliSense

给 GitHub 上的代码块加上类似 IDE 那种的 IntelliSense 智能感知功能。

Webpack 链式调用 API: mozilla-neutrino/webpack-chain

通过更抽象的 API 让管理和重组 Webpack config 变得可行,主要的使用场景是用于基于 webpack 的 wrapper 比如 neutrino (用了) 、Poi (用了) 和 Next.js (没用) 等等。试想假如 Next.js 默认的 Webpack 配置使用了 Webpack 的 progress 插件 webpack/lib/ProgressPlugin,之前你去掉它的办法是:

config.plugins = config.plugins
  .filter(p => p.name !== 'ProgressPlugin')

而现在你可以用更优雅的 API 同时没有在「蒙」的感觉:

config.plugins.delete('progress')

这样的设计让原地修改插件、loader 的参数也变得可行:

config.module.rule('vue').loader('vue').tap(options => {
  options.loaders.html = 'pug-loader'
  return options
})

写在最后,如果你想推荐一些项目,请尽量 (wubi) 给出推荐的理由 :P

你可能感兴趣的:(模块周刊 #2)