Closed heart-er closed 3 years ago
Can you push your project to GitHub so I can have a closer look? It feels like something in Babel configuration.
I have a reference implementation at https://github.com/survivejs-demos/webpack-demo .
Yes, when I added the "targets: { "esmodules": true } "in the babel file, the error disappeared
https://github.com/heart-er/test-webpack
This is my webpack, please help me to check if I can remove target modules in babel
I know "modules": false
is important for webpack but the targets
bit is new to me. I wonder if something has changed there in the past months. Let me verify and get back to you latest tomorrow.
I tried out your project. If I reduce the configuration to the following it still works:
{
"presets": [
[
"@babel/preset-env",
{
"modules": false
}
]
]
}
That "modules": false
bit is crucial as otherwise webpack won't be able to use tree shaking properly.
Can you push code that's leading to the error in your repository?
The development environment is fine, but if you execute npm run build, it will throw an error.
you can remove target within my repository and excute npm run build.
Ok, I see now. I can reproduce the issue if I empty your .browserslistrc
.
The problem has to do with Terser and its capabilities in minifying the code. It's crashing as it cannot deal with the syntax. It can be something as simple as a trailing comma.
Here's more information: https://github.com/webpack-contrib/terser-webpack-plugin/issues/114 . It's possible setting the ecma
option to 8 at terser options (see the minifying chapter) could resolve the issue if you want to compile for the most modern browsers only (I assume removing targets from browserslistrc is doing this exactly).
So, if I remove the target, it needs to be compatible with the old browser, what should I do?
Which browsers do you want to target?
On 03.03.2021, at 12:08, heart notifications@github.com wrote:
So, if I remove the target, it needs to be compatible with the old browser, what should I do?
— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe.
Which browsers do you want to target? … On 03.03.2021, at 12:08, heart @.***> wrote: So, if I remove the target, it needs to be compatible with the old browser, what should I do? — You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe.
IE 10 +
Ok, in that case it's enough to set .browserslistrc
like this:
IE >= 10
I checked with your build command and it compiles now with this.
Thank you very much!
Cool, let's close?
Ok
when i add dynamic import in component.js
it throws error