vue import from

vue 使用import ...from..来引入组件,方法,库,变量等。而from后面的文件类型可以是js,vue,json

vue2在webpack.base.conf.js中进行配置

module.exports = {
  resolve: {
    extensions: ['.js', '.vue', '.json'],
    alias: {
      '@': resolve('src')
    }
  }
...
}

这里的extensions定义了from来源的类型,其中js,vue可省略。

import 'test' from './test.vue'  等同于 import 'test' from './test'

import 'test' from './test.js'  等同于 import 'test' from './test'

json后缀不可以进行省略

import 'test' from './test.json'  

若test.vue,test.js同时存在于同一个文件夹下,则import的导入优先级是:

js>vue

vue3隐藏了配置文件,需要新建一个vue.config.js来配置(会自动和隐藏配置进行合并)

from后的来源除了文件,还可以是文件夹

import test from './components'————引入文件夹

文件夹引入逻辑:from的来源是文件夹,那么在package.json存在且设置正确的情况下,会默认加载package.json;若不满足,则加载index.js;若不满足,则加载index.vue。若from的来源是文件夹,那么在package.json存在且设置正确的情况下,会默认加载package.json;若不满足,则加载index.js;若不满足,则加载index.vue。

if(package.json存在 && package.main字段存在 && package.main指定的js存在) {
    取package.main指定的js作为from的来源,即使该js可能格式或内容错误
} else if(index.js存在){
    取index.js作为from的来源
} else {
    取index.vue作为from的来源
}

from的来源是文件夹,那么在package.json存在且设置正确的情况下,会默认加载package.json;若不满足,则加载index.js;若不满足,则加载index.vue。 

来个from文件夹栗子

 import { AppMain, Navbar, Sidebar, TagsView } from './components'

 from后面跟着的是一个components文件夹,根据上方加载原则查无package.json,加载index.js

export { default as AppMain } from './AppMain'
export { default as Navbar } from './Navbar'
export { default as Sidebar } from './Sidebar/index.vue'
export { default as TagsView } from './TagsView/index.vue'

可以看到这4个export导入的都是vue类型文件。

这样,layout/index.vue就通过加载一个文件夹,获得了4个vue组件。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值