Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Webpack5 , optimization minimizer defaults build error #170

Open
huijiewei opened this issue Apr 29, 2021 · 1 comment
Open

Webpack5 , optimization minimizer defaults build error #170

huijiewei opened this issue Apr 29, 2021 · 1 comment

Comments

@huijiewei
Copy link

https://webpack.js.org/configuration/optimization/

'...' can be used in optimization.minimizer to access the defaults.

so

when i use minimizer: [new CssMinimizerPlugin(), '...'],

build get error
TypeError: Cannot create proxy with a non-object as target or handler

@jasel-lewis
Copy link

In the event this helps someone in the future...

I encountered this because I followed webpack's guidance on conditionally including plugins:

// ...
const SpeedMeasurePlugin = require('speed-measure-webpack-plugin');
const smp = new SpeedMeasurePlugin();

module.exports = (env, argv) => {
    // ...
    return smp.wrap({
        entry: {
            // ...
        },
        // ...
        plugins: [
            isDev && new CopyModulesPlugin({
                // ...
            }),
            new webpack.DefinePlugin({
                // ...
            }),
            // ...
        ],
        // ...
    });
};

It was the conditional isDev && ... that was causing this error. Instead, I programmatically created my array of plugins and assigning this to my webpack config:

// ...
const SpeedMeasurePlugin = require('speed-measure-webpack-plugin');
const smp = new SpeedMeasurePlugin();
const plugins = [];

if (isDev) {
    plugins.push(new CopyModulesPlugin({
        // ...
    });
}

plugins.push(new webpack.DefinePlugin({
    // ...
});

module.exports = (env, argv) => {
    // ...
    return smp.wrap({
        entry: {
            // ...
        },
        // ...
        plugins,
        // ...
    });
};

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants