如何将grunt-vulcanize纳入chromeapp yeoman发生器的Gruntfile.js?

时间:2014-07-30 13:23:26

标签: gruntjs google-chrome-app polymer yeoman-generator

我正在尝试制作一个包含聚合物元素的chromeapp - 聚合物列表和我自己的聚合物元素。

我从yeoman chromeapp generator开始,但是在我遇到一些csp问题之前不久,我发现我应该使用vulcanize tool。当我尝试使用命令行版本时,它似乎很好用。

然后我开始希望在构建过程中自动完成,所以我看看将它添加到由chromeapp yeoman生成器生成的Gruntfile.js中。我找到了grunt task,它提供了将其添加到Gruntfile.js的说明。

然而,我了解Yeoman生成器的一件事是开发人员应该在app /目录中调试他们的应用程序,并且只在构建优化版本时进行“构建”(可能是为了分发)。考虑到这一点,即使对于调试,硫化步骤似乎也是必要的(因为聚合物由于csp而不能在chromeapp中开箱即用),因此这是一个中间步骤。因此,对于一个初学者来说,这是一个更多的努力(我猜想,是Yeoman的一部分观众)。

所以,现在我想知道如何做到这一点。它确实看起来像某人已经做过的事情,但我找不到任何例子。

我曾经使用过两步grunt构建过程的projects(由于主要有几个目标),所以流程是这样的:app / - > build / app - >应用程序/ CRX。 IINM,第一步简单地将所有位组合在一起,并替换应用程序名称和版本号/等;第二步进行优化(uglify / minify / etc)。 我想这个问题的解决方案是做类似的事情,并在中间步骤中对build / app进行调试/开发。

我在我引用的webapp项目中做了一些小问题(甚至写了one),但是这个生成器使用的插件对我来说并不是很熟悉。

那么,我的问题是,如果我误解了任何事情,那么任何人都已经这样做了,或者更正了。另外,如果有人建议如何将grunt vulcanize任务集成到chromeapp Yeoman生成器提供的Gruntfile.js中,那么我将试一试。

1 个答案:

答案 0 :(得分:1)

我自己开发了一个解决方案并提出了this

解决方案有点牵扯,但基本上添加了一个中间步骤,其中一个咕噜声的构建' target是用于编译' (只是硫化)app / into build /,旧的构建目标变成了'dist' dist'优化build / into dist /。 目的是开发现在在build /中完成,而dist /中的优化代码用于构建软件包(crx)以进行分发。

它仍然有些未完成,当然还没有准备好向上游推进自耕农发电机,但我希望它可以帮助某人。