为什么用vue-cli构建的项目中,自己写的组件内部文件名必须为index.vue?

用vue-cli构建的项目:

clipboard.png

在components中写了一个名为my的组件,当组件内文件名字为index时,在router中引入该组件不会报错:

clipboard.png

当把my组件的文件名改为别的名字时,就会报错:

clipboard.png

clipboard.png

这是啥机制啊?

阅读 7.6k
6 个回答

import 引用目录的时候,会默认寻找目录里的 index.js 文件。你可以把路径写全了

你写成 ../components/my/ahaha.vue 不就可以了 。 汗颜

index是该路径默认的文件,所以在你my文件夹下不写index也没关系,但是你换成ahaha之后就找不到相应的模块了,所以必须的写出引用的文件ahaha。

引用my文件夹下index.vue 等于引用 my.vue
可以用my.vue代替 my/index.vue

import my from '../components/my/index.vue' = import my from '../components/my.vue'

这是 es6 中 import 的简写模式,你也可以把路径全部写完整

这叫做约定优于配置.
要不你就得像上面回答都说的一样,使用完全导入的方式了.

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题