这周立夏了,我也翻出了在柜子里躺了半年了 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
用于搜索 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.
<Foo foobbar='not whatever' />
想要 foobar 结果写成了 foobbar? maybe-you-meant 可以提醒你:
IntelliSense for GitHub: pd4d10/intelli-octo
给 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