gulp ejsで
ejsファイルをまとめてhtmlに起こしたい
gulpを使用して作業をしたいと思い
https://flex-box.net/gulp/
https://haniwaman.com/ejs/#EJS-2
こちらの2つのサイトが分かり易そうだったので
参考に進めてきたのですがgulp ejsコマンドしても
htmlファイルに変換はされるのですが_header.ejsと_footer.ejsがindex.ejsに
合わされません。
色々と他のサイトやパスの違いがないかを確認したのですが解決に
至らなかったので質問させていただきました。
まだ、始めたばかりで情報足らずかもしれませんが
宜しくお願いいたします。
一応、下記に実際に構築してたものの一部を載せておきます。
//gulpfile.js gulp.task("ejs", (done) => { gulp .src(["ejs/**/*.ejs", "!" + "ejs/**/_*.ejs"]) .pipe( plumber({ errorHandler: notify.onError("Error: <%= error.message %>") }) )//エラーチェック .pipe(rename({extname: ".html"})) //拡張子をhtmlに .pipe(gulp.dest("./")); //出力先 done(); });
//_header.ejs <!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="format-detection" content="telephone=no"> <link rel="stylesheet" href="<%= path %>/css/style.css"> <title><%= title %></title> <meta name="description" content="<%= description %>"> </head> <body>
//inde.ejs <% var title = 'トップページのタイトルタグ'; %> <% var description = 'トップページのディスクリプション'; %> <% var path = '.'; %> <% include ../common/_header %> <!-- content --> <div id="content"> <div class="inner"> <p>トップページに出力すること</p> </div><!-- /inner --> </div><!-- /content -->
2020/02/11〜
ご指摘の通り行ってみたのですが上手くいかなった為
他にも原因があるのかなと思い
改めてこちらに記載しております。
単純の自分のミスかもしれませんので自分でもケアレスミスがないかを確認しつつも
もし分かる方がいましたら
教えて頂けると幸いです。
//index.ejs <% include /common/_header %> <h1>Hello!</h1> <% include ./common/_footer %>
//_header.ejs <!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> </head> <body> <header> <h1>hogehoge</h1> </header>
//gulp.file var gulp = require('gulp'); var ejs = require("gulp-ejs"); var rename = require("gulp-rename"); //.ejsの拡張子を変更 var replace = require("gulp-replace"); gulp.task("ejs", done => { gulp .src(["src/ejs/**/*.ejs", "!src/ejs/**/_*.ejs"]) .pipe(ejs({}, {}, { ext: ".html" })) .pipe(rename({ extname: ".html" })) .pipe(replace(/[\s\S]*?(<!DOCTYPE)/, "$1")) .pipe(gulp.dest("./dst/")); done(); //一部分を抜粋 });
また、実行後画像のように
PluginError [SyntaxError]等が表示されます…
どうぞ宜しくお願いいたします。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/02/11 12:44