Giter VIP home page Giter VIP logo

Comments (16)

bebraw avatar bebraw commented on June 3, 2024

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 .

from webpack-book.

heart-er avatar heart-er commented on June 3, 2024

Yes, when I added the "targets: { "esmodules": true } "in the babel file, the error disappeared
image

from webpack-book.

heart-er avatar heart-er commented on June 3, 2024

babel/babel#9849

from webpack-book.

heart-er avatar heart-er commented on June 3, 2024

https://github.com/heart-er/test-webpack

This is my webpack, please help me to check if I can remove target modules in babel

from webpack-book.

bebraw avatar bebraw commented on June 3, 2024

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.

from webpack-book.

bebraw avatar bebraw commented on June 3, 2024

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?

from webpack-book.

heart-er avatar heart-er commented on June 3, 2024

The development environment is fine, but if you execute npm run build, it will throw an error.

from webpack-book.

heart-er avatar heart-er commented on June 3, 2024

you can remove target within my repository and excute npm run build.

from webpack-book.

bebraw avatar bebraw commented on June 3, 2024

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: webpack-contrib/terser-webpack-plugin#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).

from webpack-book.

heart-er avatar heart-er commented on June 3, 2024

So, if I remove the target, it needs to be compatible with the old browser, what should I do?

from webpack-book.

bebraw avatar bebraw commented on June 3, 2024

from webpack-book.

heart-er avatar heart-er commented on June 3, 2024

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 +

from webpack-book.

bebraw avatar bebraw commented on June 3, 2024

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.

from webpack-book.

heart-er avatar heart-er commented on June 3, 2024

Thank you very much!

from webpack-book.

bebraw avatar bebraw commented on June 3, 2024

Cool, let's close?

from webpack-book.

heart-er avatar heart-er commented on June 3, 2024

Ok

from webpack-book.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.