前者构建工具的如何——Webpack vs Gulp 谁会吃磕碰大于沙滩及

结论

自己看多口说 gulp 和 webpack
不是均等接近东西,我弗这样觉得,虽然说两者的落脚点确实是匪等同的,gulp
走的凡流式处理途径,webpack
走之是模块处理途径,但是两岸所设上的对象也是一律的,那就是是力促前端领域的自动化和工程化管理。webpack
发展到今天,已经杀强了,强大到当构建方面 gulp 能做的转业 webpack
基本上还可以胜任,gulp 举行不了之 webpack
也能为。同样的那些开发工作被痛又耗时的职责,gulp 及 webpack
都能够解决,只是解决思路产生天壤之别。

下表是自从各个角度对 gulp 和 webpack 做的对比:

Gulp Webpack
定位 基于流的自动化构建工具 一个万能模块打包器
目标 自动化和优化开发工作流,为通用 website 开发而生 通用模块打包加载器,为移动端大型 SPA 应用而生
学习难度 易于学习,易于使用,api总共只有5个方法 有大量新的概念和api,不过好在有详尽的官方文档
适用场景 基于流的作业方式适合多页面应用开发 一切皆模块的特点适合单页面应用开发
作业方式 对输入(gulp.src)的 js,ts,scss,less 等源文件依次执行打包(bundle)、编译(compile)、压缩、重命名等处理后输出(gulp.dest)到指定目录中去,为了构建而打包 对入口文件(entry)递归解析生成依赖关系图,然后将所有依赖打包在一起,在打包之前会将所有依赖转译成可打包的 js 模块,为了打包而构建
使用方式 常规 js 开发,编写一系列构建任务(task)。 编辑各种 JSON 配置项
优点 适合多页面开发,易于学习,易于使用,接口优雅。 可以打包一切资源,适配各种模块系统
缺点 在单页面应用方面输出乏力,而且对流行的单页技术有些难以处理(比如 Vue 单文件组件,使用 gulp 处理就会很困难,而 webpack 一个 loader 就能轻松搞定) 不适合多页应用开发,灵活度高但同时配置很繁琐复杂。“打包一切” 这个优点对于 HTTP/1.1 尤其重要,因为所有资源打包在一起能明显减少浏览器访问页面时的资源请求数量,从而减少应用程序必须等待的时间。但这个优点可能会随着 HTTP/2 的流行而变得不那么突出,因为 HTTP/2 的多路复用可以有效解决客户端并行请求时的瓶颈问题。
结论 浏览器多页应用(MPA)首选方案 浏览器单页应用(SPA)首选方案

gulp 为何非吸取百小之长,把 webpack 的物并进来,反正都是开源之
腾讯那么牛逼,你说他怎么不把阿里巴巴合并进来。集成应该是尚未可能,因为
gulp 和 webpack
的一贯不一样。所以,没有放开之世而俱以的缓解方案,只有切实问题具体分析选择符合之解决方案才能够是地化解问题。gulp
与 webpack 只是我们缓解问题之家伙,不要被工具束缚了动作不克向上。

聊天了如此多,到底何许人也会为打大于沙滩上
可以关押出来,这片个器其实每有优缺,都有用武之地。合理地配合使用,取长补短,才会发表极其酷的威力,所以这俩基友并无是轧的,而是上的,谁吗不见面吃撞击大于沙滩及。

一律名闷雷,闪电越过犹如白昼,暴雨已至。他微睁着对眼睛,望在车窗上逐步大颗的雨点,嘴角勾起一丝笑意。

读目录

“没有…”女人喝了抿唇,把条抬了起。目光在跟周江碰触的那瞬间又惊慌地倒退了回。

  • 可观之前端开发流程
  • Gulp 为何物
  • webpack 又是自哪冒出来的
  • 结论

便于她弯腰进入车子的那么瞬间,周江从幕后狠狠地拿它们照倒以座椅上,用事先沾满迷药的手套紧紧地遮盖了内的口鼻。

webpack 又是打哪冒出来的

