svg的内联使用和外联引用,哪个好
方式一
<div> <svg />
</div>
方式二
<div> <img src={'./demo.svg'} />
</div>
这两种方式,哪个好?
回答:
后者会多产生一个 HTTP 请求;前者会使得 HTML/JS 本身体积膨胀。
之所有两种都存在,就是没有最优解,这个要看实际项目的取舍。
比如你页面上有几十上百个 SVG、且体积都挺大的,那么外联 + 缓存 + HTTP/2 往往是比较好的选择。但如果你拢共俩 SVG、加一起都不到 1KB,那么内联就很不错。
回答:
以 react.js 为例
直接把一种图标当成一种组件的方式,既不会是 html 膨胀,也不会额外发一次图片请求
这种方式叫 svgr,是 create-react-app 内置的, vue 项目配置 webpack 相应的 loader 也能够支持
至于哪种更好,适合自己项目的才更好
import React, { Component } from 'react';import logo from './logo.svg'
import { ReactComponent as Logo } from './logo.svg'
import './App.css'
class App extends Component {
render() {
return (
<div className="App">
<img src={logo} className="App-logo" alt="logo" />
<Logo className="App-logo" alt="logo" stroke="#DB7290" strokeWidth="1rem"/>
</div>
);
}
}
export default App;
以上是 svg的内联使用和外联引用,哪个好 的全部内容, 来源链接: utcz.com/p/937220.html