简介通过npminstall命令,可以从npm仓库下载依赖包。在依赖包管理方面,功能与maven类似。同样的,我们也可以将自己编写的代码通过npmpublish命令提交到npm仓库,供其他人参考。实现项目创建ngnewyaya-npm-publish-democdyaya-npm-publish-demo/src/app##创建模块nggmyaya-modulecdyaya-module##创建组件nggcyaya-component##创建一个普通类echo"">>data.tsdata.tsexportclassData{name:string;value:string;}dataclass只是一个例子,演示此时如何导出公共类目录结构src├──app│├──app.component.css│├───app.component.html│├──app.component.spec.ts│├──app.component.ts│├──app.module.ts│└──yaya-module│├──data.ts│├──yaya-component││├──yaya-component.component.css││├──yaya-component.component.html││├──yaya-component.spec.ts││└──yaya-component.component.ts│└──yaya-module.module.tsng-packagr在项目根目录执行如下命令安装ng-packagr依赖npminstallng-packagr--save-dev在项目根目录创建ng-package.json文件和public-api。ts文件ng-package.json{"$schema":"./node_modules/ng-packagr/ng-package.schema.json","whitlistedNonPeerDependencies":["."],"lib":{"entryFile":"public-api.ts"}}public-api.ts/***exportmodulemodule*/export*from'./src/app/yaya-module/yaya-module.module'/***导出公共类*/export*from'./src/app/yaya-module/data'/**如果还有其他需要导出的对象,可以写在public-api.ts中的**/修改package.json添加打包命令package,修改private为false(这个很重要否则不会提交)package.json{"name":"yaya","version":"0.0.0","license":"MIT","scripts":{"ng":"ng","start":"ngserve","build":"ngbuild--prod","test":"ngtest","lint":"nglint","e2e":"nge2e","package":"ng-packagr-png-package.json"},"private":false...}npmpublish在根目录下执行命令npmrunpackage,命令执行后会生成dist目录,这个目录就是我们要发布到npm的内容,在执行之前发布命令,需要登录npm仓库。如果没有npm账号,可以点击https://www.npmjs.com/Registration。##设置仓库地址为npm官方仓库地址(国内大部分没有的都用阿里仓库地址更改发布将失败)npmconfigsetregistryhttps://registry.npmjs。org/##登录npm,用户名和密码email必须全部匹配npmloginUsername:xxxxxPassword:Email:(thisISpublic)jianfeng.zheng@definesys.com在https://registry.npmjs.org/上以xxxxx登录。#登录后可以发布cddistnpmpublish##输出如下信息表示上传成功npmnotice===Tarball详细信息===npm通知名称:yaya-npm-publish-demonpm通知版本:0.0.0npm通知包大小:7.6kBnpm通知解压缩大小:34.4kBnpm通知shasum:7ce18c7a0aedaaf902600081a7dffbeb8a17e874npm通知完整性:sha512-LjW0wdRb...8lSX5Z[==npmnoticetotalfiles:27npmnotice+yaya-npm-publish-demo@0.0.0使用命令npminstallyaya-npm-publish-demo@0.0.0--save安装到项目根目录。修改app.module.ts引入yaya-moduleimport{BrowserModule}from'@angular/platform-b??rowser';import{NgModule}from'@angular/core';import{DemoModule}from'yaya';import{AppComponent}from'./app.component';import{YayaModuleModule}from'yaya-npm-publish-demo';@NgModule({declarations:[AppComponent],imports:[BrowserModule,YayaModuleModule<===here],providers:[],引导程序ap:[AppComponent]})exportclassAppModule{}可以通过import命令导入普通类,如:import{Data}from'yaya-npm-publish-demo';components的使用方法和普通组件一样
