我正在尝试使用 angular 7 加载 svgs。
到目前为止,我尝试过:
import icon = require('./icon.svg');
Run Code Online (Sandbox Code Playgroud)
结果是icon.svg由于文件加载器
import icon = require('raw-loader?!./icon.svg');
Run Code Online (Sandbox Code Playgroud)
结果是 __webpack_public_path__ + "icon.svg";
这与:
import * as icon3 from 'raw-loader?!./icon.svg';
Run Code Online (Sandbox Code Playgroud)
和
import icon4 from 'raw-loader?!./icon.svg';
Run Code Online (Sandbox Code Playgroud)
将变得不确定。
然而,重命名icon.svg类似的东西icon.foo,然后加载图标:
import * as icon from 'raw-loader?!./icon.foo';
Run Code Online (Sandbox Code Playgroud)
并且适当的类型会typings.d.ts导致预期的行为,变量 icon 包含内联内容。
对我来说,它就像文件加载器以某种方式在原始加载器之前。更改node_modules/@angular-devkit/build-angular/src/angular-cli-files/models/webpack-configs/common.js为在规则中加载 svgs 之类的 htmls 也有效。但这不是一条路。
有任何想法吗?