Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

A webpack plugin for converting external script files to inline script block. Requires 'html-webpack-plugin' to work.

License

NotificationsYou must be signed in to change notification settings

icelam/html-inline-script-webpack-plugin

Repository files navigation

Latest versionDownload countInstall sizeciPackage quality

NPM

A webpack plugin for converting external script files<script src="app.js"></script> to inline script block<script>...</script>. Requireshtml-webpack-plugin to work.

Inspired byreact-dev-utils created byFacebook.

Install

Webpack5

npm i html-inline-script-webpack-plugin -D

Webpack4

npm i html-inline-script-webpack-plugin@^1 -D

Usage

By default, the plugin will convert all the external script files to inline script block, and remove the original script file from build assets.

constHtmlWebpackPlugin=require('html-webpack-plugin');constHtmlInlineScriptPlugin=require('html-inline-script-webpack-plugin');module.exports={plugins:[newHtmlWebpackPlugin(),newHtmlInlineScriptPlugin()],};

Options

Below are lists of options supported by this plugin:

NameDescriptionType
scriptMatchPatternList of script files that should be processed and inject as inline script. This will be filtered using the output file name.RegExp[]
htmlMatchPatternList of HTML template files that should be processed by this plugin. Useful when you have multiplehtml-webpack-plugin initialized. This will be filtered using theoptions?.filename provided byhtml-webpack-plugin.RegExp[]
assetPreservePatternList of script files that should be preserved by this plugin after inserting them inline. This will be filtered using the output file name.RegExp[]

Here are some examples illustrating how to use these options:

Process only script files that have file name start withruntime~ andapp~
constHtmlWebpackPlugin=require('html-webpack-plugin');constHtmlInlineScriptPlugin=require('html-inline-script-webpack-plugin');module.exports={plugins:[newHtmlWebpackPlugin(),newHtmlInlineScriptPlugin({scriptMatchPattern:[/runtime~.+[.]js$/,/app~.+[.]js$/],}),],};
Process any script files but only have them inlined inindex.html
constHtmlWebpackPlugin=require('html-webpack-plugin');constHtmlInlineScriptPlugin=require('html-inline-script-webpack-plugin');module.exports={plugins:[newHtmlWebpackPlugin({filename:'index.html',template:'static/index.webos.html',}),newHtmlWebpackPlugin({filename:'page2.html',template:'page2.html',}),newHtmlInlineScriptPlugin({htmlMatchPattern:[/index.html$/],}),],};
Process script files that have file name start withruntime~ andapp~ and inject only toindex.html
constHtmlWebpackPlugin=require('html-webpack-plugin');constHtmlInlineScriptPlugin=require('html-inline-script-webpack-plugin');module.exports={plugins:[newHtmlWebpackPlugin({filename:'index.html',template:'static/index.webos.html',}),newHtmlWebpackPlugin({filename:'page2.html',template:'page2.html',}),newHtmlInlineScriptPlugin({scriptMatchPattern:[/runtime~.+[.]js$/,/app~.+[.]js$/],htmlMatchPattern:[/index.html$/],}),],};
Process any script files but preservemain.js from build assets
constHtmlWebpackPlugin=require('html-webpack-plugin');constHtmlInlineScriptPlugin=require('html-inline-script-webpack-plugin');module.exports={plugins:[newHtmlWebpackPlugin(),newHtmlInlineScriptPlugin({assetPreservePattern:[/main.js$/],}),],};

Known limitations

  1. This plugin does not transform Web Worker syntax like `new Worker(new URL('./worker.js', import.meta.url));``. It simply embeds the source code processed by webpack into HTML files, and emits any JavaScript files that is not processed by the plugin.
  2. This plugin is designed to embed script content into HTML files for deployment to environments where only a single file can be uploaded, or where the script file itself is small enough that it doesn't warrant an additional HTTP request. It is not intended for use in development, and may fail if HMR is enabled.
  3. This plugin does not support inlining scripts that are dynamically imported (theimport() syntax). The reason is explained inthis issue.

Contributors

Thanks goes to these wonderful people:

@kmalakoff
@kmalakoff
@SorsOps
@SorsOps

About

A webpack plugin for converting external script files to inline script block. Requires 'html-webpack-plugin' to work.

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

  •  

Packages

No packages published

Contributors4

  •  
  •  
  •  
  •  

[8]ページ先頭

©2009-2025 Movatter.jp