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
    

  • 相关阅读:
    java fastjson 设置全局输出name最小化
    Spring MVC同一方法返回JSON/XML格式
    使用Vuejs编写单js组件
    iview使用vue-i18n实现国际化
    WPF usercontrol 自定义依赖属性
    正在尝试解析依赖项“MvvmLightLibs (≥ 5.2.0.0)”。 “MvvmLightLibs”已拥有为“CommonServiceLocator”定义的依赖项
    记第一次的破解经历
    HTML5实现手机QQ表情功能
    TypeScript 基本语法
    WebStorm下使用TypeScript
  • 原文地址:https://www.cnblogs.com/zfyouxi/p/5142349.html
Copyright © 2011-2022 走看看