Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 角度和节点路由_Angularjs_Node.js_Express_Routing - Fatal编程技术网

Angularjs 角度和节点路由

Angularjs 角度和节点路由,angularjs,node.js,express,routing,Angularjs,Node.js,Express,Routing,我正在为后端使用节点,为前端使用角度,但如果为前端和后端声明相同的路由,将会发生什么。我还没试过 例如:如果我正在构建TODO应用程序,如果我有/todos后端服务,并且我正在使用angular渲染具有相同路径的todos视图 默认情况下,AngularJS在之后处理路由。所以,如果你不改变这一点,一切都不会发生 否则,将调用后端路由。默认情况下,AngularJS在之后处理路由。所以,如果你不改变这一点,一切都不会发生 否则,将调用后端路由。Angular在#之后提供自己的路由,如myhost

我正在为后端使用节点,为前端使用角度,但如果为前端和后端声明相同的路由,将会发生什么。我还没试过


例如:如果我正在构建TODO应用程序,如果我有/todos后端服务,并且我正在使用angular渲染具有相同路径的todos视图

默认情况下,AngularJS在
之后处理路由。所以,如果你不改变这一点,一切都不会发生


否则,将调用后端路由。

默认情况下,AngularJS在
之后处理路由。所以,如果你不改变这一点,一切都不会发生


否则,将调用后端路由。

Angular在#之后提供自己的路由,如myhost.io/Angular/#/someroute,而node提供顺序路由,如myhost.io/some/other/route,这几乎不可能失败

注意:


但是您必须小心设置路由,因为如果您有静态文件(如angular client),使用express或connect无法使用相同路径的路由。

Angular在#像myhost.io/Angular/#/someroute之后提供自己的路由,而node提供像myhost.io/some/other/route这样的顺序路由,这几乎不可能失败

注意:


但是您必须小心设置路由,因为如果您有静态文件(如angular client),使用express或connect无法使用相同路径的路由。

angular是客户端浏览器框架。你的应用程序默认为斜杠(/),它指向你的index.html。您的路由以哈希(#)为前缀,阻止浏览器向服务器发出请求

角度默认为客户端&使用自己的路由机制。Express提供服务器端RESTful路由,其行为类似于angular应用程序的RESTAPI

如果你想使用HTML5 Pushstate API(从默认的角度路由机制中删除散列(/),这是唯一一种分离角度路由和快速/服务器路由的机制,你只需要像下面这样构造你的应用程序

  express()
        .use('/api', backend) // backend is express app
        .use('/', www) // www is public/static files
        .all('/*', function (req, res, next) {
            "use strict";
            // Just send the index.html for other files to support HTML5Mode
            res.sendfile('./app/index.html', {root: __dirname});
        })
        .listen(process.env.PORT || 8888, function () {
            debug('Express dev server listening on port ');
        });
express/server路由位于/api部分之后,其他路由(显然是角度路由)将返回index.html(html快照)


上述机制最适用于web应用程序。

Angular是客户端浏览器框架。你的应用程序默认为斜杠(/),它指向你的index.html。您的路由以哈希(#)为前缀,阻止浏览器向服务器发出请求

角度默认为客户端&使用自己的路由机制。Express提供服务器端RESTful路由,其行为类似于angular应用程序的RESTAPI

如果你想使用HTML5 Pushstate API(从默认的角度路由机制中删除散列(/),这是唯一一种分离角度路由和快速/服务器路由的机制,你只需要像下面这样构造你的应用程序

  express()
        .use('/api', backend) // backend is express app
        .use('/', www) // www is public/static files
        .all('/*', function (req, res, next) {
            "use strict";
            // Just send the index.html for other files to support HTML5Mode
            res.sendfile('./app/index.html', {root: __dirname});
        })
        .listen(process.env.PORT || 8888, function () {
            debug('Express dev server listening on port ');
        });
express/server路由位于/api部分之后,其他路由(显然是角度路由)将返回index.html(html快照)

对于web应用程序,上述机制最为可取