1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- /*
- |--------------------------------------------------------------------------
- | Welcome to Laravel Mix!
- |--------------------------------------------------------------------------
- |
- | Laravel Mix provides a clean, fluent API for defining basic webpack
- | build steps for your Laravel application. Mix supports a variety
- | of common CSS and JavaScript pre-processors out of the box.
- |
- */
-
- /**
- * We'll begin by pulling in a few globals that Mix often uses.
- */
-
- require('./helpers');
- require('dotenv').config();
-
- global.path = require('path');
- global.File = require('./File');
-
- /**
- * This config object is what Mix will reference, when it's time
- * to dynamically build up your Webpack configuration object.
- */
-
- global.Config = require('./config')();
- global.Mix = new (require('./Mix'))();
-
- /**
- * If we're working in a Laravel app, we'll explicitly
- * set the default public path, as a convenience.
- */
-
- if (Mix.sees('laravel')) {
- Config.publicPath = 'public';
- }
-
- /**
- * If the user activates hot reloading, with the --hot
- * flag, we'll record it as a file, so that Laravel
- * can detect it and update its mix() url paths.
- */
-
- Mix.listen('init', () => {
- if (Mix.shouldHotReload()) {
- let http = process.argv.includes('--https') ? 'https' : 'http';
- let port = process.argv.includes('--port')
- ? process.argv[process.argv.indexOf('--port') + 1]
- : Config.hmrOptions.port;
-
- new File(path.join(Config.publicPath, 'hot')).write(
- http + '://' + Config.hmrOptions.host + ':' + port + '/'
- );
- }
- });
-
- /**
- * Mix exposes a simple, fluent API for activating many common build
- * steps that a typical project should require. Behind the scenes,
- * all calls to this fluent API will update the above config.
- */
-
- let Api = require('./Api');
- let api = new Api();
-
- module.exports = api;
- module.exports.config = Config;
|