Get Cordova Ready for Grunt and CoffeeScript
Cordova, Grunt and Coffee
You may reference to below if you deside to work with coffee instead of Javascript in Cordova project.
Prepare Cordova Helloworld Project
This guide is based on Hello World project which is generated by the following commands.
$ cordova create hello com.example.hello HelloWorld
$ cd hello
$ cordova platform add android
Install
Install coffee Command
$ npm install -g coffee
Install grunt-contrib-coffee
Grunt Plugin
$ npm install grunt-contrib-coffee --save-dev
Generate Working Tree
Transform www/js/index.js
to src/www/js/index.coffee
in example project. Because, we are gotta remote all the javascript file in folder
www/js/
.
File src/www/js/index.coffee
:
app =
initialize: () -> this.bindEvents() bindEvents: () ->
document.addEventListener 'deviceready', this.onDeviceReady, false onDeviceReady: () ->
app.receivedEvent 'deviceready' receivedEvent: (id) ->
parentElement = document.getElementById id
listeningElement = parentElement.querySelector '.listening'
receivedElement = parentElement.querySelector '.received' listeningElement.setAttribute 'style', 'display:none;'
receivedElement.setAttribute 'style', 'display:block;' console.log 'Received Event: ' + id
Update Gruntfile.coffee
module.exports = (grunt) ->
grunt.initConfig
pkg: grunt.file.readJSON 'package.json'
coffee:
options:
bare: true
build:
expand: true
cwd: 'src/www'
src: ['**/*.coffee']
dest: 'www'
ext: '.js'
extDot: 'first' grunt.loadNpmTasks 'grunt-contrib-coffee'
Now We Have
src/
folder as coffee scripts locationsrc/www/js/index.coffee
file that tranformed fromwww/js/index.js
which is removed already.Gruntfile.coffee
build with coffee taskspackage.json
which is updated with modulegrunt-contrib-coffee
Testing
$ grunt coffee
$ cordova install android
Get Cordova Ready for Grunt and CoffeeScript的更多相关文章
- 执行grunt命令报错 Cannot find module 'coffee-script'
Failed to list grunt tasks in yudian-frontend-salesplatform\Gruntfile.js: process finished with exit ...
- ios cordova报gap://ready 弹出框,一直弹
The iOS app was not working because there was a plugin missing: https://github.com/apache/cordova-pl ...
- Grunt 之 使用 JavaScript 语法检查工具 jshint
前端开发环境准备好了,我们准备开始进行开发. 前端开发的主力语言是 JavaScript,这是一种脚本语言,没有编译器,也就没有了编译器带给我们的语法检查,怎样保证代码的质量呢?jshint 是一个强 ...
- emmet,jade,haml, slim,less,sass,coffeescript等的实战优缺点
摘要: 文章背景,来自于群内周五晚上的一次头脑风暴式的思维碰撞交流活动. 随着前端技术的蓬勃发展, 各种新技术随着生产力的需要不断的涌入我们的视野, 那今天探讨的话题是这些新时代的前端兵器谱: 一. ...
- grunt快速入门
快速入门 Grunt和 Grunt 插件是通过 npm 安装并管理的,npm是 Node.js 的包管理器. Grunt 0.4.x 必须配合Node.js >= 0.8.0版本使用.:奇数版本 ...
- VS2015+cordova+ionic安装配置
VS2015已经出了正式版,想用来试一下cordova方面的开发.最近在看ionic这个框架,于是想能在VS2015里编辑js就好了. 下面说一下蛋疼的安装配置过程. 一.安装VS2015及Andro ...
- 前后端分离之前端项目构建(grunt+require+angular)
前言 前段时间做了一个项目,前端开发页面,然后把代码给到后端同学,后端同学通过vm再来渲染页面.后来才发现,这种方式简直是太low了,因为前端代码在服务端同学那里,每次前端需要更改的时候都需要去到服务 ...
- 前端项目构建工具---Grunt
什么是Grunt? grunt是javascript项目构建工具,在grunt流行之前,前端项目的构建打包大多数使用ant.(ant具体使用 可以google),但ant对于前端而言,存在不友好,执行 ...
- cordova IOS源码浅析
cordova封装了一套js和OC通信的代码,cordova.js下的iOSExex是关键的js去调原生的发起点. function iOSExec() { var successCallback, ...
随机推荐
- Currency System in Geraldion (Codeforces 560A)
A Currency System in Geraldion Time Limit:2000MS Memory Limit:262144KB 64bit IO Format:%I64 ...
- lnmp-zabbix
wget http://down1.chinaunix.net/distfiles/freetype-2.4.7.tar.bz2 tar -jxvf freetype-2.4.7.tar.bz2 cd ...
- ZOJ 2856 Happy Life 暴力求解
因为是Special Judge 的题目,只要输出正确答案即可,不唯一 暴力力求解, 只要每次改变 happiness 值为负的人的符号即可. 如果计算出当前人的 happiness 值为负,那么将其 ...
- JavaScript 中的日期和时间
前言 本篇的介绍涵盖以下部分: 1. 时间标准指的是什么?UCT和GMT 的概念.关联和区别? 2. 时间表示标准有哪些? 3. JS 中时间的处理 日期时间标准 日期的标准就不多说了 -- 公元纪年 ...
- oracle expdp和impdp使用例子
情景: 由于生产需求,需要把rmtel用户的数据完全复制一份给rmtel_xzy,但排除rmtel用户 ('CAB_JJXPORT_TAB','T_SERVICEXX','TB_CROSSCONNEC ...
- linux 单网卡绑定两个ip
一.ubuntu系统: #vi /etc/network/interfaces OR $ sudo vi /etc/network/interfaces Modify as follows: au ...
- PHP - FTP上传文件类
/** * 作用:FTP操作类( 拷贝.移动.删除文件/创建目录 ) * 时间:2006/5/9 * 作者:欣然随风 * QQ:276624915 */ class class_ftp { publi ...
- 05-OC多态
目录: 一.继承的缺陷 二.为什么使用继承 三.组合和聚合 四.多态 回到顶部 一.继承的缺陷 1 提高了程序的复杂度,维护性和扩展性低 2 破坏了类的封装性 回到顶部 二.为什么使用继承 1 代码复 ...
- Java 多线程-生产者、消费者
一.整体代码 ThreadDemo.java public class ThreadDemo { public static void main(String[] args) { Godown god ...
- windows 下mysql的安装于使用(启动、关闭)
1.下载Windows (x86, 64-bit), ZIP Archive解压: 2.双击在bin目录里的mysqld.exe dos窗体一闪就没了,这时netstat -an发现port3306已 ...