如何利用Require.Js管理多页面站点文件

JavaScript010

如何利用Require.Js管理多页面站点文件,第1张

直接上例子,自己参考一下吧。我复制粘贴的,对于这个不太懂。

RequireJS 的作者 James Burke ,做了很多有效组织代码,利用 RequireJS Optimizer 压缩优化代码的努力,有些例子是我经常提到的: example-multipage-shim. , example-multipage 。但我更喜欢用 shim 版本(它支持非 AMD 方式定义的模块载入)的 RequireJS,因为一个项目里面似乎总有几个非 AMD 的脚本文件。

如果你在用RequireJs创建一个单页站点,那么你可能会这样定义你的script标签:

<!--This sets the baseUrl to the "scripts" directory, and

loads a script that will have a module ID of 'main'-->

<script data-main="scripts/main.js" src="scripts/require.js"></script>

data-main 属性可以很方便的用来设置 RequireJs 的 baseUrl property ,通常,你也可以在 main.js 里面加上一些配置,比如,你要加载一个第三方的js库,你要创建一个路径以便引用。因为模板里的每一个单页的 mian-* 文件都不同,所以,我们可以把配置信息放在 common.js 里:

1 //The build will inline common dependencies into this file.

2

3 requirejs.config({

4 baseUrl: './js',

5 paths: {

6 'jquery': 'vendor/jquery',

7 'bootstrap': 'vendor/bootstrap'

8 },

9 shim: {

10 'bootstrap': ['jquery']

11 }

12 })

除了 common.js,我还在 app/models 下创建了BasicModel文件以表明common.js是公用的,并把BasicModel放进common.js里。

编译

编译之前需要有一个 option.js 来指定哪些文件需要编译,哪些不需要:

1 module.exports = {

2 appDir: 'www',

3 baseUrl: 'js/',

4 mainConfigFile: 'www/js/common.js',

5 dir: 'www-release',

6 modules: [

7 {

8 name: 'common',

9 include: [

10 'app/models/basicModel',

11 'jquery',

12 'bootstrap'

13 ]

14 },

15 {

16 name: 'app/main-about',

17 exclude: ['common']

18 },

19 {

20 name: 'app/main-contact',

21 exclude: ['common']

22 }

23 ]

24 }

上面的代码中,首先把所有的文件用 include 方法包含进来,然后把不需要的文件用 exclude 方法排除出去。RequireJs 会根据 exclude 的参数配置理出嵌套依赖关系并把文件排除掉。因为 bootstrap 已经编译合并进 common.js 了,所以不需要单独为 main-about 或 main-contact 再 exclude 掉 bootstrap。

在执行这些操作之前,你需要执行一个 npm 安装。首先你要确保安装了 grunt 工具,安装完成后执行 grunt 命令压缩打包。如果打包顺利完成,会在www-release/build.txt 里看到如下被打包的文件清单:

css/bootstrap-responsive.css

----------------

css/bootstrap-responsive.css

css/bootstrap.css

----------------

css/bootstrap.css

css/style.css

----------------

css/style.css

js/common.js

----------------

js/common.js

js/app/models/basicModel.js

js/vendor/bootstrap.js

js/app/main-about.js

----------------

js/app/models/aboutModel.js

js/app/main-about.js

js/app/main-contact.js

----------------

js/app/models/contactModel.js

js/app/main-contact.js

www-release/common.js 里面试一大块压缩后的代码,代码里就包含了 BasicModel, Bootstrap, jQuery, and 初始配置代码。要配置 about.html ,只需要按下面的顺序加载文件即可:

1 <script src="./js/vendor/require.js"></script>

2 <script type="text/javascript">

3 // Load common code that includes config,

4 // then load the app logic for this page.

5 require(['./js/common'], function (common) {

6 // ./js/common.js sets the baseUrl to be ./js/

7 // You can ask for 'app/main-about' here instead

8 // of './js/app/main-about'

9 require(['app/main-about'])

10 })

11 </script>

通过层层引入 RequireJs -->common.js -->main-about.js 实现了明晰简便的代码管理方式。

使用xmlhttprequest发出请求到后台

创建xmlhttprequest对象不同浏览器略有不同,大致可以参考如下

/* Util Functions */

function createXmlHttpRequest() {

if (window.XMLHttpRequest) { //None-IE

return new XMLHttpRequest()

}

else {

return new ActiveXObject("Microsoft.XMLHTTP")

}

}

获得相应后把响应的数据直接付给变量

var xmlHttpRequest = createXmlHttpRequest()

xmlHttpRequest.open("GET", url_disk_list_full, false)

xmlHttpRequest.send()

if (xmlHttpRequest.status == 200) {

var result = eval("(" + xmlHttpRequest.responseText + ")")

//现在result里面就是这个列表了,可以直接使用

}

哎、 老大、你该不会让 帮你写 毕业试题吧!!!

不过 帮你分析 一下吧!! 我也是 新手!!!

1、首先 创建数据库 (以为你的需求较少 不用写项目文档了 直奔主题好了)

学生表(Students) 学分表(Score)学科表(Greade) 估计这三个就 够用了(不够你在添加、、)

2、(使用JSP 完成)创建 页面 (根据你的需求 创建吧)以及导入数据库 驱动、、、

3、数据库连接类、实体类、 Dao 类、业务类!

4、你的录入,查、修改、分别 用

1、insert into (表名)values(列值)

2、select * (或 列名) from 表名 where =?;

3、delete * from 表名 where=?;

4、关于页面的 验证 你在 创建 jsp 页面时, 添加 javascript 进行 验证 就行了!!

四、到此 分析完了 说实话、这项目 不难、朋友如果你动手的话,也就三四个小时 就K.O了!!

学习 要肯动手!!! 加油啊!!! 傍晚 快乐! 选我 吧!Thanks