Это часть моего 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, они не нашли ничего в документации, только один вопрос год назад, который остался без ответа. Кто-нибудь может увидеть, что не так, я действительно в растерянности здесь. Любая помощь с благодарностью!