# generator-ex8-zt-init

> 基于 Yeoman 的 FIS3 主题模板制作框架初始化脚手架

Latest version **2.0.8** (published 2017-02-09) · MIT license · 0 weekly downloads

## Install

```sh
npm install generator-ex8-zt-init
pnpm add generator-ex8-zt-init
yarn add generator-ex8-zt-init
bun add generator-ex8-zt-init
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 2.0.8 |
| Published | 2017-02-09 |
| First published | 2017-02-09 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 5 |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | 168189878@qq.com |
| Maintainers | hsxiaoma |
| Keywords | yeoman-generator |

## Links

- npm: https://www.npmjs.com/package/generator-ex8-zt-init
- Repository: https://git.oschina.net/icode2017/generator-ex8-zt-init
- npm.io page: https://npm.io/package/generator-ex8-zt-init

## Dependencies (5)

- [chai](https://npm.io/package/chai.md) ^3.3.0
- [chalk](https://npm.io/package/chalk.md) ^1.1.1
- [mkdirp](https://npm.io/package/mkdirp.md) ^0.5.0
- [fs-extra](https://npm.io/package/fs-extra.md) ^0.24.0
- [yeoman-generator](https://npm.io/package/yeoman-generator.md) ^0.24.1

## Recent versions

- 2.0.8 (latest) — 2017-02-09
- 2.0.7 — 2017-02-09
- 2.0.1 — 2017-02-09
- 2.0.0 — 2017-02-09

## README

# 基于 Yeoman 的 FIS3 主题模板制作框架初始化脚手架

## yeoman 简介

Yeoman 帮助我们创建项目，提供更好的工具来使我们的项目更多样化。详细参见: [Yeoman](http://yeoman.io/)


## 生成器的使用

```bash
// 全局安装 Yeoman 框架
cnpm install -g yo
 
cnpm install -g generator-ex8-zt-init

// 创建一个用于开发的目录 ex8-zt-init-test

ex8-zt-init-test > yo ex8-zt-init
ex8-zt-init-test > dir //查看目录
ex8-zt-init-test > npm run dev // 启动开发环境
ex8-zt-init-test > npm run server // 启动开发服务器
// http://localhost:3000
```

## 生成的目录文件说明

 参见：[ex8-zt-template](https://git.oschina.net/icode2017/ex8-zt-template)

## 生成器的开发

### generator-ex8-zt-init目录结构
```
app
 |-- index.js   主入口文件
 |-- templates  用于构建的模板(目录和文件)
README.md		描述文件
package.json	包描述文件
```

### package.json 说明
```
{
    "name": "generator-ex8-zt-init",
    "keywords": ["yeoman-generator"],
}
```

> name 名称必须以 generator- 开头
> keywords 中必须含有 yeoman-generator 关键词

### index.js 说明
```
'use strict';
var path = require('path');
var generators = require('yeoman-generator');
// 定制控制台日志的输入样式，可以非常的个性化 
// https://github.com/chalk/chalk
var chalk = require('chalk');
// 生成创建文件夹
// https://github.com/substack/node-mkdirp
var mkdirp = require('mkdirp');

// 使用 generators.Base.extend 扩展
module.exports = generators.Base.extend({
	// 构造器
    constructor: function() {
        generators.Base.apply(this, arguments);
    },
	// 初始化
    initializing: function() {
        this.pkg = require('../package.json');
    },
	// 处理用户输入
    prompting: {

    },
	// 创建目录和文件
    writing: {
        buildEnv: function() {
			// 将 templates 中的内容复制到 当前位置
            this.fs.copy(this.templatePath('.'), this.destinationPath('.'));
        },
        assetsDirs: function() {
			// 创建 output 文件夹
            // mkdirp.sync('output');
        }
    },
	// 安装默认依赖
    install: function() {

    }
});
```

### 开发与调试
1. 在生成器目录使用 npm link 或 cnpm link 进行挂载到全局 node_modules
2. 使用 npm unlink 或 cnpm unlink 来去消挂载
3. 使用 yo ex8-zt-init 来验证脚手架结果
```bash
generator-ex8-zt-init> cnpm link

generator-ex8-zt-init-test> yo ex8-zt-init

```
### npm 发布
1. 到[http://www.npmjs.org](http://www.npmjs.org) 上注册用户
2. 使用 npm adduser 添加注册用户
3. 使用 npm login 登录
4. 使用 npm publish . 发布当前模块

注意事项:
* package.json 中 name 名称必须在 npmjs 中是不重复的. 否则不能发布. 可以通过访问 https://npmjs.com/package/<package> 来验证模块名称是否可用.
* 如果本地使用了淘宝的 NPM, 则在发布之前需要将切换 registry. 具体命令使用: npm config set registry http://registry.npmjs.org


## 本地快速开发调试
```
 开发阶段，使用 cnpm link 将模块暴露在全局目录 node_modules 下
 只需使用其中的一种即可.
 1. npm link
    C:\Users\xxx\AppData\Roaming\npm\node_modules\generator-ex8-zt-init -> E:\sync\fis3\generator-ex8-zt-init
 2. cnpm link
    C:\Program Files\nodejs\node_modules\generator-ex8-zt-init -> E:\sync\fis3\generator-ex8-zt-init

 结束后, 使用 npm unlink 或 cnpm unlink 解除
```

## package.json
1. name 名称必须是以 generator- 开头, 如: generator-ex8-zt-init
2. keywords 中必须要有 yeoman-generator 关键词. 如:  "keywords": ["yeoman-generator"]

## GIT 操作
```
git init
git remote add origin git@git.oschina.net:icode2017/generator-ex8-zt-init.git
```


## NPM 发布时遇到的坑

因为本地采用了淘宝的 NPM,因此在 npm login 时是登录到 http://registry.npm.taobao.org/

在发布之前,应当将 npm 的 registry 临时改为 http://registry.npmjs.org

```
npm config set registry http://registry.npmjs.org
npm login
    Username: 输入你在npmjs.org上注册的用户名
    Password:
    Email:(this IS public):
npm publish .

```

如果没有 npmjs.org 上的用户, 请移步到 [http://www.npmjs.org](http://www.npmjs.org) 上注册

参考:
[http://www.07net01.com/2016/01/1179066.html](http://www.07net01.com/2016/01/1179066.html)

---
_Source: https://npm.io/package/generator-ex8-zt-init · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
