首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用gulp.js编译HTML部分

用gulp.js编译HTML部分
EN

Stack Overflow用户
提问于 2014-02-24 18:05:06
回答 5查看 28.3K关注 0票数 38

是否有一个可用于Gulp的插件,其功能与Assemble相同?

我想运行一个任务的Gulp,组装HTML部分,但我找不到一个插件。有人用过吗?你能提供一个链接到它吗?

更新:2016年4月21日

最近,我一直在使用Twig.js和Gulp,以及吞咽数据在我的模板中呈现JSON。我的文章详细介绍了。提示:你也可以使用Nunjucks,Swig.js,车把等。

文章: 带Gulp和Twig.js的前端模板

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2014-02-25 07:32:53

是的,你可以用这个叫做吞咽文件-包括的插件来做。

例子:

# index.html

代码语言:javascript
复制
<!DOCTYPE html>
<html>
  <body>
  @@include('./view.html')
  @@include('./var.html', {
    "name": "haoxin",
    "age": 12345
  })
  </body>
</html>

# view.html

代码语言:javascript
复制
<h1>view</h1>

# var.html

代码语言:javascript
复制
<label>@@name</label>
<label>@@age</label>
票数 48
EN

Stack Overflow用户

发布于 2014-07-28 14:41:42

我制作了一个插件来扩展html文件https://www.npmjs.org/package/gulp-html-extend

master.html

代码语言:javascript
复制
<body>
    <!-- @@placeholder=content -->
    <!-- @@placeholder=footer -->
</body>

content.html

代码语言:javascript
复制
<!-- @@master=master.html-->

<!-- @@block=content-->
<main>
    my content
</main>
<!-- @@close-->

<!-- @@block=footer-->
<footer>
    my footer
</footer>
<!-- @@close-->

输出

代码语言:javascript
复制
<body>

<!-- start content -->
<main>
    my content
</main>
<!-- end content -->

<!-- start footer -->
<footer>
    my footer
</footer>
<!-- end footer -->

</body>

可能对你有帮助。

票数 12
EN

Stack Overflow用户

发布于 2014-10-19 16:14:36

我还想再补充一句:

我用吞咽预处理。它不仅可以构建html,还可以构建JavaScript,甚至可以在PHP中使用。它有一些简单的指令:

代码语言:javascript
复制
    <!-- @include filename.extension -->

    <!-- @ifdef foo -->
        Included html if foo is defined
    <!-- @endif -->

    Also @ifndef (not defined)

    Variables

    <!-- @echo bar -->

   Or even cooler:

    <a href="<-- @echo linkvar -->">link</a>

  Also (as far as I can tell) unlimited sub inclusion:

   <!--  I am an included file -->
   <!-- @include relative/to/me/data.html -->

我有一个类似这样的目录树:

代码语言:javascript
复制
     ./project root
         - build/
           - less/
             [less,..]
           - html/
               - index/
                 Index-variables.json
                 [Index-partials.html,...]
           Index.html
           [other-build-folders,..]

         - dist
           [htmlfiles,...,CSS folder,...]

对于每个呈现的html文件,我在build文件夹中有一个相应的文件,该文件名有一个相应的文件夹。生成文件侦听相应文件夹中的更改,并对数据进行预处理,然后将数据输出到dist文件夹中的匹配文件。

由于预处理允许将变量作为上下文对象传递,所以我传递存储在父构建文件夹.e.g中的JSON文件中的变量。index-variables.json,覆盖我定义的所有全局变量。

我使用它与利物浦,所以结果是,每次我做任何html部分的变化,页面重新加载几乎立即与所呈现的html -我们是说不到1秒。除了闪电快,预处理看起来真的很稳定-我从来没有一个bug。

这是一种很棒的工作方式。

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21995500

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档