引用路径不同导致 installedModules 用了不同的键保存相同模块的 exports 。
在 app.vue:
import store from '@/store/index'
在 music.ts:
import store from '@/store';
原来是路径解析的时候出了问题。在 src
下有一个store.ts
,import store from '@/store';
解析到src/store.ts
去了。
如果把 store.ts 删掉就能解析到src
下的store
文件夹下。
但是 debugger 的时候是发现 webpack 的installedModules
下用了不同的键发现的。因为如果是相同的模块,webpack 应该会解析为同一个路径。
P.S.:为什么 webpack 里要使用 eval
在 webpack 里使用 eval 的原因应该是为了可以在尾部插入 sourceMappingURL,便于定位源文件。
dev-tool 有多种 source-map 可以选择,使用 cheap-xx 类型的 source-map,打包出来的 source-map 会忽略代码的列信息。
使用 eval-xx 类型的 source-map ,因为会在尾部插入 sourceMappingURL,导致文件增大,所以一般只在开发阶段使用。
网友评论