我遇到了基于 Sencha Touch 的应用程序的生产构建版本无法在 IE10 和 Chrome 中正确应用样式的问题。
重现步骤:
主.js
Ext.define('Lab.view.Main', {
extend: 'Ext.Panel',
xtype: 'main',
requires: [
],
config: {
tabBarPosition: 'bottom',
items: [
{
xtype: 'panel',
cls: 'MyFirstLogo',
itemId: 'firstLogo'
} ]
}
});
SCSS 文件 - app.scss
.MyFirstLogo{
height: auto !important;
min-height: 100px;
min-width: 404px;
padding: 0px;
background-image:url(../../resources/images/test1.jpeg);
background-repeat:no-repeat;
background-position: left;
}
确保背景图片 URL 在 resources/sass/app.scss - 中是这样的
../../resources/images/test1.jpeg
。在项目根目录(Lab/)中运行“sencha app build production”
在 IE10 64bit (Win 7) 中访问应用程序:
http://localhost/lab/build/production/Lab/
IE10 中根本不显示图像。但是,在 Chrome 中尝试此操作时效果很好。Chrome 能够以某种方式将其转换
../../resources/images/test1.jpeg
为http://localhost/lab/build/production/Lab/resources/images/test1.jpeg
但 IE10 不这样做并且无法显示图像。这样它也可以在我的本地开发环境中工作,因为它与我的项目结构一致。为了使其在 IE10 中工作,我已将图像 URL 从更改
../../resources/images/test1.jpeg
为resources/images/test1.jpeg
(这实际上是有意义的,因为 resources/ 目录位于项目根目录中)并重建它以用于生产。在这种情况下,图像开始出现在 IE10 中,但现在当我使用 Chrome 时 - 图像不显示,并且 Chrome 正在尝试从此 URL 检索图像,该 URL 不正确:http://localhost/lab/build/production/Lab/resources/css/resources/images/test1.jpeg
,但失败了。这样它在我的本地开发环境中也不起作用。其他资源以及“字体”等资源都会出现此问题。
您能否帮助我了解 Sencha 的 Production Build 版本无法同时在 IE10 和 Chrome 中运行的情况?这是 Sencha Touch 或 Chrome 的错误还是我在这里遗漏了什么?