最近在学Laravel,遇到前端资源加载的问题,记录一下。
一、前端共用资源的配置
1. webpack.mix.js
1
2
3
4
|
//一般不太更动,透过以下两个档案讲所需资源加载。 mix.js( 'resources/assets/js/app.js' , 'public/js' ) .sass( 'resources/assets/sass/app.scss' , 'public/css' ); |
2. npm 命令安装前端套件资源(以jquery-ui为例)
1
2
|
npm install jquery-ui --save-dev // --save-dev 为加入到package.json:devdependencies中 |
3. 配置JS资源
1
2
3
4
5
6
7
8
9
|
// resources/assets/js/app.js try { window.$ = window.jQuery = require ( 'jquery' ); require ( 'bootstrap-sass' ); window.datepicker = require ( 'jquery-ui' ); // 或 import 'jquery-ui/ui/widgets/datepicker.js'; // add as many widget as you may need // 路径到node_modules/jquery-ui...去找 } catch (e) { } |
4. 配置CSS资源
1
2
3
4
|
// resources/assets/sass/app.scss @import '~jquery-ui/themes/base/all.css' ; /* 路径到node_modules/jquery-ui...去找 */ |
5. 初始/启用套件模组
1
2
3
4
5
6
|
// resources/assets/js/app.js $( '.datepicker' ).datepicker(); // e.g <input type="text" class="datepicker" /> // 此例之datepicker仅示范,datepicker非所有页面共用,建议写在view(blade)里面,见下段push的方式。 // vue所有页面共用,可以在app.js初始/启用 |
6. npm编译
1
2
|
npm run dev #resource档案夹下的资源需要编译才会生效 |
二、各页面私有资源
1. 共用标题模板
1
2
3
4
5
6
7
|
@stack( 'styles' ) @stack( 'scripts' ) <!-- 在适当位置加入以上两条语句,建议@stack( 'styles' 放在<head>中, @stack( 'scripts' )放在<body>内底部(部分JS需要等DOM加载完成方可使用)。 --> |
2. 各页面内容模板
1
2
3
4
5
6
7
8
9
10
11
12
13
|
@push( 'styles' ) <link rel= "stylesheet" href= "{{ asset('Path_to_CSS') }}" rel= "external nofollow" > @endpush @push( 'scripts' ) <script src= "{{ asset('Path_to_JS') }}" ></script> @endpush @section( 'content' ) <div> ... </div> @endsection |
以上这篇Laravel 前端资源配置教程就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/weixin_42557486/article/details/83584409