在开始之前,偶先吐槽加逗比一下,2天前,CCAV的本白和百度的菊花成功潜入到了携程大楼

然后在没有找到他们运维的情况下,四处乱逛,企图把他们的服务器给root一下,然后再瞎逛之后到了一个很神奇的地方

然后遇到了一堆企图把他们服务器给root的人

然后大门一关。。。pong!pong!pong!pong!pong!当我们认为携程保安会把我关起来的时候

开始了第二届css大会!!!

在大会上偶和菊花2人坐在一个角落的地上,撸着代码!然后互相交流了,最近在搞得B格。。

菊花:“偶最近在写文章”

本白:“什么样的文章”

菊花:“菊花的seaJS之路”

Sea.js 官网是这样介绍自己的,整理下来就是模块管理、模块加载。

然而在一个模块已经完全合并的项目里,模块加载这部分功能本质上已经完全是冗余的。有什么方式做改进么?

既然模块加载已经不需要了,那我们是不是只要实现模块管理这一部分就可以替代Sea.js在项目中的作用了呢?

http://bh-lay.com/blog/14f132531e0

详细点击上方链接

然后这货把seajs给精简了

当然最后么这货

目测已经可以替代Sea.js了!

错,首先正面回答,Seaport完全替代不了Sea.js。因为Sea.js实际使用过程中,有着很多被我们忽略掉的细节。

  • define的参数是多样的,而Seaport仅仅应用于经过transport之后的标准格式
  • Sea.js实现了正则检测出待加载模块,而非等待调用require时才去加载模块,seajs.use也是同理
  • define的第四个参数相关细节并没有去实现
  • 前辈们踩过很多坑,而我本人知之甚少,可能还会再踩一遍,忏愧

那。。。你最后到底在搞什么呢!

如果你的项目同时满足下面的这些条件,还是可以一试的。

  • 全部需要的模块都已合并至同一个文件
  • 除了主文件,没有通过seajs.use引用其他文件
  • 没有使用seajs插件

好了广告打完了!!!

实际上偶偷偷的用了一下,大项目肯定不合适的。

小项目么一般不会用sea.js

所以小项目可以拿来试试,搞点B格。。。

今天被人说偶的音乐播放器没新意。。。怎么出去混。。我也是内牛满面。当初就是随便从妹子那里拿了点素材然后装了个B,啪啪啪的把代码打出来然后妹子那仰望的眼神,瞬间虎躯一震,表示so easy,然后带着不浪费的态度顺便发博客了。今天用了2个钟头把歌词搞定了,顺便改成手机版的,再搞了个分享接口,顺便打了个安卓的包。调用了什么摄像头之类的乱七八糟的东西,最后的东西变成这个样子了

seajs的那点事(很坑的事),和本白的一点事(更坑的事)的更多相关文章

  1. 再访贺利坚(一):IT毕业生去培训机构,这件事很正常(转载)

    转载自: 再访贺利坚(一):IT毕业生去培训机构,这件事很正常 导语:与烟台大学计算机学院贺利坚副教授相识,还是在2012年年底,那个时候我在为社区之星专访栏目寻找合适的采访人.在社区运营的推荐下,我 ...

  2. QT就是别人好心帮你做一些枯燥,并且很重复的代码编写工作,让你更好的把精力投入到你界面的逻辑和功能的实现的功能库(否则写了上万行代码了,才写出个BUG一大堆的毛坯)

    好了,现在开始记录我学习QT的学习历程 . 本人也不是计算机专业出来的,自学了一点,但还是不好找工作,于是参加了培训,虽然感觉没多学到什么 编程的学习生涯就是不断的看别人的源码,然后自己参考着写写自己 ...

  3. 关于很怂地退回SDK,ndk,gradle版本这件事。。。(降版本fix项目异常)

    前言:说明一下,这篇文章对别人应该是没什么用的,单作为自己的记录吧,方便以后查询 电脑重装后没有再使用之前的studio2.3,而是直接下载了最新版的v3.1.2,同时升级了所有SDK(28),NDK ...

  4. RxSwift 入坑好多天 - 终于有了一点理解

    一.前言 江湖上都在说现在就要赶紧学 swift 了,即将是 swift 的天下了.在 api 变化不大的情况下,swift 作为一门新的语言,集众家之所长,普通编码确实比 oc 要好用的多了 老早就 ...

  5. uc广告过滤你能更坑点不

    背景: 搞的手机站要上线,电脑测试木有问题,拿手机访问,有个页面始终不正常, 其他的 windows phone 的正常, ios 的也正常 就唯独 ,用的是安卓,uc的浏览器显示有问题 我勒个去,那 ...

  6. 【填坑纪事】一次用System.nanoTime()填坑System.currentTimeMills()的实例记录

    JDK提供了两个方法,System.currentTimeMillis()和System.nanoTime(),这两个方法都可以用来获取表征当前时间的数值.但是如果不仔细辨别这两个方法的差别和联系,在 ...

  7. 微信小程序从入坑到放弃之坑十二:navigator无法跳转的坑

    转自:http://www.yilingsj.com/xwzj/2018-11-25/weixin-miniprogram-navigator.html 微信小程序中的页面跳转用navigator就行 ...

  8. Vue.js 很好,但会比 Angular 或 React 更好吗?

    文章转自:http://www.oschina.net/translate/vuejs-is-good-but-is-it-better-than-angular-or-rea Vue.js 是一个用 ...

  9. 论nw.js的坑~~~感觉我所有的前端能遇到的坑都踩了一遍

    先总结:nw.js 真特么的...难用...文档,我得先百度才能看的稍微明白点文档......!!!!!!我感觉我所有的前端能遇到的坑都踩了一遍,此文针对前后端分离项目,别的先不说 一.不需要在项目里 ...

