将Angular6自己定义的模块发布成npm包
创建自己的模块组件
1. ng new 一个工程
2. ng g m 创建模块 例如我这里的modules文件下创建header模块
3. ng g c modules/head 创建一个hear组件,内容随意
4. 将modules模块exports出去,让其他模块可以使用
5. 做个测试在app模块中引入modules模块,并使用header组件
发布前的准备
1. 安装ng-packagr 并在devDependency中声明
npm install ng-packagr --save-dev
2. 在工程跟目录 (不是app,就是工程名开始的算跟目录)下创建ng-package.json
3. ng-package.json
{
"$ schema": "./node_modules/ng-packagr/ng-package.chema.json",
"lib":{
"entryFile": "public_api.ts"
}
}
4. 创建 public_api.ts文件
5. public.api.ts 导入headermodule
export * from './src/app/modules/header/header.module';
6. 在package.json文件中写入脚本,并将private值改为false
"scripts": {
"ng": "ng",
"start": "ng serve",
"build": "ng build",
"test": "ng test",
"lint": "ng lint",
"e2e": "ng e2e",
"packagr": "ng-packagr -p ng-package.json" // 插入
},
"private": false // 修改
7. 删除package.json文件中dependences字段的内容
8. 执行上面创建的脚本
npm run packagr
执行之后你会发现,在你的工程的目录下生成了一个叫做dist的输入文件
9. 进入dist文件夹执行npm pack
10. 到npm官网中注册账号
11. 在工程目录下执行npm login命令设置账号密码和邮箱
12. 进入dist目录执行npm publish 命令
至此,一个npm包就能支持通过npm install下来了,可以查看自己的npm账户,上回显示自己的npm包有几个,这里要注意一下生成的dist文件夹里的package.json文件管理了自定义包的名称之类的信息,包名不要重复
13. 最后一部就是测试~
将Angular6自己定义的模块发布成npm包的更多相关文章
- (转)前端开发-发布一个NPM包之最简单易懂流程
原文地址:https://www.cnblogs.com/sghy/p/6829747.html 1.npm官网创建npm账户 npm网站地址:https://www.npmjs.com/ npm网站 ...
- 如何发布一个包到npm && 如何使用自己发布的npm包 && 如何更新发布到npm的package && 如何更新当前项目的包?
如何发布一个包到npm First 在https://www.npmjs.com注册一个账号. Second 编辑好项目,文件大致如下: 其中,gitignore可以如下: .DS_Store nod ...
- 从0到1发布一个npm包
从0到1发布一个npm包 author: @TiffanysBear 最近在项目业务中有遇到一些问题,一些通用的方法或者封装的模块在PC.WAP甚至是APP中都需要使用,但是对于业务的PC.WAP.A ...
- 如何发布一个npm包(基于vue)
前言:工作的时候总是使用别人的npm包,然而我有时心底会好奇自己如何发布一个npm包呢,什么时候自己的包能够被很多人喜欢并使用呢...今天我终于迈出了第一步. 前提:会使用 npm,有 vue 基础, ...
- 如何发布一个npm包?
npm包在现在前端开发中经常使用且便利,而我也是经常使用,而没研究怎么去发布npm.那如何发布npm包呢? 一.在npm的官网上注册一个账号登录,https://www.npmjs.com/ 注意此步 ...
- 发布一个npm包(webpack loader)
发布一个npm包,webpack loader: reverse-color-loader,实现颜色反转. 初始化项目 mkdir reverse-color-loader cd ./reverse- ...
- 在Android Studio上测试运行,Unity发布成Android包的环境搭建步骤
我用的是unity5.4.3版本,jdk是1.8.0_131版本,Android-SDK是r24.4.1版本,Android-NDK是r13b版本,作者是刚开始写博客,希望对在unity摸索的人有 ...
- webpack创建library及从零开始发布一个npm包
最近公司有个需求,我们部门开发一个平台项目之后,其他兄弟部门开发出的插件我们可以拿来直接用,并且不需要我们再进行打包,只是做静态的文件引入,研究一波后发现,webpack创建library可以实现. ...
- 如何发布一个 npm 包
一 背景 在工作时,突然接到经理的一个要求,需要将一个react的高阶组件函数封装成一个npm包.之前从没弄过,当场还是有些懵逼的,但是这毕竟是工作,不能推脱.于是开始了学习.汤坑之旅.最终包发布,线 ...
随机推荐
- substr扩展版:支持中文字符串截取
function d_substr($str, $start=0, $length, $charset="utf-8", $suffix=true) { if(function_e ...
- 【题解】Making The Grade(DP+结论)
[题解]Making The Grade(DP+结论) VJ:Making the Grade HNOI-D2-T3 原题,禁赛三年. 或许是我做过的最简单的DP题了吧(一遍过是什么东西) 之前做过关 ...
- 【24题】P2766最长不下降子序列问题
网络流二十四题 网络流是个好东西,希望我也会. 网络流?\(orz\ zsy!!!!!\) P2766 最长不下降子序列问题 考虑我们是如何\(dp\)这个\(LIS\)的. 我们是倒着推,设置\(d ...
- Java for LeetCode 086
Given a linked list and a value x, partition it such that all nodes less than x come before nodes gr ...
- 编写你的第一个django应用程序2
从1停止的地方开始,我们将设置数据库,创建您的第一个模型,并快速介绍django自动生成的管理站点 数据库设置 现在,打开mysite/settings.py.这是一个普通的python模块,其中模块 ...
- Why use async requests instead of using a larger threadpool?(转载)
问: During the Techdays here in the Netherlands Steve Sanderson gave a presentation about C#5, ASP.NE ...
- HDU - 1260 Tickets 【DP】
题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=1260 题意 有N个人来买电影票 因为售票机的限制 可以同时 卖一张票 也可以同时卖两张 卖两张的话 两 ...
- PAT 甲级 1028. List Sorting (25) 【结构体排序】
题目链接 https://www.patest.cn/contests/pat-a-practise/1028 思路 就按照 它的三种方式 设计 comp 函数 然后快排就好了 但是 如果用 c++ ...
- hibernate 一对多 级联 保存修改 删除
一对多,一端设置: <set name="TWorkorderHistories" inverse="true" cascade="all&qu ...
- JS获取首字母
function pySegSort(arr, empty) { if (!String.prototype.localeCompare) return null; var letters = &qu ...