很明显,在使用webpack构建react应用程序时,正确的做法是以下面的文件显示的方式排除节点模块。我的问题是“为什么这样可以?”。在我看来,这些节点模块中的代码对于使最小化的JavaScript工作是必要的。我看到的评论如“排除那些文件,因为它们不是必需的”。怎么没有必要呢?
module: {
rules: [
{
test: /\.js?$/,
loader: 'babel-loader',
exclude: /node_modules/,
options: {
presets: [
'react',
'stage-2',
['env', { targets: { browsers: ['last 2 versions'] } }]
]
}
}
]
}
答案 0 :(得分:2)
您在此处看到的exclude
会将其排除在babel-loader
之外。但是,它们不排除在最终输出文件之外。
如果你运行webpack并查看最终的输出文件,你会发现你所包含的所有node_modules
都在那里。
这背后的想法是图书馆作者有责任为他们的代码进行所有的转换/编译。