AHi*_*ouy 1 javascript node.js express handlebars.js
因此,我正在开发一个用于基本 CRUD 操作的 Node/Express Web 应用程序,但在项目中实现 Handlebars 却遇到了困难。
当我尝试使用把手时,.hbs(以前的 .html)页面中的样式表都没有加载。
这是文件树:
这是脚本导入语句的示例
索引.hbs
<!-- Bootstrap -->
<link href="../vendors/bootstrap/dist/css/bootstrap.min.css" rel="stylesheet">
Run Code Online (Sandbox Code Playgroud)
最后是 server.js 文件
var express = require('express'),
bodyParser = require('body-parser'),
path = require('path'),
mysql = require('mysql'),
dbconfig = require('./config/database'),
exphbs = require('express-handlebars');
var connection = mysql.createConnection(dbconfig.connection)
connection.query('USE ' + dbconfig.database);
var app = express();
//Body Parser Middleware
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: false}));
//Set static path
//app.use(express.static(path.join(__dirname, 'public')));
//app.use(express.static(__dirname + '/public'));
//app.set('views', __dirname + '/views');
//app.use('/views', express.static(path.join(__dirname, '/views')));
app.engine('hbs', exphbs({defaultLayout: false}));
app.set('view engine', 'hbs');
app.set(express.static(__dirname + '/public'));
//app.use('/views/vendors', express.static(path.join(__dirname, '/views/vendors')));
//app.use(express.static(__dirname + '/public/vendors'));
app.get('/', function(req, res) {
res.render('index');
connection.query("SELECT * FROM Student", function(err, rows){
console.log(rows);
});
});
app.listen(80, function() {
console.log('we are live on 80');
});
Run Code Online (Sandbox Code Playgroud)
我尝试使用我在 SO 上找到的其他东西中的各种静态路径,但无法让它们中的任何一个工作。
任何帮助将不胜感激!!
谢谢!
通过在 app.get('/'... 上方添加以下行解决了我的问题
app.use("/vendors",express.static(__dirname + "/vendors"));
app.use("/build",express.static(__dirname + "/build"));
app.use("/images",express.static(__dirname + "/images"));
app.get('/', function(req, res) {
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4484 次 |
| 最近记录: |