seajs构建web申请书

随着开发项目的不断扩大,查找代码依赖关系复杂化,维护比较沉闷。记seajs有这种效果方面。果断尝鲜。解决两个问题:1)命名冲突 2)文件相关性

因为所在BG使用TAF服务,基于C++开发一套WSP web服务框架。以下所讲的都是基于该框架下測试验证。

分成三个阶段:开发->改进->构建

第一阶段:开发

模板文件夹结构:

--wsp

--index.html

--doc

--js

-- sea.js

-- jquery_cmd.js

-- main.js

第一步:引用的第三方类库。用require包装起来,我的项目使用的为jquery库,包装成jquery_cmd.js

define(function(require, exports, modules) {
    // jquery 源代码
    return jQuery;
});

第二步:编写引入的js,命名为main.js

顺带使用一个AlloyTeam看到的console.log输出点绚丽

seajs.config({
  alias: {
    "jquery": "/js/jquery_cmd.js" // 这个路劲写对(本项目基于框架以下静态文件夹js下)
  }
});
define(function(require, exports, module) {
   // 引入jquery模块
   var $ = require(‘jquery‘); 

   if (typeof $(‘h2‘) !== "undefined") {
       var oContent = {
           logText: ‘%c这是一个%c奇妙的%c站点%c‘,
           cssStyle: [‘color:#a48bf2;‘, ‘color:#ff0000;‘, ‘color:#a0c484;‘, ‘padding:55px 135px;background:url(http://res.imtt.qq.com/actnew/css/head_logo.png) no-repeat center center;line-height:109px;‘]
       };
       console.log(oContent[‘logText‘], oContent[‘cssStyle‘][0], oContent[‘cssStyle‘][1], oContent[‘cssStyle‘][2], oContent[‘cssStyle‘][3]);
   } else {
       console.log(‘not found‘);
   }

});

第三步:html页面

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>seajs第一个应用</title>
</head>
<body>
    <h2>hello world</h2>
    <script src="/js/sea.js" id="seajsnode"></script>
    <script type="text/javascript">
        seajs.use("/js/main");
    </script>
</body>
</html>

打开chrome调试器能够看到例如以下效果:

调试器切换到Network。能够看到延迟载入作用体现

第二阶段:项目的进一步优化和改进

项目结构:

--wsp

--index.html

--doc

--js

-- sea.js

-- require.js

-- jquery_cmd.js

-- main.js

-- echarts-map.js

-- build

-- echarts.js

chart

-- bar.js

1、假设须要引入jquery插件:

define(function(require) {
    var $, jQuery;
    $ = jQuery = require(‘jquery‘);

   // 插件整个代码

});

2、项目须要引入图表。这块须要依据API来实现(该项目使用百度echarts)。从官方文档中发现,echarts没有直接支持seajs的CMD模式。改为引入一下requireJS支持AMD模式。

导入echarts-map.js和require.js

3、改动index.html



<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>requirejs引用echarts图表</title>
</head>
<body>
    <!-- 为Echarts准备一个具备大小(宽高)的Dom -->
    <div id="main" style="height:500px;border:1px solid #ccc;padding:10px;"></div>
    <script src="/js/require.js" id="requirejsnode"></script>    <script type="text/javascript">
        require.config({
            paths: {
                // 这个路径写对(该项目基于WSP框架下静态文件夹js下)
                ‘echarts‘: ‘./js/echarts-map‘,
                ‘echarts/chart/bar‘: ‘./js/echarts-map‘,
                ‘echarts/chart/line‘: ‘./js/echarts-map‘,
                ‘echarts/chart/map‘: ‘./js/echarts-map‘
            }
        });
        require([
            ‘echarts‘,
            ‘echarts/chart/bar‘,
            ‘echarts/chart/line‘,
            ‘echarts/chart/map‘
        ], function(ec) {
            var domMain = document.getElementById(‘main‘);
            var myChart = ec.init(domMain);
            myChart.setOption({
                tooltip: {
                    trigger: ‘axis‘
                },
                legend: {
                    data: [ ‘蒸发量‘, ‘降水量‘ ]
                },
                toolbox: {
                    show: true,
                    feature: {
                        mark: { show: true },
                        dataView: { show: true, readOnly: false },
                        magicType: { show: true, type: [ ‘line‘, ‘bar‘ ] },
                        restore: { show: true },
                        saveAsImage: { show: true }
                    }
                },
                calculable: true,
                xAxis: [
                    {
                        type: ‘category‘,
                        data: [ ‘1月‘, ‘2月‘, ‘3月‘ ]
                    }
                ],
                yAxis: [
                    {
                        type: ‘value‘,
                        splitArea: { show: true }
                    }
                ],
                series: [
                    {
                        name: ‘蒸发量‘,
                        type: ‘bar‘,
                        data: [ 2.0, 4.9, 7.0 ]
                    },
                    {
                        name: ‘降水量‘,
                        type: ‘bar‘,
                        data: [ 2.6, 5.9, 9.0 ]
                    }
                ]
            });
        });
    </script>
</body>
</html>
最后页面訪问效果如图:




















版权声明:本文博主原创文章,博客,未经同意不得转载。

时间: 2024-08-26 04:48:08

seajs构建web申请书的相关文章

seajs构建web应用

随着开发项目不断膨胀,发现代码依赖关系变得复杂,维护比较蛋疼,想起seajs有这方面之功效,果断尝鲜,用来解决两个问题:1)命名冲突 2)文件依赖关系 由于所在BG使用TAF服务,基于C++开发一套WSP web服务框架.下面所讲的都是基于该框架下测试验证. 分成三个阶段:开发->改进->构建 第一阶段:开发 模板目录结构: --wsp --index.html --doc --js -- sea.js -- jquery_cmd.js -- main.js 第一步:引用的第三方类库,用req

