如何使用二进制模式的新资产管道插件打包插件资产?

问题描述 投票:0回答:1

我们的项目依赖于grails插件,我们称之为“dataLayer”,因为它将数据保存在不同的应用程序中。例如共享域类,共享主题,css,javascripts。

这适用于资源插件。现在我迁移到资产管道插件,它在使用inplace-plugins的开发环境中本地工作也很好。

在生产中在线使用相同的应用程序不起作用,因为css文件和js文件为空或缺失。

也许很高兴知道:我们的DataLayer插件包含grails-app /中的默认资产文件夹。我们有一个额外的文件夹,称为“主题”,包含我们主题的所有js和css。在javascript和css文件夹中,我们有一些文件声明文件作为主题文件夹中的要求。这在开发环境中工作正常。

例如,grails-app / assets / javascripts / core.js中dataLayer插件中的core.js

//= require ../theme/assets/plugins/jquery-1.10.1.min
//= require ../theme/assets/plugins/jquery-migrate-1.2.1.min
// IMPORTANT! Load jquery-ui-1.10.1.custom.min.js before bootstrap.min.js to fix bootstrap tooltip conflict with jquery ui tooltip
//= require ../theme/assets/plugins/jquery-ui/jquery-ui-1.10.1.custom.min
//= require ../theme/assets/plugins/bootstrap/js/bootstrap.min
//= require ../theme/assets/plugins/jquery-slimscroll/jquery.slimscroll.min
//= require ../theme/assets/plugins/jquery.blockui.min
//= require ../theme/assets/plugins/jquery.cookie.min
//= require ../theme/assets/plugins/uniform/jquery.uniform.min
//= require ../theme/assets/scripts/app

另外要知道:我们使用二进制插件打包,因此dataLayer插件以二进制模式(无源)打包并上传到我们的maven存储库。从那里它在生产环境中得到解决。 ===>我认为这是问题所在。我认为assets文件夹没有打包到jar中。

这有可能吗?如果是,我怎么能正确地将assets文件夹添加到包装中?

更新:问题仅在使用没有源的二进制插件时出现。使用以下选项时,似乎grails包(maven-deploy --binary)不包含资产:

在插件描述符中:

def packaging = "binary"

在BuildConfig.groovy中:

grails.project.plugin.includeSource = false

来自web-app文件夹的静态图像,javascripts,css总是在目标jar中(无论我使用哪个选项),所以这似乎是资产管道问题。

grails asset-pipeline grails-plugin
1个回答
0
投票

资产管道插件尚不支持二进制插件模式。该插件的开发人员David Estes正在研究它。你可以在这里找到问题:https://github.com/bertramdev/asset-pipeline/issues/98

© www.soinside.com 2019 - 2024. All rights reserved.