vue-cli擴展多模塊打包的示例代碼
場景
在實際的項目開發(fā)中會出現(xiàn)這樣的場景,項目中需要多個模塊(單頁或者多頁應(yīng)用)配合使用的情況,而vue-cli默認只提供了單入口打包,所以就想到對vue-cli進行擴展
實現(xiàn)
首先得知道webpack是提供了多入口打包,那就可以從這里開始改造
新建build/entry.js
const path = require('path') const fs = require('fs') const moduleDir = path.resolve(__dirname, '../src/modules') let entryObj = {} let moduleItems = fs.readdirSync(moduleDir) moduleItems.forEach(item => { entryObj[`${item}`] = `./src/modules/${item}/main.js` }) module.exports = entryObj
這里用到了nodejs的fs和path模塊,可以查看文檔http://nodejs.cn/api/fs.html,http://nodejs.cn/api/path.html,可以根據(jù)自己的項目配置更改,此處是以src/modules/文件夾下的目錄作為模塊,每個模塊中都有一個main.js作為入口文件
修改build/webpack.base.conf.js中entry
const entryObj = require('./entry') module.exports = { entry: entryObj }
接下來就是如何將打包好的文件注入到html中,這里利用html-webpack-plugin插件來解決這個問題,首先你需要有一個html的模板文件,然后在webpack配置中更改默認的html-webpack-plugin插件配置
添加build/plugins.js
const HtmlWebpackPlugin = require('html-webpack-plugin') let configPlugins = [] Object.keys(entryObj).forEach(item => { configPlugins.push(new HtmlWebpackPlugin( { filename: '../dist/' + item + '.html', template: path.resolve(__dirname, '../index.html'), chunks: [item] } )) }) module.exports = configPlugins
修改build/webpack.dev.conf.js配置
module.exports = { plugins: configPlugins }
實戰(zhàn)
vue移動web通用腳手架
github地址: https://github.com/GavinZhuLei/vue-mobile
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
- 詳解Vue 中 extend 、component 、mixins 、extends 的區(qū)別
- 詳解vue mixins和extends的巧妙用法
- 詳解VUE 對element-ui中的ElTableColumn擴展
- vue組件實現(xiàn)可搜索下拉框擴展
- 詳解Vue.js iview實現(xiàn)樹形權(quán)限表(可擴展表)
- vue 右鍵菜單插件 簡單、可擴展、樣式自定義的右鍵菜單
- VUE2.0+ElementUI2.0表格el-table實現(xiàn)表頭擴展el-tooltip
- 詳解Vue2.0組件的繼承與擴展
- 使用Vue開發(fā)自己的Chrome擴展程序過程詳解
- 詳解如何寫出一個利于擴展的vue路由配置
- Vue Extends 擴展選項用法完整實例
相關(guān)文章
Element?UI?Dialog對話框改成固定高度超出部分滾動條滾動
這篇文章主要給大家介紹了關(guān)于Element?UI?Dialog對話框改成固定高度超出部分滾動條滾動的相關(guān)資料,el-dialog默認高度是自由拉伸的,當內(nèi)容超過屏幕時會出現(xiàn)滾動條,按鈕和標題都會隨著滾動,用戶體驗不好,需要的朋友可以參考下2024-05-05Vue進階之CodeMirror的應(yīng)用小結(jié)
CodeMirror支持在線編輯代碼,風格包括js, java, php, c++等等100多種語言,下面這篇文章主要來和大家講講CodeMirror的應(yīng)用,感興趣的可以了解一下2023-06-06Vue3+axios+Mock.js實現(xiàn)登錄功能的示例代碼
本文主要介紹了Vue3+axios+Mock.js實現(xiàn)登錄功能的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-05-05el-date-picker 選擇日期范圍只保存左側(cè)日期面板的實現(xiàn)代碼
接到這樣的需求,日期篩選,但限制只能選擇同一個月的數(shù)據(jù),故此應(yīng)該去掉右側(cè)月份面板,今天通過本文給大家分享el-date-picker 選擇日期范圍只保存左側(cè)日期面板的實現(xiàn)代碼,感興趣的朋友一起看看吧2024-06-06Vue form表單動態(tài)添加組件實戰(zhàn)案例
這篇文章主要介紹了Vue form表單動態(tài)添加組件實戰(zhàn)案例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-09-09