【手把手带你撸一个脚手架】第二步, 搭建开发环境

系列文章:

- [【手把手带你撸一个脚手架】第一步, 创建第一个命令](https://www.jianshu.com/p/17384daf707e)

- [【手把手带你撸一个脚手架】第二步, 搭建开发环境](https://www.jianshu.com/p/86553c641bf9)

- [【手把手带你撸一个脚手架】第三步, 获取 github 项目信息](https://www.jianshu.com/p/1c5bcc2856dc)

- [【手把手带你撸一个脚手架】第四步, 通过撸码获取项目信息](https://www.jianshu.com/p/b15ea26e6d0b)

- [【手把手带你撸一个脚手架】第五步, 撸完收工](https://www.jianshu.com/p/1d764b4f22e2)

> 工欲善其事, 必先利其器. 一个好的开发环境能让你事半功倍. 大家一起来, 把刀磨快加油干 ^_^

![2018-11-14-19-32-30](https://user-gold-cdn.xitu.io/2018/11/14/167126fe1ee73e66?w=796&h=552&f=png&s=541825)

## 配置 eslint 开启 vscode 自动修复

### 配置 eslint

- 首先, 安装 `eslint`

```shell

npm i eslint -D

```

- 其次, 初始化 `eslint` 在项目的根目录下执行 `./node_modules/.bin/eslint --init`

- 在命令行提示中选择第一个 `Use a popular style guide` 回车

![2018-11-14-19-46-19](https://user-gold-cdn.xitu.io/2018/11/14/167126fe1721068b?w=898&h=162&f=png&s=38156)

- 接下来的提示中, 仍然选择第一个 `Airbnb`, 相对严格

![2018-11-14-19-47-18](https://user-gold-cdn.xitu.io/2018/11/14/167126fe1f101f7a?w=952&h=132&f=png&s=35432)

- `Do you use React?` 写 `n`  然后回车.

- 配置文件格式选择默认即可

![2018-11-14-19-49-07](https://user-gold-cdn.xitu.io/2018/11/14/167126fe1a46a64d?w=1038&h=124&f=png&s=21197)

- 设置完配置文件格式以后, eslint 会自动检测依赖这里我们直接回车就可以啦~

![2018-11-14-19-51-15](https://user-gold-cdn.xitu.io/2018/11/14/167126fe1a2c4f9e?w=1346&h=178&f=png&s=41385)

- 下一步, 等

![6af89bc8gw1f8o4qytrlrg203c052jro](https://user-gold-cdn.xitu.io/2018/11/14/167126fe1d8b7003?w=120&h=182&f=gif&s=21081)

- 下一步, 编辑器安装 `eslint` 插件

![2018-11-14-20-05-30](https://user-gold-cdn.xitu.io/2018/11/14/167126fe517e24ad?w=1588&h=1554&f=png&s=595652)

- 安装完成后重启编辑器, 我们把示例代码行尾的封号去掉后发现编辑器已经标红, 说明 eslint 已经能够正常工作. 配置成功, 是不是心跳蹦蹦迪~

![2018-11-14-20-07-42](https://user-gold-cdn.xitu.io/2018/11/14/167126fee7943a8d?w=830&h=148&f=png&s=26171)

![9150e4e5gy1fsj2tgx3nwg205a05agmg](https://user-gold-cdn.xitu.io/2018/11/14/167126fe518b89f7?w=190&h=190&f=gif&s=41432)

### 开启 vscode 自动修复

> 通过上一步的配置我们已经能够让编辑器识别出我们代码中不规范的地方, 但是还不够. 既然编辑器能够识别出错误, 它要是还能修正错误岂不是爽死

- 第一步, 打开 vscode 配置文件 `command + ,`

- 第二步, 在功能搜索框中输入 `autofix`

- 第三步, 按照如下图所示的方式配置.

![2018-11-14-20-02-49](https://user-gold-cdn.xitu.io/2018/11/14/167126fee982c5ea?w=956&h=450&f=png&s=44344)

至此, 我们的编辑器已经可以自动修复 eslint 中发现的 **代码规范** 相关的一些错误啦, 就像下边酱紫.

![zidongxiufu12113124](https://user-gold-cdn.xitu.io/2018/11/14/167127f46cb91ea0?w=587&h=89&f=gif&s=20900)

删除封号以后, 保存编辑器自动把封号给我们加上啦, 开发体验 666, 爽到飞起 ^_^

![9150e4e5ly1fw8irvg1ofg20ao0dckjm](https://user-gold-cdn.xitu.io/2018/11/14/167126feea578e24?w=384&h=480&f=gif&s=2741982)

ps: 至此, vscode 配置自动修复功能完成, 告诉你个秘密, `vue react` 都可以自动修复的哟, 有兴趣的小伙伴请评论区交流~

### 兼容 es6

> 现代的前端开发人员, es6 已经成为了刚需, 然鹅, node 对 es6 并没有完全兼容(到目前为止), 为了全方位使用最新的语法. 我们引入 babel

首先, 安装依赖

```shell

npm i @babel/core@7.1.6 babel-core@^6.26.3 babel-plugin-transform-es2015-modules-commonjs@6.26.2 babel-polyfill@6.26.0 babel-preset-env@1.7.0 babel-preset-latest-node@2.0.2 babel-register@6.26.0 -S

```

在项目的根目录中添加 `.babelrc` 在该文件中粘贴以下内容

```js

{

    "presets": ["env"],

    "plugins": ["transform-es2015-modules-commonjs"]

}

```

创建入口文件 `index.js` 并粘贴以下内容

```js

require('babel-register');

const babel = require('@babel/core');

const babelPresetLatestNode = require('babel-preset-latest-node');

babel.transform('code();', {

  presets: [[babelPresetLatestNode, {

    target: 'current',

  }]],

});

require('babel-polyfill');

require('./src');

```

创建 `src` 目录, 并添加 index.js a.js 文件, 文件内容如下

```js

// index.js

import a from './a';

a.a();

// a.js

export default {

  a() {

    console.log('12345');

  },

};

```

此时执行 `node index.js` 顺利打印出 12345

![2018-11-14-21-25-25](https://user-gold-cdn.xitu.io/2018/11/14/167126feeca185a0?w=658&h=64&f=png&s=16006)

最后改造 `bin/learn.js` 内容如下:

```js

#!/usr/bin/env node

require('../'); // 执行入口文件

```

此时在命令行中执行 learn

![2018-11-14-21-29-25](https://user-gold-cdn.xitu.io/2018/11/14/167126ff2b56b7d9?w=610&h=60&f=png&s=13138)

兼容 es6 成功

到目前为止, 我们的开发环境搭建完成. 撒花庆祝 ^_^

![6af89bc8gw1f8swu2wk2tg2046046gnj](https://user-gold-cdn.xitu.io/2018/11/14/167126ff120e3af5?w=150&h=150&f=gif&s=81374)

下集预告: 下一节, 我们将会对接 [gayhub 公共 api](https://developer.github.com/v3/repos/) 获取项目信息, 有兴趣的小伙伴可以提前预习一哈, 大家玩儿的开心 😄

![2018-11-14-21-35-33](https://user-gold-cdn.xitu.io/2018/11/14/167126ff280bca6f?w=560&h=552&f=png&s=451422)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,544评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,430评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,764评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,193评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,216评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,182评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,063评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,917评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,329评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,543评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,722评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,425评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,019评论 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,671评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,825评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,729评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,614评论 2 353