2016-06-21 58 views
0

我试图运行webpack -w,但它没有按预期持续运行。此前它曾用于在我的代码中进行每次保存时重建。但是现在它已经停止工作了,因为我必须每次运行webpack -w以便进行更改。Webpack未运行

让我知道我是否需要提供任何其他信息。

//package.json 
{ 
    "name": "react", 
    "version": "1.0.0", 
    "description": "", 
    "main": "index.js", 
    "scripts": { 
    "test": "echo \"Error: no test specified\" && exit 1", 
    "start": "webpack-dev-server --color --inline --content-base public/ --history-api-fallback" 
    }, 
    "repository": { 
    "type": "git", 
    "url": "*************" 
    }, 
    "author": "", 
    "license": "ISC", 
    "homepage": "*********************", 
    "dependencies": { 
    "flux": "^2.1.1", 
    "jquery": "^3.0.0", 
    "material-ui": "^0.15.0", 
    "react": "^15.1.0", 
    "react-bootstrap-table": "^2.3.5", 
    "react-dom": "^15.1.0", 
    "react-mdl": "^1.5.4", 
    "react-router": "^2.4.1", 
    "react-tap-event-plugin": "^1.0.0" 
    }, 
    "devDependencies": { 
    "babel-core": "^6.9.1", 
    "babel-loader": "^6.2.4", 
    "babel-preset-es2015": "^6.9.0", 
    "babel-preset-react": "^6.5.0", 
    "http-server": "^0.9.0", 
    "path": "^0.12.7", 
    "react-router": "^2.4.1", 
    "react-sidenav": "^1.0.4", 
    "webpack": "^1.13.1", 
    "webpack-dev-server": "^1.14.1" 
    } 
} 

// webpack.config.js

var debug = process.env.NODE_ENV !== "production"; 
var webpack = require('webpack'); 

module.exports = { 
    context: __dirname, 
    devtool: "inline-sourcemap", 
    entry: "./app/index.js", 
    output: { 
    path: __dirname + "/public/", 
    filename: "bundle.js" 
    }, 
    module: { 
    loaders: [ 
     { 
     test: /\.js$/, 
     exclude: /node_modules/, 
     loader: 'babel-loader?presets[]=es2015&presets[]=react' 
     } 
    ] 
    }, 
    plugins: debug ? [] : [ 
    new webpack.optimize.DedupePlugin(), 
    new webpack.optimize.OccurenceOrderPlugin(), 
    new webpack.optimize.UglifyJsPlugin({ mangle: false, sourcemap: false }), 
    ], 
}; 

这时候我跑 “的WebPack -w”

$ webpack -w 
Hash: 5f80fac0cde2c497f037 
Version: webpack 1.13.1 
Time: 4146ms 
      Asset  Size Chunks    Chunk Names 
./public/bundle.js 3.03 MB  0 [emitted] main 
    + 653 hidden modules 
$ 

应该保持运行我的服务器和寻找变化会发生什么发生。

+0

这不是很清楚你的要求。我最好的猜测是,当您在代码中进行编辑时,您希望本地页面实时刷新。是对的吗? –

+0

是的。至少,我不想每次进行任何更改时都运行webpack。 –

+0

您是否试过[React Hot Loader](https://gaearon.github.io/react-hot-loader/getstarted/)? –

回答

0

如果我理解正确你的问题,你的问题是与热的WebPack重装

对于您需要指定的WebPack到哪里寻找趁热重装。 如果我没有错,我不会在配置文件中的任何内存位置中看到任何提及。

另外,如果可能的话,请发布您server.js的相关部分。这对我们回答您的问题会有帮助。

尝试添加此:

entry: [ 
    'webpack-dev-server/client?http://0.0.0.0:3000', // WebpackDevServer host and port 
    'webpack/hot/only-dev-server', // "only" prevents reload on syntax errors 
    './app/index.js' // Your appʼs entry point 
] 
0

的问题是,我没有在我的系统中有多少可用观察家。如果此值太低,Webpack中的文件观察器将无法识别这些更改。

cat /proc/sys/fs/inotify/max_user_watches 

Ubuntu用户(可能还有其他人):

echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p. 

这解决了我的问题。

这里是链接:not-enough-watchers