在我的Sencha应用程序中,我有一个包含一些服务URL的Config.js文件:
Ext.define('MyApp.utils.Config', {
singleton : true,
config : {
authBaseUrl : '...',
serviceBaseUrl : '...',
reportsBaseUrl : '...',
imagesUrl : '...'
},
constructor : function (config) {
this.initConfig(config);
}
});
在部署之前,我使用
sencha app build
来自Sencha Touch SDK的命令用于缩小和连接文件等。
我的问题是构建过程还会将config.js添加到缩小的app.js文件中,尽管如果我可以编辑它而不需要重建/重新部署整个应用程序,这将非常有用。我没有找到任何方法来改变构建过程的行为。
因此,在构建应用程序之后,我想拥有这三个js文件:
app.js(首次下载后连接,缩小,缓存在localstorage中)
config.js(保持不变,不在本地存储中缓存)
答案 0 :(得分:1)
从应用程序中删除它以便它没有捆绑,然后在app.json中引用它,这在类似情况下对我来说效果很好。
我还有一个在开发过程中反复修改的config.js,所以在我的app.json中它看起来像这样:
"js": [
{
"path": "sdk/sencha-touch-all.js"
},
{
"path": "config.js"
},
{
"path": "app.js",
"bundle": true,
"update": "full"
}
],
这可确保您的config.js文件包含在构建中。
然后你需要将脚本添加到app.html文件中,只需确保它在主app.js之前加载。我看起来像这样(从Sencha Architect自动生成):
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>llm</title>
<link rel="stylesheet" href="resources/css/llm.css">
<script src="http://maps.google.com/maps/api/js?sensor=true"></script>
<script src="sdk/sencha-touch-all.js"></script>
<script src="config.js"></script>
<script src="cordova-2.0.0.js"></script>
<script type="text/javascript" src="app.js"></script>
</head>
<body></body>
</html>
希望这对你有帮助!