BrowserSync
BrowserSync automatically refreshes your web browser after you make changes to your front-end resources. You can use the
browserSync
method to instruct Elixir to start a BrowserSync server when you run the gulp watch
command:const elixir = require("coldbox-elixir");
module.exports = elixir(mix => {
mix.browserSync();
});
After running this command you will see directions to add a script tag to the bottom of your website like this:
[BS] Copy the following snippet into your website, just before the closing </body> tag
<script id="__bs_script__">//<![CDATA[
document.write("<script async src='http://HOST:3000/browser-sync/browser-sync-client.2.12.5.js'><\/script>".replace("HOST", location.hostname));
//]]></script>
Add that snippet to your
layouts/Main.cfm
file and reload to enable BrowserSync!Instead of copying the script tag into you app, you can tell BrowserSync to proxy your existing CFML server:
const elixir = require("coldbox-elixir");
module.exports = elixir(mix => {
mix.browserSync({
proxy: "localhost:50608"
});
});
Running
webpack -w
will now open up localhost:3000
which proxies to your app! No need for that BrowserSync script tag anymore!We define a number of default options for BrowserSync:
{
host: "localhost",
port: 3000,
proxy: "http://localhost:8888",
files: "**/*"
}
The can be overridden by passing in an options object as the only parameter (as seen above with
proxy
).In addition to the
proxy
option, you may pass any BrowserSync option here as the only argument. A list of the BrowserSync options can be found here.Last modified 11mo ago