配置 webpack babel-loader 与在 package.json 中配置有啥区别?
Posted
技术标签:
【中文标题】配置 webpack babel-loader 与在 package.json 中配置有啥区别?【英文标题】:Whats the difference when configuring webpack babel-loader vs configuring it within package.json?配置 webpack babel-loader 与在 package.json 中配置有什么区别? 【发布时间】:2018-07-06 16:18:30 【问题描述】:您好,请帮助我了解在 .babelrc 与 webpack 加载器选项中设置 babel 配置与将其插入到 package.json 之间的区别。
例如,如果我将预设放在 webpack babel-loader options vs package.json 或单独的 .babelrc 配置文件中会有什么不同吗?
在 webpack 配置中:
test: /\.(js|jsx|mjs)$/,
loader: require.resolve('babel-loader'),
options:
"presets": [
"react-app"
]
,
,
在包json中:
"babel":
"presets": [
"react-app"
]
,
【问题讨论】:
【参考方案1】:Webpack 配置:
在 webpack.conf.js 中完全配置 babel-loader(没有 .babelrc)。
Webpack 配置 + .babelrc :
在 webpack.conf.js 中启用 babel-loader,让 options 对象为空。 在 .babelrc 中配置选项。 Webpack 将使用 babel-loader 和 .babelrc 中给出的选项。
如果你有 .babelrc,你可以删除 webpack 预设选项,因为 babel-loader 使用 babel,这显然尊重 .babelrc。
【讨论】:
谢谢,package.json 呢,有什么关系? package.json 为人们提供了一种简单的方法来跟踪他们在应用程序中使用的包。在 webpack 设置中,你想使用 webpack-dev-server 和一些基本配置和一个名为 wepback.config.js 的配置文件,希望下面的链接有帮助:robinwieruch.de/minimal-react-webpack-babel-setup babel-config 可能有很多代码,所以放在 webpack.config 中可能会膨胀到最后一个 这并不能真正回答问题。我们知道我们可以使用 webpack.conf.js 或 .babelrc。问题是区别是什么。【参考方案2】:使用.babelrc
比其他方法更好。
如果您将设置放在 Webpack 配置中,那么这些设置将仅对 Webpack 可用。
如果您将设置放入 .babelrc
,那么这些设置将可用于 Webpack 以及任何其他使用 babel 的工具。
Source(点赞!)
【讨论】:
以上是关于配置 webpack babel-loader 与在 package.json 中配置有啥区别?的主要内容,如果未能解决你的问题,请参考以下文章
webpack进阶【11】: babel-loader 配置高版本的 js,使之兼容
sh 配合Vue.js配置Webpack - 38. Webapck为.js文件配置babel-loader
深入webpack学习 devServer babel-loader asset