如何在 cordova 应用程序中配置 node.js
How to configure node.js in a cordova application
这与我关于在 cordova/ionic 应用程序中更改 node.js 配置的问题有关 - How to configure node.js routes in a cordova app
我没有得到满意的答复。我还在他们的博客上与几个 cordova/ionic 人聊天,但他们提到 node.js 在这种情况下不能通过使用 express 配置,也不知道如何完成。
所以,我的问题是,在使用 cordova/ionic 应用程序时,是否可以在 node.js 服务器中更改默认端口或 url 重写?
很想知道你们的想法。
详细说明更多 -
假设我有几条这样的路线 -
http://localhost:6001/#/home/index
http://localhost:6001/#/content/index
因为我不想要 URL 中的散列,所以我在应用程序的配置部分添加了它 -
$locationProvider.html5Mode(true);
工作正常,URLs 不显示“#”,但在浏览器中刷新时,现在出现此错误 -
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');
正如我们在聊天中讨论的那样,Cordova_CLI 项目使用固定服务器通过 cordova serve
(或 ionic serve
)进行快速部署。此节点服务器不使用 express 或其他插件来处理路由,它使用来自 [cordova-lib][1]
项目的脚本。
为此开发服务器提供的脚本未考虑 URL 重写,因此如果不修改此脚本,html5Mode 将无法正常工作。它可以是一个简单的分支,只需将 do404
函数逻辑替换为将 filePath
设置为 /index.html
.
另一种选择是 运行 一个单独的 Web 服务器(node+express 或任何其他服务器)并在项目中包含 ionic/cordova 脚本。
理想情况下,生产应用程序将 运行 针对 public 服务器,而 Cordova_CLI 服务器应该只在开发环境中出现问题。
这与我关于在 cordova/ionic 应用程序中更改 node.js 配置的问题有关 - How to configure node.js routes in a cordova app
我没有得到满意的答复。我还在他们的博客上与几个 cordova/ionic 人聊天,但他们提到 node.js 在这种情况下不能通过使用 express 配置,也不知道如何完成。
所以,我的问题是,在使用 cordova/ionic 应用程序时,是否可以在 node.js 服务器中更改默认端口或 url 重写?
很想知道你们的想法。
详细说明更多 -
假设我有几条这样的路线 -
http://localhost:6001/#/home/index
http://localhost:6001/#/content/index
因为我不想要 URL 中的散列,所以我在应用程序的配置部分添加了它 -
$locationProvider.html5Mode(true);
工作正常,URLs 不显示“#”,但在浏览器中刷新时,现在出现此错误 -
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');
正如我们在聊天中讨论的那样,Cordova_CLI 项目使用固定服务器通过 cordova serve
(或 ionic serve
)进行快速部署。此节点服务器不使用 express 或其他插件来处理路由,它使用来自 [cordova-lib][1]
项目的脚本。
为此开发服务器提供的脚本未考虑 URL 重写,因此如果不修改此脚本,html5Mode 将无法正常工作。它可以是一个简单的分支,只需将 do404
函数逻辑替换为将 filePath
设置为 /index.html
.
另一种选择是 运行 一个单独的 Web 服务器(node+express 或任何其他服务器)并在项目中包含 ionic/cordova 脚本。
理想情况下,生产应用程序将 运行 针对 public 服务器,而 Cordova_CLI 服务器应该只在开发环境中出现问题。