/script-loader

[deprecated] Script Loader

Primary LanguageJavaScriptMIT LicenseMIT

npm node deps chat

! NO LONGER MAINTAINED !

This module is deprecated and will no longer be maintained.

It has a known issue of generating non-deterministic hashes (see #49, #56, #60). Do not use it.

In most cases, you can replace the functionality by using raw-loader instead:

- import('script-loader!someScript.js')
+ import('raw-loader!someScript.js').then(rawModule => eval.call(null, rawModule.default))

If you need some transformations to be applied to the script you want to load, you may need to find or write yourself a separate loader for that. Some documentation that might be helpful:


Script Loader

Install

npm install --save-dev script-loader

Usage

Executes JS script once in global context.

⚠️ Doesn't work in NodeJS

Config (recommended)

import './script.exec.js';

webpack.config.js

module.exports = {
  module: {
    rules: [
      {
        test: /\.exec\.js$/,
        use: [ 'script-loader' ]
      }
    ]
  }
}

Inline

import 'script-loader!./script.js';

Options

Name Type Default Description
sourceMap {Boolean} false Enable/Disable Sourcemaps
useStrict {Boolean} true Enable/Disable useStrict

sourceMap

Type: Boolean Default: false

To include source maps set the sourceMap option.

webpack.config.js

module.exports = {
  module: {
    rules: [
      {
        test: /\.script\.js$/,
        use: [
          {
            loader: 'script-loader',
            options: {
              sourceMap: true,
            },
          },
        ]
      }
    ]
  }
}

useStrict

Type: Boolean Default: true

To disable use strict set the useStrict option to false.

webpack.config.js

module.exports = {
  module: {
    rules: [
      {
        test: /\.script\.js$/,
        use: [
          {
            loader: 'script-loader',
            options: {
              useStrict: false,
            },
          },
        ]
      }
    ]
  }
}

Maintainers


Juho Vepsäläinen

Joshua Wiens

Kees Kluskens

Sean Larkin