【问题标题】:sass-node-middleware not workingsass-node-middleware 不工作
【发布时间】:2018-11-08 01:12:34
【问题描述】:

我正在使用带有节点应用程序的 sass,因为我已经安装了这个依赖项“npm install node-sass-middleware”。它不生成 style.css 文件意味着不编译 style.scss 文件。我正在使用快递。请帮忙

我的 app.js 中的代码

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

// Static folder
app.use(express.static(path.join(__dirname, 'public')));

提前致谢

app.js

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

const app = express();

app.set('view engine', 'ejs');

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

// Static folder
app.use(express.static(path.join(__dirname, 'public')));

app.get('/', (req,res)=>{
  res.render('index');
});

app.get('/download', function (req, res, next) {
    var filePath = "public/files/Bijitashya (2).doc"; // Or format the path using the `id` rest param
    var fileName = "Bijitashya (2).doc"; // The default name the browser will use

    res.download(filePath, fileName);    
});

const port = process.env.PORT || 5000;
app.listen(port, () =>{
  console.log(`Server started on port ${port}`);
});

package.json

{
  "name": "portfolio",
  "version": "1.0.0",
  "description": "My Portfolio",
  "main": "app.js",
  "scripts": {
    "start": "node app.js"
  },
  "author": "Bijitashya",
  "license": "ISC",
  "dependencies": {
    "bootstrap": "4.0.0",
    "ejs": "^2.5.7",
    "express": "^4.16.3",
    "font-awesome": "^4.7.0",
    "jquery": "^3.3.1",
    "node-sass": "^4.9.0",
    "node-sass-middleware": "^0.11.0",
    "popper.js": "^1.12.9"
  }
}

【问题讨论】:

  • 还检查了有关此问题的其他问题,尝试了仍然无法正常工作的问题

标签: node.js express sass node-sass


【解决方案1】:

假设根据您的目录名称,您有需要编译的 .scss 文件。使用选项indentedSyntax: true,中间件将尝试查找.sass 文件而不是.scss 文件。因此,如果您没有任何 .sass 文件,则不会是任何输出或编译文件

您只需将选项设置为false 或删除该选项,因为false 是它的默认值。

【讨论】:

  • 试过了,还是编译不出来。
  • 你要我分享我的脏结构和整个 app.js 文件吗?
  • @BijitashyaBirinchi 那太好了!还有 package.json 请!
  • @BijitashyaBirinchi 感谢您提供的信息。我假设您在更改后重新启动了服务器。中间件是否输出任何日志?您是否测试过强制编译(选项:force: true)?还有一个简单的问题,scss编译没有错误吗?
  • 服务器在更改后重新启动。中间件没有输出。选项:force:true - 未使用。需要在中间件内部使用吗?我认为它甚至在控制台上都看不到任何编译,也没有生成 css 文件
猜你喜欢
  • 2018-07-17
  • 2015-08-19
  • 2023-03-06
  • 2015-02-17
  • 2023-04-02
  • 2023-04-03
  • 2023-03-23
  • 2015-09-16
  • 2015-06-21
相关资源
最近更新 更多