如何在 Vue-Laravel 应用程序中正确添加应用程序的脚本和样式?



我刚刚开始编写一个基于Laravel和Vue.js的web应用程序我遇到了一个问题,那就是如何在应用程序中正确地包括样式和脚本。目前我的水疗刀片是这样的,我想当我再去的时候它不会很干净:

<!doctype html>
<html class="loading dark-layout" lang="{{ str_replace('_', '-', app()->getLocale()) }}" data-layout="dark-layout"
data-textdirection="ltr">
<!-- BEGIN: Head-->
<head>
<meta charset="utf-8">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1.0,user-scalable=0,minimal-ui">
<meta name="description"
content="Vuexy admin is super flexible, powerful, clean &amp; modern responsive bootstrap 4 admin template with unlimited possibilities.">
<meta name="keywords"
content="admin template, Vuexy admin template, dashboard template, flat admin template, responsive admin template, web app">
<meta name="author" content="PIXINVENT">
<title>{{ config('app.name', 'Laravel') }}</title>
<link rel="apple-touch-icon" href="{{ asset('assets/admin/images/ico/apple-icon-120.png') }}">
<link rel="shortcut icon" type="image/x-icon" href="{{ asset('/favicon.ico') }}">
<link href="https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,300;0,400;0,500;0,600;1,400;1,500;1,600"
rel="stylesheet">
<!-- CSRF Token -->
<meta name="csrf-token" content="{{ csrf_token() }}">
<!-- BEGIN: Vendor CSS-->
<link rel="stylesheet" type="text/css" href="{{ asset('assets/admin/vendors/css/vendors.min.css') }}">
<link rel="stylesheet" type="text/css" href="{{ asset('assets/admin/vendors/css/charts/apexcharts.css') }}">
<link rel="stylesheet" type="text/css" href="{{ asset('assets/admin/vendors/css/extensions/toastr.min.css') }}">
<link rel="stylesheet" type="text/css" href="{{ asset('assets/admin/vendors/css/animate/animate.min.css') }}">
<link rel="stylesheet" type="text/css" href="{{ asset('assets/admin/vendors/css/extensions/sweetalert2.min.css') }}">
<!-- END: Vendor CSS-->
<!-- BEGIN: Theme CSS-->
<link rel="stylesheet" type="text/css" href="{{ asset('assets/admin/css/bootstrap.min.css') }}">
<link rel="stylesheet" type="text/css" href="{{ asset('assets/admin/css/bootstrap-extended.min.css') }}">
<link rel="stylesheet" type="text/css" href="{{ asset('assets/admin/css/colors.min.css') }}">
<link rel="stylesheet" type="text/css" href="{{ asset('assets/admin/css/components.min.css') }}">
<link rel="stylesheet" type="text/css" href="{{ asset('assets/admin/css/themes/dark-layout.min.css') }}">
<link rel="stylesheet" type="text/css" href="{{ asset('assets/admin/css/themes/bordered-layout.min.css') }}">
<link rel="stylesheet" type="text/css" href="{{ asset('assets/admin/css/themes/semi-dark-layout.min.css') }}">
<!-- BEGIN: Page CSS-->
<link rel="stylesheet" type="text/css"
href="{{ asset('assets/admin/css/core/menu/menu-types/horizontal-menu.min.css') }}">
<link rel="stylesheet" type="text/css" href="{{ asset('assets/admin/css/plugins/forms/form-validation.min.css') }}">
<link rel="stylesheet" type="text/css" href="{{ asset('assets/admin/css/pages/page-auth.min.css') }}">
<link rel="stylesheet" type="text/css" href="{{ asset('assets/admin/css/pages/dashboard-ecommerce.min.css') }}">
<link rel="stylesheet" type="text/css" href="{{ asset('assets/admin/css/plugins/charts/chart-apex.min.css') }}">
<link rel="stylesheet" type="text/css"
href="{{ asset('assets/admin/css/plugins/extensions/ext-component-toastr.min.css') }}">
<link rel="stylesheet" type="text/css"
href="{{ asset('assets/admin/css/plugins/extensions/ext-component-sweet-alerts.min.css') }}">
<!-- END: Page CSS-->
<!-- BEGIN: Custom CSS-->
<link rel="stylesheet" type="text/css" href="{{ asset('assets/admin/css/style.css') }}">
<!-- END: Custom CSS-->
</head>
<!-- END: Head-->
<!-- BEGIN: Body-->
<body class="">
<div id="app"></div>
<!-- BEGIN: Vendor JS-->
<script src="{{ asset('assets/admin/vendors/js/vendors.min.js') }}"></script>
<!-- END: Vendor JS-->
<!-- BEGIN: Page Vendor JS-->
<script src="{{ asset('assets/admin/vendors/js/ui/jquery.sticky.js') }}"></script>
<script src="{{ asset('assets/admin/vendors/js/charts/apexcharts.min.js') }}"></script>
<script src="{{ asset('assets/admin/vendors/js/extensions/toastr.min.js') }}"></script>
<script src="{{ asset('assets/admin/vendors/js/extensions/sweetalert2.all.min.js') }}"></script>
<script src="{{ asset('assets/admin/vendors/js/extensions/polyfill.min.js') }}"></script>
<script src="{{ asset('assets/admin/vendors/js/forms/validation/jquery.validate.min.js') }}"></script>
<!-- END: Page Vendor JS-->
<!-- BEGIN: Theme JS-->
<script src="{{ asset('assets/admin/js/core/app-menu.min.js') }}"></script>
<script src="{{ asset('assets/admin/js/core/app.min.js') }}"></script>
<script src="{{ asset('assets/admin/js/scripts/customizer.min.js') }}"></script>
<!-- END: Theme JS-->
<!-- BEGIN: App JS-->
<script src="{{ mix('assets/admin/js/app.js') }}"></script>
<!-- END: App JS-->
<script>
$(window).on('load', function () {
if (feather) {
feather.replace({width: 14, height: 14});
}
})
</script>
</body>
<!-- END: Body-->
</html>

问题是模板的每一页都有不同的样式和脚本,并不是所有的样式和脚本在任何地方都需要。

我感谢任何建议,谢谢!

是的,不清楚。你必须使用Laravel Mix将你的资源编译成一个或两个文件。

对于js,例如css -阅读文档

资源/js/bootstrap.js

window.$ = window.jQuery = require('jquery');
require('bootstrap');
//more requires

你可以为更多的文件(公共和管理,也许)分离你的资产,创建更多的文件,并将其添加到webpack.mix.js

然后,在运行npm run dev -之后,你会在公共目录中看到编译好的资源,并且可以将这些文件包含到blade中。

相关内容

最新更新