Compile and package Angular libraries in Angular Package Format (APF)
This project exists thanks to all the people who contribute. [Contribute].
npm install -D ng-packagr
Let's walk through a getting started that'll build an Angular library from TypeScript sources and create a distribution-ready npm package:create a package.json
file, add the custom ngPackage
property, and eventually run ng-packagr -p package.json
– Here we go:
{
"$schema": "./node_modules/ng-packagr/package.schema.json",
"name": "@my/foo",
"version": "1.0.0",
"ngPackage": {
"lib": {
"entryFile": "public_api.ts"
}
}
}
Note 1: Paths in the ngPackage
section are resolved relative to the location of the package.json
file.In the above example, public_api.ts
is the entry file to the library's sources and must be placed next to package.json
(a sibling in the same folder).
Note 2: referencing the $schema
enables JSON editing support (auto-completion for configuration) in IDEs like VSCode.
You can easily run ng-packagr through a npm/yarn script:
{
"scripts": {
"build": "ng-packagr -p package.json"
}
}
Now, execute the build with the following command:
$ yarn build
The build output is written to the dist
folder, containing all those binaries to meet the Angular Package Format specification.You'll now be able to go ahead and npm publish dist
your Angular library to the npm registry.
Do you like to publish more libraries?Is your code living in a monorepo?Create one package.json
per npm package, run ng-packagr for each!
.d.ts
)@my/foo
, @my/foo/testing
, @my/foo/bar
~
import syntax and custom include paths.browserslistrc
Angular Package Format v12.0, design document at Google Docs
Packaging Angular Libraries - Jason Aden at Angular Mountain View Meetup (Jan 2018, 45min talk)
Create and publish Angular libs like a Pro - Juri Strumpflohner at NG-BE (Dec 2017, 30min talk)
Packaging Angular - Jason Aden at ng-conf 2017 (28min talk)
Create and publish Angular libs like a Pro - Juri Strumpflohner at ngVikings, this time demoing building Angular libraries with ng-packagr, with NX as well as Bazel (March 2018, 30min talk)
General contribution guidelines
If you like to submit a pull request, you'll find it helpful to take a look at the initial design document where it all started.
To orchestrate the different tools, ng-packagr features a custom transformation pipeline. The transformation pipeline is built on top of RxJS and Angular Dependency Injection concepts.
写在前面 为了让 Angular 类库应用范围更自由,Angular 提出一套打包格式建议名曰:Angular Package Format,包括 FESM2015、FESM5、UMD、ESM2015、ESM5、ES2015 格式,不同格式可以在不同的环境(Angular Cli、Webpack、SystemJS等)中使用。 传统方式需要对这些格式逐一打包,一个示例打包脚本写法。这种写法只能针对不
因项目需要,了解使用ng-packagr打包。并通过网络搜索,初步探索使用npm publish发布项目。本文只是个人学习记录,也希望对了解相关知识的同学有所帮助。 开发环境 vscode + typescript,包管理使用yarn(npm)。 相关链接 ng-packagr的npm地址:https://www.npmjs.com/package/ng-packagr git地址:https:/
原文地址 https://segmentfault.com/a/1190000010900969 使用 Angular CLI 构建 Angular 应用程序是最方便的方式之一。 项目目标 现在,我们一起创建一个简单的组件库。 首先,我们需要创建一个 header 组件。这没什么特别的,当然接下来会明白的。 我们能从中能得到什么收获? 自动生成项目结构 自动生成组件库的组件、模块和服务 自动生成组
1.没有在public_api.ts中导出 export * from './src/app/ngprime/components/tooltip/tooltip.module'; export * from './src/app/ngprime/components/tree/tree.module'; export * from './src/app/ngprime/components/up
https://ferried.github.io/blo...
alain 打包发布组件,ng-zero也可以用 安装依赖 目录结构 文件具体内容 ng-package.json package.json public-api.ts 要发布的组件 配置angular.json 测试模块 alain 打包发布组件,ng-zero也可以用 本文参考了 https://angularfirebase.com/l... 以及alain的的package的组件结构 安装
old import { Injectable } from '@angular/core'; import { BehaviorSubject } from 'rxjs'; @Injectable({ providedIn: 'root' }) export class DataService { private dataSource = new BehaviorSubject(Obj
问题内容: 我试图了解和/ 之间的区别,但对我来说它们看起来相同。 我应该记住使用一个或另一个来区别吗? 问题答案: ngIf 该指令根据表达式 删除或重新创建 DOM树的一部分。如果赋值为的表达式的计算结果为假值,则将元素从DOM中删除,否则将元素的克隆重新插入DOM中。 删除元素时,使用它的作用域将被销毁,并在恢复该元素时创建一个新的作用域。在内部创建的作用域使用原型继承从其父作用域继承。 如
问题内容: 任何人都可以为该JSFiddle提供正确的方法: JsFiddle链接 我正在尝试通过.class&#ID更改元素的类。 提前致谢 感谢tymeJV,新的JSFiddle: 解 问题答案: 正确的方法是根据切换变量使用,请考虑: CSS: JS: HTML: 通过根据变量(“ toggle”)是否为或分配引用的类(在上面为“红色”)来工作。
问题内容: 我了解这一点,并会影响在元素上设置的类,并控制是否将元素呈现为DOM的一部分。 有没有对选择的准则在/ 或反之亦然? 问题答案: 取决于您的用例,但总结不同之处: 将从DOM中删除元素。这意味着您所有的处理程序或所有附加到这些元素的内容都将丢失。例如,如果将单击处理程序绑定到子元素之一,则将其评估为false时,将从DOM中删除该元素,并且即使稍后将其评估为true并显示该元素,您的单
NG Bootstrap 是基于 Angular(非 Angular.js)开发的 Bootstrap CSS 框架的指令集。 原生开发 专为Bootstrap 4 开发的Angular组件,开发了符合Angular生态系统的API,没有使用任何第三方Javascript库来实现,全都是纯粹的原生Javascript。 Boostrap的JS插件 支持全部Boostrap自带的Javascript
Mogwai ERDesigner NG是一个实体关系建模工具类似于ERWin。它设计成让数据库建模变得尽可能简易并为整个开发过程提供支持,从数据库设计到模式 (schema)和代码生成。此外ERDesigner还提供一个灵活的插件体系,从而可以通过安装新的插件来扩展该工具的功能。ERDesigner提 供的功能包括: *.能够使用一个强大和易于使用的图形编辑来设计数据库模型。 *.能够依据ER图
ng-inspector 是Chrome和Safari的浏览器扩展程序,它显示一个检查器面板,该面板实时显示当前页面中的AngularJS作用域层次结构,以及哪些控制器或指令与哪个作用域相关联。 将鼠标悬停在检查器中的范围上将突出显示该范围附加到的DOM元素。单击模型将console.log该模型的内容。 该扩展程序在带有AngularJS徽标的地址栏旁边添加了一个按钮,用于打开和关闭窗格。