美文网首页
Angular组件开发及NPM发布

Angular组件开发及NPM发布

作者: 我是大黄蜂 | 来源:发表于2020-07-21 13:55 被阅读0次

    1.创建并修改项目

    安装Angular命令行工具:

    npm install -g @angular/cli

    创建一个空应用, 前缀通常是公司、组织、姓名简称,ll这里是我姓名简称:

    ng new ll-angular --create-application=false

    初始化组件库, --prefix: 前缀, 在用命令行新建组件/指令时,selector的属性值的前缀:

    cd ll-angular

    ng generate library components --prefix ll 

    创建测试应用, --minimal: 创建一个没有任何测试框架的简单项目:

    ng generate application examples --minimal=true

    此例中将components.xxx.*改为hello-world.xxx.*,并将 components.module.ts 重构为 ll-components.module放到lib同级, 该module中可导入多个component。

    ├── dist                          // 组件打包后的目录

    ├── projects

    │  ├── components                // 组件所在目录

    │  │  ├── src

    │  │  │  ├── lib

    │  │  │  │  ├── hello-world  // hello-world组件

    │  │  │  │  │  ├── hello-world.component.scss

    │  │  │  │  │  ├── hello-world.component.html

    │  │  │  │  │  └── hello-world.component.ts

    │  │  │  ├── ll-components.module.ts // 导入多个组件

    │  │  │  ├── public-api.ts // 导入components-name.module

    │  │  │  ├── karma.conf.js

    │  │  │  ├── ng-package.json

    │  │  │  ├── package.json

    │  │  │  ├── tsconfig.lib.json

    │  │  │  ├── tsconfig.spec.json

    │  │  │  ├── tslint.json

    │  │  │  ├── README.md

    │  ├── examples

    ├── .editorconfig

    ├── .gitignore

    ├── angular.json

    ├── package.json

    ├── README.md

    ├── tsconfig.json

    └── tslint.json

    其中public-api-ts内容为

    export*from'./components-name.module';

    在本例中,如之前没添加前缀,修改 angular.json 中的 prefix的"lib"为"ll",它会自动给每个新建的组件增加'll-'前缀。

    将components/src/package.json中的name更改为ll-components,注意这里的名称就是要publish到npm的组件库名称,如果组件库名称已存在是无法上传成功的。

    {"name":"ll-components","version":"0.0.1",// 每次更新组件后版本号都要提升再发布"peerDependencies": {"@angular/common":"^8.1.3","@angular/core":"^8.1.3"}}

    打包发布,如果没有npm账号需要登陆https://www.npmjs.com/注册,并且第一次发布需要运行npm adduser,如果没有在官网登录还需要执行npm login:

    ng build components --prod

    cd dist\components

    npm adduser (第一次发布的情况)

    npm login  (如果没有到官网登录)

    npm publish

    2.新建组件

    ng generate component component-name --project components

    比如新建hello-world组件,component-name 替换为hello-world即可,

    ll-components.module.ts在exports中添加对应的组件,供外部模块使用

    组件结构:

    3.使用组件

    在项目所在目录的命令行中运行:

    npm install ll-components

    在需要的module.ts中导入并声明:

    import{ LlComponentsModule }from'll-components';imports: [..., LlComponentsModule],

    在HTML模板中添加标签,selector就是标签名。

    下面是出处,只是自己做收集,感谢作者

    作者:李霖

    链接:https://segmentfault.com/a/1190000022601892?utm_source=tag-newest

    来源:SegmentFault 思否

    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

    相关文章

      网友评论

          本文标题:Angular组件开发及NPM发布

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