我在我的网络应用程序中使用 ui-router
。在我的一个 View 中,我有一个 Canvas ,我正在使用第 3 方库绘制它。该库尝试动态加载图像 (HTTP GET)。我的问题是 ui.router
的 $urlRouterProvider
正在处理路由,因此所有图像请求都会导致 404 错误。
这在 AngularJS 应用程序中通常是如何处理的?有没有办法忽略特定路线?
我的路由配置如下所示:
app.config(function($stateProvider, $urlRouterProvider) {
//
// For any unmatched url, redirect to /state1
$urlRouterProvider.otherwise("/");
//
// Now set up the states
$stateProvider
.state('main', {
url: "/",
templateUrl: "partials/main.html"
})
.state('login', {
url: "/login",
controller: 'LoginCtrl',
templateUrl: "partials/login.html"
})
.state('signup', {
url: '/signup',
controller: 'SignupCtrl',
templateUrl: 'partials/signup.html'
})
});
我想忽略任何与 '/assets/*'
匹配的路由,并允许这些请求直接传递到服务器。
最佳答案
这通常在服务器级别处理(此处为 Express):
app.use express.static(path.join(__dirname, "assets"))
因此任何带有“/js/app.js”的 url 都将呈现为 Assets 。这不应该是 Angular 必须处理的事情。我有一个非常相似的 $stateProvider,它是我从一些样板中获取的,$stateProvider 中的 Assets 没有特殊情况。
Controller 或 View 边界内是否有脚本或 img 标签?这可以解释你所看到的。
关于javascript - AngularJS ui 路由器 - 如何忽略某些路由?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23879611/