美文网首页
webpack-dev-server不能自动刷新问题

webpack-dev-server不能自动刷新问题

作者: Yytg | 来源:发表于2018-02-21 21:15 被阅读214次

    最近在用webpack进行打包React的时候,遇到webpack-dev-server不能自动刷新的问题,输入webpack-dev-server后可以打包,但浏览器就是死活不刷新,手动刷新也没有效果,折腾了好几个小时才搞定,因为也刚接触webpack,遇到问题也蛮正常的,但是确实挺折磨人的。哈哈,话不多说,下面看具体的解决办法,当然,我用的是webpack最新版3.11.0.
    1.首先得安装webpack-dev-server

    npm i webpack-dev-server --save-dev
    

    2.在项目的package.json文件里添加

      "scripts": {
        "start": "webpack-dev-server --inline --content-base"
      }
    

    3.在入口index.html文件中引入bundle.js,必须是根目录下的。

       <script src="bundle.js" charset="utf-8"></script>
    

    4.总结:output中配置的打包路径只在手动打包时起作用,而webpack-dev-server自动打包的开发环境下的bundle.js,路径由contentBase指定。
    下面是配置源码:

    const webpack = require("webpack");
    const path = require("path");
    const config = {
      entry: `${__dirname}/src/js/index.js`,
      output: {
        path: path.resolve(__dirname, 'dist'),
        filename: 'bundle.js'
      },
      module: {
        rules: [
          {
            test: /\.js$/,
            exclude: /(node_modules)/,
            use: {
              loader: 'babel-loader',
              options: {
                presets: ['react','env']
              }
            }
          }
        ]
      },
      devServer: {
      contentBase: path.join(__dirname, "./"),
      compress: true,
      port: 3000
    }
    
    };
    module.exports = config;
    

    插一句,编译jsx用的是

    npm i babel-loader babel-core bable-preset-env babel-preset-react --save
    

    相关文章

      网友评论

          本文标题:webpack-dev-server不能自动刷新问题

          本文链接:https://www.haomeiwen.com/subject/fggotftx.html