1

在 Grails 2.5.6 项目中,我无法为 Angular 模板处理编写自定义资产管道 AssetFile / Processor 对。更具体地说,当我在开发模式下运行时它可以工作(grails run-app),但在打包时失败(grails war)。

新的 AssetFile 是对 angular-template-asset-pipeline 2.2.7 的简单定制(我需要使用仅在新版本插件上添加的新参数,仅适用于 Grails 3)。

供参考,以下是文件:

  • AngularTemplateAssetFile:https ://ideone.com/eyuJVi (在 src/groovy 上)
  • asset.specs:https ://ideone.com/iGuUJv (在 web-app/META-INF/asset-pipeline/asset.specs 上)

我将以下代码放在 Bootstrap.groovy 上:

if (!AssetHelper.assetSpecs.contains(AngularTemplateAssetFile)) {
    AssetHelper.assetSpecs << AngularTemplateAssetFile
}

在 _Events.groovy 上:

eventAssetPrecompileStart = { assetConfig ->
    assetConfig.specs << 'vtp.angular.AngularTemplateAssetFile'
}

grails run-app处理器上被正确调用,角度模板被处理并注入页面。上grails run-war,我收到以下错误:

 ...
.
|Compiling 7 GSP files for package [vtpWeb]
..
|Compiling 2 GSP files for package [springSecurityCore]
.
|Compiling 8 GSP files for package [jodaTime]
.
|Compiling 4 GSP files for package [mail]
.
|Compiling 1 GSP file for package [greenmail]
.
|Compiling 5 GSP files for package [console]
..
|Building WAR file
...................................................................................................
|Precompiling Assets!
.Error
|
WAR packaging error: vtp.angular.AngularTemplateAssetFile

该消息仅包含类名,我无法弄清楚在构建战争时如何调试应用程序。

使用的版本:

  • 圣杯 2.5.6
  • 资产管道:2.6.7
  • angular-template-asset-pipeline用作我 fork 基础的原始版本:2.2.7
4

0 回答 0