npm 包 gulp-jst-extend2 使用教程

阅读时长 6 分钟读完

简介

gulp-jst-extend2 是一款 gulp 插件,用于将 Underscore / Lodash / Handlebars 等模板语言编译成可供浏览器使用的 JavaScript 代码。

与原生的 gulp-jst-extend 不同,gulp-jst-extend2 支持多套模板语言的编译,且支持编译 Cache。使用起来非常方便:

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

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

本篇文章将详细讲解如何使用 gulp-jst-extend2 插件。

安装

首先需要安装 gulp-jst-extend2:

使用

gulp-jst-extend2 主要有两个参数:selectorcache

selector

selector 指定模板语言及其编译函数。其中,键名为模板语言,值为模板语言对应的编译函数。

如:

上述代码表示编译器将解析文件中 <script type="text/template" data-template /> 标签内的内容,将内容用 _.template 函数编译成 JavaScript 代码,如果该 HTML 文件中还有 <script type="text/template" data-template-lodash /> 标签内的内容,则使用 _.template 函数编译成 JavaScript 代码。同时,selector 还支持读取多套模板语言。可以使用以下语法:

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

上述代码表示编译器将解析文件中 <script type="text/template" data-template /> 标签内的内容,将内容用 _.template 函数编译成 JavaScript 代码;将解析文件中 <script type="text/template-lodash" data-template-lodash /> 标签内的内容,将内容用 _.template 函数编译成 JavaScript 代码;将解析文件中 <script type="text/template-handlebars" data-template-handlebars /> 标签内的内容,将内容用 Handlebars.compile 函数编译成 JavaScript 代码。

cache

cache 开启编译缓存。

如:

上述代码表示编译器开启缓存,加快编译速度。

示例

以 Underscore 为例,假设我们有以下代码:

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

运行 gulp:

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

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

结果会在 dist/js 目录下生成 home.js 文件,文件内容如下:

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

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

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

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

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

总结

gulp-jst-extend2 是一款非常实用的 gulp 插件,使用它能快速地将多套模板语言编译成 JavaScript 代码供浏览器使用。我们也可以根据自己的需要定制化 selectorcache 参数来达到不同的需求。

当然,本篇文章只是简单地介绍了 gulp-jst-extend2 的使用,要真正熟练掌握这个插件还需要多加实践和积累。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600572fe81e8991b448e925d

纠错
反馈