gulp
似乎是完善的,对前端开发工作负每一样宗痛苦而耗时任务还能够见招拆招,各个击破。然而前端发展速度的快超过想象,对页面性能与用户体验越来越追求极致,以至于
gulp 某些领域越来越大型 SPA(单页应用)显得有点不够用了:

  • 单页应用的主干是模块化,ES6 之前 JavaScript
    语言本身直白是从未有过模块系统的,导致 AMD,CMD,UMD
    各种轮子模块化方案都踊跃出。对这种模块化乱象,gulp
    显得力不从心,gulp
    插件对当下同样块呢不曾呀想法。不过也得理解,模块化解决方案可以是哪位还能够
    hold 住的,需要考虑的问题最为多矣;
  • 本着前方的 SPA 技术 gulp 处理起来显得略微力不从心,例如 Vue
    的单文件组件,gulp
    配合局部插件可以勉强处理,但是雅糟糕。其实说到底,还是模块化处理点的不足;
  • 优化页面加载速度之均等长长的重点法虽就是是减少 http 请求。gulp
    只是对静态资源做流式处理,处理后没有开有效之优化重组,也就是说
    gulp
    忽略了系统层面的拍卖,这同块还生良死之优化空间,尤其是移动端,那才真的是一寸光阴一寸金啊,哪怕是几百毫秒的优化所带的收入(用户?流量?付费?)绝对超乎你的想象。别和自己说
    gulp-concat,CSS
    Sprites,这俩玩意儿小打小闹还行,遇上巨型应用向拿不达台面。现在的页面动辄上百单繁缛资源(图片,样式表,脚本),也就是是许多只
    http 请求,因此此优化需求或相当迫切的。关于为何减少 http
    请求可以中降低页面加载时间戳这里。
  • blabla… 你协调想吧,主要就是是重型单页应用方面发生短板;

时势造英雄。webpack 一名誉巨响,大张旗鼓地凿起了gulp 的墙角。

老,先看webpack官网怎么吹牛逼介绍好的:

Webpack 是当下最为抢手之前端资源模块化 管住与包装
工具。它可用众多麻木不仁之模块按照依赖与规则打包成符合生产环境布置之前端资源。还足以将以需要加载的模块进行代码分割,等到实际用之早晚又异步加载。

凡勿是圈了一脸懵逼,不明觉厉。其实翻译过来就是是
“在自眼里,什么都是模块”。webpack “万物都模块” 的意与 SPA
配合起来简直是金童玉女,天作之合。这为是 webpack
短时间外名声大噪,直接撼动 gulp 地位的主要原因。

webpack
的看法比较前卫,它自身为带来了无数新的概念以及情节,诸如加载器(loader)、依赖图(Dependency
Graph)等等。和 gulp 两钟头成砖家的学难度比,webpack
或许你研究有限天还会晕头转向。

接下去大概看一下 webpack 的关键办事方式。

webpack 和 gulp 一样呢是一个小 node 包,打开方式自然是:

npm i -g webpack
npm i --save-dev webpack

及 gulp 一样,全局安装是为施行 webpack 任务,本地安装是以用
webpack 提供的 api。

安完 webpack 之后于项目根本目录下新建一个 webpack.config.js,这是
webpack 的默认配置文件,同 gulp 的 gulpfile.js
的效果相近。webpack.config.js 同样是匪分轻重缓急写的,取成
webPACk.CONfig.js 的言辞 webpack
也克认得,但是取成其他名字或者坐落别的目录就用用 –config
选项去指定安排文件了。

今日工程目录结构如下:

图片 1

构建前webpack工程目录结构

连接下就是于 webpack.config.js 里配置需要的挑三拣四项,注意了,webpack 与 gulp
的基本点不同就是是采用方法 鉴于编程式变成了配置式

const path = require('path');

module.exports = {
    entry: './src/index.js',        // 告诉 webpack 你要编译哪个文件
    output: {                       // 告诉 webpack 你要把编译后生成的文件放在哪
        filename: 'bundle.js',
        path: path.join(__dirname, 'dist')
    }
};

末段还是与 gulp 类似,就是在极端里运行
webpack(终端里一般会现出一样老坨编译信息)。好了,现在 webpack
已经将编译好之文件输出到了 dist 目录:

图片 2

构建后webpack工程目录结构

视这是未是已经一头雾水了,在您还无亮有了哟的当儿 webpack
已经拿业务涉及了了。这吗是 webpack 和 gulp 作业法的严重性不同:Gulp
是搭了单台,让 gulp
插件在上头唱戏,尽情表演,所有构建相关的求实作业都交由 gulp 插件去开。而
Webpack 就牛逼了,webpack
先搭了只案子,然后自己当地方唱嗨了,仔细一听,他以面唱的凡《我们不雷同》,当然矣外也是为
webpack 插件在上面唱戏的。

