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)行打包,以保證運(yùn)行時正常。
按照配置打包提供兩個思路
將配置寫成環(huán)境變量,而不是程序變量。
通過多入口的形式來實(shí)現(xiàn)。
相關(guān)文章:
1. python - django 里自定義的 login 方法,如何使用 login_required()2. android-studio - Android 動態(tài)壁紙LayoutParams問題3. sql語句如何按or排序取出記錄4. angular.js - 不適用其他構(gòu)建工具,怎么搭建angular1項(xiàng)目5. 主從備份 - 跪求mysql 高可用主從方案6. python如何不改動文件的情況下修改文件的 修改日期7. mysql優(yōu)化 - mysql count(id)查詢速度如何優(yōu)化?8. css3 - [CSS] 動畫效果 3D翻轉(zhuǎn)bug9. mysql主從 - 請教下mysql 主動-被動模式的雙主配置 和 主從配置在應(yīng)用上有什么區(qū)別?10. node.js - node_moduls太多了
