Webpack 网页包:如何为ES5构建浏览器文件和为Node:current构建服务器文件
我对网页包很陌生。我的新团队正在使用它,我以前从未使用过 我们正在构建浏览器包和服务器包 我们使用的是网页包版本4.41.2 浏览器包必须传输到ES5 服务器包在节点12.6.0上运行,因此它几乎可以拥有所有可用的东西。我不想让它传输 在我们的package.json中,我们有以下两个脚本:Webpack 网页包:如何为ES5构建浏览器文件和为Node:current构建服务器文件,webpack,webpack-4,Webpack,Webpack 4,我对网页包很陌生。我的新团队正在使用它,我以前从未使用过 我们正在构建浏览器包和服务器包 我们使用的是网页包版本4.41.2 浏览器包必须传输到ES5 服务器包在节点12.6.0上运行,因此它几乎可以拥有所有可用的东西。我不想让它传输 在我们的package.json中,我们有以下两个脚本: "build:browser": "webpack --config ./webpack/browser.babel.js", "build:server": "webpack --conf
"build:browser": "webpack --config ./webpack/browser.babel.js",
"build:server": "webpack --config ./webpack/server.babel.js",
文件browser.babel.js
我们有:
module: {
rules: base.module.rules.concat([
{
test: /\.js$/,
exclude: /node_modules/,
loader: "babel-loader"
},
文件server.babel.js
中也有同样的内容
我假设这两个文件都使用默认的.babelrc
文件,该文件声明:
"presets": ["@babel/preset-env"],
但要关闭透明,我需要更改为:
"presets": [
[
"@babel/preset-env",
{
"targets": {
"node": "current"
}
}
]
],
我的问题是,如何让服务器构建使用阻止传输的设置,以及如何让浏览器构建使用将传输的设置
有没有办法指定不同的.bablerc
文件
有没有办法指定server.babel.js
文件中的设置
我们是否需要更新到更新版本的Webpack
我还有别的事要做吗
非常感谢您的帮助 您根本不需要通过babel传递服务器构建
由于它不需要传输,您可以将其从该构建的网页包配置脚本中删除。在
server.babel.js
中,您可以将选项传递到babel loader
。您可以指定特定的配置文件:
您可能还需要设置babelrc:false
module: {
rules: [
{
test: /\.js$/,
exclude: /node_modules/,
use: {
loader: 'babel-loader',
options: {
// set overrides here
}
}
}
]
}
不幸的是,我别无选择。我能做的最好的事情就是去掉节点的透明。