这是我的app.js的一部分:
// Configure Node Sass
app.use(sassMiddleware({
// src: path.join(__dirname,'sass'),
// dest: path.join(__dirname,'public'),
src: './sass',
dest: './public',
debug: true
}))
app.use(express.static(path.join(__dirname,'public')));
这些是我的目录路由,一个“目录路由”显示一个数据库中找到的项目,一个“显示路由”显示一个特定项目的信息。
// Directory Route, show all items from database
router.get('/directory', (req,res) => {
item.find({}, (err,foundItem) => {
if(err)
router.redirect('/')
else
res.render('directory/directory',{item:foundItem})
});
});
//Show Route, show info about one specific item
router.get('/directory/:id', (req,res) => {
item.findById(req.params.id, (err,foundItem) => {
if(err)
{
console.log(err);
res.redirect('/directory');
}
else
res.render('directory/show',{item: foundItem});
})
});
我的文件结构的一部分:
SCSS
stylesheets
app.scss
public
stylesheets
app.css
views
directory
directory.ejs
show.ejs
当我调用目录路由时,一切正常,那么这些就是来自node-sass的终端消息:
[sass] source: sass/stylesheets/app.scss
[sass] dest: public/stylesheets/app.css
[sass] read: sass/stylesheets/app.scss
[sass] render: sass/stylesheets/app.scss
[sass] write: public/stylesheets/app.css
但是,如果我调用show route,则会在源目录和目标文件路径中添加一个/目录,并且自然也找不到这些文件。这些就是终端消息。
[sass] source: sass/directory/stylesheets/app.scss
[sass] dest: public/directory/stylesheets/app.css
[sass] read: sass/directory/stylesheets/app.scss
[sass] skip: sass/directory/stylesheets/app.scss does not exist
src和dest变体都发生了同样的情况,在文档中未发现任何内容,只是一年前的一个问题,至今未得到解答。有人能看到什么问题吗,我真的很茫然。任何帮助,不胜感激!