Node-SASS-Middleware更改源文件路径并添加路由

时间:2018-09-05 11:16:40

标签: node.js sass node-sass

这是我的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变体都发生了同样的情况,在文档中未发现任何内容,只是一年前的一个问题,至今未得到解答。有人能看到什么问题吗,我真的很茫然。任何帮助,不胜感激!

0 个答案:

没有答案