广告
返回顶部
首页 > 资讯 > 前端开发 > html >Angular2库怎么用
  • 922
分享到

Angular2库怎么用

2024-04-02 19:04:59 922人浏览 薄情痞子
摘要

本篇内容介绍了“angular2库怎么用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!回想以前外链scri

本篇内容介绍了“angular2库怎么用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

回想以前外链script标签引用插件方式统治前端的时候,想要写一个通用的ng1小插件的流程大概是:

1. 在单独的angular.module("myPlugin")中写指令、服务、过滤器等

2.将其压缩打包成myplugin.min.js

3.其他项目中引入这个脚本然后angular.module("", ["myPlugin"])

现在到了ng2的时代,ng2自己的核心依赖都是使用npm管理的(而且是基于typescript),还非要手动写出一个xxx.min.js总给人一种无从下手的感觉,所以现在如果要开发自己的ng2库的话也要入乡随俗,利用起npm这个好东西。

笔者对于npm起初也是一脸懵逼,到现在也不敢说自己已能熟练使用之,不过npm只是个平台,是为了方便开发者而存在的,而不是为了“为难”开发者,所以一点点摸索,也能使用得还过得去。

先给出在发布ng2库到npm的整个大体的流程:

1. 要有一个ng2库的完善的信息描述以及依赖文件(自然就是package.json)

2. 安装ng2库需要的依赖

3. 编写实际代码

4. 在根路径下建立一个index文件导出依赖(比如你写的服务啊模块啊等等)

5. TypeScript预发布(写的是.ts文件,这一步将生成得到.js.map、.js以及.d.ts文件)

6. 链接到npm并发布

下面笔者将演示如何把之前写过的一个音频服务发布到npm。

一、建立项目

创建根目录ng2-firstyitimo,进入后cmd里直接 npm init ,照着引导一步步敲如我们的ng2库的信息,包括了其版本号、作者、描述等信息,最终npm会为我们创建出这个package.JSON文件:

{
 "name": "ng2-firstyitimo",
 "version": "1.0.0",
 "description": "angular2 lib publishing test by yitimo",
 "main": "index.js",
 "scripts": {
 "prepublish": "tsc"
 },
 "keyWords": [
 "angular2"
 ],
 "author": "yitimo",
 "license": "MIT"
}

这些参数大家肯定都见多非常熟悉了,这里只多提一点就是其中的 version 字段,每次重新publish我们的库到npm时,都要更新此字段的值(因为版本更新了嘛)。

二、添加依赖

下一步就是要添加依赖,我们要发布的是ng2库,所以必要的ng2依赖是肯定要有的,还有就是发布时编译将使用到的typescript工具以及ng2的类型预定义库,由于笔者使用的ng2版本是比较新的,使用到的依赖就在下面这个最新的完整package.json文件中:

{
 "name": "ng2-firstyitimo",
 "version": "1.0.4",
 "description": "angular2 lib publishing test by yitimo",
 "main": "index.js",
 "scripts": {
 "prepublish": "tsc"
 },
 "keywords": [
 "angular2"
 ],
 "author": "yitimo",
 "license": "MIT",
 "dependencies": {
 "@angular/common": "^2.4.6",
 "@angular/core": "^2.4.6",
 "rxjs": "^5.2.0"
 },
 "devDependencies": {
 "@types/core-js": "^0.9.35",
 "typescript": "^2.2.1"
 }
}

虽说是完整的package.json但是代码也非常少,因为要写的只是个ng2库而已,需要的只有common以及core两个ng2依赖。当然正常情况下,为了开发调试还是需要引入其他的依赖,如果向上面这样只引用最少的东西,那就只能发布后在其他项目中引用了才能看到效果(因为此项目本身并不能运行)。

三、实际代码

然后建立一个src目录,在里面编写实际的代码,这里要写的是之前写过的音频服务,代码就不给出了,完成后的文件结构如下:

 Angular2库怎么用

这里笔者选择导出的是整个音频模块,所以里面的audio-studio组件必须在模块的exports中声明过,否则在其他项目中就是用不了这个组件了,不过其他的组件或指令不打算给外界使用,所以就不导出。服务也不需要导出,但是要在providers中声明,并在后面的index中导出(不然就不能给其他项目使用此服务了)。

四、使用index文件导出库

我们定义好的AudioModule以及AudiOService是需要被其他项目引用或使用的,所以必须让外界知道我们的库提供了这两个东西(还有个组件的话由于是在html标签中使用,不需要被ts代码知道,所以exports导出就够了),这时就要在根目录下建立一个index.ts文件,内容非常简单,导出模块和服务就够了:

export * from './src/audio.module';
export * from './src/services/audio.service';

五、发布我们的ng2库

现在最前面讲到的6个步骤还剩5、6两步,仅仅是在cmd悄悄指令就能完成。但是在这之前我们还需要一个tsconfig.json,用来告诉typescript要如何编译我们的ts文件以及里面的类型预定义,如果没有这个文件项目中的实际代码是会报一大堆错误的,并且还不能被编译。笔者这里给出的tsconfig.json如下所示:

{
 "compilerOptions": {
  "noImplicitAny": true,
  "module": "commonjs",
  "target": "ES5",
  "emitDecoratORMetadata": true,
  "experimentalDecorators": true,
  "sourceMap": true,
  "declaration": true,
  "typeRoots": [
   "../node_modules/@types"
  ],
  "types" : [
   "core-js"
  ]
 },
 "files": [
  "index.ts"
 ],
 "exclude": [
  "node_modules"
 ]
}

