我一直在尝试让浏览器同步通过ember -cli-browser-sync(通过 in 安装,"ember-cli-browser-sync": "git://github.com/dylanharrington/ember-cli-browser-sync.git"
因为package.json
它不在 npm 注册表上)与我的 localhost API 服务器一起使用,但一直无法让它工作。
只是在做
serverMiddleware: function(config) {
config.options.liveReload = false;
browserSync({
injectChanges: true,
reloadDelay: 10,
notify: false,
open: false,
proxy: "localhost:4200"
});
},
在本地设备上工作得很好,但无法从外部设备(iPhone)访问我在http://localhost:8000/api/1的 api。
我尝试通过以下方式扩展代理设置以包含我的本地 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 提供给 BrowserSync 提供的我的外部 URL。
所以我试图利用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 吗?