基于MVC+EasyUI的Web开发框架经验总结(2)- 使用EasyUI的树控件构建Web界面

最近花了不少时间在重构和进一步提炼我的Web开发框架上,力求在用户体验和界面设计方面,和Winform开发框架保持一致,而在Web上,我主要采用EasyUI的前端界面处理技术,走MVC的技术路线,在重构完善过程中,很多细节花费不少时间进行研究和提炼,一步步走过来,也积累了不少经验,本系列将主要介绍我在进一步完善我的Web框架基础上积累的经验进行分享,本随笔主要介绍使用EasyUI的树控件构建Web界面的相关经验. 在很多界面设计上,我们可能都需要引入树列表控件,这个控件可以用zTree来实现,也

threejs构建web三维视图入门教程

本文是一篇简单的webGL+threejs构建web三维视图的入门教程,你可以了解到利用threejs创建简单的三维图形,并且控制图形运动.若有不足,欢迎指出. 一.创建场景我们所见的视图由两个部分共同创建,scene和camera.首先定义一个场景:var scene = new THREE.Scene();然后定义一个相机:var camera = new THREE.PerspectiveCamera( 90, width/height, 0.1, 1000 );等等,定义相机需要视窗的长

利用Eclipse中的Maven构建Web项目(一)

利用Eclipse中的Maven构建Web项目 1.新建一个Maven Project,"New-->Other..." 2.选择"Maven Project" 3.选择项目路径 Usedefault Workspace location默认工作空间, 选择项目类型 在Artifact Id中选择maven-archetype-webapp 4.分别输入Group Id.Artifact Id和Package,单击"Finish" 5.Ma

利用Eclipse中的Maven构建Web项目(二)

利用Eclipse中的Maven构建Web项目 1.新建源文件夹,Java Resources鼠标右键,"New-->Source Folder" 2.新建src/main/java   src/main/resources  src/test/java  src/test/resources四个源包 3.双击每个文件夹的Output folder,选择路径 src/main/java和src/main/resources,选择路径target/classes; src/test

Maven构建Web工程项目报错

利用Maven构建Web项目的时候项目报错,pom.xml报错 先右键Maven-Disable Maven Nature,关闭Maven属性 然后再点击Configure-Convert To Maven Project 然后就能消除错误

Eclipse使用Maven构建web项目

Eclipse使用Maven构建web项目 博客分类: J2EE 1.创建Maven项目: 点击“File”菜单,或者通过工具栏的“New”创建Project,如下图所示: 选择Maven->Maven Project,弹出向导对话框,如下图所示: 选中Create a simple project……复选框,其它的设置不变,并点击Next,输入maven项目必须的信息(groupId,artifactid,version),如下图所示: 这里需要选择Packaging,web项目一般选择war

基于MVC4+EasyUI的Web开发框架经验总结(2)- 使用EasyUI的树控件构建Web界面

最近花了不少时间在重构和进一步提炼我的Web开发框架上,力求在用户体验和界面设计方面,和Winform开发框架保持一致,而在Web上,我主要采用EasyUI的前端界面处理技术,走MVC的技术路线,在重构完善过程中,很多细节花费不少时间进行研究和提炼,一步步走过来,也积累了不少经验,本系列将主要介绍我在进一步完善我的Web框架基础上积累的经验进行分享,本随笔主要介绍使用EasyUI的树控件构建Web界面的相关经验. 在很多界面设计上,我们可能都需要引入树列表控件,这个控件可以用zTree来实现,也

构建web应用

一.web服务器示例 var http = require('http'); http.createServer(function(req, res){ res.writeHeader(200, {Content-Type : 'text/plain'}); res.end('hello world!'); }).listen(80); 二.web应用中常见需求: (1)解析请求方法(POST GET) (2)解析路径 (3)解析查询字符串 (4)解析cookie (5)Basic认证 (6)解