现在一鼓作气来敲指令玩:

npm run prepublish

Angular2库怎么用

npm link

Angular2库怎么用

npm link ng2-firstyitimo

Angular2库怎么用

npm publish

Angular2库怎么用

完成了,现在在其他项目中安装这个刚发布的ng2库:

npm install --save ng2-firstyitimo

使用的时候:

import {AudioModule,AudioService} from 'ng2-firstyitimo';

总结:

发布ng2库到npm的流程其实非常简单,而且非常有成就感。个人认为的难点就在于跨不出第一步,就像笔者在之前也是完全没头绪,想写个自己的ng2还得用npm,不过发布成功过一次之后,会发现这么一套流程其实都很清晰明了,并且还要再次提到,npm对ng2开发的帮助实在是太大了。

“Angular2库怎么用”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

--结束END--

本文标题: Angular2库怎么用

本文链接: https://www.lsjlt.com/news/78589.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Angular2库怎么用
    本篇内容介绍了“Angular2库怎么用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!回想以前外链scri...
    99+
    2022-10-19
  • 怎么搭建Angular2环境
    小编给大家分享一下怎么搭建Angular2环境,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!01、安装Node.js 和 npm...
    99+
    2022-10-19
  • Angular2怎么自定义validators
    这篇文章主要介绍“Angular2怎么自定义validators”,在日常操作中,相信很多人在Angular2怎么自定义validators问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望...
    99+
    2022-10-19
  • Angular2 中怎么父子组件数据通信
    这篇文章将为大家详细讲解有关Angular2 中怎么父子组件数据通信,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。父组件和子组件接触过面向对象编程的开发者肯...
    99+
    2022-10-19
  • Boost库怎么用
    这篇文章给大家分享的是有关Boost库怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Boost库由C++标准委员会库工作组成员发起,在C++社区中影响甚大,其成员已近2000人。 Boost库为我们带来了*...
    99+
    2023-06-17
  • ADO.NET类库怎么用
    小编给大家分享一下ADO.NET类库怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Recordset是一个连接或断开的(通过使用游标)的记录集合,它被定义成...
    99+
    2023-06-17
  • eXosip库怎么使用
    eXosip库是一个开源的SIP协议栈,用于开发SIP应用程序。它提供了一组API,可以方便地创建、发送和处理SIP消息。以下是eX...
    99+
    2023-09-22
    eXosip
  • jrtplib库怎么使用
    JRTPLIB是一个用于实现实时传输协议(RTP)和实时传输控制协议(RTCP)的C++库。以下是JRTPLIB的基本使用方法:1....
    99+
    2023-09-21
    jrtplib
  • python库pydantic怎么用
    这篇文章主要介绍了python库pydantic怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、简介pydantic 库是 python 中用于数据接口定义检查与设置...
    99+
    2023-06-29
  • 怎么使用Python库
    本篇内容介绍了“怎么使用Python库”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!数据科学的五个重要步骤包括:获取数据清理数据探索数据构建...
    99+
    2023-06-16
  • php怎么调用dll库
    在PHP中调用DLL库,可以使用扩展模块`extension`和`ffi`。 使用extension扩展:首先需要确认PHP是否...
    99+
    2023-10-25
    php
  • Nvidia的CUDA库怎么用
    小编给大家分享一下Nvidia的CUDA库怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Nvidia的CUDA库现在恢复使用了由于早期版本存在兼容问题,从去...
    99+
    2023-06-05
  • ADO.NET数据库怎么用
    小编给大家分享一下ADO.NET数据库怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!假如你采用ADO.NET数据库,把它安装在ADO.NET数据库中,在工具...
    99+
    2023-06-17
  • c++ pthread库怎么调用
    要使用pthread库,需要引入头文件`#include `。 下面是一个简单的示例,展示了如何使用pthread库创建和运行一个线...
    99+
    2023-10-26
    c++ pthread
  • golang sort库怎么使用
    Go语言的sort包提供了对切片、数组和用户自定义集合的排序功能。 使用sort库进行排序的一般步骤如下: 导入sort库: i...
    99+
    2023-10-26
    golang
  • java怎么调用rust库
    要在Java中调用Rust库,可以通过以下步骤: 首先,将Rust库编译为一个动态链接库(.dll、.so或.dylib文件),...
    99+
    2023-10-26
    java rust
  • rust怎么调用c++库
    在Rust中调用C++库,可以使用Rust的FFI(Foreign Function Interface)功能来实现。以下是一般的步...
    99+
    2023-10-26
    rust c++
  • python openpyxl库怎么使用
    这篇文章主要介绍“python openpyxl库怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“python openpyxl库怎么使用”文章能帮助大家解决问题。openpyxl是一个第三方...
    99+
    2023-06-27
  • golang怎么调用c++库
    要在Golang中调用C++库,你需要使用CGo,它是Golang与C/C++代码交互的一种方式。下面是一个简单的示例,展示了如何调...
    99+
    2023-10-20
    golang c++
  • 数据库Delete怎么用
    数据库Delete用法:1、删除单条记录;2、删除多条记录;3、删除所有记录;4、删除特定条件的记录。数据库的Delete操作是用来删除数据库中的数据记录的,它是数据库操作中的一种重要操作,能够帮助用户删除不需要的数据,以便保持数...
    99+
    2023-11-13
    数据库 delete
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作