webpack3環境下でvueを動かしてる状態からtypescriptを導入する
手順
- typescriptを入れる
$ yarn add --dev typescript ts-loader@3.5.0
- ts-loaderはwebpack 3に対応している v3.5.0を入れる必要あり
- vue-cliが入っていることを確認
$ vue --version
- 入っていなければインストール(
yarn global add vue-cli
)
- インストールされた
/node_modules/ts-loader/README.md
を読みつつ進める
1. webpack.config.js
を以下のように作成or追記
module.exports = { devtool: 'inline-source-map', entry: './app.ts', output: { filename: 'bundle.js' }, resolve: { // Add `.ts` and `.tsx` as a resolvable extension. extensions: ['.ts', '.tsx', '.js'] }, module: { rules: [ // all files with a `.ts` or `.tsx` extension will be handled by `ts-loader` { test: /\.tsx?$/, loader: 'ts-loader' } ] } }
2. tsconfig.json
に以下を追加
{ "compilerOptions": { "sourceMap": true } }
- あとは目的ファイルを
.ts
にリネームしてwebpack.mix.js
を更新する $ npm run dev
参考にしたサイト
【解決】dump結果とview表示結果が異なる@Laravel 5.6
解決しました
解決方法
- Modelに
protected $casts = ['id' => 'string'];
を追加したことで解決!!
解決までの道筋
- dump結果とviewでの表示を見比べて、型がintegerになっているのではと推測
dump($items); dump($items->last()->id); echo $items->last()->id . '<br>'; return gettype($items->last()->id); // 型を返す
とかしてたら、「collectionで取得したものの型変換がおかしいんじゃない?」という気持ちになり検索
- 検索ワードは「lalravel collection 型変換」
- この記事を見つけてSUCCESS!!!
問題だったもの
- モデルに定義したテーブルからとってきた値をビューに表示するだけなのに、表示結果がおかしい。
- ModelクラスのtoStringを追うと、jsonEncodeするときに値がおかしくなっていることがわかるがそれが本当の原因かは不明。
+------------------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +------------------+-------------+------+-----+---------+-------+ | id | varchar(97) | NO | PRI | NULL | | +------------------+-------------+------+-----+---------+-------+
<?php $query = ItemModel::query(); $items = $query ->orderBy('id', 'asc') ->get(); dump($items); return view('test.index', ["items" => $items]);
<?php @foreach($items as $item) <p>{{ $item->id }}</p> @endforeach
<?php /* dump結果 */ "id" => "123--これはID--456" // -> [123]が表示される "id" => "test" // -> [0]が表示される "id" => "あいうえお" // -> [0]が表示される "id" => "3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333" // -> [9223372036854775807]が表示される
gitの複数のブランチを一括で削除する
xargs コマンドを使います。
xargs コマンドとは?
xargs コマンドとは、Linux のコマンドの1つ。
あるコマンドの出力を xargs コマンドに送り込み、別のコマンドの引数として指定することができます。
消したくない branch を除いた全ての branch を削除するとき
git branch | grep -v 消したくないbranch名など | xargs git branch -D
これは、パイプ( | )でくくった部分のコマンドを実行した結果に対して、 xargs
以降のコマンドを適用するという意味になります。
実際に実行したコマンドは以下の画像。(👹<s>-v
が抜けてるのであとで書き直す 書き直した)
git branch
に対するコマンドは自分で判断してね。