没有 gulp 的 Express 和 BrowserSync?

Express and BrowserSync without gulp?

我正在开发一个快捷应用程序。我只使用 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",
  },

感谢@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 文件