`

js框架的几个总结

 
阅读更多

1. 在server端配置client环境变量的方法

有些配置需要在服务端完成,比如判断当前是开发环境还是生产环境,还有客户端访问的URL地址等

当然可以让客户端发起ajax请求,从响应里取到。不过今天看到一个方法,感觉也不错

首先server端还是要有一个服务,这个服务的响应是一段js,类似:

var script = "window.global = {_g_server:{}}; \n"+
        ";global[\"_g_server\"].staticurl=\"" +global["_g_topo"].clientAccess.staticurl + "\"\n"+
        ";global[\"_g_server\"].uploadurl=\"" +global["_g_topo"].clientAccess.uploadurl + "\"\n"+
        ";global[\"_g_server\"].authurl=\"" +global["_g_topo"].clientAccess.authurl + "\"\n"+
        ";global[\"_g_server\"].serviceurl=\"" +global["_g_topo"].clientAccess.serviceurl + "\"\n"+
        ";global[\"_g_env\"] =\"" +global["_g_topo"].env+ "\";\n";
res.end(script);

然后在html里写:

<script src="xxx/setting"></script>

这样就会直接拿到这段js,并在客户端运行。或者:

$(function(){
    // ajax.get("xxx/setting");
});

然后用eval()执行,效果也一样,都是在window下挂了一个global变量,把需要的参数放在里面,以后就可以直接获取到了:

if (global["_g_env"] == "dev") {
    // 开发环境的逻辑        
}else{
    // 生产环境的逻辑
}

2. 动态加载express router模块

express的核心API:

express.get(path, function(req, res, next){});

可以动态地创建上面的路由规则,比如对这个配置文件:

{
            "name": "download",
            "path": "/portal/nail/download",
            "method": "get",
            "auth": false,
            "impl": "downloadService.handleDownload",
            "comment": "提供portal页面的下载"
}

可以先写好真正的实现模块downloadService.js,其中有一个handleDownload函数

然后加载上面的配置文件,最后调用

var m = require("downloadService");
express[method].call(express, path, m.handleDownload);

这样来实现分模块开发,动态加载
分享到:
评论

相关推荐

    比较几个流行的JavaScript框架的性能

    比较几个流行的JavaScript框架的性能

    js-framework-benchmark, 几种流行javascript框架性能的比较.zip

    js-framework-benchmark, 几种流行javascript框架性能的比较 js-framework-benchmark这是几个javascript框架的简单基准。 基准测试创建一个带有随机条目的大型 table,并测量各种操作的时间,包括渲染持续时间。 ...

    JavaScript图表框架比较

    详细比较了Fusion Chart,Flot,Highcharts,Open flash chart几个js图形框架的优缺点。

    Silverna js 前端框架

    说它是“轻量级”的,一个方面强调的是Silverna并不从编码上支持和实现OO,即它没有参照同类型的js框架那样实现任何类似于jsvm之类的东东,而是利用js本身的特性用“文法规则”来规约和定义OO机制,包括消息模型。...

    cometd 框架实现的几个小程序

    最近正在学习comet框架的异步通讯功能 用他的cometd+jetty7 +js 实现了三个工能 1.chat 聊天 2 注册 3 时间新

    driftwood.js:Driftwood 一个简单的 JavaScript 日志框架

    漂流木.js Driftwood 一个简单的 JavaScript 日志框架目标日志记录应该很简单,这不是java,我们不需要抽象接口,只需几个简单的选项。 4 个日志级别,仅此而已。 ( debug 、 info 、 error和exception ) 允许将...

    怎么选择Javascript框架(Javascript Framework)

    Ajax的兴起,给 Javascript带来了...如果你正面临这样的问题,希望下面的几个建议对你在选择javascript框架上会有所帮助。 你的项目需求是什么 首先要问自己这是一个什么项目,具体的需求是什么,是一个普通类型的网站

    javascript 框架

    好几个javascript的框架 还有使用文档 需要的下吧

    JavaScript动态分析框架Jalangi2.zip

    你可以找到以下几个分析:track NaNs 的分析内存分析:JavaScript 和 HTML5 的内存分析器DLint:对 JavaScript 坏的代码的动态检查器JITProf:一个动态的,对 JIT 不友好的代码片段检查器analysisCallbackTemplate....

    基于Vue.js框架的Web前端开发工具的设计与实现

    伴随Web开发技术的不断发展,前后端分离开发逐渐成为主流的开发模式,前端开发在整个开发流程中越来越重要,前端开发工作早已不是编写几个简单的静态页面就可以完成的,前端除了需要展示美观的页面,还需要实现...

    前端开发框架 React 离线 js 类库 (react @16.8.0)

    包含如下四个文件: - react.development.js,react核心库; - react-dom.development.js,支持react操作DOM; - babel.min.js,用于将jsx转为js; - prop-types.js,用户检查组件的 Props。

    javascript前台验证框架

    这是一个javascript工具,主要是验证前台用户输入的正确性,本框架是结合了jquery的dom操作,用户只需用自定义好验证的正则表达式和错误信息,在需要验证的地方进行方法调用即可。本实例中已经存在了几种常见的验证...

    talent-validate 非常强大的 js 验证框架

    包含 1、talent-validate2.1 前台js 验证框架 2、修改 talent局部样式,做了几个例子

    nuxt.js框架调试接口并解决跨域问题

    首次接触nuxt.js来解决SPA(单页面应用框架)的SEO优化问题,然后现在要与后端联调接口,百度了两种方法,一种是vue的axios,另一...本次上传的只是涉及到接口的几个文件,页面上接口的应用和vue没有区别,也是用了异步。

    JS框架 [工作中总结出来的 欢迎下载使用]

    为 Number 添加 toFixed 方法 实现 数字保留小数点后几位 [2009-04-17] V 1.4.4 FileType 获得文件的名称及文件的后缀名 [2009-04-20] V 1.4.5 XiaoFeng.Dialog 打开选择窗口及保存窗 [2009-05-28] V 1.4.6 通过...

    基于JavaScript语言React框架应用程序及其代码方案

    • 基于JavaScript语言的项目资源可以包括以下几部分: 1. 前端框架:如React、Angular、Vue.js等,可以用来构建复杂的前端应用。 2. 代码库:如lodash、moment.js等,提供了丰富的实用函数,可以方便地处理数组、...

    JS框架 V 1.6.4

    为 Number 添加 toFixed 方法 实现 数字保留小数点后几位 [2009-04-17] V 1.4.4 FileType 获得文件的名称及文件的后缀名 [2009-04-20] V 1.4.5 XiaoFeng.Dialog 打开选择窗口及保存窗 [2009-05-28] V 1.4.6 通过...

Global site tag (gtag.js) - Google Analytics