From 850efe9fe252ee6e1e613d1d4430316f19225430 Mon Sep 17 00:00:00 2001 From: Pig Fang Date: Mon, 30 Mar 2020 17:21:02 +0800 Subject: [PATCH] load core libraries from jsDelivr --- app/Http/View/Composers/FootComposer.php | 7 +++++++ app/Http/View/Composers/HeadComposer.php | 1 + webpack.config.js | 10 +++++++++- 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/app/Http/View/Composers/FootComposer.php b/app/Http/View/Composers/FootComposer.php index 6690f24a..a3f8083b 100644 --- a/app/Http/View/Composers/FootComposer.php +++ b/app/Http/View/Composers/FootComposer.php @@ -52,6 +52,13 @@ class FootComposer } if (Str::startsWith(config('app.asset.env'), 'dev')) { $scripts[] = $this->webpack->url('style.js'); + } else { + $scripts[] = 'https://cdn.jsdelivr.net/combine/'. + 'npm/react@16.13/umd/react.production.min.js,'. + 'npm/react-dom@16.13/umd/react-dom.production.min.js,'. + 'npm/jquery@3.4,'. + 'npm/bootstrap@4.4/dist/js/bootstrap.min.js,'. + 'npm/admin-lte@3.0/dist/js/adminlte.min.js'; } $scripts[] = $this->webpack->url('app.js'); diff --git a/app/Http/View/Composers/HeadComposer.php b/app/Http/View/Composers/HeadComposer.php index 46cb5cc7..5d06ff0c 100644 --- a/app/Http/View/Composers/HeadComposer.php +++ b/app/Http/View/Composers/HeadComposer.php @@ -75,6 +75,7 @@ class HeadComposer { $view->with('styles', [ $this->webpack->url('style.css'), + 'https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@5.13.0/css/all.min.css', ]); $view->with('inline_css', option('custom_css')); } diff --git a/webpack.config.js b/webpack.config.js index fdaac041..142266e4 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -15,7 +15,6 @@ const config = { app: ['react-hot-loader/patch', '@/index.tsx'], style: [ '@/styles/admin-lte.scss', - '@fortawesome/fontawesome-free/css/all.min.css', '@/styles/common.styl', '@/styles/common.scss', ], @@ -137,6 +136,15 @@ const config = { '@': path.resolve(__dirname, 'resources/assets/src'), }, }, + externals: devMode + ? {} + : { + react: 'React', + 'react-dom': 'ReactDOM', + jquery: 'jQuery', + bootstrap: 'bootstrap', + 'admin-lte': 'adminlte', + }, optimization: { minimizer: [new TerserJSPlugin({}), new OptimizeCSSAssetsPlugin({})], },