相关疑难解决方法(0)

角度2 img src在相对路径中

johnpapa Angular 2样式指南建议逐个功能的方法.我明白了,你可以自制小角度组件,可以重复使用.

所以,我创建了一个我想在另一个项目中重用的组件,并把它放在它自己的文件夹中.我还添加了一个图像,我希望这个组件显示在同一个文件夹中,所以它都是自包含的.

<img class="logo" src="logo.png"/>
Run Code Online (Sandbox Code Playgroud)

但是这会尝试从root加载图像localhost:3000/logo.png.

我想这意味着我必须实际使用图像的确切路径,但这不会破坏其他人可以在其他项目中重用的组件的整体想法吗?

对此有何建议?

编辑以澄清 我正在使用Angular 2快速入门中的文件夹结构,这意味着我的根文件夹是:

app/
node_modules/
index.html
package.json
tsconfig.json
Run Code Online (Sandbox Code Playgroud)

所以,即使我使用path header/logo.png,它也不起作用.我必须做app/header/logo.png.这实际上是一条绝对路径,如果我添加一个前导斜杠:"/ app/header/logo.png",它实际上也同样有效.任何小于完整路径的东西都会破坏链接.意思是如果有人想要重复使用它们,则必须具有完全相同的文件夹结构.

我想这只是它的工作原理,我只是学习Angular 2,但在我看来我应该能够从组件文件夹中加载资源,就像我可以使用模板或css一样

javascript angular

29
推荐指数
1
解决办法
7万
查看次数

Angular 6构建一个带有资产的库

在构建和打包Angular 6库时,我似乎无法指示Angular CLI将库的资源复制到dist/assets每个构建的文件夹中.

假设项目的文件夹结构是这样的 -

- dist
- e2e
- node_modules
- projects
  - lib1
    - src
      - lib
      - assets
        - icons
- src
Run Code Online (Sandbox Code Playgroud)

当我运行ng build lib1ng build lib1 --prodassets/icons文件夹不被复制到dist/lib1/assets/icons.

如果我跑ng build那么src/assets(根SRC /资产)被复制,但没有projects/lib1/assets.

angular.json文件包含"assets": ["src/assets"]对它的引用,但它不允许将assets密钥专门添加到项目中,只允许添加到主根应用程序.添加时,我收到以下错误:

架构验证失败,出现以下错误:数据路径""不应具有其他属性(资产).

我还尝试将以下自定义复制规则添加到资源,以将资产复制到dist/lib而不是dist/appname:

  "assets": [
     "src/favicon.ico",
     "src/assets",
     { "glob": "**/*", "input": "src/assets/icons", "output": "../lib1/assets/icons" }
        ],
Run Code Online (Sandbox Code Playgroud)

但是我收到以下错误:

无法将资产写入输出路径之外的位置.

是否有在每个构建中管理库资产副本的内置方法?

更新06/05/2018

我向Angular CLI提出了一个问题,但尚未收到回复.问题#11701

angular-cli ng-packagr angular6

18
推荐指数
2
解决办法
1万
查看次数

标签 统计

angular ×1

angular-cli ×1

angular6 ×1

javascript ×1

ng-packagr ×1