Я хочу использовать PrimeNG в моем Webpack (3.12.0) + Angular (5.1) проекте.
Я добавил в package.json :
"primeicons": "^1.0.0",
"primeng": "^7.1.0",
Я также добавил в vendor.scss :
@import 'node_modules/primeicons/primeicons';
@import 'node_modules/primeng/resources/themes/nova-light/theme';
@import 'node_modules/primeng/resources/primeng.min';
Когда я запускаю YARN START (что означает: yarn run webpack: dev), я получаю следующую ошибку для всех шрифтов и изображений primeng:
ERROR in ./node_modules/css-loader!./node_modules/postcss-loader/lib!./node_modules/sass-loader/lib/loader.js!./src/main/webapp/content/scss/vendor.scss
Module not found: Error: Can't resolve './fonts/primeicons.eot' in 'C:\Users\Public\projects\myangularproject\src\main\webapp\content\scss'
...
ERROR in ./node_modules/css-loader!./node_modules/postcss-loader/lib!./node_modules/sass-loader/lib/loader.js!./src/main/webapp/content/scss/vendor.scss
Module not found: Error: Can't resolve './images/loading.gif' in 'C:\Users\Public\projects\admin-console\src\main\webapp\content\scss'
это часть кода, предназначенная для загрузки стилей в webpack.dev.js :
module: {
rules: [{
....
},
{
test: /\.scss$/,
loaders: ['to-string-loader', 'css-loader', 'sass-loader'],
exclude: /(vendor\.scss|global\.scss)/
},
{
test: /(vendor\.scss|global\.scss)/,
loaders: ['style-loader', 'css-loader', 'postcss-loader', 'sass-loader']
},
{
test: /\.css$/,
loaders: ['to-string-loader', 'css-loader'],
exclude: /(vendor\.css|global\.css)/
},
{
test: /(vendor\.css|global\.css)/,
loaders: ['style-loader', 'css-loader']
}]
Папка
node_modules / primeng выглядит следующим образом:
Итак, primeng.min.css нужны дополнительные изображения / шрифты, но они не доставляются через веб-пакет. Понятно, что моя конфигурация нуждается в доработке. Чего мне не хватает?