npm 包 nej 使用教程

前言

如果你是一名前端开发工程师,相信你一定知道中文前端类 npm 包 NEJ。这是一个开源的前端类库,提供了一系列工具方法和组件,还有一套完整的 MVVM 框架。它具有高度扩展性、模块化、组件化的特点,可以让工程师快速搭建一个复杂的前端项目。

在本篇文章中,我们将深入探讨 NEJ 的使用教程,为你提供详细的指导和示例代码,让你更加深入了解这个强大的前端类库。

初步认识 NEJ

如果你刚刚开始了解 NEJ,那么在这里我们先简单介绍一下它的主要特点:

  • 提供了大量的工具方法,如类型判断、浏览器判断、DOM 操作、事件绑定、Ajax 封装等;
  • 提供了多种基础控件(Component),如按钮、输入框、下拉菜单等;
  • 提供了一套完整的 MVVM 框架(RegularJS),可以让你方便地实现数据绑定、视图刷新等功能;
  • 支持高度可定制化的模块化和组件化方案,可以满足不同项目的需求。

安装 NEJ

NEJ 是通过修改文件路径来实现不同功能模块的调用,因此相对于其他 npm 包来说,它的安装方式比较特殊。你需要先在你的项目中建立一个 libs 目录,将 NEJ 的源代码下载下来,然后通过修改配置文件和路径来引入不同的模块。

下面是具体的安装步骤:

  1. 在项目中创建一个 libs 目录,用于存放 NEJ 的源代码:
----- ----
-- ----
--- ----- -------------------------------
  1. 在你的 HTML 文件中引入 NEJ 的配置文件:
------- ---------------------------------------
  1. 在对应的 JS 文件中,通过 define 来定义模块:
------------
    -------------
    --------------
-- -------- ---- --- -
  --- ---- - -------------
  -------------- - -
    ------------ -----
    ----- -------- -- -
      -- ---
    --
    -------- -------- -- -
      -- ---
    -
  --
  -- ---
---

在定义模块时,我们引入了两个模块:klass 和 element。这两个模块提供了类的定义和 DOM 操作的功能。

在本文中,我们无法覆盖 NEJ 的所有模块和功能,在实际开发中,你还需要根据项目的需要引入其他模块。

调用 NEJ 模块

在前面的例子中,我们通过 define 来引入了两个 NEJ 模块:klass 和 element。在第二个参数中,我们定义了一个函数,用来处理这两个模块的返回值。在这个函数中,我们把 klass 赋值给了一个变量 _k,把 element 赋值给了一个变量 _e

在实际使用中,我们可以通过 _k._$klass() 来创建一个基于 klass 的类,通过 _e._$get('abc') 来获取一个 id 为 abc 的 DOM 元素。这种方式可以保证不同模块之间的变量不会互相干扰。

然而,这种写法会导致代码变得冗长,尤其是需要频繁使用的模块和变量。为了避免这个问题,NEJ 提供了一个快捷方式,我们可以通过 $ 来简化代码:

------------
    -------------
    ---------------
    ---------------
-- -------- --- --- --- -
  --- ---- - ----------
  --- --------- - ------------
  --- ---- - ------------- --- --- ---
  -------
    ---- ----------------
    ----- -------
    ------- -------
    ----- -----
    ------- -------- ------ -
      -- ---
    -
  ---
---

在这个例子中,我们引入了三个模块:klass、element 和 ajax/xdr。通过 $ 快速获得 klass 的接口,可以避免写 _$klass() 的繁琐;通过 _e.$() 快速获得一个 DOM 元素,可以避免写 _e._$get() 的繁琐;通过 _j 快速获得 ajax/xdr 模块,可以避免写 util/ajax/xdr 的繁琐。

总之,$ 符号在 NEJ 中扮演了一个很重要的角色,它让你不用写很长的模块路径,代替了 NEJ 中很多繁琐的 API 调用。

使用 NEJ 控件

在 NEJ 中,控件(Component)是一种界面元素,具有一定的生命周期、事件处理、数据绑定等功能。NEJ 提供了多种控件类型,如输入框、下拉菜单、树形列表等,你可以通过重写控件的方法,来实现自己的业务功能。

下面我们以按钮控件(Button)为例,讲解如何使用 NEJ 控件:

---- -------- ------------------ -----------------------
------------
    -------------
    ----------
    ------------------
