Я пытался заставить синхронизировать браузер, чтобы он хорошо работал с ember-cli через ember-cli-browser-sync (устанавливается через "ember-cli-browser-sync": "git://github.com/dylanharrington/ember-cli-browser-sync.git"
в package.json
, поскольку его нет в реестре npm) с моим сервером API localhost, но мне не удалось заставить его работать.
Просто делаю
serverMiddleware: function(config) {
config.options.liveReload = false;
browserSync({
injectChanges: true,
reloadDelay: 10,
notify: false,
open: false,
proxy: "localhost:4200"
});
},
Прекрасно работает для локального устройства, но не может получить доступ к моему API по адресу http://localhost:8000/api/1 с внешнего устройства (iPhone).
Я попытался расширить настройки прокси, чтобы включить мой локальный API через:
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)]
}
});
});
Который в основном служит API для моего внешнего URL-адреса, предоставленного BrowserSync.
Поэтому я попытался использовать 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();
}
}
});
},
Который обслуживает правильный индекс и все файлы asset
, но вызывает ошибку с ember.
Есть ли у кого-нибудь опыт в этом и какой путь я должен попробовать дальше? Есть ли другой пакет NPM, который я должен использовать для проксирования моего API?