我正在尝试与Laravel和Vue建立一个项目。我使用的是此处所述的前端脚手架:https://laravel.com/docs/7.x/frontend
$ composer require laravel/ui
$ php artisan ui vue
这将加载Bootstrap并创建一些javascript文件和SCSS文件:
-->resources
|-->js
|-->app.js
|-->bootstrap.js
|-->sass
|-->_variables.scss
|-->app.scss
这也对resources/views/welcome.blade.php
我不了解Vue在哪里/如何使用resources/sass/app.scss
。我曾尝试更改_variables.scss中的某些内容,例如基本字体大小和字体系列,但是我看不到结果反映在任何地方。同时,显然npm run dev
正在处理该文件,因为例如,如果我引入语法错误,npm run dev
命令将报告该文件。
很抱歉,如果没有足够的详细信息来回答我的问题,我正在尽力而为。我对Vue不太了解。如果您还需要了解其他信息,请在评论中提问。
答案 0 :(得分:1)
npm run dev
命令将处理您的webpack.mix.js
文件中的指令。通常,已编译的CSS将放置在public / css目录中:
npm run dev
Laravel的前端支架中包含的
webpack.mix.js
文件将编译resources/sass/app.scss
SASS文件。这个app.scss
文件导入了SASS变量文件并加载了Bootstrap,这为大多数应用程序提供了一个很好的起点。通过配置Laravel Mix,可以随意自定义app.scss
文件,甚至可以使用完全不同的预处理器。
简而言之,您将在resources/sass/app.scss
文件中工作,然后使用npm run ...
进行编译,您将在/public/css/app.css
文件中得到结果CSS。您可以在webpack.mix.js
文件上change/configure。
然后,您将在某些视图中加载已编译的文件,就像使用html和通用CSS一样:
<link href="/css/app.css" rel="stylesheet" type="text/css" />
但是,如果您想利用其他laravel混合功能,则可以使用mix()
方法:
<link href="{{ mix('css/app.css') }}" rel="stylesheet" type="text/css" />
通常,css被加载到刀片模板中,该模板具有<html>
,<head>
和<body>
标签,您可以将其用作扩展其他视图的布局。
即:
/resources/views/layouts/app.blade.php
<!doctype html>
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- CSRF Token -->
<meta name="csrf-token" content="{{ csrf_token() }}">
<title>{{ config('app.name', 'Laravel') }}</title>
<!-- Scripts -->
<script src="{{ mix('js/app.js') }}" defer></script>
<!-- Styles -->
<link href="{{ mix('css/app.css') }}" rel="stylesheet">
</head>
<body>
<div id="app">
@yield('content')
</div>
</body>
</html>
/resources/views/home.blade.php
@extends('layouts.app')
@section('content')
<div class="container">
<div class="row justify-content-center">
<div class="col-md-8">
<div class="card">
<div class="card-header">Home</div>
<div class="card-body">
@if (session('status'))
<div class="alert alert-success" role="alert">
{{ session('status') }}
</div>
@endif
You are in Home view!
</div>
</div>
</div>
</div>
</div>
@endsection