- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试运行 deployd API 与我的 AngularJS 在同一台服务器上应用程序,但部署似乎与应用程序路由冲突。
我部署的服务器正在监听端口 5000,如下所示:
var deployd = require('deployd');
var server = deployd({
port: process.env.PORT || 5000,
env: 'production',
db: {
host: 'localhost',
port: 27017,
name: 'deployd',
credentials: {
username: 'myUsername',
password: 'myPassword'
}
}
});
server.listen();
server.on('listening', function() {
console.log("Server is listening");
});
server.on('error', function(err) {
console.error(err);
process.nextTick(function() { // Give the server a chance to return an error
process.exit();
});
});
我的 AngularJS 应用程序 Node 服务器正在监听端口 3000,如下所示:
var express = require('express');
var app = express();
app.use(express.static(__dirname + '/public'));
app.listen(process.env.PORT || 3000);
应用程序加载正常,尽管在进行如下调用时未按预期访问 API:
$http.get('localhost:5000/foo')
或者这个:
$http.get('http://my.public.ip.address:5000/foo')
我的页面路由(在 HTML5 模式下,URL 中没有 #)被 deployd 劫持了——因此 AngularJS 为 '/foo' 路由的 URL 正在访问 API 并返回“Cannot GET/foo”。
这一切都发生在一台也运行 Apache 的服务器上,但它被配置为使用如下方式将对我的域的请求转发到端口 3000:
NameVirtualHost *:80
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName my.domain.com
ProxyPreserveHost on
ProxyPass / http://localhost:3000/
<Location />
Order allow,deny
Allow from all
</Location>
</VirtualHost>
如果我在 URL 中使用 #,比如 http://my.domain.com/#/foo
,它将返回由 AngularJS 路由器指示的页面模板,但它缺少数据因为 API 未在端口 5000 上命中。
如有任何帮助,我们将不胜感激。
最佳答案
原来这是我的 Express server.js
代码的问题,与 Deployd 无关。我一直看到 Cannot GET/foo
消息并假设 Deployd 正在尝试获取资源,但实际上 Express 没有加载 index.html(加载 AngularJS 和我的路由代码),因为它是只是尝试加载一个名为 foo
的静态文件。
这是我修复的server.js
:
var express = require('express');
var app = express();
app.use(express.static(__dirname + '/public'));
app.use(function(req, res) {
res.sendfile(__dirname + '/public/index.html');
});
app.listen(process.env.PORT || 3000);
现在,如果静态文件 foo
不存在,它会加载 index.html
并允许我的 AngularJS 路由器接管。
关于javascript - 在同一台服务器上运行 deployd 和 angular.js 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23788206/
我正在使用 Deployd (deployd.com) 轻松创建 API。我想在发布事件时创建一个 HTML 文件。问题是它不起作用,因为没有定义“require”。我认为这是因为无法从 Deploy
我正在尝试部署基于 Deployd (deployd.com) 的 node.js 应用程序。通过“af update myapp”部署时,出现以下错误: Uploading Application:
我正在开发一个 iOS 应用程序并使用 Deployd 作为后端。问题是当我使用 sid cookie 向用户/我发送 GET 请求以识别我的 session 时,它返回 204-无内容,即使用户已登
我使用 Deployd 作为我的 Swift 应用程序的后端。这就是我当前查询 JSON 数据的方式。我需要限制从查询返回的对象的数量。我将自己实现分页部分。我只是想知道如何在查询中嵌入下面提到的 $
我正在尝试运行 deployd API 与我的 AngularJS 在同一台服务器上应用程序,但部署似乎与应用程序路由冲突。 我部署的服务器正在监听端口 5000,如下所示: var deployd
嗨,当我发布到部署时,我在控制台中收到这个奇怪的错误 Object {name: "MongoError", message: "key $$hashKey must not start with '
我正在使用“deployd”运行一个网站,并且我在将在端口 5000 上运行的应用程序更改为端口 80 时遇到问题。我想要做的不是“mydomain.com:5000”,我只想拥有“mydomain.
我是一名优秀的程序员,十分优秀!