携手创作,一起生长!这是我参与「日新计划 8 月更文挑战」的第10天,点击查看活动概况
本文首要记载下plugin开发中的一些问题记载以及本地库和私有库运用
1. 发布plugin到私有库
之前发布了关于plugin
发布并创立发布到pub
,感兴趣能够看下之前的文章 Plugin的创立与发布,那么怎么创立到私有库呢?
咱们假如只是想自己运用或许在公司的gitlab
上运用怎么操作呢?
1.1 发布gitlab上
咱们在gitlab上创立库房,之后咱们创立一个plugin
之后对该目录工程进行惯例的git操作
git init
by_flutter_example_plugin % git init
by_flutter_example_plugin % git remote add origin git@xxx/by_flutter_example_plugin.git
by_flutter_example_plugin % git add .
by_flutter_example_plugin % git commit -m "Initial commit"
by_flutter_example_plugin % git push -u origin develop
当然也能够运用客户端操作,上传后
库房如下
加载Git packages
,修正pubspec.yaml
运用
by_flutter_example_plugin:
git:
url: git@xxx/by_flutter_example_plugin.git
ref: develop
ref
能够指定某个commit
,branch
或许tag
。
1.2 发布Github上
发布到Github
运用也是类似,创立库房后假如是公有库房的话直接就git操作
上传即可,有的时分咱们会指定git版别
关于一些三方的库,可能有些适配或许问题,咱们就能够拷贝一份到自己的库房进行一些自定义的修正
- 指定版别
pull_to_refresh:
git:
url: https://github.com/miquelbeltran/flutter_pulltorefresh
checkout
这个时分咱们就能够做些自定义操作修正
。
我在GitHub
上发布私有库的时分遇到了关于SSH验证
的问题,相关的时分说不能运用账号和密码
进行相关,运用SSH,关于SSH问题,我之前增加过了可是不知道是不是过期,所以从头上传了下电脑中的
cat ~/.ssh/id_rsa.pub
上传相同的git命令
运用
by_test_plugin_demo:
git:
url: git@github.com:DHFLoveWL/by_test_plugin_demo.git
2. 本地库的运用
2.1 本地服务器
关于本地库的方法有2种,一种是经过本地服务器
进行创立上传运用
咱们下载pub_server 后put get
运转
pub_server % dart example/example.dart -d /tmp/package-db
表明成功,之后咱们在pubspec.yaml
,增加publish_to
publish_to: http://localhost:8080
之后操作和发布到pub
相同
flutter packages pub publish
运用
flutter_imkit_plugin:
hosted:
name: flutter_imkit_plugin
url: http://localhost:8080
version: ^0.0.2
2.2 手动创立
假如代码没啥要求,直接放在本地,开发调试也愈加便利.咱们把创立好的plugin
放到flutter项目根目录下,创立文件夹plugins
,放入咱们的plugin
加载plugin
dev_dependencies:
by_test_plugin:
path: plugins/by_test_plugin
导入成功
3. plugin开发增加照片
咱们增加图片资源
咱们在plugin的插件中需求加载完好的途径才能读取官方阐明
能够发现关于想运用packgae中咱们要运用图片的话,首先要在pubspec.yaml
中加载加载完好途径,其次运用的时分要指定packages
.在内部运用的话拼接完成途径即可,不必指定包
关于咱们在plugin插件中运用图片资源的话,咱们不导入完好途径
笔者开始的时分全部导入,后面我又注释了也能够,之后从头运转又报错
最后仍是依照官方的来运用吧,增加完好的途径包含json文件
运转正常:
4. 小结
plugin
咱们能够在本地文件夹下进行调试,修正。之后在上传,较便利。私有库咱们指定git
的url
即可,经过ref
增加条件。比,运用资源的时分要指定package
同时拼接完好途径
。