使用requirejs加载模块,模块的定义得遵守AMD规范,也即定义模块的时候使用如下函数定义模块:

1 define(function(){
2     var private = function(){
3           console.log('私有方法...');
4     };
5     return {
6         public:function(){private();}
7     };
8 });

  即使用define包括模块代码,如果想在requirejs中嵌入自己以前的某些代码,但是这些代码没有遵守AMD规范,该怎么办呢?骚年不用担心,require的config中的shim能帮你解决痛苦!例如本人的文件目录结构如下:

我想要在quikTip.js文件中使用framewokr.js提供的对象,但是framework.js是不遵守AMD规范的,在quikTip.js文件中require  framework模块之前必须先处理下framework.js使其符合AMD规范,代码如下:

 1 require.config({
 2         baseUrl:'js/utily',//指定js文件的基路径
 3         shim:{
 4             'framework':{//这个键名为要载入的目标文件的文件名,不能随便命名否则加载framework.js文件后是拿不到改文件对外提供的接口的。因为这个坑了哥一下午!!!
 5                 exports:'PXJSFrame'//exports的值为framework.js提供的 对外接口的名称
 6             }
 7         }
 8     });
 9 require(['framework'],function(frame){
10     var PXJSFrame = frame;
11      console.log(frame);//此处就会打印framework.js中对外提供的接口对象啦哈啊哈
12 }

转载于:https://www.cnblogs.com/QingChengFE/p/4512508.html

requirejs(shim)处理加载非AMD规范的js库相关推荐

  1. java模块化按需加载,JavaScript模块化之使用requireJS按需加载

    模块加载器的概念可能稍微接触过前端开发的童鞋都不会陌生,通过模块加载器可以有效的解决这些问题: JS文件的依赖关系. 通过异步加载优化script标签引起的阻塞问题 可以简单的以文件为单位将功能模块化 ...

  2. AngularJS+RequireJs实现动态加载JS和页面的方案研究

    摘要:本文是笔者研究了几天的动态加载方案的成果,前台使用的是AngularJS+RequireJs+angular-ui-router+angularAMD.后台使用了SpringMVC+Spring ...

  3. RequireJs按需要加载angular模块和依赖,并且用r.js压缩打包js和css文件实现加载优化(图文)。

    RequireJS 是一个JavaScript模块加载器,使用RequireJS加载模块化脚本将提高代码的加载速度和质量.而且能保证其他依赖angular插件前提下才能使用的组件比如像自定义的指令和路 ...

  4. RequireJS 主入口加载模块经常会加载失败的问题

    在接入requirejs时,在main入口遇到了这样的问题,使用jquery,刷新10次页面会有3-4次加载失败,找不到$符号等等 require.config({'baseUrl': './modu ...

  5. [logback] 关于logback.xml加载非类路径配置文件 - 问题排查与解决

    前言 之前我的所有配置文件放在Resource目录下,现在我想移到dc_server目录读取配置文件,然后就: 自定义配置文件读取的坑-- 探索 项目启动后发布加载不到根目录下的配置文件,一直报这种错 ...

  6. Fresco图片加载框架的介绍,相关开源库以及工具类的封装

    Fresco图片加载框架的介绍,相关开源库以及工具类的封装 本文已授权微信公众号:鸿洋(hongyangAndroid)在微信公众号平台原创首发. 简介 Fresco 是Facebook开源的安卓上的 ...

  7. 加载SD卡中的SO库

    基本信息 作者:kaedea 项目:android-dynamical-loading JNI与NDK Android中JNI的使用其实就包含了动态加载,APP运行时动态加载.so库并通过JNI调用其 ...

  8. 【解决方案】如何实现在HTML页面加载完毕后运行某个js

    前景: 今天在开发过程中,发现我js文件里面的方法没有响应,后来发现是js在html中引入的位置不对.我在head中加载了js,导致我js中的document.getElementById方法失效.因 ...

  9. cdn加载vue很慢_Vue.js 项目打包优化实践

    首先上结果: 把常用的 Vue,router,vuex,axios 的 runtime 包拆分了出来,改为 cdn: 另外就是对于自己编写的业务代码进行分包,根据路由进行懒加载,可以较好的提高首屏加载 ...

最新文章

  1. UC浏览器代理流量解密
  2. 十年JAVA架构经验总结:这几点尤为关键!
  3. exce中让两列数据一一对应_工作中被重复数据所烦恼?学会这几个Excel技巧,少加班...
  4. 【WebRTC】网页实时通信
  5. 【Tiny4412】最小网络文件系统制作
  6. 微软发布.Net Core 3.0 RC1,最终版本定于9月23日
  7. 有符号位和无符号位。——int8疑问有感
  8. 微课|中学生可以这样学Python(例8.22):冒泡法排序
  9. linux学习一天一个命令(4)[mkdir命令]
  10. 商城小程序源码PHP开源版
  11. 【软考软件评测师】2018年下案例分析历年真题
  12. 觅风易语言视频教程全集(143集)
  13. 软考软件设计师(知识产权)
  14. CSS之BFC(Block Formatting Context)
  15. 技术人员日本游学之精益管理
  16. 乔布斯2005的演讲
  17. 360路由器故障显示DNS服务器,360安全路由器dns异常解决方法
  18. 如何用DirectShow替代付费的摄像头SDK
  19. 校园二手物品交易系统
  20. yolov3网络(DarkNet53)结构详解以及Pytorch代码实现

热门文章

  1. 深度学习之卷积神经网络(2)卷积神经网络结构
  2. 操作系统磁盘空闲管理之位示图法
  3. JAVA_WEB--jsp概述
  4. XML--XML作用
  5. spring timetask 定时任务调度
  6. hive简介以及安装配置
  7. 用户细分_基于购买历史的用户细分
  8. PHP(三)——PHP基础知识
  9. 京东白条要上征信了!你用还是不用
  10. “城迷”:黑白梦与精神逃离