2016-06-14 10 views
0

달 동안 webpack-dev-middlewarewebpack-hot-middleware을 사용했는데 그 중 하나만 사용하면 좋았지 만 지금은 뭔가가 발생했고 webpack이 파일 변경을 감시하여 번들이 다시 시작될 때만 응용 프로그램을 다시 시작합니다. 무슨 일이 일어날 수 있니? 나는 fs.inotify.max_user_watches = 524288을 설정하고 :set backupcopy=yes vim 옵션을 조정하여 아치 리눅스에있다. 어떻게 될까요? 다시 사물을 얻는 방법?Webpack 미들웨어가 파일 변경 내용을 보지 않았습니다.

초기 번들링이 발생하면 미들웨어가 로그에 제대로로드되어로드됩니다. 여기 엔트리 앱에서 webpack middlewares를로드하는 라인이 있습니다.

(function() { 
    if (process.env.NODE_ENV === 'development') { 
    console.server('Running webpack middleware...'); 
    var webpack = require('webpack'); 
    var webpackConfig = require('../config/webpack.config.js'); 
    var compiler = webpack(webpackConfig); 

    app.use(require("webpack-dev-middleware")(compiler, { 
     hot: true, 
     noInfo: false, 
     stats: { 
     colors: true 
     }, 
     historyApiFallback: true, 
     publicPath: '', 
     contentBase: './app' 
    })); 

    app.use(require("webpack-hot-middleware")(compiler, { 
     log: console.webpack, 
     heartbeat: 10 * 1000 
    })); 
    } 
})(); 

const webpack = require('webpack'); 
const path = require('path'); 
const HtmlWebpackPlugin = require('html-webpack-plugin'); 
const ExtractTextPlugin = require('extract-text-webpack-plugin'); 
const autoprefixer = require('autoprefixer'); 

const PATHS = { 
    app: { 
    client: path.resolve(__dirname, '../app'), 
    admin: path.resolve(__dirname, '../admin-app') 
    }, 
    styles: path.resolve(__dirname, '../public/stylesheets'), 
    build: path.resolve(__dirname, '../public/build'), 
    public: path.resolve(__dirname, '../public') 
}; 

const plugins = [ 
    // Shared code 
    new webpack.optimize.CommonsChunkPlugin('vendor', 'vendor.bundle.js'), 
    // Avoid publishing files when compilation fails 
    new webpack.HotModuleReplacementPlugin(), 
    new webpack.NoErrorsPlugin(), 
    new webpack.DefinePlugin({ 
    'process.env.NODE_ENV': JSON.stringify('development'), 
    __DEV__: JSON.stringify(JSON.parse(process.env.DEBUG || 'false')) 
    }), 
    new webpack.optimize.OccurenceOrderPlugin(), 
    new ExtractTextPlugin('stylesheet.css') 
]; 

const config = { 
    env: process.env.NODE_ENV, 
    entry: { 
    client: [path.resolve(PATHS.app.client + '/index.js'), 'webpack-hot-middleware/client?path=http://localhost:3000/__webpack_hmr'], 
    admin: [path.resolve(PATHS.app.admin + '/index.js'), 'webpack-hot-middleware/client?path=http://localhost:3000/__webpack_hmr'] 
    }, 
    output: { 
    path: PATHS.build, 
    filename: '[name].bundle.js', 
    publicPath: '/' 
    }, 
    stats: { 
    colors: true, 
    reasons: true 
    }, 
    resolve: { 
    modulesDirectories: ['node_modules'], 
    alias: {}, 
    extensions: ['', '.jsx', '.js'] 
    }, 
    module: { 
    loaders: [ 
     { 
     test: /\.jsx?$/, 
     include: PATHS.app.client, 
     loaders: ['react-hot', 'babel'] 
     }, 
     { 
     test: /\.jsx?$/, 
     include: PATHS.app.admin, 
     loaders: ['react-hot', 'babel'] 
     }, 
     { 
     test: /\.scss$/, 
     loader: ExtractTextPlugin.extract('style-loader', ['css-loader', 'postcss-loader', 'sass-loader']) 
     } 
    ] 
    }, 
    plugins: plugins, 
    devtool: 'eval' 
}; 

module.exports = config; 

답변

0

webpack.config.js 롤 작동하지 않았다 webpack-hot-middleware log에 전달 console.webpack 기능 단지 바보 같은 오타. Saw Error는 webpack에서 제공하는 거대한 로그 아웃업의 맨 위로 스크롤했을 때 오타가 발생하여 오타가 발생했습니다.