【问题标题】:Liferay 7.1 -problem with copying default themeLiferay 7.1 - 复制默认主题的问题
【发布时间】: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 个字符的单行)并找到该文件的非缩小(例如可读)版本。但无论如何:我想我出去了——对不起。希望有当前主题经验的其他人能找到这个。

标签: liferay liferay-7 liferay-theme liferay-7.1


【解决方案1】:

迟到的答案,但无论如何它都在这里: 您可能也复制了构建的 css 文件(如 main.css)。这些是在构建主题时创建的,不应出现在 src 文件夹中。

【讨论】:

    【解决方案2】:

    这里有两件事,您通常不会从经典主题或任何您可以声明为父主题的主题中复制。

    当您构建主题时,构建工具将为您包含文件。如果父主题是另一个主题,并且您从不是父主题的主题中复制,则会加剧问题,因为您不能期望 JS 甚至 CSS 文件兼容。模板可以使用不同的类,JS可以有不同的依赖或完全不相关的逻辑......这是一团糟。

    从路径中的node_modules\liferay-css-parse 目录来看,您在构建主题时遇到了解析错误。这与 cmets 上的建议不同,因为它不是运行时问题。

    所以,基本上你有一个程序问题:不要直接复制文件,不要混合:如果父级是一个主题,而你从另一个主题复制,期望是一个破碎的结果。不过你可以覆盖。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-08-19
      • 1970-01-01
      • 2011-04-01
      • 2011-08-28
      • 1970-01-01
      • 2019-09-06
      • 1970-01-01
      相关资源
      最近更新 更多