4

我想知道是否有可能使用 2.0.2(或trunk)将我的所有assets/*.coffee文件编译成一个定义的(比如 app.js 和 app.min.js)文件,从而使用本机编译器?

4

2 回答 2

1

由于 scala coffeescript 进程目前似乎支持的唯一选项是“bare”(http://www.playframework.com/documentation/2.0.2/AssetsCoffeeScript#options),你可能必须有一个进程包装你的咖啡脚本,然后将它们放在适当的文件中。您可以将 grunt 用于该任务。和插件 grunt-contrib-coffee 来处理文件

coffee:
  compile:
    files:
      'app/assets/app.js': [
        'file1.coffee'
        'file2.coffee'
      ]

将按顺序编译这些 src 文件并将编译后的文件放在 app/assets/app.js 中,该文件应该被 play 拾取。

grunt-contrib-coffee:https ://github.com/gruntjs/grunt-contrib-coffee

于 2014-06-24T15:03:01.160 回答
0

您不能只编写构建脚本或使用cakefile吗?类似这样的东西:

fs = require 'fs'
{exec} require 'child_process'

fs.readdir 'path/to/coffee/', (err, files) ->
    concat_result = ''
    concat_file = 'path/to/concat_file.coffee'
    for file in files
        concat_result += fs.readFileSync file, 'utf8'

    concat_file = fs.writeFile concat_file, concat_result
    exec "whatever_compiler -c -o path/to/outfile #{concat_file}", (err, stdout, stderr) ->
        #handle errs
于 2012-07-28T17:55:01.480 回答