我正在学习Gulp和NPM,并决定使用浏览器同步和我正在研究的PHP项目(使用XAMPP)来测试自己。我知道Browser-Sync不能与PHP文件一起使用,但我想将它与我的.css文件一起使用(稍后可能会添加Sass)。
我将npm,Gulp,Gulp-watch和Browser Sync安装到我项目的根目录中,一切都很好。
然后我创建了一个gulp.js文件,其中包含以下内容:
var gulp = require('gulp'),
watch = require('gulp-watch'),
browserSync = require('browser-sync').create();
gulp.task('watch', function() {
browserSync.init({
server: {
baseDir: "./"
}
});
watch('css/*.css', function() {
browserSync.reload();
});
});
但是,当我gulp watch
新浏览器窗口打开但只显示Cannot GET /
错误时。
此外,该网址会显示http://localhost:3002/
而不是http://localhost:myproejct
我认为这可能与我的baseDir
有关,所以尝试了:
baseDir: ""
baseDir: "./"
baseDir: "../myproject"
有人知道我做错了吗?
答案 0 :(得分:0)
你做的比做你想做的更多。您可以将browsersync用作托管网站顶部的代理层。
请参阅docs
中的以下示例# Proxy a PHP app + serve static files & watch them
$ browser-sync start --proxy 'mylocal.dev' --serveStatic 'public' --files 'public'
我认为这是您需要的,从您网站的物理根运行它并将mylocal.dev
替换为您的php服务器地址
npm install browser-sync -g
browser-sync start --proxy 'mylocal.dev' --serveStatic 'css' --files 'css/*.css'
答案 1 :(得分:0)
您的代码适用于我。假设您的目标HTML文件在手动浏览器中打开时有效:t = int(raw_input("enter Data \n"))
if t >= 1 and t <= 10 :
data = []
for x in xrange(t):
data.append(raw_input())
for x in xrange(t):
if len(data[x])>=1 and len(data[x]) <= 10**5 :
dcnt = 0
val = data[x]
d = len(val)
for j in xrange(d - 1,0,-1):
if val[j] == val[j-1]:
dcnt += 1
val = val[0:j] + val[j+1:10**5]
print "%s ====> %s, %d deletions" % (data[x], val, dcnt)
else:
print "length of string is not withing range :: 1<= length of string <=10**5"
continue
else:
print "T is not withing range :: 1<= T <=10"
错误的一个常见原因是使用除Browsersync的默认期望Cannot Get/
之外的索引文件。这可能是你遇到的问题吗?如果需要自定义索引文件,可以设置index.html
选项:
index
Fwiw,您也可以更有效地执行此操作,并节省安装browserSync.init({
server: {
baseDir: 'mybasedirectorypath',
index: 'notindex.html'
}
});
的重量(此示例已根据此Browsersync docs example进行了调整和简化):
gulp-watch
至于使用自定义网址,请查看https://github.com/BrowserSync/browser-sync/issues/646,其中包含一些解决方案。