javascript - webpack打包 會把一個目錄下面的所有文件都打包
問題描述
如果用下面的方式配置,引入的VUE文件,打包的時候只會打包我需要的vue
import Vue from ’vue’import vueTap from ’v-tap’;import $ from ’@/public/libs/zepto.min’;import pkg from ’../package.json’;window.wx = require(’@/public/libs/weixin-1.0.0’);window.APP = require(’@/public/libs/APP’);window.Share = require(’@/public/libs/share’);import ’@/public/style/reset.css’;Vue.use(vueTap);Vue.config.productionTip = false;const App = require(`@/page/dialog.vue`);new Vue({ el: '#app', render: h => h(App)});
但如果,我想要根據(jù)配置來設(shè)置需要引入的vue文件,就會把以上page目錄下面的所有vue都打包
import Vue from ’vue’import vueTap from ’v-tap’;import $ from ’@/public/libs/zepto.min’;import pkg from ’../package.json’;window.wx = require(’@/public/libs/weixin-1.0.0’);window.APP = require(’@/public/libs/APP’);window.Share = require(’@/public/libs/share’);import ’@/public/style/reset.css’;Vue.use(vueTap);Vue.config.productionTip = false;var templateName = pkg.template;const App = require(`@/page/${templateName}.vue`);new Vue({ el: '#app', render: h => h(App)});
不同之處在:const App = require(@/page/${templateName}.vue);和const App = require(@/page/dialog.vue);
目的:根據(jù)我的配置,每次打包的時候只打包配置的vue文件,不要所有的vue都都打包進(jìn)來
問題解答
回答1:動態(tài)依賴在編譯時完全無法確定依賴關(guān)系,所以 webpack 會嘗試將所有可能引用到的 module 進(jìn)行打包,以保證運行時正常。
按照配置打包提供兩個思路
將配置寫成環(huán)境變量,而不是程序變量。
通過多入口的形式來實現(xiàn)。
相關(guān)文章:
1. 在mybatis使用mysql的ON DUPLICATE KEY UPDATE語法實現(xiàn)存在即更新應(yīng)該使用哪個標(biāo)簽?2. mysql - 表名稱前綴到底有啥用?3. Navicat for mysql 中以json格式儲存的數(shù)據(jù)存在大量反斜杠,如何去除?4. mysql - 怎么生成這個sql表?5. mysql儲存json錯誤6. 哭遼 求大佬解答 控制器的join方法怎么轉(zhuǎn)模型方法7. mysql - 數(shù)據(jù)庫表中,兩個表互為外鍵參考如何解決8. 編輯成功不顯示彈窗9. 怎么php怎么通過數(shù)組顯示sql查詢結(jié)果呢,查詢結(jié)果有多條,如圖。10. sql語句 - 如何在mysql中批量添加用戶?
