gpt4 book ai didi

webserver - 如何在没有网络服务器的情况下运行 Sencha Touch 2 应用程序?

转载 作者:行者123 更新时间:2023-12-01 15:52:30 25 4
gpt4 key购买 nike

有没有人知道如何在不安装网络服务器(如 LAMP/XAMP)的情况下运行 sencha touch 2 应用程序。 (PS:我是 Sencha Touch 的新手)

我知道有一种方法 - 包括 phonegap's Sencha Touch 2 应用程序的 app.json 中的 javascript 文件。看起来像这样

"js":
{
"path": "cordova-2.5.0.js"
}

在此之后,示例应用程序在没有 Web 服务器的情况下在浏览器上运行。

  1. 还有其他办法吗?

  2. 添加 phonegap js 文件如何帮助在没有 Web 服务器的情况下运行 sencha touch 应用程序?

最佳答案

使用 --allow-file-access-from-files --disable-web-security 标志启动 chrome 也能达到目的。

Sencha 需要 Web 服务器,因为如果应用程序处于开发模式 microloader,sencha 中的 Ajax 请求 app.json 文件并从中获取,它加载其他文件。你可以在

中看到这个

../sencha-sdk/mircroloader/development.js

包含以下代码的文件 -

var xhr = new XMLHttpRequest();
xhr.open('GET', 'app.json', false);

当您使用上述标志启动 chrome 时,即使使用 file://.... url 方案打开文件,chrome 也允许发出 ajax 请求。

当您在使用 sencha cmd 压缩 js/css 后部署应用程序时,所有文件都被打包到一个文件中。在这种情况下,您不再需要网络服务器。


更新

来自白名单域的Cordova 文档

Domain whitelisting in Apache Cordova is a security model that controls access to outside domains, such as http://google.com. The default security policy is to block all network access. The application developer can then declare access to specific network domains and subdomains.

In the Widget Access specification, the element is used to declare access to specific network domains. In the future, Apache Cordova will abstract the platform whitelisting implementations to the W3C Widget Access specification. However, for now each platform must implement it's own domain whitelisting.

此外,W3C Widget Access不包含安全和用户代理执行策略。它在 XMLHTTPRequest 中定义.

因此,Cordova essential 所做的是,在策略中添加一个异常(exception),以允许访问具有白名单域的应用程序域之外的特定网络资源。

关于webserver - 如何在没有网络服务器的情况下运行 Sencha Touch 2 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16397430/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com