`
zhangyaochun
  • 浏览: 2620503 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

seajs源码相关之dirname

阅读更多

其实很多寻址需求里面都会有这样的api设计

 

举例:

 

"a.js"           ===> "./"

 

"a/b.js"        ===>  "a/"

 

"a/b/c.js"     ===>  "a/b/"

 

 

http://jsperf.com/regex-vs-split/2  这篇test case里面探究了3种方式,有正则也有string本身的split等实现。

 

//最快的也是seajs采用的
function dirname(path){
     var s = path.match(/.*(?=\/.*$)/);
     return (s ? s[0] : '.') + '/';
}

 

 

  贴一下其他的两种吧

 

function dirname(path){
     var s = path.split('/').slice(0,-1).join('/');
     return s ? s : '.';
}
 

function dirname(path){
    var s = ('./' + path).replace(/(.*)?\/.*/, '$1').substring(2);
    return s ? s : '.';
}
 

 

0
2
分享到:
评论

相关推荐

    seajs源码阅读

    **Seajs源码阅读** Seajs是一款轻量级的JavaScript模块加载器,它遵循CommonJS规范,使得在浏览器端也能实现模块化的开发。通过阅读Seajs的源码,我们可以深入理解JavaScript模块化的工作原理,以及如何实现一个...

    Seajs源码详解分析

    在看Seajs源码之前,先看看Seajs是如何使用的,毕竟刚入行的时候,大家就都使用browserify、webpack之类的东西了,还从来没有用过Seajs。 <!-- 首先在页面中引入sea.js,也可以使用CDN资源 --> <script ...

    seajs-2.2.0源码

    本文将深入解析Seajs 2.2.0版本的源码,探讨其核心机制、设计理念以及如何使用它来组织和管理前端项目。 首先,Seajs的核心功能是解决JavaScript的异步加载问题,它允许开发者按照模块化的方式来编写代码,每个模块...

    seajs3.0源码注释

    seajs3.0 源码注释,只是本人阅读源码的一些心得及简单注释。 或者直接查看 博文 查看模块加载过程的流程解释。

    seajs文件源码

    seajs入门资料,快看过来。是seajs源码,可以作为学习的参考。

    seajs官方小实例

    Seajs 源码结构清晰,易于阅读,开发者可以通过阅读源码学习到模块加载、URL 解析、异步加载等技术。 此外,Seajs 还提供了诸如 `seajs.data`、`seajs.event` 等工具方法,方便进行插件开发和事件监听。比如,你...

    seajs相关模板

    以上就是关于Seajs及其相关模板的知识点,包括Seajs的基本概念、插件制作以及如何将传统JS源码或jQuery插件转换为Seajs插件。了解并掌握这些内容,将有助于你在JavaScript模块化开发中更加得心应手。

    CMD规范之seajs

    CMD规范之Seajs Seajs是一款轻量级的前端模块加载器,它遵循CommonJS规范,使得JavaScript在浏览器端也能实现模块化的开发。这个规范主要包含模块定义、模块加载和模块化开发的思想,大大提高了代码的可维护性和...

    seajs手册,教程

    7. **示例与Demo**:压缩包中的"demo源码.rar"包含了一些使用Seajs的实际示例代码,通过这些示例,你可以更好地理解Seajs的用法,包括模块的定义、加载、插件的应用等实践操作。 8. **文档阅读**:"seajs手册.docx...

    seajs-5分钟上手

    Seajs是中国开源社区推出的一款浏览器端的模块加载器,它借鉴了CommonJS的规范,但针对浏览器环境进行了优化,使得JavaScript在浏览器端也能实现模块化的开发。本教程将带你快速了解并掌握Seajs的使用,让你在5分钟...

    seajs js 模块加载器

    SeaJS 是一款专为Web端设计的JavaScript模块加载器,它的出现是为了解决JavaScript在浏览器环境中的组织和管理问题。随着Web应用的复杂度不断提升,JavaScript代码的组织和依赖管理变得至关重要,SeaJS 提供了一种...

    seajs_2.3.0以及学习文档

    此外,如果你打算对 Seajs 进行二次开发或者定制,源码阅读也是必不可少的步骤。 总的来说,Seajs 是一个强大的前端模块化解决方案,它使得在浏览器环境中实现模块化编程变得简单,提高了代码质量。通过深入学习和...

    seajs下载以及规范

    Seajs是中国开源社区推出的一款基于模块化开发的前端加载器,它借鉴了CommonJS的模块化思想,但针对浏览器环境进行了优化。Seajs的核心理念是让JavaScript模块化变得简单,帮助开发者解决在大型Web项目中代码组织、...

    seajs-2.3.0.zip

    Seajs是中国开源社区非常受欢迎的一款JavaScript模块加载器,它的出现为Web开发引入了CommonJS规范,使得前端开发更加模块化,便于代码管理和维护。Seajs 2.3.0是该库的一个稳定版本,提供了丰富的功能和优化。 一...

    SeaJS(Javascript 模块加载框架)源代码

    SeaJS 是一款强大的 JavaScript 模块加载框架,其设计灵感来源于 CommonJS 规范,旨在为前端开发者提供一种模块化开发的方式,使 JavaScript 代码更加结构化、易于管理和复用。SeaJS 的核心目标是让在浏览器环境中...

    seajs-2.2.3

    通过 `seajs.use()` 方法,我们可以指定入口模块,然后 Seajs 将会自动加载并执行相关的依赖。 在 Seajs-2.2.3 版本中,我们可以通过以下方式引入模块: ```javascript seajs.use('./path/to/module', function...

    seajs源代码

    2. **模块加载**:Seajs的核心功能之一是动态加载模块。它通过异步加载脚本(通常通过`<script>`标签),并在脚本加载完成后执行回调函数。`seajs.use`方法用于加载模块并执行回调,而`seajs.require`则用于按需加载...

    seajs入门完整案例,适合新手学习

    Seajs 是一个基于浏览器的模块加载器,它遵循 CommonJS 规范,使得在浏览器环境中可以实现模块化开发。这个“seajs入门完整案例”针对初学者提供了学习资源,帮助他们快速掌握Seajs的基本用法和特性。 1. **模块化...

    前端项目-seajs.zip

    在Seajs项目中,"seajs-master"可能是主分支或者完整版的项目源码目录。这个目录通常会包括以下几个关键部分: 1. **src**:源代码文件夹,包含各个模块的JavaScript文件。 2. **dist**:发布后的文件夹,包含了...

Global site tag (gtag.js) - Google Analytics