laravelにyoでangularJs&coffeescriptを使えるようにする。
前提laravelは動作できているものとする
generatorの設定等
まずyoコマンドを利用出来る必要があるので以下でインストール
npm install -g yo bower generator-angular grunt-cli
globalにインストールしたところでlaravelのプロジェクトルートに移動。
クライアントのコードを管理するディレクトリを作成、移動する。
mkdir client
cd client
クライアントの環境作成
yo angular --coffee
これで雛形まで完成。
このままgrunt build
を実行するとわかるがエラーになる。
原因はGruntfile.js
の中でwiredep
というタスクのoptionsが設定されてるから。
optionsのcwd
をコメントアウト
options: {
//cwd: '<%= yeoman.app %>'
},
修正したら再度、ビルドを実行。
grunt build
するとclient/
の中にdist/
というディレクトリが作られて中にコンパイルされたファイルが出来上がってる。
ただし、こんなとこにファイルがあってもアクセスできないのでlaravel
のpublic
ディレクトに作成されるようにGruntfile.js
を修正する。
ちなみに今作成したdist/
は必要ないので削除する。
laravelのファイルを移動。
まずGruntfile.js
を変更する前にファイルを退避する必要がある。
grunt build
を実行するたびにpublic/
の中身が削除されるて再作成されてしまうのでlaravelのindex.php, .htaccess
をclient/app/
に移動させる。
出力先の変更 client/dist/
→public/
var appConfig = {
app: require('./bower.json').appPath || 'app',
dist: '../public'
};
clean時に階層が上のファイルも消せるようにオプションを追加
// Empties folders to start fresh
clean: {
options: {
force: true
},
dist: {
files: [{
dot: true,
src: [
'.tmp',
'<%= yeoman.dist %>/{,*/}*',
'!<%= yeoman.dist %>/.git*'
]
}]
},
退避させたindex.phpもコピーされるようにする
「src」に「'*.php',」を追加。
copy: {
dist: {
files: [{
expand: true,
dot: true,
cwd: '<%= yeoman.app %>',
dest: '<%= yeoman.dist %>',
src: [
'*.{ico,png,txt}',
'.htaccess',
'*.html',
'*.php',
'views/{,*/}*.html',
'images/{,*/}*.{webp}',
'fonts/*'
]
}, {
修正したら再度、ビルドを実行。
grunt build
実行後にブラウザでアクセスするとhttp://localhost/#/
となり以下のような画面が表示されます。
laravelのルーティング
今回、私の環境ではlaravelはapiのみ担当させるので以下のようにした
Route::group(array('prefix' => 'api'), function() {
Route::resource('users', 'UserController');
URLをhttp://localhost/api/users
とかするとjsonを返すようにしてる。
雛形完成
あとはangularJsからlaravelにアクセスして実装してくださいー
参考にしたサイト
generator-angular
↑初期生成だけじゃなくてcontoller等もコマンドで作成できるらしいので見といたほうが良い(まだ試してない)。
yo angular:controller user
http://qiita.com/tetsuya/items/a488b66a88369307a213#1-9
http://shoheik.hatenablog.com/entry/2014/02/26/214235
:wq
Author And Source
この問題について(laravelにyoでangularJs&coffeescriptを使えるようにする。), 我々は、より多くの情報をここで見つけました https://qiita.com/astrsk_hori/items/de77b992279bdf1c80c3著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .