我创建了一个(angular2)npm包并将其上传到我的(私有)注册表。
组件本身非常简单,应该显示一个图标。请在此处查看模板:
<span
[class]="'icon icon-' + key"
[inlineSVG]="'./assets/icons.svg#' + key"
aria-hidden="true"
></span>
正如[inlineSVG]中的路径所示,我想用包裹传递图标。所以我将它们放入./assets
文件夹。
但每次我发布包并将其导入我的应用程序时,我都会得到一个404文件找不到该文件:
我用gulp构建我的包。如果需要,我也可以发布我的gulpfile。
现在我的问题:通常是否可以在npm包中提供资产(图像)?
非常感谢任何帮助:)
答案 0 :(得分:2)
技术上没有你不能,因为你可以上传资产,但实际路径会发生变化。您的资产甚至不在服务器中提供,因为它们位于node_modules文件夹中。
您可以做的是在css中导入内联的svgs。 https://github.com/davidkpiano/sass-svg
或以其他方式包含图像的base64 uri。