1.3.6 模块

优质
小牛编辑
132浏览
2023-12-01

为了让你使用目标平台的本地设备和平台功能, NativeScript 采用一个模块化的设计模式。所有设备,平台或UI功能都位于独立的模块内部。要使用模块提供的功能,你就需要 require 该模块。

在你的项目里,每个模块的文件驻留在 tns_modules 目录下一个专用的子目录。每个默认模块伴都有一个 package.json 文件,用来声明在你的调用之内该模块如何被调用,并且说明了哪个文件包含模块自身的代码。

{

"name" : "button",

"main" : "button.js"

}

  • 核心模块
  • 设备功能模块
  • D数据模块
  • 用户界面模块

    • Layouts
    • Widgets
  • WHATWG polyfills

    核心模块

  • application: 为应用抽象提供相关的方法(就是把App当作一个对象?!)。

  • console: 让你打印消息到设备控制台。

  • application-settings: 让你存取任何你的应用相关的信息。

  • http: 让你发送web请求并接收响应。

  • image-source: 提供了 ImageSource 类,就是具体平台图片对象的抽象类,被当作图片源使用(通常是bmp位图)。

  • timer: 让你创建,启动,停止和重启定时器。

  • trace: 让你基于分类跟踪和打印特定信息。

  • ui/image-cache: 提供 image-cache 类,它处理图片下载请求并缓存已经下载的图片。

  • connectivity: 让你检查互联网连接并监控其变化。

设备功能模块

  • camera: 让你用设备的相机照像。
  • location: 让你使用设备的定位传感器。
  • platform: 提供有关设备,操作系统和软件的信息。
  • fps-meter: 让你捕获你app的每秒帧数标准(帧数表)。
  • file-system: 让你用设备的文件系统工作。 为文件系统实体提供高层次的抽象,如文件、文件夹、已知文件夹、路径、分隔符等。
  • ui/gestures: 提供 GesturesObserver 类,它让你发现和响应用户手势。

数据模块

  • data/observable: 提供 Observable 类, 在 MVVM 模式里它代表一个可观察的数据或对象。
  • data/observable-array: 提供 ObservableArray 类,它在一个对象集合里面检测并响应变动。
  • data/virtual-array: 提供 VirtualArray 类, 它是一个高级的类似数组的类,有助于按需加载项目(懒加载?)。

UI模块

  • ui/frame: 提供 Frame 类代表逻辑 View 单元,它在一个app里负责导航。
  • ui/page: 提供 Page 类 , 代表一个逻辑单元用以在 Frame 里导航 。NativeScript App 包括若干page。
  • color: 让你创建颜色,以便你变换UI样式时使用。
  • text/formatted-string: 提供 FormattedStringSpan 类, 你可以用它们创建富文本格式化字符串。
  • xml: 提供XmlParser 类, 这是一个用easysax实现的SAX解析器。
  • ui/styling: 提供Style 类, 它负责元素的视觉表现。
  • ui/animation: 提供 Animation 类, 它可以让你动画视图属性。

布局

  • ui/layouts/stack-layout: 提供 StackLayout 类, 它让你在一行内安排子元素的布局。
  • ui/layouts/grid-layout: 提供 GridLayout 类, 它让你在一个弹性的格子里用行和列安排子元素的布局。
  • ui/layouts/absolute-layout: 提供 AbsoluteLayout 类,它让你在任意位置安排子元素的布局,或在多个层呈现他们。
  • ui/layouts/wrap-layout: 提供 WrapLayout 类 ,它让你按次序地从左到右,然后从上到下(卷滚)安排子元素布局。

窗口小部件

  • ui/activity-indicator: 提供 ActivityIndicator 类, 它表示一个窗口小部件,用于显示当前正在忙的服务。
  • ui/button: 提供 Button 类, 它是标准的按钮部件。
  • ui/label: 提供Label类 ,它是标准的label 部件。
  • ui/text-field: 提供 TextField 类, 它表示一个可编辑的单行方框。
  • ui/text-view: 提供 TextView 类, 它表示一个可编辑的多行方框 。
  • ui/list-view: 提供 ListView 类, 它表示一个标准的 list view 部件。
  • ui/image: 提供Image 类, 代表一个图片部件。
  • ui/progress: 提供Progress 类, 代表一个进度或加载指示器。
  • ui/scroll-view: 提供ScrollView 类, 代表一个可滚动区域,以显示超出屏幕可视区域的内容。
  • ui/search-bar: 提供SearchBar 类,代表一个标准的搜索条部件。
  • ui/slider: 提供 Slider 类, 代表一个标准的滑块部件。
  • ui/switch:提供 Switch 类, 代表一个标准的 switch 部件。
  • ui/tab-view: 提供TabView 类, 代表一个标准的 标签内容部件。
  • ui/web-view: 提供 WebView 类, 表示一个标准的浏览器部件。
  • ui/html-view: 提供 HtmlView 类, 代表一个标准的 html 视图部件。
  • ui/dialogs: 让你显示各种对话框,比如警告框,提示框,确认框和其他。 ui/list-picker: 提供 ListPicker 类, 表示一个标准的列表选择组件。
  • ui/date-picker: 提供 DatePicker 类, 表示一个标准的日期选择组件。
  • ui/time-picker: 提供 TimePicker 类, 表示一个标准的时间选择组件。
  • ui/placeholder: 提供 Placeholder 类, 让你可以添加一个原生窗口部件到视觉树。

WHATWG Polyfills