Liferay 7主题生成器:设置父主题(baseTheme)

时间:2017-08-22 10:50:19

标签: liferay liferay-theme liferay-7

我使用主题生成器来创建一个新主题。 现在我在同一目录中创建了第二个主题,并尝试使用gulp extend设置它的基本/父主题,如这些页面所述:

https://github.com/liferay/liferay-theme-tasks https://dev.liferay.com/de/develop/reference/-/knowledge_base/7-0/theme-gulp-tasks

运行命令并选择选项1)以扩展基本主题后,我会得到以下选项:

  1. 样式化
  2. 无样式
  3. 搜索全球安装的npm模块(仅限开发目的)
  4. 搜索npm注册表(已发布的模块)
  5. 无论我选择3)还是4),我都找不到主题包。

    我是否真的必须将主题发布到npm才能找到它?

1 个答案:

答案 0 :(得分:0)

根据这个解释,我可以使用npm link

来实现

摘录

  

npm link:救援的象征性链接幸运的是,npm提供了一个工具   避免这种单调乏味。而且它易于使用。但是有一个问题。

     

以下是它的工作方式:

     
      
  1. cd to src / appy

  2.   
  3. 运行" npm link"。这将创建从全局文件夹到src / appy文件夹的符号链接。

  4.   
  5. cd to src / mysite

  6.   
  7. 运行" npm link appy"。这链接" node_modules / appy"在这个特定项目中的全局文件夹,以便"要求"电话   寻找appy从你的开发文件夹中加载它,   SRC / APPY。

  8.         

    任务完成......差不多。如果您安装了典型的Node   使用MacPorts或Ubuntu的apt-get,然后是npm" global"文件夹   可能在系统范围内共享的位置,例如/ opt / local / npm或   / usr / lib中/ NPM。这并不好,因为它意味着那些" npm link"   命令将失败,除非您以root身份运行它们。

编辑:当你也可以在本地使用它时,我错误地制作了一个npm包。即使相对路径也有效。示例:

"dependencies": {
    "my-liferay-theme": "file:../My-Liferay-theme",
}