随机推荐

  1. 【poj1160】 Post Office

    http://poj.org/problem?id=1160 (题目链接) 题意 按照递增顺序给出一条直线上坐标互不相同的n个村庄,要求从中选择p个村庄建立邮局,每个村庄使用离它最近的那个邮局,使得所 ...

  2. bzoj1113: [Poi2008]海报PLA

    #include <iostream> #include <cstdio> #include <cstring> #include <cmath> #i ...

  3. 从Discuz!NT项目文件结构看如何给系统框架分层和类库分文件夹

    以下为Discuz!NT的文件夹根目录: 类库图: 从上面两个图可以看出: 1.dnt对于类库的分层是通过名称的层级来区分的,如Discuz.Plugn和Discuz.Plugin.Spread 2. ...

  4. Jenkins配置MSBuild时使用环境变量

    [MSBuild Plugin]插件在使用环境变量有个很奇葩的方式,比如我们通常在Windows的节点机器上,使用WORKSPACE环境变量时,批处理应该这样写%WORKSPACE%,而有时插件确不能 ...

  5. iptables常规使用

    0x00 简介 iptables防火墙由Netfilter项目开发,自linux2.4就融入了内核.linux内核中的Netfilter框架可将数据包操作函数挂接至网络栈.iptables便在这个框架 ...

  6. python——代码编码格式转换

    最近刚换工作不久,没太多的时间去整理工作中的东西,大部分时间都在用来熟悉新公司的业务,熟悉他们的代码框架了,最主要的是还有很多新东西要学,我之前主要是做php后台开发的,来这边之后还要把我半路出家的前 ...

  7. AngularJs $interpolate 和 $parse

    $interpolate 将一个字符串编译成一个插值函数.HTML编译服务使用这个服务完成数据绑定. 使用:$interpolate(text,[mustHaveExpression],[truste ...

  8. 数据结构作业——N个数中未出现的最小整数(想法题)

    Description 给出一串数字,这串数字由 n 个数 ai 组成,找出未出现在这串数字中的最小正整数 Input 输入第一行为一个正整数 n (1 <= n <= 1000) 第二行 ...

  9. 问题导向VS目标导向:领导者要倾向哪种?

    人类进步的驱动: 问题驱动:目标驱动: 两者相互影响: 问题驱动是起点,并且在很多杂乱的问题中只有少数可以转化为目标,从而成为进步的动力:多数问题只是以干扰的形式出现. 问题驱动是被动的,并且常常干扰 ...

  10. BigDecimal数据加法返回值接收

    1.相加 两个BigDecimal变量a,b. 如果想进行相加,即a加b的话,返回值需要使用a进行接收,如下: a = a.add(b); BigDecimal为不可变类, 所以执行运算的结果需要再返 ...