因为很长一段时间以来,这个包tmeasday:check-npm-versions允许定义对 Meteor 包的隐式 npm 包依赖。
如果您正在编写一个依赖于给定 npm 包的 Atmosphere 包,请使用此包,该包安装在您安装的项目的应用程序级别。
现在我正在编写一个 Meteor 包,比如说me:my-package
,并且依赖于一个 npm 包,比如说some-package
. 这个 npm 包需要我手动导入这些样式。
该文件夹位于some-package/style/main.less
.
我尝试在包中导入文件,但无法将其导入包的 less 文件中:
@import "some-package/style/main";
@import "{}/some-package/style/main";
@import "node_modules/some-package/style/main";
@import "{}/node_modules/some-package/style/main";
都抛出相同的错误:
While processing files with less (for target web.browser):
packages/me:my-package/style.less:1: Unknown import: <one of the path's above>
显而易见的原因是:Meteor 包通常需要我通过添加文件,api.addFiles
但该包对 npm 包没有“真正的依赖关系”来导入此文件。
我可以将导入样式的“责任”转移到将使用“me:my-package”的应用程序中,因为它也必须安装 npm 包。
将以下行放入将me:my-package
实际使用的应用程序的 css 中:
@import "/node_modules/some-package/style/main.less";
但这也会迫使应用程序安装 less 或 sass 如果包使用它(在我的情况下是 less )。
有人设法以对用户友好的方式解决了这个问题?