Vue源码中关于import...from...引入模块路径的问题求教。

Vue.js web-runtime-full-compile.js中的代码

import Vue from './web-runtime'
import { warn, cached } from 'core/util/index'
import { query } from 'web/util/index’

如上代码的from后面的路径,刚开始以为是ES6module的语法经过改造的,跟require的请求路径类似的话,下面的core/util因为不是node的内置模块,而且没有’./‘类似的相对路径标识符,node就会去node_modules中去找,但是Vue源码很明显是在本地文件夹找的。

我把文件的结构截个图。

clipboard.png

Core/index还可以理解,但是web/util是在platforms下面的,直接import { warn, cached } from 'core/util/index'能找到这是怎么回事?我就想着是不是有什么配置,结果没找到。

阅读 17.2k
4 个回答

clipboard.png

还是对Vue源码不熟悉,在用rollup打包的时候,有这么一个别名的配置。

如果使用vue-cli 出来项目, 且使用webpack-dev-server去跑项目的话,在文件的结构中,有个build文件夹,build文件夹中的webpack.base.conf.js文件有个resolve属性,这个属性可以配置路径,将比较常用的长路径省略掉。

谢邀!
加./是引入本地的相对路径的文件

不加./是依赖 这个很轻松理解
他引入某个依赖下面的某个组件模块 它遵循寻找的路径就是某个依赖下 某个文件夹下 某个文件这有什么难理解的吗 对应你图 就是core 下面的util 下面的index

webpack.base.conf.js

clipboard.png

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