中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

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

發布時間:2020-09-08 19:42:21 來源:腳本之家 閱讀:132 作者:Gavin_lei 欄目:web開發

場景

在實際的項目開發中會出現這樣的場景,項目中需要多個模塊(單頁或者多頁應用)配合使用的情況,而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

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

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

广汉市| 舒城县| 依兰县| 深圳市| 永宁县| 红河县| 连江县| 四子王旗| 江孜县| 中方县| 邵阳县| 阜平县| 怀集县| 忻州市| 英山县| 西和县| 裕民县| 太湖县| 茌平县| 云阳县| 泸州市| 治多县| 韩城市| 大城县| 巴林右旗| 鲁山县| 黄浦区| 金寨县| 化德县| 达拉特旗| 阿合奇县| 手游| 怀来县| 普宁市| 哈尔滨市| 沧源| 社旗县| 邮箱| 成都市| 鹰潭市| 富平县|