Kotlin + Node.js 搭建教程

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

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://shenqiku.cn/article/FLY_1214