我已经到处搜索,并且找到了一些方法来执行此操作,但是似乎没有任何一种方法可以满足我的需求,因此我无法使它们正常工作。我最近的尝试是在下面进行尝试,将express-subdomain
与express
结合使用,并尝试根据传入的子域为两个单独的AngularJS应用程序提供服务器。目前,此代码似乎可用于正确的应用程序,但是据我所见,没有Angular模块包含在内。浏览器控制台有许多错误,例如“未捕获的SyntaxError:意外的令牌<”。我认为,根据以前的经验,这意味着AngularJS没有正确加载。请记住,我只运行一个AngularJS应用程序没有问题,只有当我尝试引入sub-domain
并提供第二个静态应用程序时。
我已经尝试过vhost
,但结果类似。
server.js
app.use(subdomain('app1',express.static(__dirname + '/public/app1')));
app.use(subdomain('app2',express.static(__dirname + '/public/app2')));
require('./app/routes')(app); // configure our routes
app.listen(port);
routes.js
app.get('*', function(req, res) {
var firstIndex = req.get('host').indexOf('.');
var subdomain = req.get('host').substr(0,firstIndex).toLowerCase();
if (subdomain === 'app1'){
res.sendFile(root + '/public/app1/views/index.html');
}else if (subdomain === 'app2'){
res.sendFile(root + '/public/app2/views/index.html');
}else{
res.sendFile(root + '/public/app1/views/notfound.html');
}
});
答案 0 :(得分:0)
dataService.delete({ itemId: itemId}, {})
.$promise
.then((data) => {
// Statements
})
.catch((error) => {
// Logging
})
.finally(() => {});
这似乎是错误的。 这会将index.html发送到任何请求,即js文件请求。 应该是:
if (subdomain === 'app1'){
res.sendFile(root + '/public/app1/views/index.html');
答案 1 :(得分:-1)
如果您创建一个通用的json不同实例,并创建所有调用,则可以模拟此实例。这是示例:
const routes = {
routeApp1: {
appTest1:{
url: '/appTest1/appTest1',
file: './mock/appTest1.json',
},
appTest2:{
url: '/appTest1/appTest2',
file: './mock/appTest2.json',
},
}
routeApp2: {
appTest1:{
url: '/appTest2/appTest1',
file: './mock/appTest1.json',
},
appTest2:{
url: '/appTest2/appTest2',
file: './mock/appTest2.json',
},
}
};
app.get(routes.routeApp1.appTest1.url, (req, res) => {
res.send(JSON.stringify(require(routes.routeApp1.appTest1.file)));
});
app.get(routes.routeApp2.appTest2.url, (req, res) => {
res.send(JSON.stringify(require(routes.routeApp2.appTest2.file)));
});
app.listen(3000, () => {
console.log(`Mocks app listening on port ${port}!`);
});