Liferay 7.1 - 复制默认主题的问题
Posted
技术标签:
【中文标题】Liferay 7.1 - 复制默认主题的问题【英文标题】:Liferay 7.1 -problem with copying default theme 【发布时间】:2019-09-14 16:33:14 【问题描述】:我创建了我的自定义主题,构建它,一切顺利。但是当我将默认主题文件(css、js、图像等)复制到我的自定义主题 src 并部署它时,会出现一些错误:
events.js:174
throw er; // Unhandled 'error' event
^
Error: missing '' near line 1:24577
at error (C:\Users\DanielKęska\web\themes\sym-theme\node_modules\liferay-css-parse\index.js:69:15)
at declarations (C:\Users\DanielKęska\web\themes\sym-theme\node_modules\liferay-css-parse\index.js:225:25)
...还有更多:( 感谢您的帮助!
【问题讨论】:
"near line 1:24577" 听起来你在缩小版中得到了这个。显然没有您想调试的内容。要正确调试,您应该启用Liferay's developer settings 并重试。确保复制文件的非缩小版本,以便此操作有意义。 抱歉,我是 Liferay 的新手,所以这可能是一个愚蠢的问题,但是我应该在哪个门户扩展文件中禁用缩小?在我的主题文件夹或本地服务器中?我有很多这样的文件。 那将在服务器中。但是,我可能被误导了(我在 7.1 中没有接触过主题):看起来这个错误消息是在这个组件部署到服务器之前出现的(?) - 至少文件路径看起来不像这是在一个正在运行的服务器中。无论如何:检查您是否包含了一个缩小文件(例如,超过 24000 个字符的单行)并找到该文件的非缩小(例如可读)版本。但无论如何:我想我出去了——对不起。希望有当前主题经验的其他人能找到这个。 【参考方案1】:迟到的答案,但无论如何它都在这里: 您可能也复制了构建的 css 文件(如 main.css)。这些是在构建主题时创建的,不应出现在 src 文件夹中。
【讨论】:
【参考方案2】:这里有两件事,您通常不会从经典主题或任何您可以声明为父主题的主题中复制。
当您构建主题时,构建工具将为您包含文件。如果父主题是另一个主题,并且您从不是父主题的主题中复制,则会加剧问题,因为您不能期望 JS 甚至 CSS 文件兼容。模板可以使用不同的类,JS可以有不同的依赖或完全不相关的逻辑......这是一团糟。
从路径中的node_modules\liferay-css-parse
目录来看,您在构建主题时遇到了解析错误。这与 cmets 上的建议不同,因为它不是运行时问题。
所以,基本上你有一个程序问题:不要直接复制文件,不要混合:如果父级是一个主题,而你从另一个主题复制,期望是一个破碎的结果。不过你可以覆盖。
【讨论】:
以上是关于Liferay 7.1 - 复制默认主题的问题的主要内容,如果未能解决你的问题,请参考以下文章
将 Liferay 6.2 maven 主题升级为 DXP 主题
在 Liferay 主题中,“clay/base”和“clay/atlas”有啥区别