Skip to content

Commit

Permalink
release: 1.0.1, closes #60
Browse files Browse the repository at this point in the history
  • Loading branch information
cipchk committed May 16, 2018
1 parent 11adf43 commit c133fd7
Show file tree
Hide file tree
Showing 11 changed files with 93 additions and 184 deletions.
3 changes: 1 addition & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,15 +11,14 @@ delong is a production-ready solution for admin business components packages, Bu

| package name | version | next version |
| ------------ |:-----:|:----------:|
| ng-alain(scaffold) | [![NPM version](https://img.shields.io/npm/v/ng-alain.svg)](https://www.npmjs.com/package/ng-alain) | [![NPM version](https://img.shields.io/npm/v/ng-alain/next.svg)](https://www.npmjs.com/package/ng-alain) |
| ng-alain | [![NPM version](https://img.shields.io/npm/v/ng-alain.svg)](https://www.npmjs.com/package/ng-alain) | [![NPM version](https://img.shields.io/npm/v/ng-alain/next.svg)](https://www.npmjs.com/package/ng-alain) |
| @delon/theme | [![NPM version](https://img.shields.io/npm/v/@delon/theme.svg)](https://www.npmjs.com/package/@delon/theme) | [![NPM version](https://img.shields.io/npm/v/@delon/theme/next.svg)](https://www.npmjs.com/package/@delon/theme) |
| @delon/abc | [![NPM version](https://img.shields.io/npm/v/@delon/abc.svg)](https://www.npmjs.com/package/@delon/abc) | [![NPM version](https://img.shields.io/npm/v/@delon/abc/next.svg)](https://www.npmjs.com/package/@delon/abc) |
| @delon/form | [![NPM version](https://img.shields.io/npm/v/@delon/form.svg)](https://www.npmjs.com/package/@delon/form) | [![NPM version](https://img.shields.io/npm/v/@delon/form/next.svg)](https://www.npmjs.com/package/@delon/form) |
| @delon/acl | [![NPM version](https://img.shields.io/npm/v/@delon/acl.svg)](https://www.npmjs.com/package/@delon/acl) | [![NPM version](https://img.shields.io/npm/v/@delon/acl/next.svg)](https://www.npmjs.com/package/@delon/acl) |
| @delon/auth | [![NPM version](https://img.shields.io/npm/v/@delon/auth.svg)](https://www.npmjs.com/package/@delon/auth) | [![NPM version](https://img.shields.io/npm/v/@delon/auth/next.svg)](https://www.npmjs.com/package/@delon/auth) |
| @delon/mock | [![NPM version](https://img.shields.io/npm/v/@delon/mock.svg)](https://www.npmjs.com/package/@delon/mock) | [![NPM version](https://img.shields.io/npm/v/@delon/mock/next.svg)](https://www.npmjs.com/package/@delon/mock) |
| @delon/cache | [![NPM version](https://img.shields.io/npm/v/@delon/cache.svg)](https://www.npmjs.com/package/@delon/cache) | [![NPM version](https://img.shields.io/npm/v/@delon/cache/next.svg)](https://www.npmjs.com/package/@delon/cache) |
| @delon/cli | [![NPM version](https://img.shields.io/npm/v/@delon/cli.svg)](https://www.npmjs.com/package/@delon/cli) | [![NPM version](https://img.shields.io/npm/v/@delon/cli/next.svg)](https://www.npmjs.com/package/@delon/cli) |
| @delon/util | [![NPM version](https://img.shields.io/npm/v/@delon/util.svg)](https://www.npmjs.com/package/@delon/util) | [![NPM version](https://img.shields.io/npm/v/@delon/util/next.svg)](https://www.npmjs.com/package/@delon/util) |

## Links
Expand Down
4 changes: 2 additions & 2 deletions build-schematics.sh
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ TSC=${PWD}/node_modules/.bin/tsc
JASMINE=${PWD}/node_modules/.bin/jasmine

SOURCE=${PWD}/packages/schematics/
DIST=${PWD}/publish/schematics/
DIST=${PWD}/dist/packages-dist/schematics/

updateVersionReferences() {
NPM_DIR="$1"
Expand Down Expand Up @@ -126,7 +126,7 @@ if [[ ${BUILD} == true ]]; then
rsync -am --include="*.json" --include="*/" --exclude=* ${SOURCE}/ ${DIST}/
rsync -am --include="*.d.ts" --include="*/" --exclude=* ${SOURCE}/ ${DIST}/
rsync -am --include="/files" ${SOURCE}/ ${DIST}/
rm ${DIST}/tsconfig.json ${DIST}/tsconfig.spec.json
rm ${DIST}/test.ts ${DIST}/tsconfig.json ${DIST}/tsconfig.spec.json
copyFiles 'scaffold/' ${DIST}/

cp ${SOURCE}/README.md ${DIST}/README.md
Expand Down
22 changes: 9 additions & 13 deletions docs/architecture.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,6 @@ ng-alain 脚手架是基于 Angular 和 ng-zorro-antd(Ant Design 的 Angular

主题系统除了包含 ng-alain 基础框架所需要的样式(包含CSS工具集,一套类似bootstrap)以外,还包含一些通用的数据渲染(Pipe)、服务工具类(页面标题、滚动条等)的集合,这些是日常必不可少的一些组成。

**@delon/cli**

针对脚手架的[命令行工具](/docs/cli),它是继 Angular Cli 基础上新增一些额外命令用于创建 ng-alain 项目、业务页等。

**@delon/abc**

脚手架内提供了一套默认[业务组件](/components/),这些组件抽象了控制台业务中的一些常见区块。我们将持续维护和迭代这些组件,为中后台业务提供比 Ant Design 基础组件更高级别的抽象。
Expand Down Expand Up @@ -60,12 +56,12 @@ ng-alain 脚手架是基于 Angular 和 ng-zorro-antd(Ant Design 的 Angular

| package name | version | next version |
| ------------ |:-----:|:----------:|
| @delon/theme [/docs/theme](Document) | [![NPM version](https://img.shields.io/npm/v/@delon/theme.svg)](https://www.npmjs.com/package/@delon/theme) | [![NPM version](https://img.shields.io/npm/v/@delon/theme/next.svg)](https://www.npmjs.com/package/@delon/theme) |
| @delon/abc [/components](Document) | [![NPM version](https://img.shields.io/npm/v/@delon/abc.svg)](https://www.npmjs.com/package/@delon/abc) | [![NPM version](https://img.shields.io/npm/v/@delon/abc/next.svg)](https://www.npmjs.com/package/@delon/abc) |
| @delon/form [/form](Document) | [![NPM version](https://img.shields.io/npm/v/@delon/form.svg)](https://www.npmjs.com/package/@delon/form) | [![NPM version](https://img.shields.io/npm/v/@delon/form/next.svg)](https://www.npmjs.com/package/@delon/form) |
| @delon/acl [/docs/acl](Document) | [![NPM version](https://img.shields.io/npm/v/@delon/acl.svg)](https://www.npmjs.com/package/@delon/acl) | [![NPM version](https://img.shields.io/npm/v/@delon/acl/next.svg)](https://www.npmjs.com/package/@delon/acl) |
| @delon/auth [/docs/auch](Document) | [![NPM version](https://img.shields.io/npm/v/@delon/auth.svg)](https://www.npmjs.com/package/@delon/auth) | [![NPM version](https://img.shields.io/npm/v/@delon/auth/next.svg)](https://www.npmjs.com/package/@delon/auth) |
| @delon/mock [/docs/mock](Document) | [![NPM version](https://img.shields.io/npm/v/@delon/mock.svg)](https://www.npmjs.com/package/@delon/mock) | [![NPM version](https://img.shields.io/npm/v/@delon/mock/next.svg)](https://www.npmjs.com/package/@delon/mock) |
| @delon/cache [/docs/cache](Document) | [![NPM version](https://img.shields.io/npm/v/@delon/cache.svg)](https://www.npmjs.com/package/@delon/cache) | [![NPM version](https://img.shields.io/npm/v/@delon/cache/next.svg)](https://www.npmjs.com/package/@delon/cache) |
| @delon/cli [/docs/cli](Document) | [![NPM version](https://img.shields.io/npm/v/@delon/cli.svg)](https://www.npmjs.com/package/@delon/cli) | [![NPM version](https://img.shields.io/npm/v/@delon/cli/next.svg)](https://www.npmjs.com/package/@delon/cli) |
| @delon/util | [![NPM version](https://img.shields.io/npm/v/@delon/util.svg)](https://www.npmjs.com/package/@delon/util) | [![NPM version](https://img.shields.io/npm/v/@delon/util/next.svg)](https://www.npmjs.com/package/@delon/util) |
| ng-alain | [![NPM version](https://img.shields.io/npm/v/ng-alain.svg)](https://www.npmjs.com/package/ng-alain) | [![NPM version](https://img.shields.io/npm/v/ng-alain/next.svg)](https://www.npmjs.com/package/ng-alain) |
| @delon/theme [Document](/docs/theme) | [![NPM version](https://img.shields.io/npm/v/@delon/theme.svg)](https://www.npmjs.com/package/@delon/theme) | [![NPM version](https://img.shields.io/npm/v/@delon/theme/next.svg)](https://www.npmjs.com/package/@delon/theme) |
| @delon/abc [Document](/components) | [![NPM version](https://img.shields.io/npm/v/@delon/abc.svg)](https://www.npmjs.com/package/@delon/abc) | [![NPM version](https://img.shields.io/npm/v/@delon/abc/next.svg)](https://www.npmjs.com/package/@delon/abc) |
| @delon/form [Document](/form) | [![NPM version](https://img.shields.io/npm/v/@delon/form.svg)](https://www.npmjs.com/package/@delon/form) | [![NPM version](https://img.shields.io/npm/v/@delon/form/next.svg)](https://www.npmjs.com/package/@delon/form) |
| @delon/acl [Document](/acl) | [![NPM version](https://img.shields.io/npm/v/@delon/acl.svg)](https://www.npmjs.com/package/@delon/acl) | [![NPM version](https://img.shields.io/npm/v/@delon/acl/next.svg)](https://www.npmjs.com/package/@delon/acl) |
| @delon/auth [Document](/auch) | [![NPM version](https://img.shields.io/npm/v/@delon/auth.svg)](https://www.npmjs.com/package/@delon/auth) | [![NPM version](https://img.shields.io/npm/v/@delon/auth/next.svg)](https://www.npmjs.com/package/@delon/auth) |
| @delon/mock [Document](/mock) | [![NPM version](https://img.shields.io/npm/v/@delon/mock.svg)](https://www.npmjs.com/package/@delon/mock) | [![NPM version](https://img.shields.io/npm/v/@delon/mock/next.svg)](https://www.npmjs.com/package/@delon/mock) |
| @delon/cache [Document](/cache) | [![NPM version](https://img.shields.io/npm/v/@delon/cache.svg)](https://www.npmjs.com/package/@delon/cache) | [![NPM version](https://img.shields.io/npm/v/@delon/cache/next.svg)](https://www.npmjs.com/package/@delon/cache) |
| @delon/util [Document](/util) | [![NPM version](https://img.shields.io/npm/v/@delon/util.svg)](https://www.npmjs.com/package/@delon/util) | [![NPM version](https://img.shields.io/npm/v/@delon/util/next.svg)](https://www.npmjs.com/package/@delon/util) |
21 changes: 9 additions & 12 deletions docs/changelog-81.md
Original file line number Diff line number Diff line change
@@ -1,42 +1,39 @@
---
order: 1000
title: 1.0.0升级指引
title: 1.0.x升级指引
type: Other
---

## 写在前面

`1.0.0-beta` 主要是对 ng-zorro-antd 0.7.0 的同步升级,由于 zorro 基础组件的api有比较大的变动,因此本文不会叙述关于 zorro 如果升级的问题。
`1.0.x` 主要是对 ng-zorro-antd 0.7.0 的同步升级,由于 zorro 基础组件的api有比较大的变动,因此本文不会叙述关于 zorro 如果升级的问题。

`1.0.0-beta` 主要的变化是 `@delon/*` 系列业务组件的升级,其中这一部分并没有太多组件API的变动。反而尽可能在做一些减法,其主要包括:
`1.0.x` 主要的变化是 `@delon/*` 系列业务组件的升级,其中这一部分并没有太多组件API的变动。反而尽可能在做一些减法,其主要包括:

- 移除十种主题色,改由动态[自定义主题](/theme)
- 移除 `forRoot()` 参数配置项,由 `provider` 统一配置,更易交付
- `@delon/abc` 部分组件名的修改,这一部分可以直接搜索替换完成
- `ng-zorro-antd-extra` 不再维护,指引后面有变动细节
- `ng-tree-antd` 不再维护,使用 `nz-tree`
- `ng-clipboard-antd` 不再维护,使用 `@delon/abc``copy` 方法

> ****:以下 [zorrt](https://www.npmjs.com/package/ng-zorro-antd?activeTab=versions)[ng-alain](https://www.npmjs.com/package/@delon/cli?activeTab=versions) 都是针对 `@next` 版本
- `ng-clipboard-antd` 不再维护,使用 `@delon/util``copy` 方法

**HTML模板升级工具**

一个简化升级成本的小[工具](/6to7),以下所有结尾带有【_6to7_】表示在[HTML模板升级工具](/6to7)可被直接替换。同时支持 zorro 一些基础组件,包括:按钮、表单、布局、表格。

**nz-schema-form**

近期会重构,并同步 0.7.0 有关其部分暂时移除
使用 `@delon/form` 替代

## 脚手架

- Module
- 改变 delon.module.ts、shared.module.ts 的使用方式,不再单独导入模块因为cli 在进行 Tree Shaking 时可以自动排除未使用过的模块
- `nz-schema-form` 未升级,暂时不引入
- 改变 delon.module.ts、shared.module.ts 的使用方式,不再单独导入模块因为cli 在进行 Tree Shaking 时可以自动排除未使用过的模块
- 样式
- 改变 styles.less 的使用方式
- 移除 `font-awesome``simple-line-icons` 样式
- 改变 styles.less 的使用方式
- 移除 `font-awesome``simple-line-icons` 样式
- 其它
- `ng-zorro-antd` 暂时还未开放日期组件,暂时留空所有跟日期相关的
- [路由复用](/components/reuse-tab)需要额外注册 `RouteReuseStrategy`

### reuse-tab

Expand Down
17 changes: 17 additions & 0 deletions docs/changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,23 @@ title:
type: Other
---

### 1.0.1

`2018-5-16`

- 同步 `0.7.0`
- 支持 `ng add ng-alain` 构建脚手架,[cli](/docs/cli)

**`1.0.1-beta.2@next` 的更新细节:**

- 脚手架
- 降级 less 版本,暂时受限于 [#10430](https://github.com/angular/angular-cli/issues/10430) 无法在 angular6 使用 zorro 问题,[46abde](https://github.com/cipchk/ng-alain/commit/46abde)
- **BREAKING CHANGES** 使用 `zh` 替代 `zh-Hans`[541468](https://github.com/cipchk/ng-alain/commit/541468)
- 同步 `0.7.0`[3832a4](https://github.com/cipchk/ng-alain/commit/3832a4)
- 命令行
- 移除 `@delon/cli`
- 支持 `ng add ng-alain`

### 1.0.1-beta.2@next

`2018-5-14`
Expand Down
183 changes: 41 additions & 142 deletions docs/cli.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,195 +6,94 @@ title:
type: Other
---

# **注意:** `1.0.1` 以后不再提供
## 如何使用

# [CREF]
`ng-alain` 脚手架实现了 `ng add` 来构建 ng-alain 项目,使得构建一个空 ng-alain 只需要简单几个动作:

**安装&配置** 小节的实施对很多新手来说经常忽略了一些操作细节,导致遇到一些文件找不到问题。

最近,收到一个 [#60](https://github.com/cipchk/delon/issues/60) 可以极大简化安装 cli 过程,你可以优先尝试以下方法,若成功可以直接跳过 **安装&配置** 小节,反之希望你能把在实施下列所遇到的问题在 [#60](https://github.com/cipchk/delon/issues/60) 继续讨论。
1、创建一个空 angular 项目

```bash
yarn global add @angular/cli
yarn global add @delon/cli@next
ng new demo --style less
```

# 如何使用

`@delon/cli` 是基于 Angular Cli 向上构建的针对 ng-alain 脚手架的命令行工具,因此在安装之前要先确保以下类库应该安装:

**先决条件**
2、添加 ng-alain 脚手架

```bash
npm install -g @angular-devkit/core @angular-devkit/schematics @schematics/schematics rxjs
npm install -g @angular/cli
ng add ng-alain
```

`@delon/cli` 允许你全局安装或只针对本地项目,对于全局后期所有命令都无需填写 `--collection` 选项
> 默认情况下会执行依赖包的安装,但可能会受限于使用 npm、yarn 等的关系,会有部分包降级时依然无法生效(例如:`less` [#10430](https://github.com/angular/angular-cli/issues/10430)),此时可能需要删除 `node_modules``npm i` 一次来解决
## 安装&配置

### 全局
3、运行项目

```bash
npm install -g @delon/cli
ng serve
```

> 你可以进一步替换将 ng-alain 脚手架设置为默认项目模板:
>
> `ng set defaults.schematics.collection @delon/cli --global`
>
> 或者还原为 Angular Cli 默认的:
>
> `ng set defaults.schematics.collection @schematics/angular --global`
## 如何升级?

**注意:** 由于受限于 `require.resolve()`,需要将 `@delon/cli` 的相关文件复制至 Angular Cli 目录中,若出现下列异常几乎都是这个原因引起:
除DEMO示例页以外,会有一些影响比较严重的,依然会提供 `ng update` 来解决升级问题,对于其他情况的升级请参考 [升级脚手架](/docs/upgrade)

- `Error: Collection "@delon/cli" cannot be resolved`
- `Error: Path "/package.json" does not exist.`
## ng add

```bash
# linux
cd /usr/local/lib/node_modules/@angular/cli/node_modules
mkdir @delon
cp -R /usr/local/lib/node_modules/@delon/* @delon/

# window(提醒:注意 `asdf` 替换成你的用户名)
cd C:\Users\asdf\AppData\Roaming\npm\node_modules
xcopy "@delon" "@angular\cli\node_modules\@delon" /s /e /y
```

### 本地项目

这里是指已经通过 Angular Cli 生成项目后,若你希望使用 `@delon/cli` 的话,则:
额外参数:

```bash
npm install @delon/cli --save-dev
```
Arguments | Default | Summary
--------- | ------- | -------
`--codeStyle` | `true` | 是否需要代码风格
`--form` | `true` | 是否需要动态表单
`--mock` | `true` | 是否需要 mock 功能
`--i18n` | `false` | 是否需要国际化支持
`--g2` | `false` | 是否需要 G2 图表

设置 `.angular-cli.json` 的默认 `collection`

```json
"defaults": {
"schematics": {
"collection": "@delon/cli"
}
}
```

### 如何升级?

**全局**

必须先卸载:
例如生成一个带有国际化的项目:

```bash
npm uninstall -g @delon/cli
ng add ng-alain --i18n
```

重新安装,同时需要将 `@delon/cli` 的相关文件复制至 Angular Cli 目录中:

> 如收到 `Error: Collection "@delon/cli" cannot be resolved` 则需要以下设置。
```bash
# linux
cd /usr/local/lib/node_modules/@angular/cli/node_modules
mkdir @delon
cp -R /usr/local/lib/node_modules/@delon/* @delon/

# window(tips: replace your name)
cd C:\Users\asdf\AppData\Roaming\npm\node_modules
xcopy "@delon" "@angular\cli\node_modules\@delon" /s /e /y
```
## ng generate

**本地项目**
### 业务页模板

修复版本号重新安装亦可。
`ng generate` 用于生成业务组件页,包括:

## 如何生成项目
- `list` 列表页
- `edit` 编辑页
- `view` 查看页

现在你可以直接使用 `ng new` 命令来创建 ng-alain 项目
当你需要一个列表页时

```bash
ng new -c=@delon/cli my-app
cd my-app
ng serve
ng generate ng-alain:list <page name>
```

当然,若你设置了 `defaults.schematics.collection`
对于 `edit``view` 默认是以模态框展示来生成,你可以改用页面展示则

```bash
ng new my-app
cd my-app
ng serve
ng generate ng-alain:edit <page name> --modal=false
```

### 额外参数

`ng new` 基础上,新增几个针对脚手架参数:

| Alias | Arguments | Default | Summary |
| --------- | --------- | ------- | ------- |
| `-dv` | `--delon-version` | `next` | 指定 `@delon/*` 版本,值包括:`laster``next` |
| `-di` | `--delon-i18n` | `false` | 是否需要国际化支持 |
| `-dm` | `--delon-mock` | `true` | 是否需要 mock 功能 |
| `-g2` | `--delon-g2` | `false` | Support G2 chart. 是否需要 G2 图表 |
| `-df` | `--delon-form` | `true` | 是否需要 `@delon/form` 动态表单 |
| - | `--delon-electron` | `false` | 是否需要 electron 打包 |

例如生成一个带有国际化的项目:
> 这些命令类似 `ng generate component`,因此允许你依然可以使用所有对应参数,你可通过:
```bash
ng new -c=@delon/cli my-app -di
# OR
ng new my-app -di
ng generate ng-alain:list --help
```

## Electron
了解参数细节。

当采用 Electron 打包跨平台应用时,可采用以下命令构建Angular项目:
### 插件管理

```bash
ng new -c=@delon/cli my-app -di --delon-electron
```

ng-alain 脚手架只提供一个 electron 最基础的配置项,你可以通过 `package.json` 提供的命令快速的构建应用:
ng-alain 脚手架提供非常丰富的基建,但并非所有都是你希望的;这些基建你可以在 `ng add` 构建新项目得到它们。但有此时候希望可插拔部分基建时,例如把 G2 从项目中移除:

```bash
npm run el:bundle.windows
ng generate ng-alain:plugin g2 -t=remove
```

可将 Angular 打包成一个 Exe 应用程序。

> 脚手架对 Electron 的实现来自 [angular-electron-seed](https://github.com/sean-perkins/angular-electron-seed);有关更多细节可参考。
## [page] 命令

@delon/cli 扩展了 `ng generate page` (简化:`ng g page`) 命令用于生成业务组件页。

### 参数

`page` 命令是由 `ng g component` 基础向下构建。

**命令格式**
或者添加G2:

```bash
ng g page [page name]
ng generate ng-alain:plugin g2
```

| Alias | Arguments | Default | Summary |
| --------- | --------- | ------- | ------- |
| `-t` | `--type` | `list` | 指定页面类型,值包括:`list``view``edit` |
| - | `--modal` | `true` | 是否模态框,限:`view``edit` 时有效 |

例如:

```bash
# 生成日志列表页
ng g page log

cd log

# 生成日志详情页
# ng g page view -t=view
```
`ng-alain:plugin` 目前只支持 g2,未来会持续增加更多类型的支持。
Loading

0 comments on commit c133fd7

Please sign in to comment.