zoukankan      html  css  js  c++  java
  • 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 location
    • src/www/js/index.coffee file that tranformed from www/js/index.js which is removed already.
    • Gruntfile.coffee build with coffee tasks
    • package.json which is updated with module grunt-contrib-coffee

    Testing

    $ grunt coffee
    $ cordova install android
    

  • 相关阅读:
    GetIPAddress——获得本地IP地址信息
    NetTime——c++实现计算机时间与网络时间的更新
    redis 面试
    jstat命令
    bug 调试
    redis & memcache
    Java进阶知识点:不要只会写synchronized
    Java进阶知识点:并发容器背后的设计理念
    Java进阶知识点:服务端高并发的基石
    Java进阶知识点:不可变对象与并发
  • 原文地址:https://www.cnblogs.com/zfyouxi/p/5142349.html
Copyright © 2011-2022 走看看