NPM包gulp-preprocess使用教程

阅读时长 5 分钟读完

在前端开发中,我们经常需要在不同的环境中调整应用程序的配置。例如,我们可能需要在开发环境中使用一组API端点,而在生产环境中使用不同的API端点。

为了帮助简化这些任务,gulp-preprocess是一个非常有用的 gulp 插件,它可以根据不同的环境执行条件性变量替换,使得我们更容易地完成多环境部署。

安装gulp-preprocess

gulp 结合 gulp-preprocess 使用,我们需要将其安装为项目的一部分。

使用 npm 安装gulp-preprocess:

在安装完成后,我们可以使用 gulp 的方式来引入gulp-preprocess:

如何使用gulp-preprocess

gulp-preprocess 插件在开发环境和部署生产环境方案中分别会有不同用法。下面将分别介绍其使用方法。

开发环境

在开发环境中,我们希望应用程序将关键配置与应用程序的文件完全剥离,并且具有可读性。

例如,在我们开发Vue.js应用时,我们可以通过将应用程序的配置存储在一个对象中,将这些变量发送到一个单独的json文件中。

如图所示,开发环境配置文件 development.json 储存了我们需要的配置参数。

我们可以在 gulpfile.js 中使用 gulp-preprocess 插件处理这个 json 文件,并将其存储在 gulp.dest() 中,这样我们可以在开发阶段轻松地切换到其他开发环境。

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

-------------------- -- -- -
  --------------------------
    ------------------
        -------- -
            --------- --------------
            ------ -----
            -------- ---------------------------------
        -
    ---
    -------------------------
---
展开代码

运行这个任务后,gulp-preprocess 将会使用 context 对象中指定的内容,将处理后的配置参数替换到html中。

生产环境

在部署生产环境的情况下,我们需要更精细的配置,需要在构建自己的应用程序时使用不同的值。

如图所示,生产环境配置文件 production.json 储存了我们需要的配置参数。

在利用 gulp 构建部署生产环境的应用程序时,我们需要在对象中使用 preprocess-options ,并将其传递给preprocess()中。

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

----------------- -- -- -
  --------------------------
    ------------------
        -------- -
            --------- ------------
            ------ ------
            -------- ---------------------------------
        --
        -------- -
            ------- -----
            ------------------ --------- --------
            -------- -
              --------- ------------
            -
        -
    ---
    ------------------------
---
展开代码

如果您需要将其他文件添加到构建中,请使用 gulp-rename将其添加到想要将其部署到的位置。

例如,在下面的示例中,所有扩展名为 .dev.html 的文件将被部署到 /dev.domain.com 上:

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

-------------------- -- -- -
  -------------------------- --------------------
    ------------------
        -------- -
            -------- --------------------------
            ------ -----
        -
    ---
    --------------
        -------- -----------
    ---
    ------------------------------------
---
展开代码

在这种情况下,我们在gulpfile.js中使用 gulp 运行相应任务。例如,运行默认任务:

就会执行gulpfile.js中的默认任务。

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