0

NodeJS で Express を学習しようとしていますが、プレーンな HTML でビューをレンダリングしたいと考えています。Express API ドキュメントといくつかの Stack の質問、特にこの質問の Andrew Homeyer による回答に基づいて Web サーバーをハッキングしました。

jade にプレーンな HTML ページを含めることができます。

ビュー/index.jadeで

views/plain.html に plain.html を含めます

...そして app.js はまだ jade をレンダリングすることができます:

res.render(インデックス)

私のディレクトリ構造は次のようになります

Project
  *web.js
  Public
      img
      js
      lib
        gallerific
          *jquery.opacityrollover.js
          *jquery.gallerific.js
        angular
      theme
      views
        partials
        *index.html
        *index.jade

私のサーバーは次のようになります。

var express = require('express'),
    jade = require('jade');

var app = module.exports = express();

app.configure(function(){
    app.set('views', __dirname + '/public/views');
    app.use("/public/lib", express.static(__dirname + "/public/lib"));
    app.use(express.static(__dirname + '/public'));
    app.use(express.bodyParser());
    app.use(express.methodOverride());
    app.set('view engine', 'jade')
    app.use(express.bodyParser());
});


app.get('/', function(req, res) {
    res.render('index');
});

app.get('/partials/:name',  function(req, res){
    var name = req.params.name;
    res.render('/public/partials/' + name);
});

app.get('/public/data/:name',  function(req, res){

    var name = req.params.name;
    res.json('/public/data/' + name)

});

app.listen(3000, function(){
    console.log("Express app listening on port %d in %s mode", this.address().port, app.settings.env);
});

私が見ているのは、特定のファイルが、他のすべてが正常にロードされるディレクトリからのロードに失敗することです。たとえば、私のギャラリー ページは、jquery.opacityrollover.js をロードしているのに、lib/gallerific ディレクトリから jquery.gallerific.js javascript ファイルをロードできません。Chrome Developer Tools をいじってみたところ、次のように表示されました

ここに画像の説明を入力

このサイトはAngular Bootstrap Webサーバーで動作していたので、クライアント側コードのjavascriptエラーではないようです。この問題を引き起こす可能性があることを誰かが知っていますか?

ソースはhttps://github.com/jamesamuir/express-simple-html.gitで入手できます。

4

1 に答える 1