Giter VIP home page Giter VIP logo

Comments (5)

catamphetamine avatar catamphetamine commented on May 24, 2024 2

I suggest to make it more obvious in the readme.

Ok, added the clarification to the readme .

from universal-webpack.

catamphetamine avatar catamphetamine commented on May 24, 2024 1

Running webpack with the server config results in no console logging - no output, except the default lines.

Yes, it doesn't use the plugin.
Only client-side Webpack build does.

Somehow the advanced config doesn't get passed to the plugin. I assume I try to pass the advanced config at the wrong place?

Yes, you should move those config parameters inside settings.

Does serverConfiguration accept three parameters?

No.

In general I just like to know where to pass the advanced config for the client and the server.

In the second argument.

from universal-webpack.

catamphetamine avatar catamphetamine commented on May 24, 2024

Is this done correctly?

Depends on what you wanted to achieve.

It seems like chunk_info_filename has no effect

You can test that by adding console.log to node_modules/universal-webpack/build/chunks plugin.js.

from universal-webpack.

abiagent007 avatar abiagent007 commented on May 24, 2024

Thank you, catamphetamine for helping me!

Is this done correctly?

Depends on what you wanted to achieve.

I want to achieve what these properties do according to the advanced config sample of the readme.

It seems like chunk_info_filename has no effect

You can test that by adding console.log to node_modules/universal-webpack/build/chunks plugin.js.

After doing this, it seems like the function serverConfiguration doesn't use the ChunkFileNamesPlugin, but the function clientConfiguration does use it.
I found that out by running webpack with each config (client and server) separated.

This is how my client config looks:

const { clientConfiguration } = require('universal-webpack');
const settings = require('./universal-webpack-settings');
const baseConfiguration = require('./webpack.config');

const configuration = (env, { mode }) =>
  clientConfiguration(baseConfiguration(env, { mode }), settings, {
    // Extract all CSS into separate `*.css` files (one for each chunk)
    // using `mini-css-extract-plugin`
    // instead of leaving that CSS embedded directly in `*.js` chunk files.
    development: mode !== 'production',
    useMiniCssExtractPlugin: true,
    chunk_info_filename: 'webpack-chunks-test.json',
    silent: true,
  });

// Create client-side Webpack config.
module.exports = configuration;

This is what console logging in the chunks plugin ouputs by running webpack with the client config.
{ silent: undefined, chunk_info_filename: undefined }

Running webpack with the server config results in no console logging - no output, except the default lines.

Somehow the advanced config doesn't get passed to the plugin. I assume I try to pass the advanced config at the wrong place?

In the sample project only the function clientConfiguration passes three parameters, whereas the function serverConfiguration gets only two parameters passed. Does serverConfiguration accept three parameters?

In general I just like to know where to pass the advanced config for the client and the server.

from universal-webpack.

abiagent007 avatar abiagent007 commented on May 24, 2024

It works now.
I found out that the advanced config must be passed to serverConfiguration with the settings file (universal-webpack-settings.json).

{
    "server":
    {
      "input": "./source/server.js",
      "output": "./build/server/server.js"
    },
    "excludeFromExternals": [
        "lodash-es",
        " ... "
    ],
    "loadExternalModuleFileExtensions": ["css", "png", "jpg", "svg", "xml"],
    "silent": true,
    "chunk_info_filename": "webpack-chunks-test.json",
    "development": true
  }

I suggest to make it more obvious in the readme.

...by writing this I notice that you answered just a moment ago. Thank you, catamphetamine! :)
And thanks to you and all the other contributors for this project! :D

from universal-webpack.

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.