我使用主题生成器创建了一个新主题。 现在,我已经在同一目录中创建了第二个主题,并尝试使用以下页面上的说明gulp extend
设置其基本/父主题:
https://github.com/liferay/liferay-theme-tasks https://dev.liferay.com/de/develop/reference/-/knowledge_base/7-0/theme-gulp-tasks
运行命令并选择选项1)
扩展基本主题后,我得到以下选项:
- 风格
- 无样式
- 搜索全局安装的 npm 模块(仅用于开发目的(
- 搜索 npm 注册表(已发布的模块(
无论我选择3)
还是4)
都找不到主题包。
我真的必须将主题发布到 npm 才能找到它吗?
按照这个解释,我可以使用npm link
来实现它:
- npm 链接
摘录:
npm 链接:救援的象征性链接 幸运的是,npm 提供了一个工具 以避免这种乏味。而且它易于使用。但有一个问题。
这是它应该如何工作:
光盘转 SRC/APPY
运行"npm 链接"。这将创建一个从全局文件夹到 src/appy 文件夹的符号链接。
CD 到 SRC/MySite
运行"npm 链接应用程序"。这会将此特定项目中的"node_modules/appy"链接到全局文件夹,以便"require"调用 寻找应用程序最终从您的开发文件夹中加载它, src/appy。
任务完成...几乎。如果您将节点安装在典型的 方式,使用 MacPort 或 Ubuntu 的 apt-get,然后是 npm 的"全局"文件夹 可能位于系统范围内共享的位置,例如/opt/local/npm 或/usr/lib/npm.这不好,因为它意味着那些"npm 链接" 命令将失败,除非您以 root 用户身份运行它们。
编辑:我错误地用它制作一个 npm 包,当你也可以在本地需要它时。甚至相对路径也有效。例:
"dependencies": {
"my-liferay-theme": "file:../My-Liferay-theme",
}