Grails - 从资源迁移到asset-pipeline插件

时间:2015-04-16 14:28:49

标签: grails asset-pipeline

我一直在尝试根据Grails In Action中的章节在我的Grails应用中安装 angularjs / restangular js库。问题是本书中的代码使用资源插件,该插件已在Grails I版本中被替换为 asset-pipeline 使用(2.4)插件。

我已尝试使用the official documentation 作为指南来实现图书代码,但所需的javascript未包含在我的gsp文件中。此外,我的gsp文件中对<r:layoutResources/><r:require module="core"/>的引用正在突出显示为&#34;未知标记&#34;在GGTS编辑器中。

任何人都可以建议我从资源插件迁移到 asset-pipeline 时出错吗?具体来说,我已将以下 js库复制到我的web-app / js文件夹中:

enter image description here

我想定义这些模块之间的依赖关系,因此我创建了以下conf\ApplicationResources.groovy

modules = {

    angularjs {
        resource url:'js/angular-1.3.15.js', disposition: 'head'
    }

    restangular {
        dependsOn 'angularjs'
        resource url:'js/restangular-1.4.0.js'
    }

    lodashjs {
        resource url:'js/lodash-3.6.0.js'
    }

    core {
        dependsOn 'restangular, lodashjs'
        resource url:'/js/custom.js'
    }
}

views\layout\main.gsp包含:

<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <title><g:layoutTitle default="Grails"/></title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="shortcut icon" href="${assetPath(src: 'favicon.ico')}" type="image/x-icon">
    <link rel="apple-touch-icon" href="${assetPath(src: 'apple-touch-icon.png')}">
    <link rel="apple-touch-icon" sizes="114x114" href="${assetPath(src: 'apple-touch-icon-retina.png')}">
      <asset:stylesheet src="application.css"/>
    <asset:javascript src="application.js"/>
    <g:layoutHead/>
    <r:layoutResources/> <-- why is this highlighted as 'unknown'?
</head>

views\post\singlepage.gsp

<head>
    <title>Timeline for ${ user.userid }</title>
    <meta name="layout" content="main"/>
    <content tag="htmlAttrs">ng-app="testsparestang"</content>
    <r:require module="core"/> <-- again, this is unknown!
</head>

1 个答案:

答案 0 :(得分:0)

如果您想使用资源插件,请在BuildConfig.groovy文件中注释asset-pipeline插件代码。 如果你想使用资产管道,那么只需从BuildConfig.groovy注释资源插件。 现在请注意,您从布局中删除了 标记,因为这只适用于资源插件,而且资产管道不需要。 标记也来自资源插件。因此,根据资产管道

进行更改