Если веб-пакет трясет дерево, обрабатывать node_modules?

Я работаю на node@6.11.0, webpack@3.4.1

file.js

export function foo () {
  return 'foo'
}

export function bar() {
  return 'bar'
}

main.js

import { foo } from './file'
import { log } from 'mathjs'
foo()
log(10000,10)

И bundle.js включает в себя все методы из math.js, так что мне интересно, работает ли тряска деревьев. и функциональная панель подписала с /* unused harmony export bar */когда я использую тряску деревьев, bundlejs должен включать только методы foo и lod, не так ли?git clone https://github.com/z2014/All-test-demoи проверить

1 ответ

Неиспользуемый код удаляется минификатором (таким как UglifyJS). Потрясение дерева только позволяет минификатору удалить его.

Так что, в вашем случае, включение UglifyJS, скорее всего, решит проблему.

Вы можете прочитать больше об этом поведении в https://webpack.js.org/guides/tree-shaking, https://github.com/webpack/webpack/tree/master/examples/harmony-unused и https://github.com/webpack/webpack/issues/2866

Другие вопросы по тегам