Pekko HTTP / Scala.js WebSocket 聊天应用教程

Pekko HTTP / Scala.js WebSocket 聊天应用教程

pekko-http-scala-js-websocket-chatAn example app that integrates pekko-http and scala-js to implement a websocket chat项目地址:https://gitcode.com/gh_mirrors/pe/pekko-http-scala-js-websocket-chat

1. 项目的目录结构及介绍

pekko-http-scala-js-websocket-chat/
├── backend/
│   └── src/
│       └── main/
│           └── scala/
│               └── example/
│                   └── pekkowschat/
├── cli/
│   └── src/
│       └── main/
│           └── scala/
│               └── example/
│                   └── pekkowschat/
├── docs/
├── frontend/
│   └── src/
│       └── main/
│           └── scala/
│               └── example/
│                   └── pekkowschat/
├── project/
├── shared/
│   └── src/
│       └── main/
│           └── scala/
├── .gitignore
├── LICENSE
├── README.md
├── build.sbt
└── chat

目录结构介绍

  • backend/: 包含后端代码,主要使用 Pekko HTTP 实现 WebSocket 服务器。
  • cli/: 包含命令行接口代码。
  • docs/: 包含项目文档。
  • frontend/: 包含前端代码,主要使用 Scala.js 实现 WebSocket 客户端。
  • project/: 包含 SBT 构建配置文件。
  • shared/: 包含前后端共享的代码。
  • .gitignore: Git 忽略文件配置。
  • LICENSE: 项目许可证。
  • README.md: 项目说明文档。
  • build.sbt: SBT 构建文件。
  • chat: 项目启动文件。

2. 项目的启动文件介绍

chat

chat 文件是项目的启动文件,用于启动整个应用。它包含了启动后端服务器和前端客户端的命令。

./chat

3. 项目的配置文件介绍

build.sbt

build.sbt 是 SBT 构建文件,包含了项目的依赖、版本和其他构建配置。

name := "pekko-http-scala-js-websocket-chat"

version := "0.1.0-SNAPSHOT"

scalaVersion := "2.13.8"

lazy val root = (project in file("."))
  .aggregate(backend, frontend, shared.jvm, shared.js)
  .dependsOn(backend, frontend)

lazy val backend = project
  .settings(
    libraryDependencies ++= Seq(
      "com.typesafe.pekko" %% "pekko-http" % "10.2.7",
      "com.typesafe.pekko" %% "pekko-stream" % "2.6.15",
      "com.typesafe.pekko" %% "pekko-actor" % "2.6.15"
    )
  )
  .dependsOn(shared.jvm)

lazy val frontend = project
  .enablePlugins(ScalaJSPlugin)
  .settings(
    libraryDependencies ++= Seq(
      "org.scala-js" %%% "scalajs-dom" % "1.1.0"
    )
  )
  .dependsOn(shared.js)

lazy val shared = crossProject(JSPlatform, JVMPlatform)
  .crossType(CrossType.Pure)
  .settings(
    libraryDependencies ++= Seq(
      "com.lihaoyi" %%% "upickle" % "1.4.0"
    )
  )

lazy val sharedJVM = shared.jvm
lazy val sharedJS = shared.js

.gitignore

.gitignore 文件用于指定 Git 忽略的文件和目录。

target/
.idea/
*.iml

LICENSE

LICENSE 文件包含了项目的许可证信息,本项目使用 MIT 许可证。

MIT License

Copyright (c) 2022 jrudolph

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to

pekko-http-scala-js-websocket-chatAn example app that integrates pekko-http and scala-js to implement a websocket chat项目地址:https://gitcode.com/gh_mirrors/pe/pekko-http-scala-js-websocket-chat

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

殷泳娓

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值