美文网首页Angular.js专场angular 2+ 点点滴滴Angular开发指南
Angular发布npm包,带你一波骚操作--> crop

Angular发布npm包,带你一波骚操作--> crop

作者: 旧城城旧 | 来源:发表于2018-01-17 14:18 被阅读101次

发布这个npm包我找比较多的资料,我觉得比较麻烦,时间比较老等等问题。
所以就自己来搞搞吧,最先跟着他们弄,但是不断的尝试,开发,发现问题之后,其实很简单的一个工作而已。

编写module

发布npm的话,随便编写一个module都是可以的。我下面就编写开源项目ngx-cropper来演示开发一个自己的module来发布,供别人使用。
准备知识:

  1. npm 账号
  2. 会使用npm ,其他构建不在本次讨论范围之类。
  3. 当然会ng咯

发布命令:

npm publish  -- 这条命令读取的是package.json中的信息。所以需要配置好name,version
npm unpublish module_name --force 强制删除发布的信息,但是在时间段内,并且没有被应用可以执行,否则是不能撤销。
原因是:发布了别的公司引用,你测试将会出问题。
注意:发布前需要登录的哟。
npm login
名字,密码,邮箱即可

发布之后可以在npm官网搜索自己发布的组件。

发布失败:

  1. 没有登录
  2. 这个名称被别人使用,提示没有权限对这个包操作,也就是你不是该名称包的所有者。换个名字就可以了。
  3. 版本相同,每一次发布都需要更改package.json中的版本号。

下面说说我这次开发的ngx-cropper组件

cropper是什么?

cropper官网,cropper是一个图片截图的Jquery插件,最后返回一个base64编码组件。

官网实例图片

开发cropper的angular版本

因为cropepr的jQuery编写的,所以我们需要将它改造成ng的版本。
前提:

npm install --save-dev jquery --不用多说
npm install --save-dev cropper -- cropper核心组件
npm install --save-dev bootstrap -- bootstrap组件
npm install --save-dev font-awesome --图标组件
这几个是必须安装的,因为cropper是基于这些东西开发的。

简单描述:
在cropper使用的时候,除了属性配置信息之外,其余就是几个方法的调用,传递方法调用名称,属性json对象即可调用。


调用内置方法 调用实例

通过调用croper中的方法即可对cropper接管的图片进行处理。


编写的cropper组件我这里就不详细叙述,代码在github上有。ngx-cropper截图ng代码

使用

import {BrowserModule} from '@angular/platform-browser';
import {NgModule} from '@angular/core';

import {AppComponent} from './app.component';
import {CropperModule} from 'lnlr-cropper/index';

@NgModule({
  declarations: [
    AppComponent
  ],
  imports: [
    BrowserModule,
    CropperModule,
  ],
  providers: [],
  bootstrap: [AppComponent]
})
export class AppModule {}

页面直接使用即可,当然可以根据个人设置属性
<app-lnlr-cropper [aspectRatio]="NaN" [srcImage]=""></app-lnlr-cropper>
组件完成实例

这样,cropepr的ng组件我们就编写完成,只需要进行发布即可。
发布成功会返回:


组件名称@版本号

其实就是package.json中的name,version


实例

发布成功就去npm 官网看看吧。

我发布了文章之后,又要忍不住先给自己来一颗小红心。你们来么???
我必须每次都先给自己点一个小红心!自己安慰自己先。
个人github.com地址,ngx-cropepr项目源代码

相关文章

网友评论

    本文标题:Angular发布npm包,带你一波骚操作--> crop

    本文链接:https://www.haomeiwen.com/subject/epxuoxtx.html