当前位置:   article > 正文

ArkTS开发鸿蒙OS连接mongoDB(后端node.js)2024最新教程_harmony mongo

harmony mongo

目录

前言

ArkTS

ArkTS 框架简介

TypeScript 与 JavaScript 比较

下载鸿蒙生态下载器

利用ohpm下载axios

鸿蒙os开发代码

Index.ets


前言

喜欢的朋友可在抖音、小红书、微信公众号、哔哩哔哩搜索“淼学派对”。知乎搜索“编程淼”。

ArkTS

ArkTS 是一个开源的 TypeScript 框架,旨在简化和加速构建 Node.js 后端应用程序的过程。下面是 ArkTS 框架的简介以及 TypeScript 与 JavaScript 的比较:

ArkTS 框架简介

  1. 基于 TypeScript:ArkTS 是一个 TypeScript 框架,因此它提供了 TypeScript 的所有优势,包括静态类型检查、更好的编辑器支持以及更清晰的代码结构。

  2. 模块化和组件化:ArkTS 支持模块化和组件化开发模式,使得代码组织更加清晰和易于维护。

  3. 提供了常见的后端功能:ArkTS 提供了许多常见的后端功能,例如路由管理、HTTP 请求处理、数据库集成等,使得开发者能够快速构建功能完善的后端应用程序。

  4. 易于使用:ArkTS 设计简洁,提供了清晰的文档和示例,使得开发者能够快速上手并开始构建应用程序。

  5. 灵活性和可扩展性:ArkTS 提供了灵活的架构和插件系统,使得开发者能够根据自己的需求扩展框架的功能,满足不同项目的需求。

TypeScript 与 JavaScript 比较

  1. 类型系统

    • TypeScript: TypeScript 是 JavaScript 的一个超集,添加了静态类型系统。这意味着开发者可以在代码中定义变量、函数等的类型,并在编译时进行类型检查。
    • JavaScript: JavaScript 是一种动态类型语言,变量的类型在运行时确定,无法在编译时进行类型检查。
  2. 错误检查

    • TypeScript: TypeScript 提供了静态类型检查,可以在编译时发现代码中的类型错误,并提供错误提示和修复建议。
    • JavaScript: JavaScript 只能在运行时才能发现类型错误,这可能导致一些错误在开发阶段未被发现。
  3. 代码结构和可维护性

    • TypeScript: 由于有静态类型系统的支持,TypeScript 代码通常更具可读性和可维护性。类型定义可以使得代码更易于理解,并且编辑器可以提供更好的代码补全和导航功能。
    • JavaScript: JavaScript 的动态特性使得代码结构更加灵活,但有时也可能导致代码可读性较差和难以维护。
  4. 生态系统和库支持

    • TypeScript: TypeScript 生态系统日益壮大,许多流行的 JavaScript 库和框架都提供了 TypeScript 类型定义文件,使得开发者能够更方便地在 TypeScript 中使用这些库。
    • JavaScript: JavaScript 有着庞大的生态系统和丰富的第三方库支持,但并非所有库都提供了 TypeScript 类型定义,因此在 TypeScript 中使用这些库可能需要进行类型声明或手动添加类型定义。

TypeScript 提供了更严格的类型检查和更好的代码提示,使得开发更加安全和高效,而 JavaScript 则更灵活,适用于快速原型开发和小型项目。选择使用 TypeScript 还是 JavaScript 取决于项目的具体需求和开发团队的偏好。 ArkTS 则是建立在 TypeScript 基础上,提供了更多后端开发的便捷功能,适用于需要构建可靠和健壮后端应用程序的场景。

下载鸿蒙生态下载器

ohpm使用指导-命令行工具-DevEco Studio使用指南-工具-HarmonyOS应用开发

1. 解压到文件夹之后,来到ohpm\bin目录下利用cmd打开命令窗口

2.首先切换到npm默认的源:npm config set registry https://registry.npmjs.org/

(这里不能使用npm淘宝的镜像源)

3.执行命令行:init.bat

4.查看ohpm版本:ohpm -v(有版本显示,说明安装鸿蒙下载器成功)

利用ohpm下载axios

1.进入网址:DevEco Marketplace (harmonyos.com)

2.进入创建的鸿蒙项目的根目录下,利用开发者工具打开根目录的命令行窗口,输入:npm install @ohos/axios --save

鸿蒙os开发代码

