【问题标题】:Why node-sass-middleware is not working?为什么 node-sass-middleware 不起作用?
【发布时间】:2015-08-19 16:23:19
【问题描述】:

我已经在我的 express 应用程序上安装了 node-sass-middleware 模块,但我没有让它工作,只是因为中间件正在读取不正确的源,当我调试控制台日志时:

GET / 200 558.983 ms - 4651
  source: /home/karim/Snippets/my-financial/public/stylesheets/sass/stylesheets/main.sass
  dest: /home/karim/Snippets/my-financial/public/stylesheets/stylesheets/main.css
  read: /home/karim/Snippets/my-financial/public/stylesheets/stylesheets/main.css

这两个目录都错了,为什么中间件在source/dest(..public/stylesheets/sass/)和.sass file/.css file(main.sass和main.css之间添加字符串stylesheets/ )?

我的app.js 中有这个配置:

var sassMiddleware = require('node-sass-middleware');
...
...
var app = express();

app.use(sassMiddleware({
  src: path.join(__dirname, 'public/stylesheets/sass'),
  dest: path.join(__dirname, 'public/stylesheets'),
  debug: true,
  indentedSyntax: true,
  outputStyle: 'compressed'
}));

显然这没有编译任何东西,因为目录是错误的。 在..public/stylesheets/sass/ 文件夹中,我只有一个文件main.sass,我想编译它并将结果移到sass/ 文件夹之外,我的意思是..public/stylesheets/。

【问题讨论】:

    标签: javascript node.js express sass


    【解决方案1】:

    那是因为 -- 我很确定 -- 在您的 html 文件中有类似的内容:

    <head>
    
      <!--All your head stuff and-->
      <link rel="stylesheet" href="/stylesheets/main.css"/>
    
    </head>
    

    -- 让我们暂时将该 href 称为 yourAwesomeHref。

    当您的服务器收到任何get 请求时,中间件将在/home/karim/Snippets/my-financial/public/stylesheets(中间件的dest 选项)上查找已编译 main.sass,然后是yourAwesomeHref,结果这条路线:

    /home/karim/Snippets/my-financial/public/stylesheets/stylesheets/main.css
    

    那个文件显然根本不存在! 所以你必须在你的中间件上添加prefix: "/stylesheets"以避免这个问题。

    最终代码为:

    var sassMiddleware = require('node-sass-middleware');
    ...
    ...
    var app = express();
    
    app.use(sassMiddleware({
      src: path.join(__dirname, 'public/stylesheets/sass'),
      dest: path.join(__dirname, 'public/stylesheets'),
      debug: true,
      indentedSyntax: true,
      outputStyle: 'compressed',
      prefix: '/stylesheets'
    }));
    

    【讨论】:

      猜你喜欢
      • 2018-11-08
      • 2018-07-17
      • 2023-04-02
      • 2023-03-06
      • 2015-02-17
      • 2023-04-03
      • 2021-06-05
      • 2018-01-15
      • 1970-01-01
      相关资源
      最近更新 更多