2017-11-15 4 views
0

내 vue.js 구성 요소를 컴파일하기 위해 Laravel mix를 사용하고 있습니다. 이 여기 지금 나는 게으른로드 내 구성 요소 싶습니다Vue.js 지연로드

https://vuejs.org/v2/guide/components.html#Async-Components

나는이 때 :

Vue.component('setting',() => import('./components/settings/setting.vue')); 

내가 얻을 :

error in ./resources/assets/admin/vue/core.js 

Syntax Error: Unexpected token (36:31) 

    34 | */ 
    35 | 
> 36 | Vue.component('setting',() => import('./components/settings/setting.vue')); 
    |        ^

은 여기에서 잘못 될 수 있을까? '정상'구성 요소를 등록하면 모든 것이 작동합니까?

+0

[동적 가져 오기] (https : // github. co.kr/airbnb/babel-plugin-dynamic-import-webpack) – zeidanbm

+0

아니요 사용하지 마십시오 – Jenssen

+0

Laravel mix는 장면 뒤에서 webpack을 사용하고 코드 분할 기능을 사용합니다. 다시 작동하도록하려면 동적 가져 오기를 사용해야합니다. 이것은 [webpack] (https://webpack.js.org/guides/code-splitting/#dynamic-imports)에서입니다. – zeidanbm

답변

2

의견에 이어. publicPath를 지정해야합니다. 다음 laravel 믹스와 laravel 5.5에서 테스트 작업 webpack.mix.js 파일의 작은 버전입니다

당신은 아마 당신의 manifest.json을 잘못 경로와 생산했다
const { mix } = require('laravel-mix'); 
mix.setPublicPath('public/'); 



mix.webpackConfig({ 
    output: { 
     chunkFilename: 'js/[name].[chunkhash].js', 
     publicPath: '/' 
    }, 
    module: { 
     rules: [{ 
      test: /\.js?$/, 
      exclude: /node_modules/, 
      loader: 'babel-loader', 
      options: { 
       presets: ['babel-preset-env'], 
       plugins:['babel-plugin-dynamic-import-webpack'] 
      } 
     }, 

    ] 
    } 
}); 


mix.js('resources/assets/js/app.js', 'public/js') 
.sass('resources/assets/sass/app.scss', 'public/css') 
.version(); 

따라서 웹팩은 찾을 수 없다는됩니다 올바른 청크 파일 경로. 따라서 솔루션은 경로를 수정하거나 위의 예와 같이 기본 경로로 고정하는 것입니다. 위의 코드는 청크 파일뿐만 아니라 public/js 내에 app.js를 생성해야합니다. 또한 그것은 결국 당신의 블레이드의 동적 수입 플러그인이 처음이다 설치 바벨 로더와 바벨이 필요

<script src="{{mix('/js/app.js')}}"></script>

참고하여 app.js 파일을 참조 이제 공용 디렉토리 에서의 manifest.json를 생성합니다 webpack에서 바벨 플러그인을 사용할 수 있어야합니다. laravel mix에서 .babelrc 파일을 읽었는지 잘 모르겠다면 충분합니다.

+0

올바른 위치로 컴파일되어 감사합니다. 그러나 내 네트워크 탭을 살펴볼 때 잘못된 경로를 찾고 있습니다. 어떻게 구성해야합니까? – Jenssen

+0

블레이드에서 지정한 경로를 참조하고 있다고 생각하십니까? webpack, 해시 된 js 파일로 제작하고 있습니까? – zeidanbm

+0

내 블레이드 파일에서 어떻게 참조해야합니까? – Jenssen