Webpack React Hot Loading不适用于子文件夹中的文件

时间:2016-02-12 16:27:39

标签: webpack webpack-dev-server

Webpack热重新加载仅适用于指定文件夹中的文件' react-frontend',但不适用于该文件夹的子文件夹中的文件。奇怪的是,在我最近将我的机器从Ubuntu重置为Debian之前,它正在运行。我想npm在这个新系统上安装了略有不同的版本。有什么想法吗?

var path = require('path');
var webpack = require('webpack');
publicPath = 'http://localhost:3000/';


module.exports = {
  devtool: 'eval',
  node: {
    fs: 'empty'
  },
  entry: {
    artistbox: [
      'webpack-dev-server/client?' + publicPath,
      'webpack/hot/only-dev-server',
      './react-frontend/artistbox'
    ],
    analysis: [
      'webpack-dev-server/client?' + publicPath,
      'webpack/hot/only-dev-server',
      './react-frontend/analysis'
    ],
    visualize: [
      'webpack-dev-server/client?' + publicPath,
      'webpack/hot/only-dev-server',
      './react-frontend/visualize'
    ]
  },
  output: {
    path: path.join(__dirname, 'public', 'javascripts'),
    filename: '[name].js',
    publicPath: publicPath
  },
  plugins: [
    new webpack.HotModuleReplacementPlugin()
  ],
  resolve: {
    extensions: ['', '.js', '.cjsx', '.coffee']
  },
  module: {
    loaders: [
      {
        test: /\.js$/, 
        loaders: ['react-hot', 'babel'], 
        include: path.join(__dirname, 'react-frontend')
      },
      {
        test: /\.cjsx$/, 
        loaders: ['react-hot', 'coffee', 'cjsx'], 
        include: path.join(__dirname, 'react-frontend')
      },
      {
        test: /\.coffee$/, 
        loaders: ['coffee'], 
        include: path.join(__dirname, 'react-frontend')
      }
    ]
  }
};

编辑:好的我绝对可以确认原因不是webpack配置。我刚刚在我的Windows机器上部署了这个项目,它运行得很好。所以看起来它与Debian有关。我实际上正在运行Linux Mint Debian Edition。

1 个答案:

答案 0 :(得分:3)

是的,问题出在操作系统方面。似乎Debian或Linux Mint Debian Edition具有相对较低的inotify监视限制。我正在使用的IntelliJ实际上已经给了我警告,我一直忽略它。

通过关注these instructions,我可以解决问题。