【发布时间】:2016-01-18 06:36:45
【问题描述】:
我正在使用angularjs,我正在使用html5Mode。
在使用 html5Mode 之前,链接可以在同一页面和新标签页中使用。链接如下:
http://localhost:81/vahidnajafi/#/about
但在 html5Mode 下,它只能在同一页面中工作,但是当我在新标签页中打开它时,它会转到 404 Not found 页面。
http://localhost:81/vahidnajafi/about
谢谢。
【问题讨论】:
-
您使用的是什么类型的网络服务器?
-
html5Mode用于单页应用程序,因此它希望应用程序是单页。它按预期工作并在documentation 中描述。 -
基本上,确保您在 express 应用程序中引用了 Angular 应用程序的主目录:app.use(express.static(path.join(__dirname, 'app_client'))); app.use(function (req,res){ res.sendfile(path.join(__dirname, 'app_client', 'index.html')) });并确保你的 templateUrl 路由属性以 / 开头,因此它知道从根目录引用模板的位置,而不是当前目录。
-
@awimley 谢谢。我应该在哪里使用此代码?
-
templateUrl 修复,在所有它们的开头使用 /,应该在使用 ngRoute 或 routeProvider 的地方使用。其余的(以 app.use 开头)应该在您的 express 应用程序中。
标签: javascript angularjs html5-history