Вы можете создать простой проект веб-пакета с файлом ввода, который импортирует модуль htmldiff-js
и предоставляет доступ к window
, так что вы можете получить к нему доступ из любого места.
index.js
import HtmlDiff from 'htmldiff-js';
window.HtmlDiff = HtmlDiff;
webpack.config.js
var webpack = require('webpack'),
path = require('path'),
CleanWebpackPlugin = require('clean-webpack-plugin');
var options = {
entry: {
htmldiff_generated: path.join(__dirname, 'index.js')
},
output: {
path: path.join(__dirname, 'build'),
filename: '[name].js'
},
plugins: [
new CleanWebpackPlugin(['build'])
]
};
module.exports = options;
package.json
"scripts": {
"build": "webpack --mode=development --display-error-details",
},
"dependencies": {
"htmldiff-js": "^1.0.5"
},
"devDependencies": {
"clean-webpack-plugin": "^1.0.0",
"webpack": "^4.28.2",
"webpack-cli": "^3.1.2"
}
index.html
<!DOCTYPE html>
<html>
<head>
<title>Page</title>
<script type="text/javascript" src="build/htmldiff_generated.js"></script>
</head>
<body>
<script type="text/javascript">
var v1Content = "<button id=\"compute-diff-button\" class=\"btn btn-sm btn-success\">Show Diff</button><p>Old Text</p>";
var v2Content = "<button id=\"compute-diff-button\" class=\"btn btn-sm btn-success\">Show Diff</button><p class='text-center'>Some new text</p>";
console.log(window.HtmlDiff.execute(v1Content, v2Content));
</script>
</body>
</html>
Если вы хотите использовать переменные / функции, отличные от HtmlDiff
, выставьте в index.js
таким же образом.Это несколько противоречит цели модульного кодирования, но ваш вариант использования должен быть достигнут.
Это общая стратегия, которой вы можете следовать и для других узловых модулей.