首页
学习
活动
专区
圈层
工具
发布
39 篇文章
1
Docker 从Dockerfile 构建镜像 :build 命令的用法
2
[操作系统] 环境变量详解
3
【多厂商设备仿真】EVE-NG社区懒人版5.1+使用方法,如何导入、设备连线、关联CRT、抓包
4
EVE-NG社区懒人版发布——By EmulatedLab
5
一键开启AI编程新纪元:Windows版Trae初体验
6
PySide6 GUI 编程(14):QDial的使用
7
【Python篇】PyQt5 超详细教程——由入门到精通(序篇)
8
猫头虎分享:Python库 Twisted 的简介、安装、用法详解入门教程
9
在 Visual Studio Code 中添加自定义的代码片段
10
【Docker项目实战】使用Docker部署HomeBox家庭库存管理系统
11
Flet-基于Flutter的Python跨平台开发框架(组件学习)
12
Deno对Node最近支持TypeScript的回应
13
深入理解css中的link 和 @import
14
go语言安装及其环境配置
15
《深入浅出Dart》Dart的命令行和Web编程
16
FastAPI(42)- Static Files 静态资源
17
FastAPI 学习之路(三十八)Static Files
18
Python Playwright 入门指南
19
VueHooks Plus:Vue 3 Hooks 的全面解决方案
20
基于 Vue3、TypeScript、Vite2、Pinia 开源的后台管理框架
21
Vue2 + Element-Plus极客范儿后台管理框架,告别繁琐开发!
22
一文带你搞清楚USB、type-C、雷电三接口之间的区别与联系
23
使用tinc+quagga搭建个人SD-WAN网络
24
SSL VPN搭建与使用(OpenVpn)
25
利用Simple-RTMP-Server搭建RTMP和HLS直播服务(上)
26
飞牛 fnos 使用docker部署 Windows 系统:虚拟机的轻量级替代方案
27
iptable端口重定向 MASQUERADE[通俗易懂]
28
68.8K的 star的Supabase免费!2 分钟搞定用户认证功能
29
全新升级!Supabase 与 Next.js 14 的完美融合
30
Arista 收购软件定义网络先驱 Pluribus
31
你的第一个XDP BPF 程序
32
关于 COS 发布新域名 tencentcos.cn 的通知
33
腾讯云主机安装COSFS工具并使用COS对象存储
34
大白话讲清楚:什么是 Langchain 及其核心概念
35
当 Redis 原生支持 JSON,大厂程序员都说它像德芙一样丝滑
36
使用腾讯COS对象存储同步obsidian
37
【linux命令讲解大全】195.Bash 命令解析:declare 的用法和功能详解
38
统信 UOS 使用 Remmina 工具实现 RDP、SSH、SFTP 远程连接
39
终端下强大的资源管理器 -- Ranger 详解
清单首页2025文章详情

《深入浅出Dart》Dart的命令行和Web编程

现代JavaScript高级小册

深入浅出Dart

现代TypeScript高级小册

Dart的命令行和Web编程

Dart是一个多平台的语言,它支持命令行编程和Web编程。下面是这两种编程方式的一些基础知识。

Dart的命令行编程

在命令行编程中,我们主要使用dart:io库,这个库提供了一些与文件系统交互、网络编程、进程管理等功能的类和函数。

读取和写入文件

下面是一个例子,演示如何在Dart中读取和写入文件:

代码语言:javascript
代码运行次数:0
复制
import 'dart:io';

void main() async {
  var file = File('test.txt');

  // 写入文件
  await file.writeAsString('Hello, Dart!');

  // 读取文件
  var contents = await file.readAsString();
  print(contents);  // 输出:Hello, Dart!
}

网络编程

dart:io库还提供了一些类来进行HTTP和WebSocket编程。下面是一个简单的HTTP客户端的例子:

代码语言:javascript
代码运行次数:0
复制
import 'dart:io';

void main() async {
  var url = Uri.parse('https://dart.dev');
  var client = HttpClient();

  var request = await client.getUrl(url);
  var response = await request.close();

  await for (var data in response.transform(Utf8Decoder())) {
    print(data);
  }
}

Dart的Web编程

Dart也可以用于构建高质量的Web应用。在Web编程中,我们通常使用dart:html库,这个库提供了一些与DOM交互、处理事件、创建HTML元素等功能的类和函数。

操作DOM

下面是一个例子,演示如何在Dart中操作DOM:

代码语言:javascript
代码运行次数:0
复制
import 'dart:html';

void main() {
  // 获取一个元素
  var title = querySelector('#title');

  // 修改元素的内容
  title.text = 'Hello, Dart!';
}

// HTML文件:
// <h1 id="title">Welcome to Dart</h1>

处理事件

我们还可以在Dart中处理各种用户事件,例如点击事件:

代码语言:javascript
代码运行次数:0
复制
import 'dart:html';

void main() {
  var button = querySelector('#button');

  button.onClick.listen((event) {
    print('Button clicked!');
  });
}

// HTML文件:
// <button id="button">Click me</button>

Dart编译成JavaScript

Dart语言可以被编译成JavaScript,这使得Dart能在所有的现代浏览器中运行,无论是桌面浏览器还是移动设备浏览器。Dart提供了dart2jsdartdevc两种编译工具,分别用于生产环境和开发环境。

dart2js

dart2js是一个强大的工具,它可以将Dart代码编译成高效的、压缩的、部署就绪的JavaScript代码。通常我们在准备部署我们的Dart web应用到生产环境时使用dart2js

下面是一个使用dart2js的例子:

代码语言:javascript
代码运行次数:0
复制
dart2js -O2 -o main.dart.js main.dart

这个命令会将main.dart编译成main.dart.js,并且使用了-O2优化选项。

dartdevc

dartdevc(Dart Development Compiler)是另一个Dart到JavaScript的编译器,主要用于开发环境。相比于dart2jsdartdevc生成的JavaScript代码更易于调试,但是不如dart2js生成的代码运行效率高。

在开发环境中,我们通常使用webdev serve命令来运行我们的Dart web应用,这个命令会自动使用dartdevc来编译我们的代码:

代码语言:javascript
代码运行次数:0
复制
webdev serve

然后你就可以在浏览器中打开你的应用,地址通常是localhost:8080

下一篇
举报
领券