Vue 中 import from
import...from... 加载顺序
import...from... 的from命令后面可以跟很多路径格式:
- 若只给出
vue,axios,less这样的包名,则会自动到 node_modules 中查到,找到后则加载; - 若给出相对路径及文件前缀,则到指定位置寻找;
- 如果是文件,则加载文件
- 如果是文件夹,则先加载 index.js ,如果没找到,则加载 index.vue
import from 的来源:省略后缀与加载文件夹
省略后缀
Vue 使用 import ... from ... 来导入组件,库,变量等。而 from 后的来源可以是 js,vue,json。这个是在 webpack.base.conf.js 中设置的:
1 | |
这里的 extensions 指定了 from 后可导入的文件类型。而上面定义的这 3 类可导入文件,js 和 vue 是可以省略后缀的:
1 | |
文件夹中 .js 和 .vue 的优先级
那么,若 test.vue,test.js 同时存在于同一个文件夹下,则 import 的导入优先级是: js>vue
from 后的来源除了文件,还可以是文件夹:import test from './components'
该情况下的逻辑是:
1 | |
因此若 from 的来源是文件夹,那么在 package.json 存在且设置正确的情况下,会默认加载 package.json;若不满足,则加载 index.js;若不满足,则加载 index.vue。
注意加载文件夹的形式,与上面省略后缀的形式是完全相同的。所以一个省略后缀的from来源,有可能是.vue,.js,或者文件夹。
Vue 中 import ‘@…’是什么
例如:
1 | |
这个是 webpack 使用 loader 里配置的
1 | |
@ 等价于 /src 这个目录,避免写麻烦又易错的相对路径
Vue 中 import from
https://flepeng.github.io/021-frontend-04-Vue-Vue-中-import-from/