Я использую HMR согласно официальной документации , когда я импортирую .js
файлы суффиксов, это работает очень хорошо. но когда я импортирую .ts
суффиксные файлы, HMR не работает;
Я думаю, что если ts-loader
что-то сделал.
, вот моя конфигурация:
webpack.config. js:
const path = require('path');
const HtmlWebpackPlugin = require('html-webpack-plugin');
module.exports = {
mode: 'development',
entry: './src/index.ts',
output: {
filename: 'bundle.js',
path: path.resolve(__dirname, 'dist')
},
devServer: {
port: 3031,
hot: true
},
module: {
rules: [
{
test: /\.ts$/,
use: 'ts-loader',
exclude: /node_modules/
}
]
},
resolve: {
extensions: ['.ts', '.js']
},
plugins: [
new HtmlWebpackPlugin({
template: './index.html'
})
]
};
index.ts:
import printMe from './test';
printMe();
if ((module as any).hot) {
(module as any).hot.accept('./test', function () {
console.log('Accepting the updated printMe module!');
printMe();
})
}
test.ts:
export default function printMe() {
const dom = document.createElement('div');
dom.innerHTML = 'I get called from printMe';
document.body.append(dom);
}