使用 requirejs 打包 jQuery 插件 datetimepicker 的问题记录
网站之前用的时间选择 UI 实在太丑,而且功能单一,决定全站改用 https://github.com/xdan/datetimepicker/
里面有好几个 js,奇怪的是,只有 /build 目录下的 full.js 可用,其他的引用后报错如下:
Cannot read property 'formatDate' of null
那就用 full.js 吧,无所谓,能用就行。
本地采用 requirejs 模块化,没问题,用 r.js 打包后,报了个这样的错误:
Mismatched anonymous define() module
仔细看了下,full.js 居然把 jquery.mousewheel.js 也引进来了,怪不得叫 full.js。果断把它去掉了,而 requirejs 配置文件中原来就有了 jquery.mousewheel.js(因为 datetimepicker.js 依赖于 jquery.mousewheel.js) ,再打包,ok 了。
看了下 README 中的 说明,full.js 是可以在浏览器 直接 引用的,而其他 js 引用后报错(我觉得正确姿势不应该引用 full.js),我怀疑是 bug?没有时间去细纠了。
这个开源项目引入并不是我决定的,我应该不会用这个项目,毕竟有 308 个 issue 没解决,而且 README 的开头写着什么?
PLEASE. Help me update documentation.
也是醉了。
我会用什么样的开源项目?之前的时间选择插件用的是 这个,我在周报中吐槽了一波:
对于开源项目的选择,我的个人想法是先选项目火的,从 stars ,作者(团队)知名度,文档完善性,有无完整 demo,社区讨论度,相关问题数等可见一斑。很明显 simple-momentpicker 完全不符合,stars 目前 7 个,一年多没维护了,看了下代码,变量名 a0, b1, c2, tmpData 等不忍吐槽。我猜当时是随便找了个插件就好了,应该没想到后期维护。其次我个人喜欢轻量级的插件,功能不需要太花哨,满足需求就好,最好是无依赖,有依赖的话尽量依赖知名库,这样也易于升级和维护。
至少,datetimepicker 比 simple-momentpicker 要好点 ...
至于那个报错,我怀疑是重复引入 jquery.mousewheel.js 导致的,没有细纠,可以看下 官网解释 或者 这里
使用 requirejs 打包 jQuery 插件 datetimepicker 的问题记录的更多相关文章
- 构建基于Javascript的移动web CMS——加入jQuery插件
当看到墨颀 CMS的菜单,变成一个工具栏的时候.变认为这一切有了意义.于是就继续看看这样一个CMS的边栏是怎么组成的. RequireJS与jQuery 插件演示样例 一个简单的组合示比例如以下所看到 ...
- Angular指令封装jQuery日期时间插件datetimepicker实现双向绑定
一放假就高产似母猪了. 00.混乱的前端界 Angular1.x确实是个学习成本很高的框架,刚开始实习那会儿,前端啥也不懂,工头说用Angular,我们这群小弟也只能硬着头皮学.在这之前,前端的东西大 ...
- 使用requireJS的shim參数,完毕jquery插件的载入
没有requireJS框架之前,假设我们想使用jquery框架,会在HTML页面中通过<script>标签载入.这个时候jquery框架生成全局变量$和jQuery等全局变量.假设项目中引 ...
- 【原】react中如何使用jquery插件
react的思想是虚拟dom,提倡最好较少dom的操作,可是我们在写网页的时候,有些复杂的交互还是离不开jquery插件的.而且当你把jquery直接拿来用的时候,你会发觉会报错,要么是找不到那个插件 ...
- 基于RequireJS和JQuery的模块化编程——常见问题解析
由于js的代码逻辑越来越重,一个js文件可能会有上千行,十分不利于开发与维护.最近正在把逻辑很重的js拆分成模块,在一顿纠结是使用requirejs还是seajs的时候,最终还是偏向于requirej ...
- 关于jquery插件 入门
关于 JavaScript & jQuery 的插件开发 最近在温故 JavaScript 的面向对象,于是乎再次翻开了<JavaScript高级程序设计>第3版,了解到其中常 ...
- jquery插件,美化select标签
最近经常与select打交道,因为ie下的select实在太丑了,css怎么搞都搞不好看,因为程序已经写得差不多了,要再去模拟select改动太大,就想着能否不改动select,同时美化它.借鉴一下这 ...
- RequireJS和JQuery的模块化编程
基于RequireJS和JQuery的模块化编程 由于js的代码逻辑越来越重,一个js文件可能会有上千行,十分不利于开发与维护.最近正在把逻辑很重的js拆分成模块,在一顿纠结是使用requirejs还 ...
- 网站建设常用JQuery插件整理
1.jQuery.lazyload 作用:延迟加载网站图片,常用于电商网站.图片展示网站,对于提高网站打开速度比较有效. 2.Owl Carousel 作用:图片滚动特效.响应式传送带插件,特点是支持 ...
随机推荐
- 【java提高】Serializable(一)--初步理解
Serializable(一)--初步理解 一 序列化是干什么的? 我们知道,在jvm中引用数据类型存在于栈中,而new创建出的对象存在于堆中.如果电脑断电那么存在于内存中的对象就会丢失.那么有没有方 ...
- 39.Linux应用调试-strace命令
1.strace简介 strace常用来跟踪进程执行时的系统调用和所接收的信号.通过strace可以知道应用程序打开了哪些文件,以及读写了什么内容,包括消耗的时间以及返回值等 2.安装strace命令 ...
- iOS Swift基础知识代码
推荐:Swift学习使用知识代码软件 //集合类型 数组 字典 func array1(){ var arr = [","dd"] //简单写法 var arr1 = [ ...
- (转)iOS-Runtime知识点整理
runtime简介 因为Objc是一门动态语言,所以它总是想办法把一些决定工作从编译连接推迟到运行时.也就是说只有编译器是不够的,还需要一个运行时系统 (runtime system) 来执行编译后的 ...
- 关于C++函数返回局部对象的详细分析
以前一直挺好奇的,C++是怎么在函数内返回一个局部对象的.因为按照我之前的想法,函数返回一个基本类型的值是通过存放到ecx实现的(关于浮点不了解),但是局部对象又是比较大的,很明显不能使用寄存器作为通 ...
- listbox控件使用
1. 属性列表: SelectionMode 组件中条目的选择类型,即多选(Multiple).单选(Single) Rows 列表框中显示总共多少行 Sel ...
- C语言位操作的算法
1.头文件 #ifndef _INC_BITOPERATION #define _INC_BITOPERATION #endif /* 封装了所有的位操作运算 */ #include<stdio ...
- Java 管程解决生产者消费者问题
同样是实验存档.//.. 依然以生产者消费者问题作为背景. 管程(=“资源管理程序”)将资源和对资源的操作封装起来,资源使用者通过接口操作资源就 ok,不用去考虑进程同步的问题. 管程: packag ...
- Beautiful Paintings
There are n pictures delivered for the new exhibition. The i-th painting has beauty ai. We know that ...
- 【WebGL】《WebGL编程指南》读书笔记——第3章
一.前言 根据前面一章的内容,继续第三章的学习. 二.正文 一起绘制三个点,这里要使用到缓存了 var n = initVertexBuffers(gl); //返回绘制点的个数 n ) ...