sass-node-middleware не работает

Я использую sass с приложением node, для этого я установил эту зависимость «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"
  }
}

структура каталогов


person Bijitashya Birinchi    schedule 29.05.2018    source источник
comment
Также проверил другие вопросы, заданные по этому поводу, попробовал те, которые все еще не работают   -  person Bijitashya Birinchi    schedule 29.05.2018


Ответы (1)


Исходя из имени вашего каталога, у вас есть .scss файлы, которые вам нужно скомпилировать. С опциейindentedSyntax: true промежуточное ПО будет пытаться найти .sass файла вместо .scss файлов. Поэтому, если у вас нет .sass файлов, это не будут выходные или скомпилированные файлы.

Вам просто нужно установить для параметра значение false или просто удалить параметр, поскольку false является для него значением по умолчанию.

person muecas    schedule 30.05.2018
comment
Пробовал, но все еще не компилируется. - person Bijitashya Birinchi; 30.05.2018
comment
Вы хотите, чтобы я поделился своей структурой грязи и всем файлом app.js? - person Bijitashya Birinchi; 30.05.2018
comment
@BijitashyaBirinchi, это было бы здорово! И, пожалуйста, package.json! - person muecas; 30.05.2018
comment
@BijitashyaBirinchi спасибо за информацию. Я предполагаю, что вы перезапустили сервер после изменений. Выводит ли промежуточное ПО вообще какой-либо журнал? Вы тестировали принудительную компиляцию (опция: force: true)? И простой вопрос, scss компилируется без ошибок? - person muecas; 30.05.2018
comment
После изменений сервер перезагружен. нет выходов от промежуточного программного обеспечения. option: force: true - не используется. Нужно использовать внутреннее промежуточное ПО? Я не думаю, что он даже компилирует, что ничего не видно на консоли, и файл css не создается - person Bijitashya Birinchi; 30.05.2018
comment
Я, нет вывода на консоль, только сообщение о запуске сервера. Думаю, я ответил на все - person Bijitashya Birinchi; 30.05.2018
comment
@BijitashyaBirinchi, пробовали ли вы скомпилировать файл scss с помощью node-sass или онлайн, используя sassmeister.com? - person muecas; 30.05.2018
comment
пробовал только сейчас, я его компилировал успешно. Вам нужен файл scss? - person Bijitashya Birinchi; 30.05.2018
comment
@BijitashyaBirinchi Если он компилируется, в этом нет смысла. Тогда я не понимаю. Похоже, что промежуточное звено вообще не является промежуточным звеном. Никогда не казнили. :( - person muecas; 30.05.2018
comment
@BijitashyaBirinchi пробовали ли вы установить такие каталоги, как: path.join(__dirname, '/public/scss') с начальным слэшем перед public? - person muecas; 30.05.2018
comment
@BijitashyaBirinchi Как вы ссылаетесь на css из html? - person muecas; 30.05.2018
comment
‹Ссылка rel = stylesheet href = / css / style.css›. надоело ‹link rel = stylesheet href = css / style.css› также - person Bijitashya Birinchi; 30.05.2018
comment
@BijitashyaBirinchi, попробуйте /style.css - person muecas; 30.05.2018
comment
в любом случае это не сработает, поскольку он не создает style.css в папке назначения - person Bijitashya Birinchi; 30.05.2018
comment
@BijitashyaBirinchi что не подействует? Ссылка на /style.css? Вы можете это проверить? - person muecas; 30.05.2018
comment
да, потому что нет файла style.css, который должен был быть создан промежуточным программным обеспечением. Я вручную создал его и поместил на указанный путь, и это сработало. - person Bijitashya Birinchi; 30.05.2018
comment
@BijitashyaBirinchi, хорошо связанная с /style.css, должна выполнять промежуточное программное обеспечение для компиляции файла scss; создавать его вручную не нужно. - person muecas; 30.05.2018
comment
да, чувак, вот что спрашивал, почему промежуточное ПО не работает. Поскольку он не работал, я просто проверил его вручную. - person Bijitashya Birinchi; 30.05.2018
comment
@BijitashyaBirinchi: Хорошо, я сказал вам проверить все это, потому что я запустил сервер локально, и он сработал. - person muecas; 30.05.2018