Returning HTML, Pug
文字列のみが返されます.だからHTMLで戻ります
2つの選択肢があります.
ブラウザはそのHTMLを実行して表示します.
しかし、問題があります.作るページは決して小さいサイズのサイトではありません.
いちいちそのような方法で指定することはできません.△肩書きを指定してからやるべきことが多すぎる.
もう1つの方法は、
インストールを行います.
express公式ドキュメントを見れば、appで何かできることがあります.
appがあれば、appに欲しいものを設定することができます.
重要なのはviewエンジンを設定できることです.
デフォルトでは、expressはここのviewsフォルダのファイルを検索します.
srcフォルダ内にviewsフォルダを新規作成します.
中で
そして内容を書きます.
今はexpressがpugを使っていることを知っています.
だから別に輸入する必要はありません.
expressはviewディレクトリでpugファイルを検索するように設定されているためです.
でも
エラーをよくチェックし、フォルダの指定位置が異常です.
現在の作業ディレクトリはどこを指していますか
これは、
それは
2つの選択肢があります.
export const trending = (req, res) => res.send("Home Page Videos");
res.send("")
では、HTMLの文字列を用いて送信する方法がある.ブラウザはそのHTMLを実行して表示します.
res.send("<h1>Hello~!</h1>");
このように記述すると、ブラウザはHTML形式で実行されます.しかし、問題があります.作るページは決して小さいサイズのサイトではありません.
いちいちそのような方法で指定することはできません.△肩書きを指定してからやるべきことが多すぎる.
もう1つの方法は、
pug
を利用する方法である.pug
はプレスエンジンです.テンプレートを使用してビューを作成できます.doctype html
html(lang="en")
head
title= pageTitle
script(type='text/javascript').
if (foo) bar(1 + 5)
body
h1 Pug - node template engine
#container.col
if youAreUsingPug
p You are amazing
elsep Get on it!
p.
Pug is a terse and simple templating language with a
strong focus on performance and powerful features.
このようにすれば、変換が可能です.<!DOCTYPE html>
<html lang="en">
<head>
<title>Pug</title>
<script type="text/javascript">
if (foo) bar(1 + 5)
</script>
</head>
<body>
<h1>Pug - node template engine</h1>
<div id="container" class="col">
<p>You are amazing</p>
<p>Pug is a terse and simple templating language with a strong focus on performance and powerful features.</p>
</div>
</body>
</html>
このようにして.インストールを行います.
npm i pug
次にやるべきことはexpressにhtml helperでpugを書くことです.express公式ドキュメントを見れば、appで何かできることがあります.
appがあれば、appに欲しいものを設定することができます.
重要なのはviewエンジンを設定できることです.
server.js
に加えてapp.set("view engine", "pug");
記入すればいいです.デフォルトでは、expressはここのviewsフォルダのファイルを検索します.
srcフォルダ内にviewsフォルダを新規作成します.
中で
home.pug
を作ります.そして内容を書きます.
doctype html
html(lang="en")
head
title Wetube
meta(charset="UTF-8")
meta(http-equiv="X-UA-Compatible", content="IE=edge")
meta(name="viewport", content="width=device-width, initial-scale=1.0")
body
h1 Welcome to Wetube
footer © 2022 Wetube
ファイルをpugに送信すると、pugはそのファイルをhtmlに変換します.videoController.js
まで修正します.export const trending = (req, res) => res.render("home");
home.pug
がレンダリングされます.今はexpressがpugを使っていることを知っています.
app.set("view engine", "pug");
server.js
に書いてあるからです.だから別に輸入する必要はありません.
expressはviewディレクトリでpugファイルを検索するように設定されているためです.
でも
http://localhost:4000/
に行くと、間違いが見えてきます.Error: Failed to lookup view "home" in views directory "
viewディレクトリで「home」というviewを検索できませんでした.エラーをよくチェックし、フォルダの指定位置が異常です.
Documents/wetube/views
筆者はフォルダをこうしたに違いない.Documents/wetube/src/views
expressのデフォルトは、現在の作業ディレクトリフォルダでビューを検索するためです.現在の作業ディレクトリはどこを指していますか
console.log
と確認されました.console.log(process.cwd());
Documents/wetubeこれは、
node.js
がどこで起動され、どこでサーバが起動されるかによって異なります.それは
package.json
です.Documents/wetube
フォルダでは、package.json
がnode.js
を実行します.Reference
この問題について(Returning HTML, Pug), 我々は、より多くの情報をここで見つけました https://velog.io/@0_cyberlover_0/Returning-HTML-Pugテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol