我正在尝试使用 NodeJS 学习 Express,并希望使用纯 HTML 呈现我的视图。我根据 Express API 文档和几个 Stack 问题破解了一个网络服务器,特别是 Andrew Homeyer 在这个问题中的回答
您可以让翡翠包含一个纯 HTML 页面:
在意见/index.jade
在views/plain.html 中包含plain.html
...而 app.js 仍然可以只渲染玉:
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);
});
我所看到的是某些文件无法从其他所有内容都正常加载的目录中加载。例如,我的图库页面无法从我的 lib/gallerific 目录加载 jquery.gallerific.js javascript 文件,而它确实加载了 jquery.opacityrollover.js。我用 Chrome 开发人员工具四处寻找,看到以下内容
我让这个网站与 Angular Bootstrap 网络服务器一起工作,所以它似乎不是客户端代码的 javascript 错误。有谁知道我可能会做什么会导致这个问题?