欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

詳解webpack 多入口配置

 更新時間:2017年06月16日 14:14:25   作者:游云  
本篇文章主要介紹了webpack 多入口配置 ,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

同事套搭建vue項目,個人推薦了VUE官網(wǎng)的vue-cil的方式,http://cn.vuejs.org/guide/application.html

順著官網(wǎng)的操作,我們可以本地測試起我們的項目 npm run dev,首先我們要理解webpack打包主要是針對js,查看下面生成的配置,首頁是index.html,模版用的index.html,入口文件用的mian.js

//file build/webpack.base.conf.js
//entry 配置

module.exports = {
 entry: {
  app: './src/main.js'
 },
 //....

//file build/webpack.dev.conf.js
//html配置
  new HtmlWebpackPlugin({
   filename: 'index.html',
   template: 'index.html',
   inject: true
  })

1.上面的目錄沒辦法滿足我們多入口的要求,我們希望的是html放在一個views文件夾下面,相關(guān)業(yè)務(wù)應(yīng)用的vue放在一起,對就是這個樣子的

我們先簡單的改動下我們的配置,來適應(yīng)這個項目結(jié)構(gòu),再尋找其中的規(guī)律,來完成自動配置(index.html)

//file build/webpack.base.conf.js
//entry 配置

module.exports = {
 entry: {
  'index': './src/view/index/index.js',
  'login': './src/view/login/login.js',
 },
 //....

//file build/webpack.dev.conf.js
//html配置,index我們保留了根目錄訪問路徑
  new HtmlWebpackPlugin({
   filename: 'index.html',
   template: './src/view/index/index.html',
   inject: true,
   chunks: ['index']
  }),
  new HtmlWebpackPlugin({
   filename: 'login/login.html', //http訪問路徑
   template: './src/view/login/login.html', //實際文件路徑
   inject: true,
   chunks: ['login']
  })

2.規(guī)律出來了,我們只要按照這樣的js和html的對應(yīng)關(guān)系,就可以通過查找文件,來進行同一配置

var glob = require('glob')
function getEntry(globPath, pathDir) {
  var files = glob.sync(globPath);
  var entries = {},
    entry, dirname, basename, pathname, extname;

  for (var i = 0; i < files.length; i++) {
    entry = files[i];
    dirname = path.dirname(entry);
    extname = path.extname(entry);
    basename = path.basename(entry, extname);
    pathname = path.join(dirname, basename);
    pathname = pathDir ? pathname.replace(pathDir, '') : pathname;
    console.log(2, pathname, entry);
    entries[pathname] = './' + entry;
  }
  return entries;
}
//我們的key不是簡單用的上一個代碼的index,login而是用的index/index,login/login因為考慮在login目錄下面還有register
//文件路徑的\\和/跟操作系統(tǒng)也有關(guān)系,需要注意
var htmls = getEntry('./src/view/**/*.html', 'src\\view\\');
var entries = {};
var HtmlPlugin = [];
for (var key in htmls) {
  entries[key] = htmls[key].replace('.html', '.js')
  HtmlPlugin.push(new HtmlWebpackPlugin({
   filename: (key == 'index\\index' ? 'index.html' : key + '.html'), 
   template: htmls[key],
   inject: true,
    chunks: [key]
  }))
}

3.多入口配置就完成了,當(dāng)然下面其實還有公共js提取的相關(guān)配置,如果項目里面用到了異步加載,即require.ensure,放在單獨目錄,進行匹配,按照上面的邏輯進行推理吧

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • js判斷數(shù)組中是否包含某個值的4種方法總結(jié)

    js判斷數(shù)組中是否包含某個值的4種方法總結(jié)

    這篇文章主要給大家總結(jié)介紹了關(guān)于js判斷數(shù)組中是否包含某個值的4種方法,數(shù)組是我們編程中經(jīng)常使用的的數(shù)據(jù)結(jié)構(gòu)之一,在處理數(shù)組時我們經(jīng)常需要在數(shù)組中查找特定的值,JavaScript 包含一些內(nèi)置方法來檢查數(shù)組是否有特定的值或?qū)ο?需要的朋友可以參考下
    2023-11-11
  • JavaScript使用ZeroClipboard操作剪切板

    JavaScript使用ZeroClipboard操作剪切板

    這篇文章主要為大家詳細介紹了JavaScript使用ZeroClipboard操作剪切板的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • ajax級聯(lián)菜單實現(xiàn)方法實例分析

    ajax級聯(lián)菜單實現(xiàn)方法實例分析

    這篇文章主要介紹了ajax級聯(lián)菜單實現(xiàn)方法,結(jié)合實例形式分析了基于ajax與后臺php交互實現(xiàn)級聯(lián)菜單功能的相關(guān)操作技巧,需要的朋友可以參考下
    2016-11-11
  • JavaScript 中文轉(zhuǎn)拼音實現(xiàn)代碼 有些bug

    JavaScript 中文轉(zhuǎn)拼音實現(xiàn)代碼 有些bug

    在做項目時候遇到一個小小的顯示客戶部門名稱(拼音)的業(yè)務(wù),就是在部門名稱下有相應(yīng)的拼音,而在現(xiàn)有的數(shù)據(jù)庫中沒有相應(yīng)字段,并且部門數(shù)量比較多,添加起來比較費時,就想能否在js中實現(xiàn),在頁面中處理。
    2010-03-03
  • Javascript實現(xiàn)一個簡單的輸入關(guān)鍵字添加標簽效果實例

    Javascript實現(xiàn)一個簡單的輸入關(guān)鍵字添加標簽效果實例

    這篇文章主要給大家介紹了利用Javascript實現(xiàn)一個簡單的輸入關(guān)鍵字添加標簽效果的相關(guān)資料,類似動態(tài)添加標簽的效果,文中介紹的非常詳細,對大家具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-06-06
  • ECMAscrip新特性函數(shù)介紹

    ECMAscrip新特性函數(shù)介紹

    這篇文章主要介紹了ECMAscrip新特性之函數(shù)的擴展,在ECMAScript?2015中,允許為函數(shù)的參數(shù)添加默認值,將默認值直接寫在參數(shù)的后面即可,具體情況參考下面文章的詳細內(nèi)容
    2021-12-12
  • Canvas 繪制粒子動畫背景

    Canvas 繪制粒子動畫背景

    本文主要分享了Canvas 繪制粒子動畫背景的示例代碼。具有很好的參考價值,下面跟著小編一起來看下吧
    2017-02-02
  • confirm的用法示例用于按鈕操作時確定是否執(zhí)行

    confirm的用法示例用于按鈕操作時確定是否執(zhí)行

    這篇文章主要介紹了confirm的用法,confirm一般用于按鈕操作時確定是否執(zhí)行,需要的朋友可以參考下
    2014-06-06
  • 用 javascript 實現(xiàn)的點擊復(fù)制代碼

    用 javascript 實現(xiàn)的點擊復(fù)制代碼

    用 javascript 實現(xiàn)的點擊復(fù)制代碼,需要的朋友可以參考一下
    2007-03-03
  • 如何實現(xiàn)小程序tab欄下劃線動畫效果

    如何實現(xiàn)小程序tab欄下劃線動畫效果

    這篇文章主要介紹了如何實現(xiàn)小程序tab欄下劃線動畫效果,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05

最新評論