gpt4 book ai didi

javascript - 为什么我们在使用 babel-loader 时要排除 node_modules?

转载 作者:数据小太阳 更新时间:2023-10-29 03:52:36 25 4
gpt4 key购买 nike

网站上问的大多数问题是如何排除 node_modules 但相反,我想知道为什么我们要排除 node_modules

module.exports = {
mode: 'production',
entry: './src/index.js',
output: {
path: path.join(__dirname, 'dist'),
filename: 'app.bundle.js'
},
module: {
rules: [
{
test: /\.js$/,
loader: 'babel-loader',
exclude: /node_modules/,
options: {
presets: ['@babel/preset-env']
}
}
]
}
};

任何人都可以向我解释排除 node_modules 的原因吗?

最佳答案

简而言之,转译是一个昂贵的过程,许多项目有数千行(如果不是数十万行)导入到 babel 中的代码需要运行。如前所述,您的 node_modules 应该已经可以运行,无需转译,并且有一些简单的方法可以排除您的 node_modules 但转译任何需要它的代码。参见 https://github.com/babel/babel-loader/issues/171 .

关于是否应该由开发人员承担转译库的应用程序工作或库开发人员的责任,我已经看到了很多争论。大多数时候转译是为了浏览器支持而完成的,库创建者不知道您需要支持哪些浏览器,因此他们最终要么转译要么不转译,将其留在您手中。如果他们转译为 ES5,那你就很成功了,如果没有,通常很简单的任务就是找出导致问题的库并自行转译它们

关于javascript - 为什么我们在使用 babel-loader 时要排除 node_modules?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54156617/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com