Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/35.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.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 如何在cordova应用程序中配置node.js_Angularjs_Node.js_Cordova_Ionic Framework_Cordova Cli - Fatal编程技术网

Angularjs 如何在cordova应用程序中配置node.js

Angularjs 如何在cordova应用程序中配置node.js,angularjs,node.js,cordova,ionic-framework,cordova-cli,Angularjs,Node.js,Cordova,Ionic Framework,Cordova Cli,这与我关于在cordova/ionic应用程序中更改node.js配置的问题有关- 我没有得到一个令人满意的答案。我还在他们的博客上与cordova/ionic的几个家伙聊天,但他们提到在这种情况下,node.js不能通过使用express进行配置,也没有任何关于如何进行配置的线索 所以,我的问题是,在使用cordova/ionic应用程序时,是否可以在node.js服务器中更改默认端口或url重写 我很想知道你们的想法 详细阐述更多- 假设我有两条这样的路线- http://localhost

这与我关于在cordova/ionic应用程序中更改node.js配置的问题有关-

我没有得到一个令人满意的答案。我还在他们的博客上与cordova/ionic的几个家伙聊天,但他们提到在这种情况下,node.js不能通过使用express进行配置,也没有任何关于如何进行配置的线索

所以,我的问题是,在使用cordova/ionic应用程序时,是否可以在node.js服务器中更改默认端口或url重写

我很想知道你们的想法

详细阐述更多-

假设我有两条这样的路线-

http://localhost:6001/#/home/index
http://localhost:6001/#/content/index
因为我不想在URL中使用散列,所以我在我的应用程序的配置部分添加了这个-

$locationProvider.html5Mode(true);
这很好,URL不显示“#”,但在浏览器中刷新时,现在我得到了这个错误-

Cannot GET /home/index
这就是为什么我需要在服务器上进行URL重写,我似乎无法理解

这些是我在app.js中的路线-

.state('home', {
            abstract: true,
            url: "/home",
            templateUrl: "app/home/home.html"
       })

.state('home.index',{
       url: "/index",
       views: {
           "index" : {
                      templateUrl: "app/home/index.html"
                     }
              }
       })

 $urlRouterProvider.otherwise('/home/index');

正如我们在chat中所讨论的,Cordova_CLI项目通过
Cordova serve
(或
ionic serve
)使用固定服务器进行快速部署。此节点服务器不使用express或其他插件来处理路由,而是使用
[cordova lib][1]
项目中的脚本

为此开发服务器提供的脚本没有考虑URL重写,因此如果不修改此脚本,HTML5模式将无法正常工作。它可以是一个简单的fork,只需替换
do404
函数逻辑,将
filePath
设置为
/index.html

另一个选项是运行单独的web服务器(node+express或任何其他),并在项目中包括ionic/cordova脚本


理想情况下,生产应用程序将在公共服务器上运行,Cordova_CLI服务器只应是开发环境中的一个问题。

您似乎感到困惑。。。Cordova/ionic是客户端技术,node/express是服务器端技术。Cordova开发人员如何告诉您他们的产品会阻止服务器端技术的正确运行是没有意义的。您从哪里获得
无法获得/home/index
?再次:在定义路线的地方发布一些代码。此外,这不是第二个问题,而是关于同一主题的第三个问题。如果所提供的答案不能解决问题,请澄清问题,不要不断地以相同的问题主体提出更多的问题,希望得到不同的回答。@Claies他们的博客是关于如何在node.js中创建基本的cordova钩子的,但并不是真的针对我试图做的事情。此外,我还可以添加更多内容,但他们真的没有什么可添加的。如果您能告诉我们您在这里不了解的内容,我希望我们能进行更好的讨论。@AleksandrM刷新后,我在浏览器页面中发现错误。我也会添加我的路线。