更改模块的名称大小写

时间:2015-12-06 23:34:47

标签: javascript module typescript webpack

这可能听起来很奇怪,但是当我在应用程序中更改模块名称时,webpack会更改包输出并使其出错。我有窗口,这意味着模块路径应该不区分大小写,并且捆绑包必须始终相同。 Webpack向我展示了一些模块名称含糊不清,如果你使用区分大小写的操作系统会影响它,但是捆绑包的工作正常。

然后我通过将require中的名称从小写component更改为大写Component来修复,之后webpack开始制作无效的包,并且如果你有很多差异比较这两个输出包。我的问题是:为什么webpack在不区分大小写的环境中对区分大小写的名称表现不同以及如何解决它?也许它会改变模块顺序或类似的东西。 附:该应用程序很大:约2.5 MB。 P.S.S.问题在于继承。我使用TypeScript,错误是我尝试从undefined扩展。

谢谢!

1 个答案:

答案 0 :(得分:3)

  

为什么webpack在不区分大小写的环境中与区分大小写的名称的行为不同

webpack的真正环境是网络,网络区分大小写。它也可能只是订购,例如按字母顺序,这将改变名称的更改顺序。

  

问题在于继承。我使用TypeScript,错误是我尝试从undefined扩展

您可能在那里有循环引用。它以前工作的事实是巧合的(例如文件名的排序满足了预期)。

修复

删除循环引用。例如。使用atom-typescript找到它:https://github.com/TypeStrong/atom-typescript/blob/master/docs/dependency-view.md#circular