也就是说 webpack
把广大效应都封装上了和睦身体中,使得自己强大又臃肿。现在你可以
./src/index.js 文件里直接写 ES6 代码,因为 webpack 把编译 ES6
的工作既封装到温馨之落实里了,使得 webpack 看起原生支持 ES6
而休需依靠第三方插件,其实他内也是用了第三正值插件的,所以若不要再特别去下一个
babel 之类的插件去转译
ES6。这样封装的便宜是应用起来挺便利,不好的地方便是使用者完全不明了有了什么,构建了了尚同样脸懵逼。

上面就是 webpack 使用的无限极端极致简便示例,简直连 “hello world”
都算不齐。具体哪打包各种资源(typescript,样式表,图片,字体等等)可去
webpack官网 深入学,想看中文的同桌要劲
戳这里。

webpack “一切皆模块” 的特征完美解决了上面 gulp 暴露的几乎独短板,连
webpack 官网也说自己是坐看到现存的模块打包器都非绝符合大型 SPA
应用,于是决定打造一个入大型 SPA 应用之模块打包器,也就是说 webpack
其实就是啊巨型 SPA
而老之。

webpack 怎么落实像 gulp 一样对大气自文件进行流式处理
人家 webpack 本来就是从不打算开就行。webpack 不是为取代 gulp
为目的的,而是为吃大型 SPA
提供更好之构建方案。对大量自文件进行流式处理是 gulp 擅长的事,webpack
不思量尽早,也从来不必要及早。即使抢,也止是再造一个不善的 gulp 出来而已。

既是 webpack 模块化这么强,那以后模块化就全用 webpack 好了
webpack
模块化是赛,但是他胖啊,不是兼备人数犹获得得动,主要是外为了供再多的功力封装进了极端多东西,所以选择上还是要因地制宜。如果单纯只是是包装
js(多页应用往往是这种需要),完全可以使用 rollup,browserify
这种小如美的兑现,因为他俩仅开同样起事——打包js。而要要将图纸,样式,字体等具备静态资源满卷入,webpack
毫无疑问是首选。这吗是为什么越来越多的流行库和框架初步自 webpack
转向以 rollup 进行包装,因为他们只待打包 js,webpack
好多精力量向用非顶。连 rollup 官网也坦言要您以构建一个储藏室,rollup
绝对是首选,但如果是构建一个应用,那么请选 webpack。

周江家是一个超人的农村妇女,性格内向寡言且没有知识。他得趁创业初期便将立即包袱甩掉,免得以后还摸索他分一杯羹。

Gulp 为何物

先来听听 Ta 的官网是怎说:

Gulp 致力于 自动化和优化 你的工作流,它是一个自动化你开工作吃
惨痛而耗时任务 的工具包。

思同一纪念我们普通的付出工作着痛又耗时任务产生怎样吗?

  • 于是 es6,typescript 编写的台本文件要编译成浏览器认识的 javascript
  • 就此 scss,less 编写的体裁文件需要编译成浏览器认识的 css
  • 检查代码是否可书写规范,跑单元测试和购并测试
  • 支付环境而来 sourcemaps
    的话语调试起来便便宜多了,修改了代码浏览器能自动刷新立即看到效果即使还好了
  • 生儿育女条件布置代码需要减少合并静态文件,添加文书指纹控制缓存
  • blabla…更多的公协调想吧

Gulp 声称如果帮忙我们实现
自动化,那他是什么样帮助我们实现自动化的吗?这就是只能先领一嘴巴牛逼哄哄的
NodeJS

Node 背景多少知识

Node 使前端 Jser 有矣退出浏览器工作的力,要按以前的言语我们写的 js
要么嵌到 html 页面里,然后用浏览器打开 html
页面才会运作js,要么就算是在浏览器开发者工具的 Console
面板里编写运行代码有。总之没了浏览器是宿主,咱们的 js 就 run
不起。Node 这卖突发奇想,把开发者工具的 Console 给勒下来了,从此 js
可以脱离浏览器直接在 node 里运行。相当给 js
现在来了简单只宿主环境,一个凡是浏览器,一个凡 node
。当然了,Node
可不是开发者工具里之 Console,那就是于个如。它是因Chrome V8
引擎实现之一个 JavaScript 运行环境,功能实在类似 Console
面板,但提供了汪洋实用的 API,感兴趣的同班可过去
Node官网 详细摸底,英文吃力的骚年
戳这里。Node 可以算前端革命式的换代,随 node
一起发布的 node 包管理器 npm(node package manager)
也已是全世界最为可怜的开源库生态系统。node/npm
这对准做一样有,前端生态迎来了老大爆发,一时间为解决各种题材之 node
包层出不穷,遍地开花。gulp 就是勇敢,一路过五关斩六拿闯出来的一个小
node 包。

