javascript - webpack打包 會(huì)把一個(gè)目錄下面的所有文件都打包
問題描述
如果用下面的方式配置,引入的VUE文件,打包的時(shí)候只會(huì)打包我需要的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文件,就會(huì)把以上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ù)我的配置,每次打包的時(shí)候只打包配置的vue文件,不要所有的vue都都打包進(jìn)來
問題解答
回答1:動(dòng)態(tài)依賴在編譯時(shí)完全無法確定依賴關(guān)系,所以 webpack 會(huì)嘗試將所有可能引用到的 module 進(jìn)行打包,以保證運(yùn)行時(shí)正常。
按照配置打包提供兩個(gè)思路
將配置寫成環(huán)境變量,而不是程序變量。
通過多入口的形式來實(shí)現(xiàn)。
相關(guān)文章:
1. android - Genymotion 微信閃退 not find plugin.location_google.GoogleProxyUI2. mac里的docker如何命令行開啟呢?3. html5 - 微信瀏覽器視頻播放失敗4. angular.js - 關(guān)于ng-model和ng-bind的疑問5. javascript - 單個(gè)控件多個(gè)字段搜索6. javascript - npm安裝報(bào)錯(cuò) 系統(tǒng)w7 求大神解答7. 如何使用jQuery來提取一個(gè)HTML 標(biāo)記的屬性 例如. 鏈接的href ?8. angular.js - 在ionic下,利用javascript導(dǎo)入百度地圖,pc端可以顯示,移動(dòng)端無法顯示9. android webview返回自動(dòng)刷新10. html - 特殊樣式按鈕 點(diǎn)擊按下去要有凹下和彈起的效果
