※前提条件:本情報はVue 2.0を基づいて説明してる
import util from '@/libs/util'
那么这个 @ 到底是个什么意思呢?
\build\webpack.base.conf.js 文件有如下代码
resolve: { <!-- 自动补全的扩展名 --> extensions: ['.js', '.vue', '.json'], <!-- 默认路径代理 --> <!-- 例如 import Vue from 'vue',会自动到 'vue/dist/vue.common.js'中寻找 --> alias: { '@': resolve('src'), '@config': resolve('config'), 'vue$': 'vue/dist/vue.common.js' } }
import test from './test.vue'
等同于:
import test from './test'
同理:
import test from './test.js'
等同于:
import test from './test'
json不可以省略后缀:
import test from './test.json'
省略为:
import test from './test'
则编译出错。
from后的来源除了文件,还可以是文件夹:
import test from './components'
该情况下的逻辑是:
if(package.json存在 && package.main字段存在 && package.main指定的js存在) { 取package.main指定的js作为from的来源,即使该js可能格式或内容错误 } else if(index.js存在){ 取index.js作为from的来源 } else { 取index.vue作为from的来源 }
コメント: