博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
前端工程化系列[05] Yeoman脚手架使用入门
阅读量:6890 次
发布时间:2019-06-27

本文共 3505 字,大约阅读时间需要 11 分钟。

Yeoman是一款流行的前端的脚手架工具。

脚手架工具可以用来快速的自动生成项目的必要文件和基础文件结构。Yeoman使用的内建命令为yo,同时它自己也是一个包管理工具和自动化任务工具,它基于特定的模板来初始化项目。

考虑这样的开发场景:现在我们需要开始一个全新的前端项目,通常需要先处理项目的文件结构,创建包括img、JavaScript、CSS 等静态资源的文件夹,如果团队开发,可能还需要添加 .gitignore忽略文件以及.editorconfig.eslintrcpackage.jsonGruntfile.js以及README.md等配置文件。

如果你进行的多个前端项目,它们的技术选型差不多(比如都是:jQuery + grunt + Vue + Bootstrap),你会发现这些项目的整体文件结构是相同的。我们在初始化项目的时候,当然可以从0开始搭建,也可以直接把旧项目的结构和相关文件拷贝过来,这其实都是些重复性没有技术含量的工作,而Yeoman 的作用就是减少这些重复性的工作,通过调用 Yeoman 生态圈中的现成的生成器(generator)即可自动生成项目初始化所需要的文件结构、配置文件等。所以简单来说,Yeoman 是一个用于初始化项目的模版工具,用完就可以扔在一边了

关于Yeoman的更多信息可以参考和。

Yeoman的安装和使用

用于初始化项目的模板被称为生成器(generator), 在开源社区中已经有众多现成的generator可以供我们使用(可以在使用关键字搜索)。在开始项目的时候,我们可以先搜寻是否有匹配当前项目技术栈的生成器,如果有的话直接用就好了,如果找不到合适的generator,那么可以考虑自己来写一个Yeoman生成器,甚至通过很简单的方式我们就可以把自己写的生成器发布出来造福社区。

这篇文章并不包含自己创建Yeoman生成器的内容,我只是想简单介绍下Yeoman的特征,以及如何使用Yeoman的生成器来初始化项目这个部分。

环境准备

安装yeoman之前,你需要先安装以下环境

  • Node.js 6或更高版本
  • npm 3或更高版本(通常安装Node的时候默认安装)
  • Git版本控制工具

点击选择对应系统和版本根据提示完成NodeJS的安装,我们可以通过在终端输入下面的命令来检查Node和npm的安装是否成功。

$ node --version && npm --version

有些 Node 版本可能安装的是旧版本的 npm,你可以通过以下命令来更新npm

$ npm install -g npm@latest

Git的安装过程请自行百度(OSX 默认安装),您可以通过以下命名来检查Git

$ git --version

安装Yeoman

通过下面的命令来安装Yeoman并检查是否安装成功,当前最新版本为2.0.1-g表示全局安装。

$ npm install -g yo

$ yo --version

generator-typeScript初始化项目示例

接下来我们将选择一个生成器(这里以typescript为例)来演示初始化项目的操作,Yeoman将会根据对应的生成器替我们创建好package.json和bower.json等文件,然后自动安装依赖。

① 新建 mytodo 文件夹,生成器生成的脚手架文件会放在这个文件夹中。

$ mkdir mytodo && cd mytodo

② 根据项目技术栈需求到官网列表搜索合适的生成器。

③ 通过npm来安装指定的generator。

$ npm install -g generator-typescript

④ typescript生成器安装完成后,使用yo命令来开始。

$ yo typescript

下面给出终端处理的具体细节:

wendingding:Blog wendingding$ mkdir mytodo && cd mytodowendingding:mytodo wendingding$ npm install -g generator-typescriptnpm WARN deprecated npmconf@2.1.3: this package has been reintegrated into npm and is now out of date with respect to npm > spawn-sync@1.0.15 postinstall /usr/local/lib/node_modules/generator-typescript/node_modules/spawn-sync> node postinstall > yo@1.8.5 postinstall /usr/local/lib/node_modules/generator-typescript/node_modules/yo> yodoctor Yeoman DoctorRunning sanity checks on your system ✔ Global configuration file is valid✔ NODE_PATH matches the npm root✔ Node.js version✔ No .bowerrc file in home directory✔ No .yo-rc.json file in home directory✔ npm version Everything looks all right!+ generator-typescript@0.3.0added 608 packages in 138.302swendingding:mytodo wendingding$ yo typescript _-----_| | ╭──────────────────────────╮|--(o)--| │ Let's make some awesome │`---------´ │ typescript project! │( _´U`_ ) ╰──────────────────────────╯/___A___\ /| ~ |__'.___.'__´ ` |° ´ Y ` I will include JSHint and Editorconfig by default.? First off, how would you like to name this project? wendingdingDemo? Where should it be compiled to? app/build? Where should your typescript go? app/srccreate package.jsoncreate app/src/index.tscreate app/src/app.tscreate tslint.jsoncreate gulpfile.jscreate test/test-greeting.jscreate test/test-load.jscreate README.mdcreate .editorconfigcreate .jshintrc  I'm all done. Running npm install && bower install for you to install the required dependencies. If this fails, try running the command yourself.

按上面的步骤在终端中执行对应命令,我们就可以得到一个基于基于typescript模板生成的初始化项目了,下面列出该项目的目录结构:

wendingding:mytodo wendingding$ tree.├── README.md├── app│ ├── build│ └── src│ ├── app.ts│ └── index.ts├── gulpfile.js├── package.json├── test│ ├── test-greeting.js│ └── test-load.js└── tslint.json 4 directories, 8 files

最后,根据Yeoman终端中的提示通过$ npm install && bower install命令来安装必要的依赖即可。

转载地址:http://trqbl.baihongyu.com/

你可能感兴趣的文章
纯Js ——文字上下左右滚动
查看>>
大学:自由学术的制度保障
查看>>
----uni-app之解密二维码----
查看>>
装饰器
查看>>
java处理搜狐新闻数据库sogou.txt,正则表达式,mysql数据库
查看>>
0.1:Why are We Addicted to Games
查看>>
Redis
查看>>
open jdk卸载
查看>>
js - AO链 与 function
查看>>
Java CLASSPATH 引发的问题
查看>>
数学运算类(三角函数,取整函数,指数函数,取最大值,最小值,绝对值)...
查看>>
Java并发编程的艺术(笔记)
查看>>
【PIC单片机】Pic单片机基础知识
查看>>
软件测试--实际项目的实际操作过程--免费资料
查看>>
agsxmpp 和 openfire 服务器 通信
查看>>
servlet 解决中午乱码
查看>>
ios项目绕过证书访问https程序
查看>>
几乎所有编程语言的hello, world程序(3)
查看>>
CentOs 设置静态IP 方法
查看>>
Ubuntu 16.04源码编译安装nginx 1.10.0
查看>>