亲宝软件园·资讯

展开

Vue--import from省略后缀

IT利刃出鞘 人气:1

简介

本文介绍Vue在import时省略后缀以及import文件夹的方法。

省略后缀

说明

可以配置省略后缀,比如:test.js,只用test即可。

官网网址

解析(Resolve) | webpack 中文文档

详解

配置文件:webpack.base.conf.js(也可以在vue.config.js中配置相应的位置)

(下边这个是默认配置,项目中不配置也是这样的规则)。

module.exports = {
  resolve: {
    extensions: ['.js', '.vue', '.json'],
  }
...
}

这里的extensions指定了from后可导入的文件类型。上面定义的这3类可导入文件,js和vue是可以省略后缀的。

例如:

对于test.js,可以用如下两种任一方式导入:

import test from './test'
import test from './test.js'

对于test.vue,可以用如下两种任一方式导入:

import test from './test'
import test from './test.vue'

json不可以省略后缀,只能如下导入(如果去掉后缀则编译出错):

import test from './test.json'

文件名相同的处理流程

若test.vue,test.js同时存在于同一个文件夹下,会按照配置的顺序进行导入。比如:按上边的配置,.js优先于.vue,则import的导入优先级是:js > vue。

加载文件夹

简介

说明

可以import文件夹。例如:import test from './components'。

若from文件夹,则对于该文件夹下的文件:

详解

伪代码如下:

在该目录下:

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

实例

以vue-element-admin的代码为例。

1. 路由配置中导入layout文件夹

此时,按照规则,会去加载package.json,没有;则找index.js,没有;再找index.vue,找到了。

2.layout/index.vue引入目录

引入的是components/index.js

3.components/index.js引入各个组件

其他网址

Vue中import from的来源:省略后缀与加载文件夹

加载全部内容

相关教程
猜你喜欢
用户评论