artisan-1.x-dev/artisan_starterkit/webpack.mix.js

artisan_starterkit/webpack.mix.js
require('dotenv').config({ path: '.env.local' });
const mix = require('laravel-mix');
const glob = require('glob');
require('laravel-mix-copy-watched');

mix
  .sourceMaps()
  .webpackConfig({
    devtool: 'source-map'
  })
  .disableNotifications()
  .options({
    processCssUrls: false
  });

mix.browserSync({
  proxy: process.env.DRUPAL_BASE_URL,
  files: [
    'components/**/*.css',
    'components/**/*.js',
    'components/**/*.twig',
    'templates/**/*.twig'
  ],
  stream: true
});

mix.sass("src/scss/bs-dropdown/bs-dropdown.scss", "build/css/bs-dropdown.css");
mix.sass("src/scss/style.scss", "build/css/style.css");

for (const sourcePath of glob.sync("components/**/*.scss")) {
  const destinationPath = sourcePath.replace(/\.scss$/, ".css");
  mix.sass(sourcePath, destinationPath);
}

mix.js("src/js/bs-dropdown/bs-dropdown.js", "build/js/bs-dropdown.js");
mix.js("src/js/script.js", "build/js/script.js");

for (const sourcePath of glob.sync("components/**/_*.js")) {
  const destinationPath = sourcePath.replace(/\/_([^/]+\.js)$/, "/$1");
  mix.js(sourcePath, destinationPath);
}

mix.copyDirectoryWatched('src/assets/images', 'build/assets/images');
mix.copyDirectoryWatched('src/assets/fonts/**/*', 'build/fonts');

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc