Я хочу просто горячую перезагрузить HTML-код на index.html, но я не могу понять, как это сделать.Просто включить горячую перезагрузку для кода CSS, но когда дело доходит до html или js, он продолжает перезагружать страницу с изменениями.Я пробовал много разных способов сделать это, включая использование contentBase / watchContentBase, опросов, но, похоже, ничего не работает.По сути, я хочу иметь возможность запускать что-то похожее на vue init webpack
.По умолчанию vue webpack имеет конфигурацию, в которой вы можете в горячем режиме перезагрузить все компоненты, включая js html css.Пожалуйста помоги!Вот мой конфиг:
webpack.config.js:
const webpack = require('webpack');
const path = require('path');
const HtmlWebpackPlugin = require('html-webpack-plugin');
module.exports = {
entry: './src/js/app.js',
output: {
path: path.resolve(__dirname, 'dist'),
publicPath: '/',
filename: 'js/app.js'
},
devServer: {
hot:true,
inline:true
},
module: {
rules: [
{
test: /\.js$/,
loader: 'babel-loader',
},
{
test: /\.css$/,
use: [
'vue-style-loader',
'css-loader'
]
},
{
test: /\.html$/,
loader: 'html-loader',
},
{
test: /\.scss$/,
use: [
'vue-style-loader',
'css-loader',
'sass-loader'
],
},
],
},
plugins: [
new HtmlWebpackPlugin({
inject:true,
filename: 'index.html',
template: 'index.html',
alwaysWriteToDisk: false
}),
new webpack.HotModuleReplacementPlugin(),
new webpack.NamedModulesPlugin(),
new webpack.NoEmitOnErrorsPlugin(),
],
};
app.js:
import '../sass/app.scss';
import '../../index.html';
index.html:
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<h1 class="h1">Hello world!!!!</h1>
<script src="src/js/app.js"></script>
</body>
</html
package.json
{
"name": "wptest",
"version": "1.0.0",
"description": "A Vue.js project",
"author": "n19htz",
"private": true,
"scripts": {
"watch": "cross-env NODE_ENV=development webpack-dev-server --color --mode development --open",
"dev": "cross-env NODE_ENV=development webpack --mode development --progress --hide-modules",
"build": "cross-env NODE_ENV=production webpack --mode production --progress --hide-modules"
},
"devDependencies": {
"@babel/core": "^7.1.2",
"babel-preset-env": "^1.7.0",
"babel-loader": "^8.0.4",
"copy-webpack-plugin": "^4.5.2",
"cross-env": "^5.2.0",
"css-loader": "^1.0.0",
"html-webpack-plugin": "^3.2.0",
"node-sass": "^4.9.3",
"path": "^0.12.7",
"vue-style-loader": "^4.1.2",
"sass-loader": "^7.1.0",
"html-loader": "^0.5.5",
"webpack": "^4.20.2",
"webpack-cli": "^3.1.2",
"webpack-dev-server": "^3.1.9"
}
}