У меня проблема с компиляцией файлов sass с пользовательскими файлами шрифтов.
Вот как выглядит моя структура каталогов:
@import '../../../libraries/SymfonyBundle/assets/css/helper';
@import "helpers/grid";
@import "helpers/colors";
@import "helpers/fonts";
@font-face {
font-family: "custom-font";
src: url("../../fonts/custom-font.eot");
font-weight: normal;
font-style: normal;
}
/var/www/libraries/SymfonyBundle/assets/font/custom-font.eot
/var/www/libraries/SymfonyBundle/assets/css/helper.scss
/var/www/libraries/SymfonyBundle/assets/css/helpers/fonts.scss
Какой URL я должен предоставить? Я пробовал ../../../../libraries/SymfonyBundle/assets/fonts/custom-font.eot (относительно каталога сборки веб-сайта), ../../fonts/custom-font.eot (относительно scss-файла библиотеки).
Но я все еще получаю эту ошибку при выполнении команды yarn run encore dev:
This relative module was not found:
* ../../../../libraries/SymfonyBundle/assets/font/custom-font.eot in ./node_modules/css-loader??ref--4-2!./node_modules/sass-loader/lib/loader.js??ref--4-3!./assets/css/app.scss`
var Encore = require('@symfony/webpack-encore');
Encore
// the project directory where compiled assets will be stored
.setOutputPath('public/build/')
// the public path used by the web server to access the previous
directory
.setPublicPath('/build')
.cleanupOutputBeforeBuild()
.enableSourceMaps(!Encore.isProduction())
// uncomment to create hashed filenames (e.g. app.abc123.css)
.enableVersioning(Encore.isProduction())
// uncomment to define the assets of the project
.addEntry('js/app', './assets/js/app.js')
.addStyleEntry('css/app', './assets/css/app.scss')
// uncomment if you use Sass/SCSS files
.enableSassLoader(function(sassOptions) {}, {
resolveUrlLoader: false
})
// uncomment for legacy applications that require $/jQuery as a global
variable
.autoProvidejQuery()
;
module.exports = Encore.getWebpackConfig();






Каждый раз, когда вы запускаете Encore, в вашем каталоге outputPath автоматически создается файл manifest.json. Проверьте свои пути в этом файле. Особенно косые черты: и значение setOutputPath: ./build/ vs / buld vs build.
Может быть сложно, если ваш Symfony тоже находится в подкаталоге (например, http: //dev.local/my-symfony-app/). Смотрите: этот абзац в Официальный FAQ по Symfony