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
    

  • 相关阅读:
    GIL锁、进程池和线程池、同步和异步
    线程
    socket编程
    单例模式
    反射、自定义内置方法来定制类的功能、元类
    elasticSearch(一)--数据1
    docker学习整理(三)
    docker学习整理(二)
    docker学习整理(一)
    IDEA 配置mybatis生成代码
  • 原文地址:https://www.cnblogs.com/zfyouxi/p/5142349.html
Copyright © 2011-2022 走看看