javascript - angularjs 和expressjs 路由崩溃(噢,啪!)

标签 javascript angularjs node.js express

我在angularjs和expressjs中创建路由并创建app.all('/*'...)以使其可以render index.html,但每次我使用/* 页面将会崩溃(噢,啪!)

Angularjs

home.config(function($routeProvider,$locationProvider,$httpProvider)
{

   $routeProvider.when('/home',
   {
        templateUrl: 'home.html',

   })
   .when('/access_level',
   {
        templateUrl: 'access_level.html',

   })
   .when('/Users',
   {
        templateUrl: 'Users.html',

   })
   .otherwise({
        redirectTo: '/home'
   });
   $locationProvider.html5Mode({enabled: true,requireBase: false,rewriteLinks: true});
});

expressjs

app.all('/*', function(req, res, next) {
   res.sendFile('/views/index.html', { root: __dirname });
});
app.get('/:name',function(req,res){
   var name = req.params.name;
   res.render(name);
});

那么我的代码出了什么问题?

最佳答案

最后我找到了另一个解决方案,即使我没有在 angularjs 中使用 html5 模式,但它可以工作

所以,我只让 View 文件夹像公共(public)文件夹一样工作

更改自

app.set('views', path.join(__dirname, 'views'));

app.use(express.static(path.join(__dirname, 'views')));

然后我只创建 / 服务器端路由(我不再需要 /:name)

app.get('/', function(req, res) {
    res.sendFile('/views/index.html', { root: __dirname });
});

关于javascript - angularjs 和expressjs 路由崩溃(噢,啪!),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39433580/

相关文章:

javascript - $digest 已在进行中

JavaScript:如何以既能在 Node.js 上又能在浏览器上运行的方式包含文件?

javascript - Rails - AJAX PUT 或 PATCH 触发多次

html - 在 Angular Material 网格中缩放图像

regex - Jasmine Expect toMatch 和括号

javascript - async.js 从最后一个函数返回值

javascript - 如何在 NodeJS mongodb 驱动程序版本 2.2 中使用 Promise

javascript - Bootstrap 模式中的动态内容和 Ajax [Laravel] 中的动态数据

node.js - 在 Express 包装的 Azure NextJs 应用程序上部署后,应用程序将永久加载

javascript - 在 jQuery 中使用 .fadeOut() 时禁用单击