npm包gulp-elm-extract-assets使用教程

阅读时长 6 分钟读完

在前端开发中,我们经常会用到gulp构建工具来自动化处理文件。而在其中,有一个叫做gulp-elm-extract-assets的npm包,它可以帮助我们从elm文件中提取出用到的和未用到的样式和图片资源,从而使得我们项目的样式和资源文件更加干净整洁。本文将详细介绍使用gulp-elm-extract-assets的方法。

安装

使用npm安装gulp-elm-extract-assets:

使用

在使用gulp-elm-extract-assets前,我们需要先了解一下它的几个参数:

  • assetBasePath:资源文件的基础路径。
  • outputUnusedAssets:是否输出未使用的资源文件。
  • modulePath:elm模块的路径,用于解析路径。

在gulpfile.js中,我们可以这样使用gulp-elm-extract-assets:

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

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

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

这个函数将从src文件夹下的所有elm文件中提取出所有用到和未用到的样式和图片资源,并输出到dist文件夹下。其中:

  • assetBasePath为'src/assets/',表示我们的资源文件都存放在src/assets/目录下。
  • outputUnusedAssets为true,表示我们希望输出所有未使用的资源文件。
  • modulePath为'src',表示我们的elm模块都存放在src目录下。

扩展

除了简单地提取资源外,我们还可以使用gulp-elm-extract-assets的扩展功能来进一步优化我们的资源文件。

图像优化

gulp-elm-extract-assets提供了一个名为gulp-imagemin的扩展,可以帮助我们对提取出的所有图片进行压缩和优化。我们可以这样使用它:

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

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

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

这个函数将把gulp-imagemin作为参数传给gulp-elm-extract-assets的imagemin选项,从而对提取出的所有图片进行压缩和优化。

样式文件优化

gulp-elm-extract-assets还提供了一个名为gulp-postcss的扩展,可以帮助我们对提取出的所有样式文件进行后处理。我们可以这样使用它:

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

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

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

这个函数将把gulp-postcss作为参数传给gulp-elm-extract-assets的postcss选项,从而对提取出的所有样式文件进行后处理。在这个例子中,我们使用了autoprefixer插件,来自动添加浏览器前缀。

示例

最后,为了进一步说明gulp-elm-extract-assets的使用方法,我们来看一个示例:

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

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

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

在这个示例中,我们用到了一个名为/example.png的图片,存放在src/assets/目录下。在使用gulp-elm-extract-assets后,我们得到了两个文件:

  • styles.css:这个文件中包含了所有用到的样式。
  • assets.json:这个文件包含了所有用到和未用到的图片资源,其中,/example.png为用到的资源。

如果我们还启用了gulp-imagemin扩展,那么/example.png在提取出后,也会被压缩和优化。如果我们还启用了gulp-postcss扩展,那么/styles.css在提取出后,也会被自动添加浏览器前缀。通过这些扩展,我们可以进一步优化我们的资源文件,使得它们更加优美高效。

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

纠错
反馈