2017-01-25 4 views
0

Когда я строю свой пакет (работает отлично), я обнаружил, что два фрагмента (имена, начинающиеся с 0 и 1; 1.08Mb и 1.07Mb соответственно) почти полностью похожи. Содержимое блока 1 полностью покрывается содержимым блока 0, а фрагмент 0 немного больше, содержащий дополнительный компонент дочернего vue. Мне кажется, что все импорт компонента child.vue снова включается, когда компонент child.vue импортируется в компонент parent.vue. Я думал, что веб-пакет будет сорннуть это ... но, видимо, нет.duplicate webpack (2.2.0) chunks с vue-компонентами

parent.vue компонент:

<script type='text/babel'> 
import Child from './Child.vue' 

export default { 
    name: 'parent', 
    components: {Child} 
} 

</script> 

соответствующая часть child.vue компонента:

<script type='text/babel'> 
import turf from 'turf' 
import {resize} from '@most/dom-event' 

[[etc]] 

в router.js:

routes: [ 
    { path: '/parent', component: load('parent') }, 
    { path: '/', component: load('Index') }, // Default 
    { path: '*', component: load('Error404') } // Not found 
    ] 
}) 

Я также ожидаю, что дерн и все другие пакеты npm от node_modules, чтобы перейти в отдельный кусок поставщика, но они находятся как в блоке 0, так и в 1: (т. е. нет кусков поставщика):

Hash: 1b94a25680bff29f4960 
Version: webpack 2.2.0 
Time: 44975ms 
            Asset  Size  Chunks     Chunk Names 
      js/5.ceea6d62238ac33ab65a.js 987 bytes  5, 8 [emitted]   
fonts/MaterialIcons-Regular.012cf6a.woff 57.6 kB    [emitted]   
      js/1.00c968884dd42ca9abe7.js 1.07 MB  1, 8 [emitted] [big] 
      js/2.a15df363f7a95520359b.js 6.28 kB 2, 3, 5, 8 [emitted]   
      js/3.09b86cd9939dea1b32d0.js 2.53 kB  3, 8 [emitted]   
      js/4.1de965c7ddc632ca7966.js 1.95 kB  4, 8 [emitted]   
      js/0.5c94c88f8cc301c30326.js 1.08 MB  0, 1, 8 [emitted] [big] 
          js/vendor.js  562 kB  6, 8 [emitted] [big] vendor 
           js/app.js 9.68 kB  7, 8 [emitted]   app 
          js/manifest.js 1.58 kB   8 [emitted]   manifest 
app.8a73cdb0886334e9bc2ff358859b1203.css  246 kB  7, 8 [emitted]   app 
           index.html 616 bytes    [emitted]   

Process finished with exit code 0 

Что я делаю неправильно ?:

  1. почему у меня повторяющийся код в моих кусках?
  2. Почему библиотеки node_module не находятся в блоке поставщика?

ответ

0

, когда я избавлюсь от функции нагрузки в моих маршрутах работает, как ожидалось (и поставщик ломоть также, как и ожидалось), и я получаю:

Hash: 44e71b7f99a8c23f744a 
Version: webpack 2.2.0 
Time: 37300ms 
            Asset  Size Chunks     Chunk Names 
fonts/MaterialIcons-Regular.012cf6a.woff 57.6 kB   [emitted]   
          js/vendor.js 1.59 MB 0, 2 [emitted] [big] vendor 
           js/app.js 41.6 kB 1, 2 [emitted]   app 
          js/manifest.js 1.43 kB  2 [emitted]   manifest 
app.1b4a3bd6bcac26b9462e4d297ad634b4.css  270 kB 1, 2 [emitted] [big] app 
           index.html 616 bytes   [emitted]   

Process finished with exit code 0 

Я получил функцию загрузки из here.

А также найти этот способ борьбы с маршрутами в других репозиториях, поэтому, вероятно, он служит цели. Я попрошу об этом.

 Смежные вопросы

  • Нет связанных вопросов^_^