2016-12-21 1 views
0

Laravel 5.3에 vue.js 및 app.js와 같은 스크립트 파일을 포함시키는 방법은 무엇입니까? 그들을 포함시킬 특별한 방법이 있습니까? 나는 아래처럼 그들을 포함시키고있다. 단지 당신이 다른 대답에 의해 제안 Laravel elixir스크립트 파일 포함 Laravel 5.3

답변

1

를 통해 사용하고자하는 파일을 복사

<script src="http://127.0.0.1/addbook/node_modules/vue/dist/vue.js"></script> 
<script src="js/app.js"></script> 
+0

감사합니다. @PanJunjie에 대한 자세한 내용은 답변입니다. 실제로 저는'vue.js' 개발에 새로운 것이고'node_modules'에 익숙하지 않습니다. 그래서'webpack','babel','ES6 코드를 ES5로 옮기기','browser-sync'의 책임을 알지 못하는데 그 이야기를 들었습니다. 실제로 Laravel에'vue.js '를 추가하는 데 관심이있었습니다. 'vue.js'가'node_modules' 폴더 안에 있다는 것을 알 수 있습니다. 'vue.js' 파일을'resource' 폴더의'js' 폴더에 복사하여 응용 프로그램에 포함시켜야합니까? 'node_modules'의 도움으로 자동으로 포함시키는 방법이 있습니까? –

+0

@abuabu 대답에서 말했듯이, 당신은 라이브러리를'import' 또는'require' 할 수 있고, 컴파일이 끝나면 import 문은 사라지고 여러분의 코드와 라이브러리 (node_modules로부터)는 함께 번들 될 것입니다. 너무 복잡하다고 느껴지면 js 파일을'assets/js' 폴더에 복사하고 우리가 항상하는 것처럼 스크립트 태그를 포함시킬 수 있습니다. –

0

당신이 또는 더 나은 elixir에 대한 asset를 사용해야하고 오히려 공개 디렉토리에 node_modules을 넣지 마십시오한다 Laravel elixir의 문서를 먼저 읽어보고, 5 줄의 구성을 간단히 작성하고 즉시 프론트 엔드 개발 경험을 얻으십시오. 자산 패키징을 위해서는 webpack, ES5로 이어지는 ES6 코드는 babel, 다음은 browser-sync입니다. 파일 시청 및 다중 장치 동기화 브라우저 자동 새로 고침.

불로 불사의 영약의 상단에

, 여기에 몇 가지 사례를 내가 따라입니다 :

  • 는 코드를 포함하여 layouts/app.blade.php,에서 일반 app.js을 포함 당신은 당신의 모든 페이지에서 원하는 절대적으로 확인 이다. 예 : $('.datetime').datetimepicker(...)을 넣으십시오. datetime picker plugin inits은 나를 위해 어디서든 나는 .datetime을 html로 넣습니다.
  • 해당 라이브러리의 경우 특정보기의 js 파일에 npm (import)을 가져 오므로 webpack이 사용자가 속한 라이브러리로 코드를 컴파일합니다. Vue = require('vue'); 또는 import Vue from 'vue'; 중 하나 일 수 있으며, 후자는 node.js 또는 다른 브라우저에서 지원하지 않지만 바벨은이를 대신합니다.
  • login.blade.php과 같은 구체적인보기가 있습니다. @extendsapp.blade.php 레이아웃입니다. 또한 가장 좋은 방법은 스크립트 파일을 html의 body 맨 아래에 놓는 것이므로 돔 분석 및 리소스 다운로드를 차단하지 않는 것입니다. 나는 개인적으로

@push('childJS') 
<script src='/js/login.js'></script> 
@endpush 

추천하고 app.blade.phplogin.blade.phpLaravel blade의 구문을 사용합니다

<script src='/js/app.js'></script> 
    @stack('childJS') 
</body> 

그래서이 JS 파일 모두 최상의 성능을 얻을 수 body의 하단에 표시되며 app.js은 항상 login.js 앞에 표시되므로 js 파일 간의 관계가 잘 해결됩니다.