Пример #1
0
    'public/assets/theme/app.theme.css',
], 'public/assets/css/app.theme.css')
    .combine([
        'public/assets/theme/app.theme.js',
    ], 'public/assets/js/app.theme.js');

// versions
mix.version([
    'public/assets/js/vendor.js',
    'public/assets/js/mobile.main.js',
    'public/assets/js/console.main.js',
    'public/assets/js/app.main.js',
    'public/assets/css/app.main.css',
    'public/assets/css/console.main.css',
    'public/assets/css/mobile.main.css',
    'public/assets/js/manifest.js',
    'public/assets/css/app.vendor.css',
    'public/assets/css/console.vendor.css',
    'public/assets/css/mobile.vendor.css',
    'public/assets/js/app.vendor.js',
    'public/assets/js/console.vendor.js',
    'public/assets/js/mobile.vendor.js',
    'public/assets/css/app.theme.css',
    'public/assets/js/app.theme.js',
]);

if (mix.inProduction()) {
    mix.version();
}

// BrowserSync
mix.browserSync({
Пример #2
0
const fs = require('fs')

mix.config.detectHotReloading()
if (mix.config.hmr) {
  // There's a bug with Mix/copy plugin which prevents HMR from working:
  // https://github.com/JeffreyWay/laravel-mix/issues/150
  console.log('In HMR mode. If assets are missing, Ctr+C and run `yarn dev` first.')

  // Somehow public/hot isn't being removed by Mix. We'll handle it ourselves.
  process.on('SIGINT', () => {
    try {
      fs.unlinkSync(mix.config.publicPath + '/hot')
    } catch (e) {
    }
    process.exit()
  })
} else {
  mix.copy('resources/assets/img', 'public/img', false)
    .copy('node_modules/font-awesome/fonts', 'public/fonts', false)
}

mix.js('resources/assets/js/app.js', 'public/js')
  .sass('resources/assets/sass/app.scss', 'public/css')
  .js('resources/assets/js/remote/app.js', 'public/js/remote')
  .sass('resources/assets/sass/remote.scss', 'public/css')

if (mix.config.inProduction) {
  mix.version()
  mix.disableNotifications()
}
Пример #3
0
        _asset + 'js/plugins/bootstrap/scrollspy.js',
        _asset + 'js/plugins/bootstrap/tab.js',
        _asset + 'js/plugins/bootstrap/affix.js',
        _asset + 'js/_main.js'
    ], 'js/main.min.js')
    .scripts(_asset + 'js/modernizr.custom.js', 'dist/js/modernizr.js')
    .less(_asset + 'less/app.less', 'dist/css/main.min.css')
    .options({
        processCssUrls: false
    })
    .styles([
        _asset + 'fonts/fontello/css/fontello.css',
        _asset + 'fonts/proximanova/proximanova.css',
        _asset + 'css/GentiumBookBasic.css'
    ], 'dist/css/fonts.css')
    .styles(_asset + 'fonts/fontello/css/fontello-ie7.css', 'dist/css/fontello-ie7.css')
    .styles(_asset + 'css/jquery-ui.min.css', 'dist/css/jquery-ui.min.css')
    .styles(_asset + 'css/ie7.css', 'dist/css/ie7.css')
    .styles(_asset + 'css/ie7and8.css', 'dist/css/ie7and8.css')
    .styles(_asset + 'css/old-ie.css', 'dist/css/old-ie.css')
    .copy(_asset + 'img/*', 'dist/img/')
    .copy(_asset + 'fonts/fontello/font/*', 'dist/font/')
    .copy(_asset + 'fonts/proximanova/font/*', 'dist/css/');


if (mix_.inProduction()) {
    mix_.version();
} else {
    mix_.sourceMaps();
}
Пример #4
0
    .sass(`${config.paths.assets}/${config.sass}`, `${config.paths.build}/styles/`)
    .copy(`${config.paths.assets}/images/**/*.{png,jpg,jpeg,gif,svg,ico}`, `${config.paths.build}/images`, false)
    .copy(`${config.paths.assets}/fonts/**/*.{eot,svg,ttf,otf,woff,woff2}`, `${config.paths.build}/fonts`, false);


mix.options({
    // processCssUrls: false,
    vue: {
        esModule: true
    },
    // extractVueStyles: `${config.paths.build}/${config.vue_css}` // Path or boolean
    //   globalVueStyles: file, // Variables file to be imported in every component.
});

if (mix.inProduction()) {
    // Hash and version files in production.
    mix.version(); // need to add cb to theme's php page
}
else {
    mix.webpackConfig({
        devtool: 'inline-source-map',
    });
    // Source maps when not in production.
    mix.sourceMaps()
    // .browserSync(config.serve);
        .browserSync({
            proxy: proxy_url,
            files: config.serve.files
        });
}
Пример #5
0
 */
mix.copy(`${src}/fonts`, `${dist}/fonts`);

/**
 * Main assets (JS & CSS).
 */
mix.js(`${src}/scripts/main.js`, `${dist}/scripts`);
mix.sass(`${src}/styles/main.scss`, `${dist}/styles`, {
  implementation: require('node-sass')
});

/**
 * Production build.
 */
if (mix.inProduction()) {
  mix.version().webpackConfig({
    plugins: [
      new PurgecssPlugin({
        paths: () =>
          glob.sync([
            path.join(__dirname, 'site/templates/**/*.blade.php'),
            path.join(__dirname, 'assets/src/scripts/**/*.js')
          ]),
        extractors: [
          {
            extensions: ['html', 'js', 'php'],
            extractor: LaravelMixExtractor
          }
        ],
        whitelistPatterns: [/^tobi/]
      })