【转载】vue项目main.js文件下import router from './router'默认导入router文件夹下index.js的原因


在vue项目文件夹下的src目录的main.js文件中,是这么引入router的:

import router from './router'

等效于

import router from './router/index.js'

这个不是vue的规定而是node加载模块的方式,当require(’./router’)(import会被转为require),node是这样的寻找目标的:

  1. 首先寻找目录下有没有router.js或者router.node,如果有就导入
  2. 如果没有看是否有router目录,如果没有就require失败,抛出异常"Cannot find module ‘./router’"
  3. 如果有router目录会在其下寻找package.json文件,如果有则按照package的配置来导入
  4. 如果没有package.json,看是否有index.js或者index.node,如果有就导入没有就失败

详细见node文档:https://nodejs.org/api/modules.html#modules_folders_as_modules

Logo

前往低代码交流专区

更多推荐