Laravelでの作成
ターミナルで作成したいディレクトリに移って
$ composer create-project laravel/laravel [プロジェクト名] --prefer-dist
で新規のプロジェクトを立ち上げれる
バージョン指定したい時は
composer create-project --prefer-dist laravel/laravel [プロジェクト名] "6.*" //バージョン指定
そのファイルのターミナル上で
php artisan serve
をすると、localhost:8000でアクセスでき、確認しコードの
config/app.phpの
'timezone' => 'UTC',
//↓
'timezone' => 'Asia/Tokyo',
'locale' => 'en',
//↓
'locale' => 'ja',
config/database.phpの
'mysql' => [
'charset' => 'utf8mb4',
//↓
'charset' => 'utf8',
'collation' => 'utf8mb4_unicode_ci',
//↓
'collation' => 'utf8_unicode_ci',
]
そのファイルのターミナルで
mysql -u root
もしここでmysqlがないってできなかったら
brew install mysql
//でダウンロードして
mysql.server start --skip-grant-tables
エラーが出るなら
brew services stop mysql
mysql.server start --skip-grant-tables
mysql -uroot
もしERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)なら
mysql.server restart
で >mysqlの画面になったら
show databases;
で確認したら
create database データベース名;
.envにそのデータベース名とパスワード もしユーザー名もrootじゃないのにするならそこも変更し、保存
そしてターミナルに戻り
php artisan config:cache
そして
php artisan migrate
で確認
また、mysqlでも確認
mysql -uroot -p
DB一覧を表示
show databases;
使用するDBを選択
use SampleApp;
テーブル一覧を表示する
show tables;
そしてlarravel passportを読み込む
composer require laravel/passport //バージョン指定あるなら "9.*"的な
そしてphp artisan migrateしたらoauthが入ってるか確認し
php artisan passport:install
App\Models\Use.phpに
use Notifiable, HasApiTokens; //laravel6
use HasFactory, Notifiable, HasApiTokens; //laravel8
とし、App\Providersに
laravel6なら App\Providers\AuthServerProvider.php
public function boot()
{
$this->registerPolicies();
Passport::routes(); //追加
}
上に
use Laravel\Passport\Passport; //追加
config\auth.phpの
'api' => [
'driver' => 'passport', ///変更
'provider' => 'users',
'hash' => false,
],
APP\HTTP\Kermel.phpの
protected $middlewareGroups = [
'web' => [
\App\Http\Middleware\EncryptCookies::class,
\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
\Illuminate\Session\Middleware\StartSession::class,
// \Illuminate\Session\Middleware\AuthenticateSession::class,
\Illuminate\View\Middleware\ShareErrorsFromSession::class,
\App\Http\Middleware\VerifyCsrfToken::class,
\Illuminate\Routing\Middleware\SubstituteBindings::class,
\Laravel\Passport\Http\Middleware\CreateFreshApiToken::class, //追加
],
ターミナルに戻って
composer require laravel/ui
php artisan ui vue //laravel7以上
php artisan ui;auth
npm install
php artisan serve
npm run watch
にして
php artisan make:controller AppController
AppControllerに
public function index()
{
return view('home');
}
welcome.blade.phpを消して
web.phpに
use App\Http\Controllers\AppController;
を追加して
Route::get('{any}', [AppController::class, 'index'])->where('any', '.*')->middleware('auth')->name('home');
//laravel8
Route::get('{any}', 'HomeController@index')->where('any', '.*')->middleware('auth')->name('home');
//laravel6
resourcesの中のcomponentsのExampleを消してApp.vueを作成
App.vueに
<template>
<div></div>
</template>
<script>
export default {
name: "App"
}
</script>
<style scoped>
</style>
を作成し、home.blade.phpに
@section('content')
<App></App>
@endsection
resourcesのjs\app.jsを
require('./bootstrap');
window.Vue = require('vue').default;
const app = new Vue({
el: '#app',
});
ターミナルで
npm install vue-router --save-dev
resourcesのjsにrouter.jsを作成し
import Vue from 'vue';
import VueRouter from 'vue-router';
Vue.use(VueRouter);
export default new VueRouter({
mode: 'history',
routes: [
{
path: '/',
name: 'home',
component: Start,
}
]
});
jsにviewsファイルを作成し、Start.vueを作成し
<template>
</template>
<script>
export default {
name: "Start"
}
</script>
<style scoped>
</style>
router.jsに
import Start from './views/Start.vue';
を追加し、app.jsの
import Vue from 'vue';
import router from './router';
import App from './components/App';
require('./bootstrap');
window.Vue = require('vue').default; //削除
const app = new Vue({
el: '#app',
components: {
App
},
router,
});
App.vueのtemplateに
<div>Start
<router-view></router-view>
</div>
Start.vueのtemplateに
<div>
適当に打つ
</div>
とやると’ / ’にアクセスすると表示されるか確認
ターミナルで
npm install tailwindcss --save-dev
resources\sass\app.sassを書き換え
@tailwind base;
@tailwind components;
@tailwind utilities;
webpack.min.jsのsassを書き換え
const tailwindcss = require('tailwindcss'); //上に追加
mix.js('resources/js/app.js', 'public/js')
.vue()
.sass('resources/sass/app.scss', 'public/css')
.options({
processCssUrls: false,
postCss: [ tailwindcss('./tailwind.config.js') ],
});
ターミナルで
npx tailwind init
実際に何か試してみて
npm run dev
で変更されてたら設定完了
この記事が気に入ったらサポートをしてみませんか?