一、前言
做前端的同学和npm打交道的次数可不算少,npm上有许多好用的库可以帮我们节省很多时间,那么今天我们就尝试发布一个angular组件到npm上。
二、创建项目
首先,我们来创建一个angular项目,不同于平时我们使用
ng new app
来创建项目,我们本次使用
ng new angular-npm --createApplication=false
来创建我们的angular项目,具体的区别就是使用--createApplication=false不会生成src目录。更多的区别可参考--createApplication=false,此时我们生成的目录是下面这样的:
ng g library npm-klx-lib --prefix=my
prefix参数是以后我们使用组件时候的前缀,比如antdesign组件的nz-xxx。 接下来再创建一个项目测试我们的库
ng g application npm-klx-test
接下来我们可以修改我们的组件库,达到我们想要的效果,我们这里就跳过这个步骤,因为这不是重点。接下来我们build一下组件库,在我们的测试项目中试用一下。我们运行
ng build npm-klx-test
然后在项目中引入
<my-npm-klx-lib></my-npm-klx-lib>
最后运行项目
ng serve npm-klx-test
我们就能在页面上看见效果了
- 将组件库打包
- 进入到dist的对应目录下
- 发布
我们可以在package.json中添加对应的script来完成。
"publish": "ng build npm-klx-lib && cd dist/npm-klx-lib && npm publish"
然后我们运行npm run publish,就能将我们的组件库发布到npm上了。
npm i npm-klx-lib
来下载我们的组件,引入后就能正常使用了。