Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to pass Parameters from Web-pack to Code?

I have a gulp task which takes in the parameter location using yargs. And i use webpack to give the entry point to my application

 webpackConfig.entry.push('BootStrapper.ts');

I have a webpack config which has entrypoint to bootstrapper.

module.exports = {
entry: [],
output: {
    path: require("path").resolve('./dist/'),
    filename: 'MyProcess.built.js'
 },
}

I want to pass a variable the location variable to Bootstrapper.ts is there a way to achieve it?

like image 272
Vinny Avatar asked Jul 16 '18 06:07

Vinny


1 Answers

Yes, there is.

First, adjust your webpack config to receive parameters:

{
  plugins: [
    new webpack.DefinePlugin({
      'process.env.YOUR_UNIQUE_VARIABLE': JSON.stringify(process.env.YOUR_UNIQUE_VARIABLE)
    )
  ]
}

then, in your Bootstrapper.ts you can write something like this:

const buildVariable = process.env.YOUR_UNIQUE_VARIABLE;

If you now run your webpack script (I assume to run a npm script) passing the variable like:

cross-env YOUR_UNIQUE_VARIABLE=value webpack

your code will be compiled to:

const buildVariable = 'value';
like image 83
scipper Avatar answered Nov 01 '22 13:11

scipper