Kotlin 全栈开发之 前端 JavaScript: Getting Started with Kotlin and JavaScrip...
Kotlin 全栈开发之 前端 JavaScript: Getting Started with Kotlin and JavaScript with Gradle
完整工程源代码:
https://github.com/Jason-Chen-2017/kotlin-js-gradle-demo
HelloWorld.kt
package demo import kotlin.browser.document import kotlin.js.Date fun say() { println("Hello,World") } fun getDate(n: Int): Date { var d = Date() var ntime = d.getTime() + n * 24 * 3600 * 1000 // ms return Date(ntime) } fun renderTable() { val e = document.getElementById("title") e?.innerHTML = """ <h1>Kotlin VS. JavaScript</h1> """.trimIndent() } fun main(args: Array<String>) { say() getDate(2) renderTable() }
build.gradle
group 'com.easy.kotlin' version '1.0-SNAPSHOT' buildscript { ext.kotlin_version = '1.2.61' repositories { mavenCentral() } dependencies { classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } } apply plugin: 'kotlin2js' repositories { mavenCentral() } dependencies { compile "org.jetbrains.kotlin:kotlin-stdlib-js:$kotlin_version" testCompile "org.jetbrains.kotlin:kotlin-test-js:$kotlin_version" } build.doLast { configurations.compile.each { File file -> copy { includeEmptyDirs = false from zipTree(file.absolutePath) into "${projectDir}/src/main/resources/static" include { fileTreeElement -> def path = fileTreeElement.path println(path) path == "kotlin.js" } } } } compileKotlin2Js { kotlinOptions.outputFile = "${projectDir}/src/main/resources/static/app.js" kotlinOptions.moduleKind = "plain" kotlinOptions.sourceMap = true kotlinOptions.verbose = true kotlinOptions.metaInfo = true }
index.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>kotlinjs-demo</title> </head> <body> <div id="title"></div> <script type="text/javascript" src="../static/kotlin.js"></script> <script type="text/javascript" src="../static/app.js"></script> <script type="text/javascript" > var K = app K.demo.say() var d = K.demo.getDate_za3lpa$(3) console.log(d) </script> </body> </html>
生成的app.js 如下:
if (typeof kotlin === 'undefined') { throw new Error("Error loading module 'app'. Its dependency 'kotlin' was not found. Please, check whether 'kotlin' is loaded prior to 'app'."); } var app = function (_, Kotlin) { 'use strict'; var println = Kotlin.kotlin.io.println_s8jyv4$; var trimIndent = Kotlin.kotlin.text.trimIndent_pdl1vz$; function say() { println('Hello,World'); } function getDate(n) { var d = new Date(); var ntime = d.getTime() + (((n * 24 | 0) * 3600 | 0) * 1000 | 0); return new Date(ntime); } function renderTable() { var e = document.getElementById('title'); e != null ? (e.innerHTML = trimIndent('\n <h1>Kotlin VS. JavaScript<\/h1>\n ')) : null; } function main(args) { say(); getDate(2); renderTable(); } var package$demo = _.demo || (_.demo = {}); package$demo.say = say; package$demo.getDate_za3lpa$ = getDate; package$demo.renderTable = renderTable; package$demo.main_kand9s$ = main; main([]); Kotlin.defineModule('app', _); return _; }(typeof app === 'undefined' ? {} : app, kotlin); //# sourceMappingURL=app.js.map
页面效果:
构建执行:gradle build
参考文档:
1.《Kotlin 极简教程》(陈光剑)第39页。
新书上架:《Spring Boot 开发实战》
— 基于 Kotlin + Gradle + Spring Boot 2.0 的企业级服务端开发实战
京东下单链接
https://item.jd.com/31178320122.html
天猫下单链接
https://detail.tmall.com/item.htm?id=574928877711
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
卷积神经网络概述及python实现
对于卷积神经网络(CNN)而言,相信很多读者并不陌生,该网络近年来在大多数领域都表现优异,尤其是在计算机视觉领域中。但是很多工作人员可能直接调用相关的深度学习工具箱搭建卷积神经网络模型,并不清楚其中具体的原理。本文将简单介绍卷积神经网络(CNN),方便读者大体上了解其基本原理及实现过程,便于后续工作中的实际应用。本文将按以下顺序展开: 了解卷积操作 了解神经网络 数据预处理 了解CNN 了解优化器 理解ImageDataGenerator 进行预测并计算准确性 demo 什么是卷积? 在数学(尤其是函数分析)中,卷积是对两个函数(f和g)的数学运算,以产生第三个函数,该函数表示一个函数的形状如何被另一个修改。(来源:维基百科) 此操作在多个领域都有应用,如概率、统计、计算机视觉、自然语言处理、图像和信号处理、工程和微分方程。该操作在数学上表示为: 卷积
- 下一篇
python开发11之PyMySQL模块
python开发11之PyMySQL模块 1.PyMySQL安装 1.1通过pypi安装PyMySQL模块 • pypi即python package index • 是python语言的软件仓库通过pip安装PyMySQL模块 • 官方站点为https://pypi.python.org 方法一:官网下载安装包,本地安装 [root@miss ~]#yum install -y gcc //安装依赖包 [root@miss ~]#pip3 install PyMySQL-0.9.0.tar.gz 方法二:在线安装 [root@miss ~]#pip3 install pymysql 方法三:使用国内镜像站点,为了实现安装加速,可以配置pip安装时采用国内镜像站点 [root@miss ~]#mkdir ~/.pip/ [root@miss ~]#vim ~/.pip/pip.conf [global] index-url=http://pypi.douban.com/simple/ [install] trusted-host=pypi.douban.com 1 2 3 4 5 6 ...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- Mario游戏-低调大师作品
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Red5直播服务器,属于Java语言的直播服务器
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS8编译安装MySQL8.0.19
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS6,CentOS7官方镜像安装Oracle11G
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装