使用 vue-cli 创建的脚手架项目,目前最大的问题是创建后无法自动地进行升级。虽然 3.0 版本已经计划将其作为头等大事来进行改善 (#589),但是现行的版本依然要面对它。以下基于 webpack template 来进行升级时的一些要点解析。

阅读全文 »

在基于 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 中,增加:

{
...
"plugins": [
"transform-vue-jsx",
...
]
...
}

注意如果有其它 env 也要如此加上 transform-vue-jsx 插件。

阅读全文 »

命令 (2.4.0+):

$ pm2 serve <path> <port>

举例:

$ pm2 serve /dist 80

默认情况下,如果页面未找到,它将显示 404.html 目录中的文件 (无法配置)。

Prerender SPA Plugin 是一个可以将 Vue 页面预渲染为静态 HTML 的 webpack 插件,对静态小站(比如博客)来说很棒棒。但是最近用的时候总发现一个问题:它的 build 失败率越来越高,尤其是在 CI 上。后来在其 repo 的一个 issue 中发现了问题所在,就是它没有限制 PhantomJS workers 的数量,导致页面一多就直接全部卡死不动,然后超时。

(Workers) Default is as many workers as routes.

虽然有人已经发了 PR 来修复这个问题,然而好几个月过去了也没有 merge,不知道是什么情况。于是我在自己的尝试中找到了一种可以接受的解决方案:虽然我不能限制你插件 workers 的数量,但是可以限制每个插件渲染的 route 数量呀。

阅读全文 »

这篇文章记录了我是如何一步步地把 https://github.com/wxsms/uiv 这个项目的用户文档变得更优雅的。实际上,如何以一种高效又优雅的方式编写实例文档一直是我的一个疑惑,比如主要的问题体现在:

  • 如何使文档更易读?
  • 如何使文档更易于维护?
  • 如何减少编写文档的工作量?
  • 实例代码无可避免地需要手工维护吗?

最后一点是让我最头疼的地方。举个例子,我想要给用户展示一个组件的使用方式,以下代码可以在页面上创建一个 Alert:

<alert type="success"><b>Well done!</b> You successfully read this important alert message.</alert>

那么,我总要给用户一个相对应的实例吧。我要在我的文档上面就创建一个这样的 Alert,同时告诉用户说你可以这么用。这是一个很普遍的展示方式,那么问题就在这里了,我是否要将同样的代码写两次呢?

一开始我确实就是这么做的,虽然我知道这不科学,不高效,更不优雅。但我实在是想不到更好的办法了。

但是,现在,我已经(几乎)把以上的问题都解决了。

阅读全文 »

CORS HTTP Header 是解决 Ajax 跨域问题的方案之一。详情查看:MDN

这篇文章主要是记录使用过程中遇到的问题以及解决方案。

阅读全文 »

最近事情有点多,导致好久没有更新过博客。过完后天终于要到国庆假期了,希望可以多点时间在家休息(睡觉)。经常加班到 10 点,周末也时常单休,连续下来还是挺累人的。

公司的饭菜开始吃腻了,每天都能找到不想吃的菜(或者找不到想吃的菜)。

假期一定要抽空把这几个月学到的东西总结一下。

Koa是一个类似于 Express 的 Web 开发框架,创始人也是同一个人。它的主要特点是,使用了 ES6 的 Generator 函数,进行了架构的重新设计。也就是说,Koa的原理和内部结构很像 Express,但是语法和内部结构进行了升级。

—— 阮一峰博客

想要达到使用 Koa2 的完整体验,需要将 Node 版本升级到 v7.6+ 以支持 async 语法。

为什么是 Koa 而不是 Express 4.0?

因为 Generator 带来的改动太大了,相当于推倒重来。

以下内容基于 Koa2

阅读全文 »
0%