Kotlin + Node.js 搭建教程

更新日期: 2018-10-30阅读: 3.5k标签: 教程

Kotlin是JetBrains推出的一款语言, 相比Java有更简洁的语法, 能编译为Java Class, 也能编译为JavaScript Node.js则是可以运行在服务端的JavaScript, 这里把二者结合, 搭建一个用Kotlin编写的服务端应用


创建

打开Idea 创建一个 Kotlin(JavaScript) 项目

编写一个测试文件, 检查是否可以正常编译


Test.kt

fun main(args: Array<String>) {
    println("hello kt")
}

按Ctrl+F9编译, 如果看到生成了编译文件, 就可以了, 其中{projectName}.js就是编译后的文件, 打开可以看到已经被编译为JavaScript了, 其中也有println('hello kt'); 

如果没问题的话就可以正式开始接下来的了, 创建App.kt


App.kt

监听8888端口 对任何请求都返回hello world

import kotlin.js.json

external fun require(module: String): dynamic

fun main(args: Array<String>) {
    println("hello kt")
    val http = require("http")

    http.createServer { _, response ->
        response.writeHead(200, json("Content-Type" to "text/plain"))
        response.end("Hello World")
    }.listen(8888)
}


npm

打开终端运行

$ npm init


package.json

{
  "name": "kt-node",
  "version": "1.0.0",
  "description": "kt-node",
  "scripts": {
    "start": "node ./out/production/kt-node/kt-node.js"   //这里改成你编译后文件的位置
  },
  "author": "laziji",
  "dependencies": {
    "express": "^4.15.4",
    "kotlin": "^1.1.4",
    "mongoose": "^4.11.7"
  }
}
$ npm install
$ npm start

打开localhost:8888 查看效果


若有报错

如果运行的时候报错

打开project settings -> Kotlin Complier 

将 Module kind 改为 UMD 再尝试编译 运行


原文来源:https://laboo.top/2018/10/23/kotlin-nodejs/


链接: https://www.fly63.com/article/detial/1214

网站SEO教程:如何制定一个网站优化方案

网站优化的关键在于制定和实施完整的网站优化方案,若想要做好网站优化就必须要制定出一套适合自己的、可执行的网站优化方案。下面我们就来讲一讲如何制定一套完整的网站优化方案,希望大家能够从中获益。

最全的前端Git使用教程

常见信息;创建新仓库;Git 的配置文件是 .gitconfig,可以放在用户的主目录(全局配置)下或项目目录下(项目配置) ;添加删除文件;代码提交

30天掌握AutoCAD2019视频教程

本教程是针对AutoCAD2019推出的视频教程,总共25小时,57节视频教程,从一份标准图纸各个要素(轮廓线、尺寸线、辅助线、公差粗糙度、明细表技术要求)逐一讲解。学习者要非常有耐心,认真学完全部课程

web前端培训教程阶段

第一阶段HTML+CSS:JavaScript基础、JS基本特效、JS高级特征、JQuery;HTML5和移动Web开发:跨终端WEB和主流设备简介、视口、流式布局、弹性盒子、rem、移动终端JavaScript事件

使用原生js实现选项卡功能实例教程

选项卡是前端常见的基本功能,它是用多个标签页来区分不同内容,通过选择标签快速切换内容。学习本教程之前,读者需要具备html和css技能,同时需要有简单的javascript基础。

前端视频教程推荐(入门到高级)

今天,我将跟大家分享网易云课堂的一些编程视频教程,大家可以根据自己的情况,进行合理安排学习。现在,我们就一起来看看这些教程吧。从零玩转JavaScript+ES678精讲,Vue3+Nuxt3实战在线教育SSR网站

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!