看懂 Webpack 的编译文件解决了一个BUG!

2019-02-26  本文已影响0人  般犀

引用路径不同导致 installedModules 用了不同的键保存相同模块的 exports 。
在 app.vue:

import store from '@/store/index'

在 music.ts:

import store from '@/store';

原来是路径解析的时候出了问题。在 src 下有一个store.tsimport 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,导致文件增大,所以一般只在开发阶段使用。

上一篇 下一篇

猜你喜欢

热点阅读