簡體   English   中英

為什么 webpack 會捆綁額外的文件?

[英]Why is webpack bundling extra files?

我創建了一個簡單的github repo來重現我的場景。

我有 2 個配置文件:dev.vue.config.js 和 prod.vue.config.js 根據 NODE_ENV 值使用

對於 prod,我的 webpack 入口點設置為

configureWebpack: {
    entry: {
      activitySubmit: './src/as-setup.js'
    }
  }

我也用SplitChunks插件捆綁node_modules到vendors.js所以我希望的WebPack產生2個文件:activitySubmit.jsvendors.js

但是我也得到了第三個文件app.js ,其中包含src/main.js 的內容,但為什么? 我沒有將它指定為我的入口點,也沒有其他文件從main.js導入任何東西,那么為什么它還是被捆綁了? 我在生產中不需要它。

現在,如果我將入口點更改為

configureWebpack: {
    entry: {
      app: './src/as-setup.js'
    }
  }

我得到 2 個文件: app.jsvendor.js

如果我檢查app.js,我可以看到它現在不包含來自src/main.js 的代碼(正如預期的那樣)。 我很困惑,請幫忙解釋一下邏輯

這個問題在 Vue 論壇上得到了回答,所以我也在這里發布了答案

跑步

vue inspect --mode production

將顯示 Vue CLI 生成的 Webpack 配置。 結果是:

entry: {
  app: [
    './src/main.js'
  ],
  activitySubmit: './src/as-setup.js'
}

因為如vue docs 中所述,您在 configureWebpack 中提供的配置是使用 webpack-merge 合並的,因此默認條目仍然存在。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM