javascript - AngularJS ui 路由器 - 如何忽略某些路由?

标签 javascript angularjs angular-ui-router

我在我的网络应用程序中使用 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/

相关文章:

javascript - 如何在 karma 单元测试期间修复图像的 404 警告

javascript - angular-bootstrap 日期选择器显示 'yyyy-mm-dd' 格式的错误日期

angularjs - MEAN 应用程序因互联网断开而崩溃

angularjs - 使用 Angular UI 路由器在 URL 中设置动态参数

javascript - 在 AngularUI Router onEnter 回调中访问服务

javascript - Javascript 中的 while 与 setTimeout

javascript - 从javascript函数外部获取变量值

Javascript 泛光灯跟踪 iframe 使浏览器窗口空白,请帮忙!

javascript - 如何使用 jQuery 为 slimScroll 设置动画

javascript - 在angularjs中将id从一个页面传递到另一个页面