Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.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
Reactjs Webpack热中间件不是在Ubuntu上用React热加载吗?_Reactjs_Webpack_Webpack Hot Middleware_Hot Module Replacement_Webpack Dev Middleware - Fatal编程技术网

Reactjs Webpack热中间件不是在Ubuntu上用React热加载吗?

Reactjs Webpack热中间件不是在Ubuntu上用React热加载吗?,reactjs,webpack,webpack-hot-middleware,hot-module-replacement,webpack-dev-middleware,Reactjs,Webpack,Webpack Hot Middleware,Hot Module Replacement,Webpack Dev Middleware,我遇到了一个非常令人沮丧的问题,我的网页热中间件不是“热重新加载”。它正在构建项目,每当我对任何有问题的文件进行任何编辑时,都会重建项目,但它似乎从未显示任何更改,并且总是在对文件进行编辑之前显示我的文件,就像缓存文件或其他东西一样 我也在使用Express服务器,对这一切我都很陌生。事实上,我正在尝试使用一位雇主交给我的文件来建立一个开发环境,我很难找到解决方法 My package.json运行以下脚本: "scripts": { "postinstall": "npm run prod",

我遇到了一个非常令人沮丧的问题,我的网页热中间件不是“热重新加载”。它正在构建项目,每当我对任何有问题的文件进行任何编辑时,都会重建项目,但它似乎从未显示任何更改,并且总是在对文件进行编辑之前显示我的文件,就像缓存文件或其他东西一样

我也在使用Express服务器,对这一切我都很陌生。事实上,我正在尝试使用一位雇主交给我的文件来建立一个开发环境,我很难找到解决方法

My package.json运行以下脚本:

"scripts": {
"postinstall": "npm run prod",
"prod": "webpack --config ./webpack.prod.config.js",
"start": "node ./app_build.js"
 }
npm安装后,它似乎运行以下文件webpack.prod.config.js:

const path = require('path');
const webpack = require('webpack');
var ExtractTextPlugin = require('extract-text-webpack-plugin');

module.exports = {
  devtool: 'source-map',

  entry: './main.js',

  output: {
    path: path.join(__dirname,'prod'),
    filename: 'bundle.js',
    publicPath: '/'
  },

  plugins:[
      new webpack.DefinePlugin({
          'process.env':{
              NODE_ENV: JSON.stringify('production'),
          }
      }),
      new webpack.optimize.DedupePlugin(),
      new webpack.optimize.UglifyJsPlugin({
        minimize: true,
        compress:{
          warnings:false
        }
      }),
      new ExtractTextPlugin('bundle.css'),
      new webpack.IgnorePlugin(/^(buffertools)$/) //Remove deeper dependancy for react-jsonschema-forms error
  ],

  module: {
    loaders: [
      { test: /\.js$/,
        loader: 'babel',
        exclude: /node_modules/,
        query: {
          presets: ['es2015', 'react'] }},
      { test: /\.css?$/,
        loader: ExtractTextPlugin.extract('style', 'css')},
      { test: /\.less$/,
        loader: 'style!css!less' },
      { test: /\.(png|jpg|gif)$/,
        loader: 'url-loader?limit=100000' },
        {
            test: /\.woff(\?v=\d+\.\d+\.\d+)?$/,
            loader: "url?limit=10000&mimetype=application/font-woff"
        }, {
            test: /\.woff2(\?v=\d+\.\d+\.\d+)?$/,
            loader: "url?limit=10000&mimetype=application/font-woff"
        }, {
            test: /\.ttf(\?v=\d+\.\d+\.\d+)?$/,
            loader: "url?limit=10000&mimetype=application/octet-stream"
        }, {
            test: /\.eot(\?v=\d+\.\d+\.\d+)?$/,
            loader: "file"
        }, {
            test: /\.svg(\?v=\d+\.\d+\.\d+)?$/,
            loader: "url?limit=10000&mimetype=image/svg+xml"
        }
    ]
  }
};
npm启动运行app_build.js,如下所示:

const Server = require('./server.js');
const port = (process.env.PORT || 3333);
const app = Server.app();
const stormpath = require('express-stormpath');
const path = require('path');
var helpers = require('express-stormpath/lib/helpers');
var uuid = require('node-uuid');
var requestProxy = require('express-request-proxy');
var btoa = require('btoa');
var session = require('express-session');
var request = require('request');
var bodyParser = require('body-parser');
var Mailgun = require('mailgun-js');
request = request.defaults({jar:true});

const CONSTANTS  = require('./src/constants/Constants');


//console.log('version: '+ process.env.NODE_ENV);

if (process.env.NODE_ENV !== 'production') {
    const webpack = require('webpack');
    const webpackDevMiddleware = require('webpack-dev-middleware');
    const webpackHotMiddleware = require('webpack-hot-middleware');
    const config = require('./webpack.dev.config.js');
    const compiler = webpack(config);

    app.use(webpackHotMiddleware(compiler));
    app.use(webpackDevMiddleware(compiler, {
        noInfo: true,
        publicPath: config.output.publicPath
    }))
    console.log(`Listening at http://localhost:${port}`);
}
这个文件还有更多内容,但我相信我的问题与我的publicPath或其他东西有关,我不能完全确定。正如我所说,我是从以前的开发人员那里得到这个配置的,我对所有这些都是全新的。

有一个 在ubuntu上试试这个命令。在我使用它之后,热重新加载工作正常: echo fs.inotify.max_user_watches=524288 | sudo tee-a/etc/sysctl.conf&&sudo sysctl-p

有一个 在ubuntu上试试这个命令。在我使用它之后,热重新加载工作正常:
echo fs.inotify.max_user_watches=524288 | sudo tee-a/etc/sysctl.conf&&sudo sysctl-p

我发现问题归结于愚蠢的人为错误:我安装了所有软件包,我想我只需要启动sudo npm就可以允许网页包访问文件。仅仅是一个正常的npm启动不会让热重新加载按预期运行。

我发现问题归结为愚蠢的人为错误:我sudo npm安装了我所有的软件包,我想我只需要执行sudo npm启动,以便允许网页包访问文件。正常的npm启动不会让热重新加载按预期运行。

webpack.dev.config.js看起来怎么样?webpack.dev.config.js看起来怎么样?