日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

dart系列之:创建Library package

發(fā)布時間:2024/2/28 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 dart系列之:创建Library package 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

文章目錄

  • 簡介
  • Library package的結構
  • 導入library
  • 條件導入和導出library
  • 添加其他有效的文件
  • library的文檔
  • 發(fā)布到pub.dev
  • 總結

簡介

在dart系統(tǒng)中,有pubspec.yaml文件的應用就可以被成為一個package。而Libray package是一類特殊的package,這種包可以被其他的項目所依賴. 也就是通常所說的庫。

如果你也想你寫的dart程序可以上傳到pub.dev上,或者提供給別人使用,則來看看這篇文章吧。

Library package的結構

先看下library package的結構:

app3 ├── lib │?? └── main.dart └── pubspce.yaml

這是一個最簡單的Library package的結構,在root目錄下面,我們有一個pubspce.yaml文件。然后還有一個lib目錄存放的是library的代碼。

一般來說lib下面的庫是可以供外部進行引用的。如果是library內部的文件,則可以放到lib/src目錄下面,這里面的文件表示是private的,是不應該被別的程序引入的。

如果想要將src中的包導出供外部使用,則可以在lib下面的dart文件中使用export,將需要用到的lib導出。這樣其他用戶只需要import這個一個文件即可。

export的例子如下:

library animation;export 'src/animation/animation.dart'; export 'src/animation/animation_controller.dart'; export 'src/animation/animations.dart'; export 'src/animation/curves.dart'; export 'src/animation/listener_helpers.dart'; export 'src/animation/tween.dart'; export 'src/animation/tween_sequence.dart';

上面的代碼是flutter的animation庫。

導入library

怎么使用呢?我們可以使用import語句來導入對應的lib:

import 'package:flutter/animation.dart';

如果是內部文件的導入,則可以使用相對路徑。只有在導入外部package的時候才需要加上package:前綴。

條件導入和導出library

因為dart是設計在可以在不同的平臺上進行工作,所以一個library在不同的平臺可能需要導入或者導出不同的library文件, 這就叫做條件導入和導出。

比如可以通過判斷dart庫是io庫還是html庫來選擇導出不同的文件:

export 'src/hw_none.dart' // Stub implementationif (dart.library.io) 'src/hw_io.dart' // dart:io implementationif (dart.library.html) 'src/hw_html.dart'; // dart:html implementation

上面的意思是,如果在app中能夠使用dart:io,那么就導出src/hw_io.dart.

如果能夠使用dart:html,那么就導出src/hw_html.dart,否則就導出src/hw_none.dart。

如果是條件導入的話,將export改成import即可。

添加其他有效的文件

因為不同的library有不同的作用,所以通常需要添加一些額外的文件來保證library的有效性和完整性。

為了保證library的有效性,需要添加測試代碼,測試代碼通常放在test目錄中。

如果是創(chuàng)建命令行工具,則需要將對應的工具放到tools目錄中。

另外還有 README.md 和 CHANGELOG.md等文件。

library的文檔

dart文檔可以使用 dartdoc這個工具來生成。dart中的文檔格式是以///開頭的,如下:

/// The event handler responsible for updating the badge in the UI. void updateBadge() {... }

發(fā)布到pub.dev

一個最好共享library的方式就是將其發(fā)送到pub.dev上。具體的命令是:pub publish。

總結

以上就是dart中創(chuàng)建library的全部內容。

本文已收錄于 http://www.flydean.com/11-dart-create-package/

最通俗的解讀,最深刻的干貨,最簡潔的教程,眾多你不知道的小技巧等你來發(fā)現(xiàn)!

歡迎關注我的公眾號:「程序那些事」,懂技術,更懂你!

總結

以上是生活随笔為你收集整理的dart系列之:创建Library package的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。