dojo in google app

在  GAE上写Dojo应用,GAE有1000文件上传限制,虽然可以通过删除dojoroot下的dojox(不会用到),删除国际化文件,把文件数降低到1000以下(还要设置

<resource-files>
        <exclude path="/dojoroot/**.*" />
        <exclude path="/**.jpg" />
        <exclude path="/**.gif" />
        <exclude path="/**.js" />
        <exclude path="/**.css" />
    </resource-files>

 排除这些文件,否则gae会把他们既当成静态文件又当成资源文件,一个文件数了2次,很容易超过1000),这样才可以发布dojo包到gae上开始写应用,

但还有一个方法就是dojo支持跨域加载,把http://o.aolcdn.com/dojo/1.3.0 替换dojoroot就可以,要注意的是

 

 <script type="text/javascript" src="http://o.aolcdn.com/dojo/1.3.0/dojo/dojo.xd.js"
djConfig="parseOnLoad: true,isDebug:true"></script>

 

中是 dojo.xd.js  而不是 dojo.js,这样你的项目文件就不用包含任何dojo文件了

 

改了之后页面加载速度也快了

<head>
		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
		<title>Account Preferences Final Form</title>
		<style type="text/css">
			@import "http://o.aolcdn.com/dojo/1.3.0/dijit/themes/tundra/tundra.css";
			@import
			"http://o.aolcdn.com/dojo/1.3.0/dojo/resources/dojo.css"
		</style>
		<script type="text/javascript" src="http://o.aolcdn.com/dojo/1.3.0/dojo/dojo.xd.js"
			djConfig="parseOnLoad: true,isDebug:true"></script>
		<script>
			dojo.require("dojo.parser" );
			dojo.require("dijit.layout.ContentPane" );
			dojo.require("dijit.layout.TabContainer" );
			dojo.require("dijit.form.ValidationTextBox" );
			dojo.require("dijit.form.DateTextBox" );
		</script>
		<style>
.formContainer {
	width: 600px;
	height: 600px;
}

label {
	width: 150px;
	float: left;
}
</style>
	</head>

 当dojo与其他的css文件一起使用时,dijit会遭到破坏

 

 

一次加载所有组件

           dojo.require("dojo.parser" );  
            dojo.require("dijit.dijit");
            dojo.require("dijit.dijit-all");

你可能感兴趣的:(JavaScript,css,Google,dojo,GAE)