扯谈完毕,接下去便来探视 gulp
是不是当装逼,他究竟能无可知帮咱落实自动化。

作为一个 node 包,标准打开方式当然是:

npm i -g gulp

然后也,这里因编译 less 为例,首先安装编译 less 需要运用的 node 包:

npm i --save-dev gulp gulp-less

面前都全局安装了 gulp 了,怎么又本地安装了同等通
前面的 -g 是大局安装,是为着执行你所修的 gulp 任务,即 gulp
yourTask。而背后的 –save-dev 是本地安装,是以我们编写任务时用 gulp
提供的 api,例如 gulp.src()gulp.task()gulp.dest()
等等。当然为是足以一直动用全局安装之 gulp 的 api
的,但是明显不推荐,因为这么提到到 gulp 版本控制的题目,而且以全局
gulp 的 api
的讲话就是见面生环境因(你而条件已全局安装了gulp,万一没作也,程序不就发生错了)。

随后以项目之到底目录下新建一个 gulpfile.js 文件,这是 gulp
的默认配置文件。

gulpfile.js 必须在项目根本目录?
当也只是放在其他目录,但这样的话就得在开行 gulp 任务时手动指定 gulp
配置文件 gulp yourTask –gulpfile yourGulpfilePath,可能还欲全局安装
gulp-cli,所以只有有特殊需要,否则就算位于项目根本目录就推行了,这样极其简便。

布置文件之名字务必是 gulpfile.js 吗?
匪分轻重缓急写,取成 gULPFile.js 的言辞 gulp 也克认得,只要 toLowerCase
之后是 gulpfile 就执行了,如果得到其它名字那您尽管同时得使 –gulpfile
选项去指定了。

本工程目录结构都改成了下的金科玉律:

图片 3

构建前 gulp 工程目录结构

连着下去便当 gulpfile.js 里编写 gulp task(gulp
把为每个痛苦而耗时任务编写的处理办法称为一个 task):

const gulp = require('gulp');
const less = require('gulp-less');

gulp.task('build:less', function(){
    return gulp.src('./src/*.less')
        .pipe(less())
        .pipe(gulp.dest('./dist'));
});

末段就是开拓一个终端,在巅峰里运行 gulp
build:less。好了,编译后底文书已给输出到了 dist 目录:

图片 4

构建后 gulp 工程目录结构

迄今为止你曾算一个 gulp 砖家了,这多就是 gulp
的全部内容。怎么样,是不是够简单,够丝滑。这吗是 gulp
的凸起特征——易于学习,易于使,五分钟成砖家。如果想如果实施解决其他痛苦又耗时的职责,只待下载安装对应的
gulp 插件包,然后逐一类推写一个 gulp.task 出来就是实行了。

这些源代码具体是怎么为处理的
就便不需关爱,因为 gulp
插件包就为你办好了,并且封装的不可开交美妙,你只有需要报 gulp 你如果什么,gulp
及其插件会协助您自点好一切。这便吓于你拿同卖电子文档传进打印机,告诉它自己只要平等客
A4 纸打印,呲呲呲~,打印机就呕吐出来一张 A4
纸,上面是若的文档内容。源代码就是公的电子文档,gulp
插件就是是打印机,生成的可用文件就是您手里的那么张 A4
纸,你绝不关心打印机内部是什么样工作之,因为它们包裹的挺好,或者你得将打印机拆了同试究竟也行。

Gulp 是基于流的?
流(Stream)不是 gulp 创造的概念,而是由 unix 时代就算起来以的 I/O
机制,一直到现在仍以大规模应用。Node 封装了一个
stream
模块专门用来针对流动进行操作。gulp 所依据的流即是 Node 封装起的
stream。上面 gulp.task() 代码里面的
pipe
方法并无是 gulp 提供的 api,而是 node 的 api,准确的游说该是 node 的
stream 模块提供的 api。具体是怎么落实的呢:gulp.src() 的返回值是 node
Stream 的一个实例,之后的 pipe 调用的实际上是者实例的 pipe 方法,而
pipe 方法的返回值依然是 node Stream 实例,以此实现前面的
.pipe().pipe().pipe() 这种串联写法。熟悉 jQuery
的同窗应该格外懂得这种技术。

