Webpack 不尊重 package.json 中的 'module' 字段
Webpack doesn't respect 'module' field in package.json
我试图在 Webpack 中找出 tree-shaking 并且我注意到 运行 -webpack -optimize-minimize
在这个 Example1 上是 11kB,而在 Example2 上是 7kB。
库 Rambda
在其 package.json
中有一个字段 module。据我所知,Webpack 不尊重它,我需要明确引用 esm
文件位置。
问题是错误还是功能?
示例 1
import {add} from 'rambda'
function fn(x) {
return add(2)(x)
}
console.log(fn(3))
示例 2
import {add} from 'rambda/dist/rambda.esm.js'
function fn(x) {
return add(2)(x)
}
console.log(fn(3))
我发现这是一个记录在案的错误 - https://github.com/webpack/webpack/issues/4674
What is the current behavior?
When module's package.json contains browser, module & main fields, webpack is bundling browser build by default.
这个 bug 已经 6 个月没有解决,所以解决方案很难看 - 从 package.json
中删除 browser 字段,所以 Webpack
可以使用 模块 字段。
我试图在 Webpack 中找出 tree-shaking 并且我注意到 运行 -webpack -optimize-minimize
在这个 Example1 上是 11kB,而在 Example2 上是 7kB。
库 Rambda
在其 package.json
中有一个字段 module。据我所知,Webpack 不尊重它,我需要明确引用 esm
文件位置。
问题是错误还是功能?
示例 1
import {add} from 'rambda'
function fn(x) {
return add(2)(x)
}
console.log(fn(3))
示例 2
import {add} from 'rambda/dist/rambda.esm.js'
function fn(x) {
return add(2)(x)
}
console.log(fn(3))
我发现这是一个记录在案的错误 - https://github.com/webpack/webpack/issues/4674
What is the current behavior? When module's package.json contains browser, module & main fields, webpack is bundling browser build by default.
这个 bug 已经 6 个月没有解决,所以解决方案很难看 - 从 package.json
中删除 browser 字段,所以 Webpack
可以使用 模块 字段。