Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/426.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 网页包热中间件';t删除元素,但在刷新时添加新元素_Javascript_Webpack_Reload_Webpack Dev Middleware_Webpack Hot Middleware - Fatal编程技术网

Javascript 网页包热中间件';t删除元素,但在刷新时添加新元素

Javascript 网页包热中间件';t删除元素,但在刷新时添加新元素,javascript,webpack,reload,webpack-dev-middleware,webpack-hot-middleware,Javascript,Webpack,Reload,Webpack Dev Middleware,Webpack Hot Middleware,我试图为一个项目制作一个快速的样板文件,但在重新加载页面时遇到了一个问题 我在我的app.js中有这段代码: import * as d3 from 'd3' import { Hello } from './component' import css from './styles.css' function Greetings( name ) { d3.select('body') .append('h1') .html(Hello(name)) } Greetings

我试图为一个项目制作一个快速的样板文件,但在重新加载页面时遇到了一个问题

我在我的
app.js
中有这段代码:

import * as d3 from 'd3'

import { Hello } from './component'
import css from './styles.css'

function Greetings( name ) {
  d3.select('body')
    .append('h1')
    .html(Hello(name))
}
Greetings('John')

// HMR live reload
if (module.hot) {
  module.hot.accept();
}
当我启动页面时,我可以看到添加到DOM中的
H1
,但是当我进行更改时(例如,
问候语
给Marie的参数),它不会更新当前的参数,而是添加一个新元素等等

所以我的DOM中有:

<h1>Hello John</h1>
<h1>Hello Marie</h1>
<h1>Hello Marie</h1>
var path = require('path')
var webpack = require('webpack')

module.exports = {
  entry : [
    'webpack-hot-middleware/client',
    './src/app.js'
  ],
  output: {
    path: path.join(__dirname, '/dist'),
    publicPath: '/',
    filename: 'app.bundle.js'
  },
  module: {
    rules: [
      {
        test: /\.css$/,
        use: [
          { loader: "style-loader" },
          { loader: "css-loader" }
        ]
      },
      {
        test: /\.js$/,
        use : [
          {
            loader : 'babel-loader',
            options: {
              presets: ['env']
            }
          }
        ]
      },
    ]
  },
  plugins: [
    new webpack.optimize.OccurrenceOrderPlugin(),
    new webpack.HotModuleReplacementPlugin(),
    new webpack.NoEmitOnErrorsPlugin()
  ]
}