我正在尝试在Angular 7中内联加载SVG。
到目前为止,我尝试过:
由于文件加载器(`file-loader`),导致产生了 `icon.svg` 的结果。
结果是:
将会变成未定义。
但是,将
到目前为止,我尝试过:
import icon = require('./icon.svg');
由于文件加载器(`file-loader`),导致产生了 `icon.svg` 的结果。
import icon = require('raw-loader?!./icon.svg');
结果是:
__webpack_public_path__ + "icon.svg";
这与以下代码相同:import * as icon3 from 'raw-loader?!./icon.svg';
and
import icon4 from 'raw-loader?!./icon.svg';
将会变成未定义。
但是,将
icon.svg
重命名为像icon.foo
这样的名称,然后使用以下方式加载图标:import * as icon from 'raw-loader?!./icon.foo';
在typings.d.ts
中适当地输入类型,可以得到预期的行为,变量icon保存了内联内容。
对我来说,似乎是file-loader在raw loader之前执行。将node_modules/@angular-devkit/build-angular/src/angular-cli-files/models/webpack-configs/common.js
更改为像html一样加载svg在规则中也可以工作。但这不是一个好方法。
有什么想法吗?