我使用BrowserSync和Gulp在更改特定类型的文件时在本地计算机上重新加载站点。我在gulpfile
:
gulp.task('browser-sync', function() {
browsersync.init({
proxy: "mySite:8080",
files: ["./*.html", "dev/*.css"]
});
});
当更改(并保存)上述任何类型的文件时,我在终端中得到这样的输出:
[BS] Serving files from: ./
[BS] Watching files...
[BS] File changed: index.html
[BS] File changed: dev\styles.css
网站一直按预期重新加载,但其内容并未反映所做的更改。我无法弄清楚我在这里做错了什么。任何暗示都赞赏!
更新
我忘了提到我的主机正在运行Windows 10而我的客机正在运行Ubuntu 14.04.4 LTS。 VM提供程序是VirtualBox。
最初,我使用默认的config.vm.synced_folder
方法。我在我的vagrantfile
:
config.vm.synced_folder "/Path/To/My/Host/Website/Folder/", "/usr/nginx/html/mywebsite/"
我尝试使用NFS后,使用以下配置:
config.vm.synced_folder "/Path/To/My/Host/Website/Folder/", "/usr/nginx/html/mywebsite/",
:type => :nfs,
:mount_options => ['nolock,vers=3,udp,noatime,actimeo=1']
由于我的主机运行Windows,我安装了插件vagrant-winnfsd,它增加了对NFS的支持。但是现在,当它试图挂载NFS共享文件夹时,vagrant会停止。
此外,由于我在vagrant up
:GuestAdditions versions on your host (5.0.16) and guest (4.3.36) do not match
上收到以下错误,因此我安装了插件vagrant-vbgues,以使VirtualBox Guest Additions保持最新状态。无济于事。当Vagrant尝试挂载NFS共享文件夹时,它仍然处于冻结状态。
答案 0 :(得分:1)
标题和标签表示你正在使用Vagrant,即使你的问题中没有提到它。
确保您的更改正在同步到VM。查看vagrant documentation以选择适合您情况的同步文件夹类型。他们的基本例子如下:
Vagrant.configure("2") do |config| # other config here config.vm.synced_folder "src/", "/srv/website" end
您可以vagrant ssh
并手动检查文件以确保它们匹配,并且已同步的文件夹按预期工作。
<强>更新强>
根据新信息和评论,我建议使用rsync
作为共享文件夹方法。
config.vm.synced_folder "Host/Path/", "/Guest/Path", type: "rsync",
rsync__exclude: [ '.git', 'logs'],
rsync__args: ["--verbose"],
rsync__chown: false
如果Windows处于混合状态,我从来没有找到一种让NFS播放效果良好(并且表现良好)的方法。
答案 1 :(得分:1)