我试图弄清楚为什么webpack需要此空扩展名。
里面resolve.extensions
总是有这种配置:
extensions: ['', '.js', '.jsx']
为什么不能这样:
extensions: ['.js', '.jsx']
从文档中:
设置此选项将覆盖默认值,这意味着webpack将不再尝试使用默认扩展名解析模块。如果要
require('./somefile.ext')
正确解析扩展名(例如)所需的模块,则必须在数组中包含一个空字符串。同样,如果要将不需要扩展名的模块(例如require('underscore')
)解析为具有“ .js”扩展名的文件,则必须将其包括".js"
在数组中。
换句话说,如果您不包含空字符串./foo.js
,而是需要一个模块作为,则webpack会寻找./foo.js.js
并./foo.js.jsx
代替。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句