-- -------- --- --- --- --- -
  --- -----
  --- ------ - -------------
  ---- - --------------------------------
  ----------- - -------- -- -
    ---------------
    -- ---
  --
  --------------- - -------- -- -
    ---------------- - -----------------------
    --------------- - ----------------------
  --
  ------------ - -------- --------- -
    -- ---
  --
  -------------- - -------- -- -
    ---------------
    -- ---
  --
  --- --- - --- --------
    ----- -
      -------- ----
    -
  ------------------
---

在这个例子中,我们创建了一个按钮控件 Button。首先,我们通过 _k._$klass() 来创建了一个类,然后通过 _pro 来扩展原型。我们重写了 __init()__initXGui()__reset()__destroy() 方法。

__init() 方法用来初始化按钮的属性和事件,__initXGui() 方法用来初始化按钮的 HTML 和 CSS 模板,__reset() 方法用来重置按钮的属性,__destroy() 方法用来销毁按钮。详细的参数和方法含义,可以参考 NEJ 的官方文档。

最后,我们通过 new Button 来创建了一个按钮实例 btn,并通过 $inject() 来将它渲染到 HTML 元素上。

使用 NEJ MVVM 框架

MVVM 是一种前端的设计模式,其中 MV 代表 Model-View,VM 代表 ViewModel。在 MVVM 模式中,ViewModel 用来管理 Model 和 View 之间的数据传输。

NEJ 中的 MVVM 框架使用的是 RegularJS。下面我们通过一个例子来讲解如何使用 MVVM 框架:

---- ---------
  ------ ----------- ---------------
  --------- -- ---- ------
------
------------
    -------------
    ---------------
    --------------------
    -----------------------------
    -----------------
-- -------- --- --- --- --- ------ -
  --- --- - -----------
    --------- ------
    ----- -
      ----- -------
    --
    ----- -------- -- -
      -- ---
    -
  ---
  --- --- - --- -----
    --- ------
  ---
---

在这个例子中,我们创建了一个 id 为 app 的元素,其中输入框使用了 r-model 来实现数据双向绑定,{{ name }} 则是 RegularJS 的标签渲染语法,表示要显示 name 属性的值。

在 JS 中,我们定义了一个 App 类来管理这个应用程序。在 App 类的定义中,我们指定了模板文件 _htmldata 属性中定义了一个 name 属性的默认值,init() 方法则用来初始化一些逻辑。最后,通过 new App 来创建了一个实例 app,并通过 el 来指定它要绑定到的元素。

在实际开发中,你可以根据这个例子来实现更复杂的数据绑定功能。

总结

NEJ 是一个非常好的前端类库,它提供了多种工具方法、控件、MVVM 框架等功能,可以帮助你快速开发高质量的前端项目。虽然 NEJ 的 API 较为复杂,但只要你掌握了基本的使用方法,就可以获得很高的开发效率。如果你正在学习前端开发,NEJ 是一个不错的选择,它可以帮助你更深入地了解前端开发的世界。

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/74681


