Elm 0.19 工作坊教程
2024-09-08 18:00:55作者:庞眉杨Will
本教程将引导您了解并实践由 Richard Feldman 提供的 Elm 0.19 版本的工作坊。此工作坊分为入门和高级课程,旨在教授 Elm 编程语言的核心概念,以及如何构建从基础到复杂的应用程序。
1. 项目目录结构及介绍
Elm 0.19 工作坊的目录结构设计为了逐步学习和实践 Elm 的各项特性:
- 根目录 包含了共同的指导说明和指向不同部分的链接。
intro
: 入门课程的相关资料。advanced
: 高级课程的内容,适合已经有一定基础的开发者。server
: 这个子目录包含了用于支持前端 Elm 应用的后端服务器代码。services
: 含有服务定义的 Moleculer 目录,用于构建微服务环境。package.json
: Node.js 项目配置文件,定义了依赖和脚本命令。
src
: Elm 源码存放位置,包括主应用逻辑。
- `LICENSE**: 许可证文件,表明项目遵循 MIT 协议。
README.md
: 主要的阅读材料,提供了快速上手的指南。
2. 项目的启动文件介绍
后端服务器启动
在进行 Elm 应用开发前,首先需要运行后端支持服务器。关键的启动步骤聚焦在 advanced/server
目录下:
- 启动文件 主要是通过运行
npm
命令来启动,具体是执行npm start
。这将会启动一个基于moleculer
的服务,该服务为 Elm 前端提供必要的 API 支持或者静态文件服务。
Elm UI 启动
- 对于 Elm UI,虽然没有传统意义上的“启动”文件,但首次编译和构建 Elm 代码是通过在
advanced/server/
或相应 Elm 源码目录下执行elm make src/Main.elm --output=/server/public/elm.js
来完成的。这编译 Elm 源码并输出为 JavaScript 文件,准备由前端加载。
3. 项目的配置文件介绍
-
package.json:位于
advanced/server
中,定义了 Node.js 项目的依赖包和脚本命令。这是管理后端服务依赖和启动流程的关键文件。通过这个文件中的scripts
部分,可以轻松地运行开发服务器 (npm start
) 或处理其他构建任务。 -
elm-package.json(未直接提及,但通常存在于 Elm 项目中):在 Elm 项目的源码目录中,管理 Elm 的依赖项。不过在这个特定工作坊结构中,更多依赖于具体的课程说明而非独立列出的配置文件。
在操作这些环节时,请确保遵循根目录下的 README.md
中提供的具体指引,尤其是关于环境设置和先决条件的部分,以确保顺利进行项目的学习和开发。
热门项目推荐
相关项目推荐
- 国产编程语言蓝皮书《国产编程语言蓝皮书》-编委会工作区017
- nuttxApache NuttX is a mature, real-time embedded operating system (RTOS).C00
- qwerty-learner为键盘工作者设计的单词记忆与英语肌肉记忆锻炼软件 / Words learning and English muscle memory training software designed for keyboard workersTSX027
- 每日精选项目🔥🔥 01.17日推荐:一个开源电子商务平台,模块化和 API 优先🔥🔥 每日推荐行业内最新、增长最快的项目,快速了解行业最新热门项目动态~~026
- Cangjie-Examples本仓将收集和展示高质量的仓颉示例代码,欢迎大家投稿,让全世界看到您的妙趣设计,也让更多人通过您的编码理解和喜爱仓颉语言。Cangjie045
- 毕方Talon工具本工具是一个端到端的工具,用于项目的生成IR并自动进行缺陷检测。Python039
- PDFMathTranslatePDF scientific paper translation with preserved formats - 基于 AI 完整保留排版的 PDF 文档全文双语翻译,支持 Google/DeepL/Ollama/OpenAI 等服务,提供 CLI/GUI/DockerPython05
- mybatis-plusmybatis 增强工具包,简化 CRUD 操作。 文档 http://baomidou.com 低代码组件库 http://aizuda.comJava03
- advanced-javaAdvanced-Java是一个Java进阶教程,适合用于学习Java高级特性和编程技巧。特点:内容深入、实例丰富、适合进阶学习。JavaScript0108
- taro开放式跨端跨框架解决方案,支持使用 React/Vue/Nerv 等框架来开发微信/京东/百度/支付宝/字节跳动/ QQ 小程序/H5/React Native 等应用。 https://taro.zone/TypeScript09
热门内容推荐
最新内容推荐
项目优选
收起
Python-100-Days
Python - 100天从新手到大师
Python
266
55
国产编程语言蓝皮书
《国产编程语言蓝皮书》-编委会工作区
65
17
Cangjie-Examples
本仓将收集和展示高质量的仓颉示例代码,欢迎大家投稿,让全世界看到您的妙趣设计,也让更多人通过您的编码理解和喜爱仓颉语言。
Cangjie
196
45
openHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
53
44
HarmonyOS-Examples
本仓将收集和展示仓颉鸿蒙应用示例代码,欢迎大家投稿,在仓颉鸿蒙社区展现你的妙趣设计!
Cangjie
268
69
qwerty-learner
为键盘工作者设计的单词记忆与英语肌肉记忆锻炼软件 / Words learning and English muscle memory training software designed for keyboard workers
TSX
333
27
CangjieCommunity
为仓颉编程语言开发者打造活跃、开放、高质量的社区环境
Markdown
896
0
advanced-java
Advanced-Java是一个Java进阶教程,适合用于学习Java高级特性和编程技巧。特点:内容深入、实例丰富、适合进阶学习。
JavaScript
419
108
MateChat
前端智能化场景解决方案UI库,轻松构建你的AI应用,我们将持续完善更新,欢迎你的使用与建议。
官网地址:https://matechat.gitcode.com
144
24
HarmonyOS-Cangjie-Cases
参考 HarmonyOS-Cases/Cases,提供仓颉开发鸿蒙 NEXT 应用的案例集
Cangjie
58
4