vuejs-templates静态资源目录src/assets、

2018-08-17  本文已影响65人  潘道蒙

一句话总结:第三方资源都放在static文件夹中(如脚本库),自己在项目中使用的一些资源都放在assets中

文档传送门:

vuejs-templates官方英文文档:http://vuejs-templates.github.io/webpack/static.html

上面文档的中文翻译:https://athena0304.gitbooks.io/vue-template-webpack-cn/content/static.html

PS: 理论看上面的文档,这里就不复制粘贴了

总结:

区别1:

​ 通过assets引入的资源会被webpack打包(并且默认如果图片大小小于100000byte,会转为base64)

​ 参考: url-loader: https://github.com/webpack-contrib/url-loader

​ 通过static引入的资源会原封不动地在dist输出

区别2:

​ 引用方式的不同,具体的引用方式如下:

用代码举个栗子:(用各种方式引图片)

文件目录:

+-- src

|   +-- assets

|       +-- logo.png

|       +-- big_image.png

|   +-- HelloWorld.vue

+-- static

|   +-- images

|       +-- logo.png

代码:

HelloWorld.vue
<template>
  <div>
    <img width="80px;" :src="logo1">
    <img width="80px;" :src="logo2">
    <img width="80px;" :src="logo3">
    <img width="80px;" :src="logo4">
    <img width="80px;" :src="logo5">
    <img width="80px;" src="../assets/logo.png">
    <img width="80px;" src="assets/logo.png">
    <img width="80px;" src="~assets/logo.png">
    <img width="80px;" src="/static/images/logo.png">
    <img width="80px;" :src="big_image">
  </div>
</template>

<script>
import logo3 from 'assets/logo.png'
export default {
  name: 'HelloWorld',
  data () {
    return {
      logo1: require('assets/logo.png'),
      logo2: require('../assets/logo.png'),
      logo3: logo3,
      logo4: '../assets/logo.png',
      logo5: '/static/images/logo.png',
      big_image: require('assets/big_image.png')
    }
  },
  created () {
    console.log('logo1: ', this.logo1)
    console.log('logo2: ', this.logo2)
    console.log('logo3: ', this.logo3)
    console.log('logo4: ', this.logo4)
    console.log('logo5: ', this.logo5)
    console.log('big_image: ', this.big_image)
  }
}
</script>

log输出如下:

image

(base64太长,就用图的形式贴出来了)

页面显示如下:

image

分析:

上一篇 下一篇

猜你喜欢

热点阅读