Kotlin + Node.js 搭建教程

时间: 2018-10-30阅读: 534标签: node

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/


Node 最古老的 npm 包 request 将被废弃

相信 Node.js 开发者对 Request 都不会陌生,这是一个 Node.js 模块,以 npm 包的形式提供,是一个简单的 HTTP 客户端,通过它可方便地实现 HTTP 请求。可以看到,request 的最新版本是 2.88.0

我怎样用Node.js自动完成工作的

我们在工作中经常会进行很多繁琐的任务:更新配置文件,复制和粘贴文件,更新 Jira 标签等。慢慢的花在这些任务上的时间会越来越多。reskin 的定义是使用相同的游戏机制,屏幕和元素的定位

如何正确使用Node.js事件

事件驱动的编程变得流行之前,在程序内部进行通信的标准方法非常简单:如果一个组件想要向另外一个发送消息,只是显式地调用了那个组件上的方法。但是在 react 中用的却是事件驱动而不是调用。

快速理解 nodejs 模块

module.exports 用于暴露一个值,这个值默认是对象,也可以覆盖为原始值。尝试在一个文件中直接 log 出 module 的值,可以得到:你需要通过修改 module 的 exports 属性来输出你需要输出的东西,而 require 用于导入一个模块

Node 引入 ESM 新方案

Node 对 ES6 Module 的支持又有新进展。一个新的 PR 更新了当前 --experimental-modules 的实现方案。type 动态判断模块加载模式:更新后的方案将根据 package.json 文件中指定的 type 值来判断 js 文件是使用 ESM 还是 commonjs

Node.js 进程平滑离场剖析

使用 Node.js 搭建 HTTP Server 已是司空见惯的事。在生产环境中,Node 进程平滑重启直接关系到服务的可靠性,它的重要性不容我们忽视。既然是平滑重启,就涉及到新旧进程的接替过渡:

深入解析Node.js Event Loop各阶段

今天小编就为大家分享一篇关于Node.js Event Loop各阶段讲解,写的十分的全面细致,具有一定的参考价值,对此有需要的朋友可以参考学习下。timer阶段处理setTimeout于setInterval回调,开始处理的时机与poll阶段有关联。

深入解析Node.js Stream ondata触发时机与顺序

今天小编就为大家分享一篇关于Node.js Stream ondata触发时机与顺序的探索,写的十分的全面细致,具有一定的参考价值,对此有需要的朋友可以参考学习下。如有不足之处,欢迎批评指正。

Node编码规范

采用2个空格缩进,而不是tab缩进。空格在编辑器中与字符是等宽的,而tab可能因编辑器的设置不同。2个空格会让代码看起来紧凑、明快。永远用var声明变量,不加var时会将其变为全局变量,这样可能会意外污染上下文,或是被意外污染。

Node.js创建服务器和模拟客户端请求

服务器是某种长期运行,等待请求资源的应用程序,Web服务器是使用HTTP协议,等待客户端连接后请求资源的驻守应用程序;HTTP协议是应用层的协议,在传输层依然是使用TCP或者UDP协议

内容以共享、参考为目的,请勿用于商业用途。其版权归原作者所有,如有侵权,请与小编联系,情况属实将予以删除!

广告赞助文章投稿关于web前端网站点搜索站长推荐网站地图站长QQ:522607023

小程序专栏: 土味情话心理测试脑筋急转弯幽默笑话段子句子语录成语大全