伊谢尔伦2017-04-17 16:05:33
テンプレートのサフィックスを 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
に変更して再度アクセスすると、正常になります。