Max*_*lin 12 vagrant webpack webpack-dev-server
我正在使用Ubuntu 15.10在虚拟机上运行webpack服务器,使用vagrant over mac OSX.
webpack配置很干净:
var HtmlWebpackPlugin = require('html-webpack-plugin');
var path = require('path');
var webpack = require('webpack');
var MINIFY = process.env.MINIFY === true;
var FRONTEND_ROOT = './static'
var SRC_PATCH = FRONTEND_ROOT + '/scripts';
var BUILD_PATH = './dist';
module.exports = {
entry: SRC_PATCH + '/main.js',
devtool: 'source-map',
output: {
path: BUILD_PATH,
filename: 'bundle.js'
},
resolve: {
extensions: ['', '.js', '.jsx'],
modulesDirectories: [SRC_PATCH, 'node_modules']
},
plugins: [
new HtmlWebpackPlugin({
filename: 'index.html',
template: path.resolve(FRONTEND_ROOT, 'index-template.html'),
minify: MINIFY
})
],
module: {
loaders: [
{
test: /\.jsx|js$/,
exclude: /node_modules/,
loader: 'babel-loader'
}
]
},
eslint: {
configFile: './.eslintrc'
}
};
Run Code Online (Sandbox Code Playgroud)
Webpack在VM上运行
vagrant@vagrant-ubuntu-wily-64:/vagrant$ webpack-dev-server --port 8080 --devtool eval --progress --colors --hot --content-base dist
Run Code Online (Sandbox Code Playgroud)
当我从OSX编辑文件时,它不会重新加载,但如果我从VM编辑同一个文件,它将重新加载.
问题是什么?我该如何解决?
我用流浪汉解决了我的问题rsync-auto
https://docs.vagrantup.com/v2/cli/rsync-auto.html
我已将该行添加config.vm.synced_folder ".", "/vagrant", type: "rsync", rsync_auto: true, rsync_exclude: ".git/"到我的行中Vagrantfile,并vagrant rsync-auto在单独的选项卡下运行.
这在另一个问题下得到回答:https : //stackoverflow.com/a/34937378/5114
如果添加该--watch-poll选项,它将更改webpack查找文件更改的方式。
webpack-dev-server --watch-poll --port 8080 --devtool eval --progress --colors --hot --content-base dist
Run Code Online (Sandbox Code Playgroud)
这使得webpack每N毫秒轮询一次文件更改。当普通方法不执行时,轮询将在Vagrant共享目录中进行,因为它不查找mtime或其他文件系统属性,而只是间隔读取文件。它速度较慢,并且使用的CPU /内存更多,因此除非必要,否则不要使用轮询。
https://webpack.github.io/docs/cli.html#watch
| 归档时间: |
|
| 查看次数: |
5254 次 |
| 最近记录: |