猜你喜欢

  • npm 包 grunt-companeo-concatanduglify-cached 使用教程

    前言 对于前端开发来说,削减资源加载时间是非常重要的一个环节。而 grunt-companeo-concatanduglify-cached 正是一个非常有用的工具,它可以把你的文件合并成一个,并且压...

    5 年前
  • npm 包 auto-generate 使用教程

    随着前端技术的快速发展,npm (Node Package Manager) 成为了前端工程师必不可少的工具之一。我们通常会通过 npm 安装和管理前端项目所需的各种依赖库,使得前端开发变得更加高效和...

    5 年前
  • npm 包 cube-jade 使用教程

    前言 在前端开发中,经常需要处理模板和数据的渲染,要达到良好的开发效率和可读性,选择一个好的模板引擎尤为重要。cube-jade 是一个基于 Pug 的高性能模板引擎,支持强大的模板继承和布局功能。

    5 年前
  • npm 包 cube-stylus 使用教程

    前言 在前端开发中,经常需要使用 CSS 预处理语言来提升工作效率, Stylus 是其中一个流行的 CSS 预处理语言。而 cube-stylus 是一个基于 Stylus 的 npm 包,提供了许...

    5 年前
  • npm包 cube-less 使用教程

    介绍 使用less作为css预处理器,可以让前端工程师更快速、灵活、方便地进行样式书写,同时也方便了css代码的维护和修改。但是,写less的时候有时比较繁琐,需要一些写less的经验和技巧。

    5 年前
  • npm 包 co-glob 使用教程

    在前端开发中,我们经常需要处理一些文件操作,比如查找匹配的文件或者读取文件内容等操作。为了方便实现这些功能,我们可以使用 Node.js 的 glob 包,但是在使用过程中可能会遇到一些困难。

    5 年前
  • npm 包 ay 使用教程

    在前端开发中,使用 npm 包已经成为一个很普遍的事情了。npm 包是由社区共享的 JavaScript 库,可以大大加速我们的开发速度,并且能够帮助我们避免重复造轮子。

    5 年前
  • npm 包 palo 使用教程

    介绍 palo 是一个用于前端开发的 npm 包,它提供了对数据库的操作和数据处理的功能,同时也可以用于生成图表和数据可视化。这篇文章会讲解如何使用 palo 这个 npm 包,其中包括安装、使用方法...

    5 年前
  • npm 包 ff 使用教程

    前言 在前端开发过程中,我们经常需要使用一些第三方的库来帮助我们完成一些复杂的功能。npm 是当今最受欢迎的包管理工具之一,可以让我们轻松地安装和管理这些第三方库。

    5 年前
  • npm 包 connectr 使用教程

    在前端开发过程中,我们时常需要对网络请求进行拦截、修改或者延迟等处理,以满足一些特定的业务需求。而 npm 包 connectr —— 一款专门用于增强 connect 中间件的工具,就为我们提供了便...

    5 年前
  • npm 包 express-debug 使用教程

    简介 在开发 Node.js 应用时,经常需要查看一些请求和响应的信息,以便于调试和优化代码。而 express-debug 就是一个能够帮助开发人员更好地了解请求和响应的 npm 包。

    5 年前
  • npm 包 squill 使用教程

    简介 Squill 是一个 Node.js 包,它可以帮助开发人员更快地构建 SQL 查询语句。它提供了一组简单的函数和抽象类型,使得构建和修改 SQL 查询语句成为一种轻松的工作。

    5 年前
  • NPM包devkit使用教程

    NPM是Node Package Manager的缩写,是Node.js的包管理工具。它具有包括安装、升级和删除在内的管理功能,可以让前端开发者更方便地管理和使用第三方库。

    5 年前
  • npm 包 skit 使用教程

    前言 在前端开发中,使用第三方库和插件是必不可少的,而 npm 作为 JavaScript 的包管理工具,可以很方便地下载和管理这些依赖库。 在这篇文章中,我们将介绍一个非常实用和强大的 npm 包 ...

    5 年前
  • npm 包 hypermedia 使用教程

    简介 Hypermedia 可以理解为超媒体,是指在传统媒体的基础上,为了更好地展示信息和实现互动,通过链接实现信息的多维关联和更优质的呈现。在前端开发中,使用 Hypermedia 技术可以提供更加...

    5 年前
  • npm 包 coast 使用教程

    在前端开发中,我们经常需要使用一些优秀的第三方包来提升开发效率和代码质量。npm 就是目前最流行的 JavaScript 包管理器。 本篇文章为大家介绍一款名为 coast 的 npm 包,它提供了一...

    5 年前
  • npm 包 themis 使用教程

    简介 themis 是一个基于 Node.js 和 WebRTC 的实时音视频通信框架,通过实时传输音视频数据,使得用户可以进行远程视频会议、远程辅导、远程医疗等协作活动。

    5 年前
  • npm 包 asyngleton 使用教程

    npm 包 asyngleton 使用教程 随着前端技术的不断发展,前端项目日益复杂,代码中的异步操作也变得愈加频繁。为了更好地处理异步数据,我们需要一些工具来帮助我们编写更加高效、可维护的异步代码。

    5 年前
  • npm 包 loaf 使用教程

    npm 是一个庞大的 JavaScript 包管理工具,可以让我们轻松地发布、共享和使用前端代码库。其中一个很有用的 npm 包就是 loaf。它是一个轻量级的 JavaScript 库,用于将数字转...

    5 年前
  • npm 包 document-section 使用教程

    前言 在前端开发中,文档的编写非常重要。但是,每次手动编写文档比较繁琐且容易出错,如果能够通过代码自动生成文档,会使得工作更加高效。 这就是 npm 包 document-section 的作用。

    5 年前

相关推荐

    暂无文章