Webassets - 将文件排除在bundle中

时间:2012-11-15 21:12:45

标签: python web-applications webassets

我有一个目录,想要排除像Ant那样的几个文件,这可能与webassets有关吗?

或者如果bundle可以采用列表或元组,这似乎不是这种情况?

1 个答案:

答案 0 :(得分:2)

Bundle构造函数签名如下(来自the source at github):

def __init__(self, *contents, **options):

这意味着可以将内容指定为一系列位置参数,如the example in the documentation中所示:

Bundle('common/inheritance.js', 'portal/js/common.js',
   'portal/js/plot.js', 'portal/js/ticker.js',
   filters='jsmin',
   output='gen/packed.js')

但这也意味着你可以使用Python的能力unpack argument lists。从该页面:

  

当参数已经在列表或元组中但需要为需要单独位置参数的函数调用解包时,会发生相反的情况。例如,内置的range()函数需要单独的start和stop参数。如果它们不能单独使用,请使用* -operator编写函数调用以从列表或元组中解压缩参数

所以你可以轻松地将上面的例子写成:

files = ['common/inheritance.js', 'portal/js/common.js', 
         'portal/js/plot.js', 'portal/js/ticker.js']
Bundle(*files, filters='jsmin', output='gen/packed.js')

当然,您可以在捆绑之前过滤/切片/切块到您心中的内容。