返回

Angular 5.0 封装 Underscore 常用 Pipe 并发布到 NPM 全套流程

前端

 

管道 (Pipe) 可以将数据作为输入,然后按照规则将其转换并输出。 本文介绍了 Angular 自定义管道 (pipe) 的方法,并发布到 npm,方便使用及管理。

 

一、Pipe 定义

自定义 Pipe 需要创建类,并实现  PipeTransform  接口,实现 transform  方法,该方法接受一个值作为输入,并返回转换后的值。

import { PipePipeTransform } from '@angular/core';

@Pipe({
  name: 'myPipe'
})
export class MyPipe implements PipeTransform {
  transform(valueany, ...argsany[]): any {
     // 对 value 进行转换,并返回转换后的值
  }
}

 

二、Pipe 使用

在组件模板中,使用  {{ | pipe:arg1:arg2: ... | pipe2: arg3 }}  语法将 Pipe 应用到数据上。

<p>{{ 'Angular' | myPipe: 'uppercase' }}</p>
<p>{{ [1, 2, 3] | myPipe: 'join'', ' }}</p>

 

三、发布到 NPM

将 Pipe 发布到 NPM,可以方便其他项目使用。首先需要在项目根目录下创建 package.json  文件。

{
  "name": " @my-company/my-pipe",
  "version": "1.0.0",
  "description": "My Angular Pipe",
  "main": "dist/my-pipe.umd.js",
  "typings": "dist/my-pipe.d.ts",
  "scripts": {
    "build": "ngc -p tsconfig.prod.json",
    "watch": "ngc -w -p tsconfig.prod.json",
    "prepublishOnly": "npm run build"
  },
  "dependencies": {
    "@angular/core": "^5.0.0"
  }
}

 

然后运行以下命令:

npm publish

 

这样就可以将 Pipe 发布到 NPM 了。

 

本文介绍了 Angular 自定义管道 (pipe) 的方法,并发布到 npm,方便使用及管理。希望对大家有所帮助。