dart - 为什么我的 Dart Aqueduct 服务器中忽略了 main.dart 配置
问题描述
我的 Aqueduct 服务器的 main.dart 文件是
import 'package:dart_server/dart_server.dart';
Future main() async {
final app = Application<DartServerChannel>()
..options.configurationFilePath = "config.yaml"
..options.port = 3000; // changed from 8888
final count = Platform.numberOfProcessors ~/ 2;
await app.start(numberOfInstances: 1); // changed from count > 0 ? count : 1
print("Application started on port: ${app.options.port}.");
print("Use Ctrl-C (SIGINT) to stop running the application.");
}
我更改了端口号和实例数,但是当我启动服务器时
aqueduct serve
我仍然得到端口 8888 和两个实例:
-- Aqueduct CLI Version: 3.1.0+1
-- Aqueduct project version: 3.1.0+1
-- Preparing...
-- Starting application 'dart_server/dart_server'
Channel: DartServerChannel
Config: /Users/jonathan/Documents/Programming/Tutorials/Flutter/backend/backend_app/dart_server/config.yaml
Port: 8888
[INFO] aqueduct: Server aqueduct/1 started.
[INFO] aqueduct: Server aqueduct/2 started.
只有当我像这样显式启动服务器时
aqueduct serve --port 3000 --isolates 1
我得到端口 3000 和一个实例:
-- Aqueduct CLI Version: 3.1.0+1
-- Aqueduct project version: 3.1.0+1
-- Preparing...
-- Starting application 'dart_server/dart_server'
Channel: DartServerChannel
Config: /Users/jonathan/Documents/Programming/Tutorials/Flutter/backend/backend_app/dart_server/config.yaml
Port: 3000
[INFO] aqueduct: Server aqueduct/1 started.
为什么更改 main.dart 没有影响它?(我在进行更改后保存了文件。)我需要在其他地方进行更新吗?
解决方案
我在任何文档中都没有找到它,但似乎当您运行“aqueduct serve”命令时,bin/main.dart 文件没有被执行。aqueduct serve 命令在命令行上使用其自己的配置。您需要使用 -port 选项指定端口。
如果你想使用你的 main.dart 文件,你也可以直接使用执行服务器
dart bin/main.dart
在您的项目文件夹中。
推荐阅读
- scala - 成功路径和错误路径的功能组合
- ios - 我将如何让 Text 代表另一个视图中的变量(swiftUI)
- angular - 强制角度尊重 json 中的接口类型
- java - Dagger 2 组件类未生成
- node.js - 在 AWS lambda(Node.JS 运行时)上执行 AWS-CLI 命令
- python - PyCharm 调试器卡在“收集数据”上
- reactjs - makeStyle 不适用于自定义组件
- python - 在 Python 中将 datetime 转换为 protobuf Timestamp
- python - 将 RDD 转换为数据帧在字符串到日期转换时失败
- c# - 根据主键从数据库中过滤后,值变为空 - C# Winforms