业精于勤,荒于嬉;行成于思,毁于随。
テンプレートのサフィックスを html に変更すると、ページにアクセスする際にエラーが発生しました。明らかにサフィックスの設定が間違っています。
html
Could not render viewコードを検索したところ、余分なノードviewが見つかりました。このとき、キーワードdefaultEngineを検索して全文検索を行ったところ、場所が見つかりました。
Could not render view
view
defaultEngine
上記のコードによれば、default Engine は view engine の設定から取得されることを意味します。それでは、view engine を検索してみましょう。次のコードを見つけます:
default Engine
view engine
上記のコードから、この view engine が実際には sails.config.view.engine.ext からの構成であり、構成ファイルのパスと同じであることがわかります。
sails.config.view.engine.ext
現時点では、このコードにブレークポイントを設定します
その後、素晴らしいことが起こりました
これに相当する設定のようですが、このファイルを開いてみると、中のengineはこのように定義されていました
engine
なんと! 、状況は何ですか、形式が間違っているのはなぜですか。 json文字列かと思っていました。
次に大胆な調整を加えます
再度エクスポートして、正しい構成変更を取得します
この時点で、自信を持って再起動し、ページを更新しましたが、別のエラーが見つかりました。 ! ! !なんと
エラーレポートが変更され、今の変更が確実に有効であることが示されました。そしてこの時点で、ヘッダーのサフィックス名を ejs に戻してみたところ、フロントエンド ページが正常であることがわかりました。このheaderファイルを読み込むとプログラム内にサフィックス名が書き込まれるようです。
ejs
header
残りのプロセスは、問題がどこにあるのかを判断し、エラー レポートの実行順序に基づいて問題の場所を特定することです。
上記のコードを見つけたところ、パス変数に問題があり、パス変数が見つからないことがわかりました。 nameとfilename
name
filename
現時点で私たちは方法を発見しましたresolveInclude
resolveInclude
見てください。これは、この場所が結合されていることを意味しますが、extname が空を返した場合にのみ結合されます。つまり、ここの name には、渡されるときにサフィックス名が含まれていません。 ! ! !
extname
これを見た後、テンプレート layout.html では、include コマンドが header
layout.html
include
そこで、ここの header を header.html に変更して再度アクセスすると、正常になります。
header.html
それなら、jade テンプレートを試してみてはいかがでしょうか。ネイティブ HTML で直接記述することができます
解決策が見つかりました
テンプレートのサフィックスを
リーリーhtml
に変更すると、ページにアクセスする際にエラーが発生しました。明らかにサフィックスの設定が間違っています。
リーリーCould not render view
コードを検索したところ、余分なノードview
が見つかりました。このとき、キーワードdefaultEngine
を検索して全文検索を行ったところ、場所が見つかりました。上記のコードによれば、
リーリーdefault Engine
はview engine
の設定から取得されることを意味します。それでは、view engine
を検索してみましょう。次のコードを見つけます:上記のコードから、この
リーリーview engine
が実際にはsails.config.view.engine.ext
からの構成であり、構成ファイルのパスと同じであることがわかります。現時点では、このコードにブレークポイントを設定します
リーリーその後、素晴らしいことが起こりました
リーリーこれに相当する設定のようですが、このファイルを開いてみると、中の
リーリーengine
はこのように定義されていましたなんと! 、状況は何ですか、形式が間違っているのはなぜですか。 json文字列かと思っていました。
次に大胆な調整を加えます
リーリー再度エクスポートして、正しい構成変更を取得します
リーリーこの時点で、自信を持って再起動し、ページを更新しましたが、別のエラーが見つかりました。 ! ! !なんと
リーリーエラーレポートが変更され、今の変更が確実に有効であることが示されました。そしてこの時点で、ヘッダーのサフィックス名を
ejs
に戻してみたところ、フロントエンド ページが正常であることがわかりました。このheader
ファイルを読み込むとプログラム内にサフィックス名が書き込まれるようです。残りのプロセスは、問題がどこにあるのかを判断し、エラー レポートの実行順序に基づいて問題の場所を特定することです。
リーリー上記のコードを見つけたところ、パス変数に問題があり、パス変数が見つからないことがわかりました。
を印刷しましょう リーリーname
とfilename
現時点で私たちは方法を発見しました
リーリーresolveInclude
見てください。これは、この場所が結合されていることを意味しますが、
extname
が空を返した場合にのみ結合されます。つまり、ここのname
には、渡されるときにサフィックス名が含まれていません。 ! ! !これを見た後、テンプレート
をロードするために使用されていることが基本的に理解できました。 リーリーlayout.html
では、include
コマンドがheader
そこで、ここの
header
をheader.html
に変更して再度アクセスすると、正常になります。それなら、jade テンプレートを試してみてはいかがでしょうか。ネイティブ HTML で直接記述することができます