旋即片郊区没有出价值,附近的山林肆意越长越茂密。周江前少天曾在紧邻踩好点了,他深谙地管车停放在同样漫漫暗道里,扛在女人走过一修黑暗曲折的小路,四周都是乱的稍树,周江又望前头挪了同样段子总长,他拿爱妻放了下来。

章有接触长,总共 1800 字,阅读要 18
分钟。哈哈,没耐心的第一手捅我到高潮部分。

吃模糊的记他找到老婆的家,却发现自己根本无钥匙。

美好的前端开发流程

每当说构建工具之前得事先说说我们期望之前端开发流程是怎的?

  • 写作业逻辑代码(例如 es6,scss,pug 等)
  • 拍卖成浏览器认识的(js,css,html)
  • 浏览器自动刷新看到效果

前端开发就是当相连的 123..123..123….
循环往复中展开的,上面的晚少步(也就是是 2 同 3)应该是 自动化
的,前端开发者应只需要关注第 1 步——写作业逻辑代码。

自动化的作业应到由构建工具来做,时下流行的前端构建工具发出 gulp 和
webpack(有人说 webpack
不到底是构建工具,我当这绝非什么好争的。横看成岭侧成峰,我觉着从此时此刻
webpack 所能召开的工作来拘禁,说其是构建工具丝毫无呢过)。本文不会见针对
gulp 和
webpack
的定义和内容做深刻剖析,而是期待于本之角度研究他们的优势短缺以及适用场景,从而说根本长期弥漫于前端圈二者之间扑朔迷离的干。

嘿是构建工具
构建工具是同等段子机关根据源代码生成可采取文件之次第,构建过程包括打包、编译、压缩、测试等整个得对源代码进行的相关处理。构建工具的目的是兑现构建过程的自动化,使用它可于咱们避免机械重复的辛苦(这怕是程序员最不克经得住的了),从而解放我们的手。

解放了双手干啊
哇槽,爱关系啊关联啊。

当周江差风生水于底那几年,他在外的预留了3只朋友,即使醉酒时把对象的名叫错,她们还会管他伺候得舒舒服服。他甘当将钱交换年轻酮体带被他的快感,大家各取所需,双方本着游戏规则心知肚明,谁还会那些琐事?现在,他的小卖部遇到麻烦濒临破产,还缺了一样臀部外债,这仨人耶如出一辙的毁灭了。

“你恨我吧?”周江没有着嗓子问道。

她像比结婚时看起瘦了某些,或者胖一点。算了,他吗忘记了。

泡走小姐后,周江眯着眼来到窗户边有思,手中的纸烟安静地燃烧到了最终。他断免容许自己苦心经营的结晶最终取得得一样摆空。

不怕在这,他回顾了外爱人,他险些忘了其——那个独自住在郊区的夫人。

那么座楼已着都是数孤寡老人,眼花耳聋,加上外围电闪雷鸣,他一点还未担心会碰撞什么来人。

周江于暗黑之山林里钻了出,身上得到满血迹。他通过其他一样长漆黑的便道,回到车上,把手套和外套全部破下来放上一个黑色袋子,光在膀子点由一开支烟,不一会儿那密闭的空间就于偶发的烟笼罩起来。

婚后季年,周江提出离婚。

今日凡是情人节,周江告诉家里立刻非常生活会回来吃饭,电话的那头是他妻子掩饰不停歇的戏谑。

6.

他还多久没转之小了呀。他的心有点触动了。

周江碰了壁,对及时家里的头痛又强化了,心里都把它们打入了冷宫。

外领略某些小伎俩就是得于那土了吧唧的乡家里上钩。

有一样不好,他无意中只见到后视镜里家没有着的峰,还有剧烈耸动的双肩。

现今针对周江来说,钱是头等大事,这关系及他能否东山重新从。

1.

5.

按照原来行程返回,上车,点杀。望在窗外的倾盆大雨,周江知道就同上之划痕都见面受冲刷干净。

地上的人口轻轻呻吟了扳平名气,艰难地蠕动着身体,似乎迷药快要失效了。周江扭曲着面孔,低吼了同样名,拼尽全力将手上的石砸了下来,一下、两下、三生……直到外感觉液体溅了他只身,他停了下来。

八年前他以山乡娶了此家,父母说的介绍人。然而周江是出抱负的,他懂得自己非池中物。开始至城里打工,周江有头脑,爱拼敢闯,短短三年时便开起了友好之铺,这灯红酒绿的市生活再让他使鱼儿得道。

记忆很久以前,每当他有时候良心发现想到马上员法意义及之配偶,就会见善心大发回去省它。他只是会开车顶楼下示意她下楼塞给它几乎摆放百元大钞,然后去。

眼睁睁了几秒,回喽神来的周江深深地尝了一如既往口辣,把烟蒂扔在地上,用脚尖狠狠地推了一晃。

周江透过手中的烟眯着双眼打量着前的是女人——长长的头发吃卫生地盘在了头脑后,身上学正在同等码样式过时宽松的布衣裙,还有同交汇不转换的软布鞋。呵,这个永学非会见过高跟鞋的爱人。

仅仅在膀子的周江于了一个冷战,没起空调的车上慢慢弥漫着冰冷的气味。他想起之前在妻子家的几乎桩旧衣物,应该好用来交换。

他把他的妻妾配置在郊区的一样所旧的楼面里,周围好是荒凉,距离最近的市中心也得少小时车程。楼房建造的年份有些遥远,外面的墙皮已脱落了差不多,呈现出暗黄丑陋的墙体,居住在是多还是孤寡老人。

野外的晚上比较市区设凉一点,周江因在车的前盖上,紧了艰难身上的外套,撕开了千篇一律保险烟。

3.

平差,由于工作及之用,他拉扯老伴所有人犹请了确保,也席卷被外记不清多时的妻。只要被保出现意外身亡事故,就能用到同笔画不菲的加费用。

无非使惦记个方法制造意外就实施了。当然,这个意外的目标是他内。

眼看漫漫路他自己踩点时倒了几十不折不扣,借着模糊的月光他找到了一致块好石头。看正在地方的阴影,他令地打了石头,可以视他的手起硌颤抖,鼻尖上啊沁出微微的汗水,远远看去如相同尊静止的雕像。

夫人出轨,树林偷情的凭据早已经被编好,情夫因爱生恨错手杀人,剧情全部由外设计好了。他和派出所局长之前私交不浅,像这种塞钱可以搞定的作业周江已熟门熟路了。接下来要照计划假报警,定案后,等在包企业索赔就行了。有矣这般一大笔钱,凭着自己的一手,让公司重整旗鼓也非是免可能。

迈进了屋,他看见好的黑色拖鞋干净整齐地摆放于鞋柜上。一抬头,饭桌上张在热腾腾的饭菜,和简单适合碗筷。

瞬间的对视让周江有点恍惚,结婚八年了,这家里之眼中的光却同如当场,变的如同只有和谐。

家中老实巴交的爹娘极力反对:离了婚周遭人闲言闲语的,你叫丁后怎么在村里呆?咱开不下那种事!

他开拓侧门示意妻子上车,那家不如着头腼腆地走过他身边,嘴角藏着微笑。

自当初生离婚未果,回来他毫不留情地对其用了诸多嫌毒的言语后,这家里即使养成了一致表现着他即降的习惯,至今不变动。

迷茫中他回顾以前家里怕他晚上归家没带钥匙,都见面以门前电箱最里面放上一致弄错钥匙。他无心地请求进去电箱一摸,冰凉凉的钥匙安静地睡着其中。

牵连了灯的房里,周江因在窗边又燃起一干净烟,脑袋里蹦出之想法被他狡黠的乐了笑笑,黑暗中他的嘴角不自觉地扯动着,让丁看在稍加恐慌。

十分钟后,女人以是气喘吁吁跑至跟前,她没有着头轻轻地招呼了一样名气“江子”。

当,这还是以往旧事了。现在之客已想不起那家之面究竟长什么样子了。

2.

相距老式居民楼还有一样公里,他拿车停下了下,让妻子前来会合。

妻子惊恐无助地呜呜哼着,挣扎也愈来愈无力。周江看它们眼里的亮光逐渐变暗,最后没有。

4.

“这许多臭婊子!”周江以团结的怒火发泄在小姐身上。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图