! 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:
- https://webpack.js.org/loaders/
- https://webpack.js.org/concepts/loaders/
- https://webpack.js.org/contribute/writing-a-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 |