Index.ets

  1. import axios from '@ohos/axios'
  2. @Entry
  3. @Component
  4. struct Index {
  5. // 上传数据
  6. @State shangchuan_xingming: string = ''
  7. @State shangchuang_nianling: string = ''
  8. @State shangchuan_xingming_del:string =''
  9. @State shangchuan_xingming_upd:string =''
  10. @State shangchuan_newNianling_upd:string =''
  11. @State shangchuan_xingming_find:string =''
  12. build() {
  13. // Row() {
  14. Column() {
  15. // 上传数据
  16. Text('鸿蒙os连接mongoDB数据库')
  17. .margin(20)
  18. .backgroundColor('#62d1')
  19. .borderRadius(10)
  20. .height(50)
  21. .fontWeight(500)
  22. // 输入框1
  23. TextInput({placeholder:'请输入姓名'})
  24. .margin(20)
  25. .height(50)
  26. .onChange(value =>{
  27. console.log(value)
  28. this.shangchuan_xingming = value
  29. })
  30. .backgroundColor('#36D2')
  31. TextInput({placeholder:'请输入年龄'})
  32. .margin({ left:20,right:20,bottom:20 })
  33. .height(50)
  34. .onChange(value =>{
  35. console.log(value)
  36. this.shangchuang_nianling = value
  37. })
  38. .backgroundColor('#36D2')
  39. Button('增加')
  40. .width(200)
  41. .onClick(()=>{
  42. axios({
  43. method: "post",
  44. url: 'http://localhost:3000/publish',
  45. data:{
  46. name:this.shangchuan_xingming,
  47. nianling:this.shangchuang_nianling
  48. },
  49. }).then(res => {
  50. console.info('result:' + JSON.stringify(res.data));
  51. }).catch(error => {
  52. console.error(error);
  53. })
  54. })
  55. // 删除数据
  56. // 输入框1
  57. TextInput({placeholder:'请输入要删除的姓名'})
  58. .margin(20)
  59. .height(50)
  60. .onChange(value =>{
  61. console.log(value)
  62. this.shangchuan_xingming_del = value
  63. })
  64. .backgroundColor('#36D2')
  65. Button('删除')
  66. .width(200)
  67. .onClick(()=>{
  68. axios({
  69. method: "post",
  70. url: 'http://localhost:3000/del',
  71. data:{
  72. name:this.shangchuan_xingming_del,
  73. },
  74. }).then(res => {
  75. console.info('result:' + JSON.stringify(res.data));
  76. }).catch(error => {
  77. console.error(error);
  78. })
  79. })
  80. // 修改数据
  81. // 输入框1
  82. TextInput({placeholder:'请输入要修改的姓名'})
  83. .margin(20)
  84. .height(50)
  85. .onChange(value =>{
  86. console.log(value)
  87. this.shangchuan_xingming_upd = value
  88. })
  89. .backgroundColor('#36D2')
  90. TextInput({placeholder:'请输入新的年龄'})
  91. .margin({ left:20,right:20,bottom:20 })
  92. .height(50)
  93. .onChange(value =>{
  94. console.log(value)
  95. this.shangchuan_newNianling_upd = value
  96. })
  97. .backgroundColor('#36D2')
  98. Button('修改')
  99. .width(200)
  100. .onClick(()=>{
  101. axios({
  102. method: "post",
  103. url: 'http://localhost:3000/upd',
  104. data:{
  105. name:this.shangchuan_xingming_upd,
  106. newNianling:this.shangchuan_newNianling_upd
  107. },
  108. }).then(res => {
  109. console.info('result:' + JSON.stringify(res.data));
  110. }).catch(error => {
  111. console.error(error);
  112. })
  113. })
  114. // 查询数据
  115. // 输入框1
  116. TextInput({placeholder:'请输入要修改的姓名'})
  117. .margin(20)
  118. .height(50)
  119. .onChange(value =>{
  120. console.log(value)
  121. this.shangchuan_xingming_find = value
  122. })
  123. .backgroundColor('#36D2')
  124. Button('查询')
  125. .width(200)
  126. .onClick(()=>{
  127. axios({
  128. method: "get",
  129. url: 'http://localhost:3000/find/'+this.shangchuan_xingming_find,
  130. }).then(res => {
  131. console.info('result:' + JSON.stringify(res.data));
  132. }).catch(error => {
  133. console.error(error);
  134. })
  135. })
  136. }
  137. .width('100%')
  138. // }
  139. .height('100%')
  140. }
  141. }

后端使用代码可查看node.js后端+小程序前端+mongoDB(增删改查)-CSDN博客

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/229078
推荐阅读
相关标签
  

闽ICP备14008679号