Kotlin + Node.js 搭建教程

时间: 2018-10-30阅读: 59标签: 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.js项目拆包工程化

在我们开发的过程中,经常会遇到这样的问题,开发完了一些代码或者一个接口,别的小伙伴过来问你,代码可不可以给他复用,接口可以给他调用。这说明代码的复用和抽象对团队协作是很重要的

使用 Node.js 开发简单的脚手架工具

像我们熟悉的 vue-cli,react-native-cli 等脚手架,只需要输入简单的命令 vue init webpack project,即可快速帮我们生成一个初始项目。在实际工作中,我们可以定制一个属于自己的脚手架,来提高自己的工作效率。

用node探究http缓存

用node搞web服务和直接用tomcat、Apache做服务器不太一样, 很多工作都需要自己做。缓存策略也要自己选择,虽然有像koa-static,express.static这些东西可以用来管理静态资源,但是为了开发或配置时更加得心应手,知其所以然,有了解http缓存的必要。另外,http缓存作为一个前端优化的一个要点,也应该有所了解。

node.js中常用的fs文件系统

node.js中常用的fs文件系统:fs文件系统模块对于系统文件及目录进行一些读写操作。模块中的方法均有异步和同步版本,例如读取文件内容的函数有异步的 fs.readFile() 和同步的 fs.readFileSync()。

happypack提升项目构建速度

运行在 Node.js 之上的 Webpack 是单线程模型的,也就是说 Webpack 需要处理的任务需要一件件挨着做,不能多个事情一起做。happypack把任务分解给多个子进程去并发的执行,子进程处理完后再把结果发送给主进程。

Node.js 前端开发指南

我们经常跟Node.js打交道,即使你是一名前端开发人员 -- npm脚本,webpack配置,gulp任务,程序打包 或 运行测试等。即使你真的不需要深入理解这些任务,但有时候你会感到困惑,会因为缺少Node.js的一些核心概念而以非常奇怪的方式来编码。

Node.js 应用:Koa2 使用 JWT 进行鉴权

在前后端分离的开发中,通过 Restful API 进行数据交互时,如果没有对 API 进行保护,那么别人就可以很容易地获取并调用这些 API 进行操作。那么服务器端要如何进行鉴权呢?

了解node.js事件循环

node.js的第一个基本论点是I / O的性能消耗是很昂贵。因此,使用当前编程技术的最大浪费来自于等待I / O完成。有几种方法可以处理性能影响

为什么要把 JavaScript 放到服务器端上运行?

JavaScript比C的开发门槛要低,尽管服务器端JavaScript存在已经很多年了,但是后端部分一直没有市场,JavaScript在浏览器中有广泛的事件驱动方面的应用,考虑到高性能、符合事件驱动、没有历史包袱这3个主要原因,JavaScript成为了Node的实现语言。

基于node服务器的大文件(G级)上传

3G的大文件分1500个2M二进度文件,通post方法发送给node服务,服务器全部接收到文件后,进组装生成你上文件。