我有一个 SS3.x 模块,我已经分叉了,通过 composer 从它的分叉中拉下来,并开始移植到 SS4。到目前为止一切都很好,除了要求方面。
我正在使用在另一个模块的现有代码中找到的需求格式,该模块具有冒号分隔的格式,如下所示:
Requirements::javascript('company/mymodule:javascript/SortableUploadField.js');
此文件存在于 /vendor/company/mymodule/javascript/SortableUploadField.js 的模块中。但是在页面加载时,我在控制台中有一个 404,因为 SS 在 /resources/company/mymodule/css/SortableUploadField.css 中查找此文件。而这并不存在。
当我看到其他模块这样做时,我将以下内容添加到模块的 composer.json 文件中:
"extra": {
"installer-name": "sortableuploadfield",
"expose": [
"css",
"javascript"
]
},
并运行了作曲家更新。但是这个模块没有出现 /resources 目录(其他模块在那里)。而且我在网上找不到任何关于这应该如何工作的信息。
编辑:作为旁注,我想知道需求的文档是否具有误导性?它完全忽略了模块的这个警告,并完全提到了资源目录。如果该文档只是为了传达在正常的 mysite 开发中使用 JS/CSS 的过程,那么它只是有点令人困惑,因为代码无处不在。当然,这不会是 /vendor 中某些内容的直接 url。