成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

vue-cli中配置webpack系列文章三 ------ utils.js

馬龍駒 / 3023人閱讀

摘要:設(shè)置靜態(tài)文件的公共路徑,用于修改屬性的值通常用于某個(gè)的根據(jù)不同的環(huán)境到對(duì)公共路徑進(jìn)行配置并與傳入的文件名稱進(jìn)行合并加載器的相關(guān)配置根據(jù)不同的環(huán)境配置是否要對(duì)文件進(jìn)行壓縮根據(jù)傳入的配置決定是否生成用于調(diào)試定義名為的函數(shù)用于配置或預(yù)處理

utils.js

  var path = require("path")
  var config = require("../config")
  var ExtractTextPlugin = require("extract-text-webpack-plugin")
  // 設(shè)置靜態(tài)文件的公共路徑,用于修改src屬性的值(通常用于某個(gè)loader的options)
  exports.assetsPath = function (_path) {
    // 根據(jù)不同的環(huán)境到對(duì)公共路徑進(jìn)行配置并與傳入的文件名稱進(jìn)行合并
    var assetsSubDirectory = process.env.NODE_ENV === "production"
      ? config.build.assetsSubDirectory
      : config.dev.assetsSubDirectory
    return path.posix.join(assetsSubDirectory, _path)
  }
  // css加載器的相關(guān)配置
  exports.cssLoaders = function (options) {
    options = options || {}
    var cssLoader = {
      loader: "css-loader",
      options: {
        // 根據(jù)不同的環(huán)境配置是否要對(duì)css文件進(jìn)行壓縮
        minimize: process.env.NODE_ENV === "production",
        // 根據(jù)傳入的配置決定是否生成sourceMap用于調(diào)試bug
        sourceMap: options.sourceMap
      }
    }
    // 定義名為"generateLoaders"的函數(shù)用于配置css或css預(yù)處理器文件
    function generateLoaders (loader, loaderOptions) {
      var loaders = [cssLoader]
      // 如果有css預(yù)處理器文件(如less、sass、stylus等)
      if (loader) {
        loaders.push({
          // 使用該預(yù)處理器對(duì)應(yīng)的加載器
          loader: loader + "-loader",
          // 創(chuàng)建一個(gè)空對(duì)象,將css加載器初始配置與該預(yù)處理器的特殊配置進(jìn)行合并
          options: Object.assign({}, loaderOptions, {
            sourceMap: options.sourceMap
          })
        })
      }
      // 是否將入口文件(main.js)中引入的css文件一起打包進(jìn)該文件的css中
      // 根據(jù)傳入的options.extract的值進(jìn)行判斷(一般在生產(chǎn)環(huán)境中會(huì)去多帶帶打包)
      if (options.extract) {
        return ExtractTextPlugin.extract({
          use: loaders,
          fallback: "vue-style-loader"
        })
      } else {
        return ["vue-style-loader"].concat(loaders)
      }
    }
    return {
      css: generateLoaders(),
      postcss: generateLoaders(),
      less: generateLoaders("less"),
      sass: generateLoaders("sass", { indentedSyntax: true }),
      scss: generateLoaders("sass"),
      stylus: generateLoaders("stylus"),
      styl: generateLoaders("stylus")
    }
  }
  // 對(duì).vue文件之外的css文件或css預(yù)處理器文件進(jìn)行處理
  exports.styleLoaders = function (options) {
    var output = []
    var loaders = exports.cssLoaders(options)
    // 循環(huán)cssLoaders返回出來的所有文件類型
    for (var extension in loaders) {
      var loader = loaders[extension]
      // 對(duì)每一個(gè)文件類型用其相對(duì)應(yīng)的加載器進(jìn)行處理
      output.push({
        test: new RegExp("." + extension + "$"),
        use: loader
      })
    }
    return output
  }

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/109652.html

相關(guān)文章

  • vue-cli解析

    摘要:在中,設(shè)置了一些配置,代碼如下通過它的注釋,我們可以理解它在中配置了靜態(tài)路徑本地服務(wù)器配置項(xiàng)等參數(shù)。下面還有一個(gè)的對(duì)象,它是在本地服務(wù)器啟動(dòng)時(shí),打包的一些配置,代碼如下其中包括模版文件的修改,打包完目錄之后的一些路徑設(shè)置,壓縮等。 前言 這段時(shí)間,算是空出手來寫幾篇文章了。由于很久都沒有時(shí)間整理現(xiàn)在所用的東西了,所以,接下來會(huì)慢慢整理出一些文檔來記錄前段時(shí)間的工作和生活。 這篇文章的主...

    KunMinX 評(píng)論0 收藏0
  • vue學(xué)習(xí)系列(二)vue-cli

    摘要:一介紹是官方提供的腳手架,用來快速建立項(xiàng)目。標(biāo)識(shí)項(xiàng)目名稱,這個(gè)你可以根據(jù)自己的項(xiàng)目來起名字。初始化完成之后,進(jìn)入安裝目錄,必須先安裝項(xiàng)目依賴,否則無法運(yùn)行。源文件需要注意的是是入口文件,下的是路由文件,文件是組件文件。 一.介紹 vue-cli是官方提供的腳手架,用來快速建立項(xiàng)目。 二.安裝 npm install vue-cli -g//全局安裝 三.初始化項(xiàng)目 vue init ...

    baishancloud 評(píng)論0 收藏0
  • webpack開發(fā)與生產(chǎn)環(huán)境配置

    摘要:豹哥對(duì)于剛開始小白的自己雖然現(xiàn)在也白知無不談,而且回復(fù)超快超認(rèn)真。這里真的很感謝豹哥。是項(xiàng)目啟動(dòng)時(shí)的一些文件,如的配置文件開發(fā)環(huán)境服務(wù)配置文件一些簡(jiǎn)單工具函數(shù)等等。是關(guān)于整個(gè)項(xiàng)目的環(huán)境配置包括開發(fā)與生產(chǎn)。 前言 作者去年就開始使用webpack, 最早的接觸就來自于vue-cli。那個(gè)時(shí)候工作重點(diǎn)主要也是 vue 的使用,對(duì)webpack的配置是知之甚少,期間有問題也是詢問大牛 @呂大...

    afishhhhh 評(píng)論0 收藏0
  • Vue-cli 命令行工具分析

    摘要:文章來源命令行工具分析命令行工具分析提供一個(gè)官方命令行工具,可用于快速搭建大型單頁(yè)應(yīng)用。其他模式的配置文件以此為基礎(chǔ)通過合并。 文章來源:Vue-cli 命令行工具分析 Vue-cli 命令行工具分析 Vue.js 提供一個(gè)官方命令行工具,可用于快速搭建大型單頁(yè)應(yīng)用。vue-webpack-boilerplate,官方定義為: full-featured Webpack setup ...

    LoftySoul 評(píng)論0 收藏0
  • vue-cli webpack配置分析

    相信vue使用者對(duì)vue-cli都不會(huì)陌生,甚至可以說,很熟悉了,但對(duì)其webpack的配置可能知之甚少吧。 過完年回來后,我接手了公司的新項(xiàng)目。新項(xiàng)目是一個(gè)spa。很自然,我就想到了vue-cli腳手架了,當(dāng)時(shí)研究一下它的webpack配置。于是,就有了其他的內(nèi)容。 今天這篇文章,是在原來的基礎(chǔ)上,增加了一些新版本的內(nèi)容,但實(shí)質(zhì)上變化不大。 說明 此倉(cāng)庫(kù)為vue-cli webpack的配置分析...

    suemi 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<