dart_node_core
dart_node_core 是所有其他 dart_node 包的基础层。它提供底层 JavaScript 互操作工具、Node.js 绑定和控制台辅助功能。
安装
dependencies:
dart_node_core: ^0.11.0-beta
核心工具
控制台日志
import 'package:dart_node_core/dart_node_core.dart';
void main() {
consoleLog('Hello, world!'); // 标准输出
consoleError('Something went wrong'); // 标准错误输出
}
加载 Node.js 模块
import 'package:dart_node_core/dart_node_core.dart';
void main() {
// 加载 Node.js 内置模块
final fs = requireModule('fs');
// 加载 npm 包
final express = requireModule('express');
}
访问全局对象
import 'package:dart_node_core/dart_node_core.dart';
void main() {
// 访问全局 JavaScript 对象
final process = getGlobal('process');
}
互操作辅助工具
Dart 和 JavaScript 之间的转换
使用 dart:js_interop 进行类型安全转换:
import 'dart:js_interop';
void main() {
// Dart 转 JS
final jsString = 'hello'.toJS;
final jsNumber = 42.toJS;
final jsList = [1, 2, 3].jsify();
// JS 转 Dart
final dartString = jsString.toDart;
}
函数式编程扩展
函数式编程工具:
import 'package:dart_node_core/dart_node_core.dart';
String? getName() => 'World';
void main() {
// 对可空值进行模式匹配
String? name = getName();
final result = name.match(
some: (n) => 'Hello, $n',
none: () => 'No name provided',
);
// 应用转换
final length = 'hello'.let((s) => s.length);
}
源代码
源代码可在 GitHub 上获取。