Похоже, что функция встряхивания дерева в Webpack помогает удалить неиспользуемый код из пакета. Однако Webpack читает эти нечитаемые файлы. Как мне запретить Webpack их читать?
Вот пример:
index.js
import { bar } from './bar';
bar();
бар / index.js
export { bar } from './bar';
export { foo } from './foo';
bar / foo.js
import fs from 'fs';
export function foo() {}
webpack.config.js
const path = require('path');
module.exports = {
entry: './src/index.js',
mode: 'production',
module: {
rules: [
{ sideEffects: false }
],
},
optimization: {
usedExports: true
},
output: {
path: path.resolve(__dirname, 'dist'),
filename: 'bundle.js'
}
};
Запуск Webpack приводит к следующей ошибке: ERROR in ./src/bar/foo.js Module not found: Error: Can't resolve 'fs' in "/temp/webpack-test/src/bar'
Я ожидаю, что Webpack не прочитает файл foo.js, потому что нет маршрута от точки входа к этому файлу.