没有 gulp 的 Express 和 BrowserSync?
Posted
技术标签:
【中文标题】没有 gulp 的 Express 和 BrowserSync?【英文标题】:Express and BrowserSync without gulp? 【发布时间】:2016-09-29 15:12:27 【问题描述】:我正在开发一个快速应用程序。我只使用 browserSync 来观看静态文件,但现在,我想对 express 应用做同样的事情。
我看到了很多使用 Gulp 的例子。但我想知道是否有任何解决方案可以仅使用 npm 脚本进行管理? (还有 nodemon?)
我目前的脚本:
"scripts":
"start": "npm run start-server & npm run watch-js",
"build-js": "browserify -t babelify -t aliasify -t partialify src/ | uglifyjs > public/app.js",
"start-server": "browser-sync start --server 'public/' --files 'public/' --port 9000 --no-ui",
"watch-js": "watchify -vd -t babelify -t aliasify -t partialify src/ -o public/app.js",
,
【问题讨论】:
您想使用 express 后端来代替 browserSync 内置服务器吗? 是的,我想使用带有 browserSync 的快速服务器 那么您可以使用browser-sync start -P
代理您的快递服务器。 browsersync.io/docs/command-line
【参考方案1】:
感谢@lim-h 的帮助,确实可以将参数--proxy
(-P) 添加到browser-sync start
browsersync.io/docs/command-line
你可以在这里下载演示https://github.com/damienromito/express-sync
启动快速服务器后,将--proxy
选项添加到browser-sync start
示例
node app & browser-sync start --proxy 'localhost:9000' --files 'public'"
对应的app.js:
var express = require('express'),
app = express(),
router = express.Router()
app.use(router)
app.use('/public', express.static('public'));
router.all('/', function (req, res, next)
res.send('<!DOCTYPE html>' +
'<html>' +
'<head>' +
'<title>Whyd Store</title>' +
'<link rel="stylesheet" type="text/css" href="public/style.css">' +
'</head>' +
'<body>' +
'<p>Hello World</p>' +
'</body>' +
'</html>')
);
app.listen(9000);
module.exports = app;
注意:为了测试与此示例项目的浏览器同步,我更新了 /public
文件夹中的 style.css 文件
【讨论】:
对于无法正常工作(页面无法加载)的任何人:删除--proxy 'localhost:9000'
中地址周围的单引号。以上是关于没有 gulp 的 Express 和 BrowserSync?的主要内容,如果未能解决你的问题,请参考以下文章
浏览器同步、gulp、mongodb 和 express 服务器
Browsersync结合gulp和nodemon实现express全栈自动刷新
nodejs里的express自动刷新gulp-express使用转载