vue中引入图片的方式
template和css中
在 template 的 img 标签等和 css 的背景图中
1 | <img class="logo-img" src="~@/assets/logo/logo.png" key="max-logo" /> |
1 | background: url(~@/assets/dongdong.png) 4px 4px no-repeat; |
其中‘~’为的是让 webpack 识别这是一个路径,‘@’表示 webpack 中配置的路径别名,此处表示 src 文件夹
在js中
在 js 中作为变量引入时,需要以 require 的方式引入
1 | default_avatar() { |
此处引入不需要前面写‘~’
assets与static的区别
- 静态文件(主要指图片)均放在了src文件夹下的assets下,此处考虑到引入的资源都是属于项目本身的文件;此处的文件会被webpack的插件处理,如压缩,base64,hash等;
- static中应放置公共的类库等,如jQuery;此处的文件会直接复制到输出文件夹dist下的static中,不会被webpack处理;引入时直接以绝对路径引入即可。