国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

vue-cli擴展多模塊打包的示例代碼

2024-05-06 15:20:03
字體:
來源:轉載
供稿:網友

場景

在實際的項目開發中會出現這樣的場景,項目中需要多個模塊(單頁或者多頁應用)配合使用的情況,而vue-cli默認只提供了單入口打包,所以就想到對vue-cli進行擴展

實現

首先得知道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,可以根據自己的項目配置更改,此處是以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} 

實戰

vue移動web通用腳手架

github地址: https://github.com/GavinZhuLei/vue-mobile

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持錯新站長站。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 化州市| 邹平县| 保靖县| 望都县| 福泉市| 闽清县| 丹江口市| 和平区| 班玛县| 灵台县| 晋州市| 甘孜| 普兰县| 通城县| 长白| 昭通市| 宜昌市| 西丰县| 图木舒克市| 抚宁县| 邹平县| 九龙坡区| 洮南市| 惠安县| 鄂州市| 海宁市| 福泉市| 聊城市| 海林市| 磴口县| 昔阳县| 稷山县| 城固县| 常德市| 鄯善县| 虹口区| 葫芦岛市| 扶沟县| 农安县| 广安市| 永州市|