我使用Blade创建了一个主题,如这里所述,基/7-0/主题-模板。因此,该项目使用Gradle,生成war文件,我可以将其复制到救生筏中的deploy文件夹中。
在救生筏7中是否有一种方法,当我更改像css文件这样的静态资源时,在开发时几乎立即就会看到这种变化吗?
我找到的一个解决方案是,每次创建一个新的主题war文件,并将其部署在救生筏中,但将其设置为开发模式,如这里所述,基本/7-0/使用-开发人员-模式与主题。这需要很长时间才能成为一个可接受的解决办法。
我正在考虑创建一个gradle任务,该任务复制已更改为救生圈中特定文件夹的任何静态文件。然后,当页面刷新时,就会捕获更改。问题是,救生筏7附带了OSGi,除了ROOT之外,tomcat/webapp下什么都没有。我真的不明白现在如何使用OSGi为模板文件提供服务。
如果我不能使用救生筏主题来实现这一点,那么有什么解决方案吗?我可能也有js或css文件在那里。
有人能给我指明正确的方向吗?或者至少告诉我我想做的事情是否可以完成。谢谢
发布于 2017-06-29 21:55:03
当使用watch任务Liferay主题任务时,它使用OSGi/GoGo接口部署主题,使用本地工作副本的构建文件夹作为源。
进行更改时,监视任务将重新启动OSGi模块。您的更改可能需要3秒才能出现。
我想在Gradle身上也可以做类似的事情。
发布于 2017-07-19 12:57:11
Liferay缓存所有主题的css文件,有时甚至在部署之后。这个缓存存储在两个地方:
liferay-home/tomcat-8.0.32/work/Catalina/localhost/ROOT/css/http_/o/custom-theme-or-portlet
liferay-home/work/custom-portlet
我的开发环境是远程的,所以我创建一个gradle任务来删除每个新部署之前的文件夹。我使用SSH级插件进行部署,并通过示例在主题项目中创建build.gradle:
task buildThemeByGulp(type:Exec) {
if (System.getProperty('os.name').toLowerCase(Locale.ROOT).contains('windows')) {
commandLine 'cmd', '/c', 'gulp_build.bat'
}else{
commandLine './gulp_build.sh'
}
}
task deployToServerDev {
doFirst {
println 'Executing gulp build process.'
}
doLast {
ssh.run {
session(remotes.developServer) {
put from: "${cetelemProjectHome}/themes/cetelem-web-theme/dist/cetelem-web-theme.war", into: "/app/liferay-dxp-digital-enterprise-7.0-sp1/deploy"
}
}
}
}
task removeServerCache {
doLast {
println 'Removing cache folders in server'
ssh.run {
session(remotes.developServer) {
execute 'rm -rf /app/liferay-dxp-digital-enterprise-7.0-sp1/tomcat-8.0.32/work/Catalina/localhost/ROOT/css/http_/o/cetelem-web-theme'
execute 'rm -rf /app/liferay-dxp-digital-enterprise-7.0-sp1/work/com.cetelem.web.searcher.portlet-1.0.0'
}
}
}
}
deployToServerDev.dependsOn getTasksByName('removeServerCache',true)
deployToServerDev.dependsOn getTasksByName('buildThemeByGulp',false)如果你的环境是本地的,那就更容易了。你可以调整分级任务。在主题根文件夹中创建这两个文件非常重要:
(如果您有unix ),gulp_build.sh:
#!/usr/bin/env bash
gulp clean
gulp build(如果您有窗口) gulp_build.bat:
@echo off
gulp build
exit最后,执行刀片gw deployToServerDev (或gradle deployToServerDev),下一个是工作流:
发布于 2018-03-30 12:33:20
在命令提示符下在主题目录上执行gulp watch命令。
我希望这能帮到你。
https://stackoverflow.com/questions/44807788
复制相似问题