galvani/coffee-closure

0.2.4 2013-04-06 12:45 UTC

This package is not auto-updated.

Last update: 2024-09-14 13:23:24 UTC


README

Symfony 2 扩展,支持 CoffeeScript 和 Google Closure

本包依赖于 Michael Bolin 的 coffee-script 编译器

安装

将这些行添加到 composer.json 中

"repositories": {
            "bolinfest/coffee-script": {

                    "type": "package",
                    "package": {
                            "name": "bolinfest/coffee-script",
                            "version": "1.1",
                            "source": {
                                    "url": "https://github.com/bolinfest/coffee-script.git",
                                    "type": "git",
                                    "reference": "origin/1.1.0"
                            }
                    }
            }
    }

在 AppKernel 中注册扩展

new Galvani\CoffeeClosureBundle\CoffeeClosureBundle()

将配置选项添加到配置文件中

coffee_closure:
	bin: "/usr/bin/env coffee"
	closure: "src/Galvani/PocketBoyBundle/Resources/public/js/"
	src: "src/Galvani/PocketBoyBundle/Resources/public/coffee"
	bundles: [ "GalvaniPocketBoyBundle" ]

该扩展将扫描 Resources/public/coffee 目录,并将所有 .coffee 文件编译到 Resources/public/js 目录

应用程序入口点的示例,需要放在 Resources/public/js 中

app.js

goog.provide('app.start');

goog.require('goog.dom');
goog.require('pocketboy');

app.start = function() {
  var pocketboyApplication = new pocketboy();
  pocketboyApplication.start();
};

// Ensures the symbol will be visible after compiler renaming.
goog.exportSymbol('app.start', app.start);

在 html 中简单添加

<script>goog.require('app.start'); app.start();</script>

使用 assetic 的 twig 示例

<script src="{{ asset('bundles/galvanipocketboy/js/closure-library/closure/goog/base.js') }}"></script>
<script src="{{ asset('bundles/galvanipocketboy/js/deps.js') }}"></script>
<script src="{{ asset('bundles/galvanipocketboy/js/app.js') }}"></script>