簡體   English   中英

Pug中的多行變量(ex-Jade)

[英]Multiline variables in Pug (ex-Jade)

有可能使用它嗎? 例如這里:

- var movieList = [{title: "Ocean's Eleven", rating: 9.2}, {title: "Pirates of the Caribbean", rating: 9.7}];

mixin movie-card(movie)
  h2.movie-title= movie.title
  div.rating
    p= movie.rating

for movie in movieList
  +movie-card(movie)

我不想使用-在每一行的開頭。 如果不可能,有可能導入多行JSON文件?

從版本2.0.3開始,可以使用以下語法:

-
  var arr = ["Very", "Long",
             "Array"];

鏈接到拉取請求: https//github.com/pugjs/pug/pull/1965

您可以使用LOCALS(Jade)或DATA(Pug)在編譯期間導入JSON數據。 這是我通過gulpjs和Pug做的方式,movieList將是在gulpfile.js中創建的數據,songs.json將是一個外部文件。 如果您使用的是任務管理器或快遞等,那么您的代碼示例並不清楚......

gulpfile.js

var fs = require('fs'),
    gulp = require('gulp'),
    pug = require('gulp-pug'),
    movieList = [{title: "Ocean's Eleven", rating: 9.2}, {title: "Pirates of the Caribbean", rating: 9.7}];

gulp.task('markup', function() {
  gulp.src('./markup/*.pug')
    .pipe(pug({
      data: {
      // in Jade, this would be "locals: {"
        "movies": movieList,
        "music": JSON.parse( fs.readFileSync('./songs.json', { encoding: 'utf8' }) )
      }
    )
    .pipe(gulp.dest('../'))
  });
});

並在帕格模板中

- var movieList = locals['movies'] // assuming this will eventually be "= data['movies']"
- var musicList = locals['music'] // assuming this will eventually be "= data['music']"

mixin movie-card(movie)
  h2.movie-title= movie.title
  div.rating
    p= movie.rating

for movie in movieList
  +movie-card(movie)

mixin song-card(song)
  h2.song-title #{song.title}
  div.rating
    p #{song.rating}

for song in musicList
  +song-card(song)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM