jeudi 26 mars 2015

Getting browser-sync to play nice with ember-cli and a localhost API server

I've been trying to get browser-sync to play nice with ember-cli via ember-cli-browser-sync (installed via "ember-cli-browser-sync": "git://github.com/dylanharrington/ember-cli-browser-sync.git" in package.json as it isn't on the npm registery) with my localhost API server, but have been unable to get it to work.


Just doing



serverMiddleware: function(config) {
config.options.liveReload = false;
browserSync({
injectChanges: true,
reloadDelay: 10,
notify: false,
open: false,
proxy: "localhost:4200"
});
},


Works wonderfully for a local device, but fails at accessing my api at http://localhost:8000/api/1 from an external device (iPhone).


I tried to extend the proxy settings to include my local API via:



var url = require('url'),
proxy = require('proxy-middleware');

serverMiddleware: function(config) {
config.options.liveReload = false;

var proxyOptions = url.parse('http://localhost:8000/api/1');

browserSync({
injectChanges: true,
reloadDelay: 10,
notify: false,
open: false,
proxy: {
target: 'localhost:4200',
middleware: [proxy(proxyOptions)]
}
});

});


Which basically serves the API to my external URL provided by BrowserSync.


So I tried to utilise server:



serverMiddleware: function(config) {
config.options.liveReload = false;

var proxyOptions = url.parse('http://localhost:8000/api/1');
console.log(proxyOptions);
// proxyOptions.route = '/api';

browserSync({
injectChanges: true,
reloadDelay: 10,
notify: false,
open: false,
port: 3000,
server: {
baseDir: "./",
routes: {
"/app": "app",
"/assets": "dist/assets",
},
index: "app/index.html",
middleware: function (req, res, next) {
console.log(req.url);
next();
}
}
});
},


Which serves the correct index, and all the asset files, but causes an error with ember.


Does anyone have any experience doing this and which path I should try next? Is there a different NPM package I should try to use to proxy my API?





Aucun commentaire:

Enregistrer un commentaire