如何避免多个帮手实现比如__indexOf()的咕噜-的contrib咖啡(How to avoid

2019-08-17 06:42发布

我有一个Gruntfile.coffee具有咕噜-的contrib咖啡这样的配置:

coffee:
  compile:
    files:
      'public/assets/application.js': [
          'multiple/files' #, ...
      ]
    options:
      bare: true

的问题是,它产生的辅助方法等多个实现

    var __indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; };

如何使它认识到,这些实现已经被编译?

更新1

究其原因显然是它得到了编译的编译的JavaScript被连接在一起。 它可以被避免,如果会的CoffeeScript编译之前串接。 如果这不是一个配置选项咕噜-的contrib咖啡 ,我很想念,我会在GitHub上提交一个问题。

所以,现在的问题是:如何在编译之前串连的CoffeeScript中,避免多次帮助实现?

更新2

有一种变通方法,它涉及到与源文件的手工串联concat任务。 这需要一个临时文件,然后可以从编译CoffeeScript的为JavaScript。 它在提到我创建的问题 。

今后,任务将能够通过自己的东西作为缓冲彼此(见问题 )。

Answer 1:

作为咕噜-的contrib咖啡-0.6.1的这个作品与join选项:

coffee:
  compile:
    files:
      'public/assets/application.js': [
          'multiple/files' #, ...
      ]
    options:
      bare: true
      join: true # concatenate coffee files before compiling. default is false


文章来源: How to avoid multiple helper implementations like __indexOf() with grunt-contrib-coffee