JSX in Vue.js
在基于 Webpack 的 Vue 项目中添加 JSX 支持:
$ yarn add babel-plugin-syntax-jsx babel-plugin-transform-vue-jsx babel-helper-vue-jsx-merge-props --dev |
各依赖的作用:
babel-plugin-syntax-jsx
提供基础的 JSX 语法转换babel-plugin-transform-vue-jsx
提供基于 Vue 的 JSX 特殊语法babel-helper-vue-jsx-merge-props
是可选的,提供对类似<comp {...props}/>
写法的支持
然后在 .babelrc
中,增加:
{ |
注意如果有其它 env 也要如此加上 transform-vue-jsx
插件。
用 PM2 代理静态文件
命令 (2.4.0+):
$ pm2 serve <path> <port> |
举例:
$ pm2 serve /dist 80 |
默认情况下,如果页面未找到,它将显示 404.html
目录中的文件 (无法配置)。
Common-used Commands
Personal common-used commands list, including windows, osx, git, etc.
Vue-Router Note
Vue Router (https://github.com/vuejs/vue-router) 使用笔记。虽然官方文档比较详尽,但实际用起来依然有些地方需要特别注意的(其实主要是我的个人需求)。
Limit Prerender Plugin Workers By Webpack
Prerender SPA Plugin 是一个可以将 Vue 页面预渲染为静态 HTML 的 webpack 插件,对静态小站(比如博客)来说很棒棒。但是最近用的时候总发现一个问题:它的 build 失败率越来越高,尤其是在 CI 上。后来在其 repo 的一个 issue 中发现了问题所在,就是它没有限制 PhantomJS workers 的数量,导致页面一多就直接全部卡死不动,然后超时。
(Workers) Default is as many workers as routes.
虽然有人已经发了 PR 来修复这个问题,然而好几个月过去了也没有 merge,不知道是什么情况。于是我在自己的尝试中找到了一种可以接受的解决方案:虽然我不能限制你插件 workers 的数量,但是可以限制每个插件渲染的 route 数量呀。
Better Documents
这篇文章记录了我是如何一步步地把 https://github.com/wxsms/uiv 这个项目的用户文档变得更优雅的。实际上,如何以一种高效又优雅的方式编写实例文档一直是我的一个疑惑,比如主要的问题体现在:
- 如何使文档更易读?
- 如何使文档更易于维护?
- 如何减少编写文档的工作量?
- 实例代码无可避免地需要手工维护吗?
最后一点是让我最头疼的地方。举个例子,我想要给用户展示一个组件的使用方式,以下代码可以在页面上创建一个 Alert:
<alert type="success"><b>Well done!</b> You successfully read this important alert message.</alert> |
那么,我总要给用户一个相对应的实例吧。我要在我的文档上面就创建一个这样的 Alert,同时告诉用户说你可以这么用。这是一个很普遍的展示方式,那么问题就在这里了,我是否要将同样的代码写两次呢?
一开始我确实就是这么做的,虽然我知道这不科学,不高效,更不优雅。但我实在是想不到更好的办法了。
但是,现在,我已经(几乎)把以上的问题都解决了。
终于要放假了
最近事情有点多,导致好久没有更新过博客。过完后天终于要到国庆假期了,希望可以多点时间在家休息(睡觉)。经常加班到 10 点,周末也时常单休,连续下来还是挺累人的。
公司的饭菜开始吃腻了,每天都能找到不想吃的菜(或者找不到想吃的菜)。
假期一定要抽空把这几个月学到的东西总结一下。