angular自定义组件并发布本地私有服务

一、安装Angular注意独立安装的angular不影响其他node项目下的angular//经过测试angular6和8打包比较小 npm install -g ...

一、安装Angular

注意独立安装的angular不影响其他node项目下的angular

//经过测试angular6和8打包比较小
npm install -g @angular/cli@10


二、创建组件

ng new weatherwidget --createApplication=false
cd weatherwidget
//创建组件库weather
ng generate library weather
//创建一个项目来测试这个库
ng generate application weatherTest
//package.json加入脚本scripts
"build-weather": "ng build weather"
//运行
npm run build-weather


二、调试测试

//进入weatherTest加入module
//app.module.ts  imports 加入WeateherModule
//app.component.html的加入或改为://测试一下效果
ng serve weatherTeset


三、安装本地服务

如果你想把组件发布到私有的npm仓库中 可以选择使用verdaccio https://github.com/verdaccio/verdaccio 

//注意版本3.xxx
npm install -g verdaccio   
verdaccio
//打开http://localhost:4873/ 可以看到
//修改IP让局域网可见
//C:\Users\xxx\AppData\Roaming\verdaccio/config.yaml
//加入
listen: 0.0.0.0:4873

//执行添加用户
npm adduser --registry http://xxx:4873

//再次修改package.json中的scripts
"build-weather": "ng build weather && cd dist/weather && npm publish --registry http://xxxx:4873"
//执行发布
npm run build-weather
//可以访问http://xxx:4873查看了

//项目中安装

npm install @liuyi/weather --save --registry http://xxx:4873


四、快捷发布

如何在npm上发布项目可以使用以下命令直接发布

npm login 

npm publish

如果要发布到本地部署的环境,请使用本地局域网IP加端口发布

npm publish --registry http://192.168.0.160:4873

以下集成了一些打包命令

"scripts": {
    "ng": "ng",
    "start": "ng serve",
    "build": "ng build",
    "pack": "cd dist/nex-editor && npm pack",
    "assets": "cp -rf projects/nex-editor/src/assets dist/nex-editor/assets",
    "prod": "ng build nex-editor && npm run assets && npm run pack",
    "publish": "ng build nex-editor && npm run assets && cd dist/nex-editor && npm publish --registry http://192.168.0.160:4873"
  },

执行npm publish 后即可编译并发布到本地

添加新评论