国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Vue2 系列:vue.config.js 參數(shù)配置

這篇具有很好參考價(jià)值的文章主要介紹了Vue2 系列:vue.config.js 參數(shù)配置。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

1. publicPath

默認(rèn)值:'/'

說(shuō)明:部署應(yīng)用包時(shí)的基本 URL,例:https://www.my-app.com/my-app/,則設(shè)置 publicPath 為 /my-app/

提示:1. 當(dāng)使用基于 HTML5 history.pushState 的路由時(shí) 2.當(dāng)使用 pages 選項(xiàng)構(gòu)建多頁(yè)面應(yīng)用時(shí)。

2. outputDir

默認(rèn)值:'dist'

說(shuō)明:打包目錄。

提示:目標(biāo)目錄在構(gòu)建之前會(huì)被清除 (構(gòu)建時(shí)傳入 --no-clean 可關(guān)閉該行為)。

3. assetsDir

默認(rèn)值:''

說(shuō)明:放置生成的靜態(tài)資源 (js、css、img、fonts) 的 (相對(duì)于 outputDir 的) 目錄。

注意:從生成的資源覆寫(xiě) filename 或 chunkFilename 時(shí),assetsDir 會(huì)被忽略。

4. indexPath

默認(rèn)值:'index.html'

說(shuō)明:指定生成的 index.html 的輸出路徑 (相對(duì)于 outputDir)。也可以是一個(gè)絕對(duì)路徑。

5. pages

默認(rèn)值:undefined

說(shuō)明:在 multi-page 模式下構(gòu)建應(yīng)用。每個(gè)“page”應(yīng)該有一個(gè)對(duì)應(yīng)的 JavaScript 入口文件。

注意:其值應(yīng)該是一個(gè)對(duì)象,對(duì)象的 key 是入口的名字,value 是:1.一個(gè)指定了 entry, template, filename, title 和 chunks 的對(duì)象 (除了 entry 之外都是可選的);2.或一個(gè)指定其 entry 的字符串。

module.exports = {
  pages: {
    index: {
      // page 的入口
      entry: "src/index/main.js",
      // 模板來(lái)源
      template: "public/index.html",
      // 在 dist/index.html 的輸出
      filename: "index.html",
      // 當(dāng)使用 title 選項(xiàng)時(shí),
      // template 中的 title 標(biāo)簽需要是 <title><%= htmlWebpackPlugin.options.title %></title>
      title: "Index Page",
      // 在這個(gè)頁(yè)面中包含的塊,默認(rèn)情況下會(huì)包含
      // 提取出來(lái)的通用 chunk 和 vendor chunk。
      chunks: ["chunk-vendors", "chunk-common", "index"],
    },
    // 當(dāng)使用只有入口的字符串格式時(shí),
    // 模板會(huì)被推導(dǎo)為 `public/subpage.html`
    // 并且如果找不到的話(huà),就回退到 `public/index.html`。
    // 輸出文件名會(huì)被推導(dǎo)為 `subpage.html`。
    subpage: "src/subpage/main.js",
  },
};

6. lintOnSave

默認(rèn)值:true

說(shuō)明:是否在開(kāi)發(fā)環(huán)境下通過(guò) eslint-loader 在每次保存時(shí) lint 代碼。

7. devServer

Type:String

說(shuō)明:devServer.proxy 可以是一個(gè)指向開(kāi)發(fā)環(huán)境 API 服務(wù)器的字符串

module.exports = {
  devServer: {
    proxy: "http://localhost:4000",
  },
};

8. chainWebpack

Type: Function

說(shuō)明:是一個(gè)函數(shù),會(huì)接收一個(gè)基于 webpack-chain 的 ChainableConfig 實(shí)例。允許對(duì)內(nèi)部的 webpack 配置進(jìn)行更細(xì)粒度的修改。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-511491.html

9. 例子

const { defineConfig } = require("@vue/cli-service");
module.exports = defineConfig({
  // 默認(rèn):'/',部署應(yīng)用包時(shí)的基本 URL,Vue CLI 會(huì)假設(shè)你的應(yīng)用是被部署在一個(gè)域名的根路徑上,如果是部署在一個(gè)子路徑上,比如在https://www.my-app.com/my-app/,則設(shè)置publicPath: /my-app/。這個(gè)值也可以被設(shè)置為空字符串 ('') 或是相對(duì)路徑 ('./'),這樣所有的資源都會(huì)被鏈接為相對(duì)路徑,方便遷移。
  publicPath: process.env.NODE_ENV === "production" ? "/" : "/",
  // 默認(rèn):'dist', 當(dāng)運(yùn)行vue-cli-service build時(shí)生成的生產(chǎn)環(huán)境構(gòu)建文件的目錄。注意目標(biāo)目錄在構(gòu)建之前會(huì)被清除 (構(gòu)建時(shí)傳入--no-clean 可關(guān)閉該行為)。
  outputDir: "dist",
  // 默認(rèn):'', 放置生成的靜態(tài)資源 (js、css、img、fonts)的 (相對(duì)于 outputDir 的) 目錄
  assetsDir: "",
  // 默認(rèn):'index.html', 指定生成的index.html 的輸出路徑 (相對(duì)于 outputDir)。也可以是一個(gè)絕對(duì)路徑。
  indexPath: "index.html",
  // 默認(rèn):true, 默認(rèn)情況下,生成的靜態(tài)資源在它們的文件名中包含了hash 以便更好的控制緩存。然而,這也要求index的 HTML 是被 Vue CLI自動(dòng)生成的。如果你無(wú)法使用 Vue CLI 生成的 index HTML,你可以通過(guò)將這個(gè)選項(xiàng)設(shè)為false 來(lái)關(guān)閉文件名哈希。
  filenameHashing: true,
  // 默認(rèn):undefined, 在 multi-page 模式下構(gòu)建應(yīng)用。每個(gè)“page”應(yīng)該有一個(gè)對(duì)應(yīng)的 JavaScript 入口文件。其值應(yīng)該是一個(gè)對(duì)象,對(duì)象的 key 是入口的名字,value 可以是對(duì)象或字符串,類(lèi)似:
  pages: {
    index: {
      // page 的入口
      entry: "src/index/main.js",
      // 模板來(lái)源
      template: "public/index.html",
      // 在 dist/index.html 的輸出
      filename: "index.html",
      // 當(dāng)使用 title 選項(xiàng)時(shí),
      // template 中的 title 標(biāo)簽需要是 <title><%= htmlWebpackPlugin.options.title %></title>
      title: "Index Page",
      // 在這個(gè)頁(yè)面中包含的塊,默認(rèn)情況下會(huì)包含
      // 提取出來(lái)的通用 chunk 和 vendor chunk。
      chunks: ["chunk-vendors", "chunk-common", "index"],
    },
    // 當(dāng)使用只有入口的字符串格式時(shí),
    // 模板會(huì)被推導(dǎo)為 `public/subpage.html`
    // 并且如果找不到的話(huà),就回退到 `public/index.html`。
    // 輸出文件名會(huì)被推導(dǎo)為 `subpage.html`。
    subpage: "src/subpage/main.js",
  },
  // 默認(rèn):default (可選值:‘warning’ | ‘default’ | ‘error’), 是否在開(kāi)發(fā)環(huán)境下通過(guò)eslint-loader在每次保存時(shí)lint代碼。這個(gè)值會(huì)在 @vue/cli-plugin-eslint被安裝之后生效。
  lintOnSave: default,
  // 默認(rèn):false, 是否使用包含運(yùn)行時(shí)編譯器的 Vue 構(gòu)建版本。設(shè)置為 true 后你就可以在 Vue 組件中使用 template選項(xiàng)了,但是這會(huì)讓你的應(yīng)用額外增加 10kb 左右。
  runtimeCompiler: false,
  // 默認(rèn):[], 默認(rèn)情況下babel-loader會(huì)忽略所有 node_modules中的文件。如果你想要通過(guò) Babel 顯式轉(zhuǎn)譯一個(gè)依賴(lài),可以在這個(gè)選項(xiàng)中列出來(lái)。
  transpileDependencies: [],
  // 默認(rèn):true, 如果你不需要生產(chǎn)環(huán)境的 source map,可以將其設(shè)置為false 以加速生產(chǎn)環(huán)境構(gòu)建。
  productionSourceMap: true,
  // 默認(rèn):undefined, 設(shè)置生成的 HTML 中 <link rel="stylesheet"> 和 <script> 標(biāo)簽的 crossorigin 屬性。
  crossorigin: undefined,
  // 默認(rèn):false, 在生成的 HTML 中的<link rel="stylesheet"> 和<script>標(biāo)簽上啟用Subresource Integrity (SRI)。如果你構(gòu)建后的文件是部署在 CDN 上的,啟用該選項(xiàng)可以提供額外的安全性。
  integrity: false,
  // 如果這個(gè)值是一個(gè)對(duì)象,則會(huì)通過(guò) webpack-merge合并到最終的配置中。
  // 如果這個(gè)值是一個(gè)函數(shù),則會(huì)接收被解析的配置作為參數(shù)。該函數(shù)既可以修改配置并不返回任何東西,也可以返回一個(gè)被克隆或合并過(guò)的配置版本。
  // 調(diào)整 webpack 配置最簡(jiǎn)單的方式就是在 vue.config.js 中的 configureWebpack 選項(xiàng)提供一個(gè)對(duì)象
  // 該對(duì)象將會(huì)被 webpack-merge 合并入最終的 webpack 配置。
  // 有些 webpack 選項(xiàng)是基于 vue.config.js 中的值設(shè)置的,所以不能直接修改。例如你應(yīng)該修改 vue.config.js 中的 outputDir 選項(xiàng)而不是修改 output.path;你應(yīng)該修改 vue.config.js 中的 publicPath 選項(xiàng)而不是修改 output.publicPath。這樣做是因?yàn)?vue.config.js 中的值會(huì)被用在配置里的多個(gè)地方,以確保所有的部分都能正常工作在一起。
  configureWebpack: {
    plugins: [
      new MyAwesomeWebpackPlugin()
    ]
  },
  // 如果你需要基于環(huán)境有條件地配置行為,或者想要直接修改配置,那就換成一個(gè)函數(shù) (該函數(shù)會(huì)在環(huán)境變量被設(shè)置之后懶執(zhí)行)。該方法的第一個(gè)參數(shù)會(huì)收到已經(jīng)解析好的配置。在函數(shù)內(nèi),你可以直接修改配置,或者返回一個(gè)將會(huì)被合并的對(duì)象:
  //   configureWebpack: config => {
  //     if (process.env.NODE_ENV === 'production') {
  //       // 為生產(chǎn)環(huán)境修改配置...
  //     } else {
  //       // 為開(kāi)發(fā)環(huán)境修改配置...
  //     }
  //   }
  // });
  // 是一個(gè)函數(shù),會(huì)接收一個(gè)基于 webpack-chain 的 ChainableConfig實(shí)例。允許對(duì)內(nèi)部的webpack配置進(jìn)行更細(xì)粒度的修改。
  // Vue CLI 內(nèi)部的 webpack 配置是通過(guò) webpack-chain 維護(hù)的。這個(gè)庫(kù)提供了一個(gè) webpack 原始配置的上層抽象,使其可以定義具名的 loader 規(guī)則和具名插件,并有機(jī)會(huì)在后期進(jìn)入這些規(guī)則并對(duì)它們的選項(xiàng)進(jìn)行修改。
  // 它允許我們更細(xì)粒度的控制其內(nèi)部配置。接下來(lái)有一些常見(jiàn)的在 vue.config.js 中的 chainWebpack 修改的例子。
  // 當(dāng)你打算鏈?zhǔn)皆L(fǎng)問(wèn)特定的 loader 時(shí),vue inspect 會(huì)非常有幫助。
  // 對(duì)于 CSS 相關(guān) loader 來(lái)說(shuō),我們推薦使用 css.loaderOptions 而不是直接鏈?zhǔn)街付?loader。這是因?yàn)槊糠N CSS 文件類(lèi)型都有多個(gè)規(guī)則,而 css.loaderOptions 可以確保你通過(guò)一個(gè)地方影響所有的規(guī)則。
  chainWebpack: config  => {
    config.module
      .rule('graphql')
      .test(/\.graphql$/)
      .use('graphql-tag/loader')
        .loader('graphql-tag/loader')
        .end()
      // 你還可以再添加一個(gè) loader
      .use('other-loader')
        .loader('other-loader')
        .end()
  },
  // 如果你想要替換一個(gè)已有的基礎(chǔ) loader,例如為內(nèi)聯(lián)的 SVG 文件使用 vue-svg-loader 而不是加載這個(gè)文件:
  // chainWebpack: config => {
  //   const svgRule = config.module.rule('svg')

  //   // 清除已有的所有 loader。
  //   // 如果你不這樣做,接下來(lái)的 loader 會(huì)附加在該規(guī)則現(xiàn)有的 loader 之后。
  //   svgRule.uses.clear()

  //   // 添加要替換的 loader
  //   svgRule
  //     .use('vue-svg-loader')
  //       .loader('vue-svg-loader')
  // }

  css: {
    // 默認(rèn):true, 默認(rèn)情況下,只有 *.module.[ext]結(jié)尾的文件才會(huì)被視作CSS Modules 模塊。設(shè)置為 false后你就可以去掉文件名中的.module并將所有的 *.(css|scss|sass|less|styl(us)?)文件視為 CSS Modules模塊。
    // 如果你在 css.loaderOptions.css里配置了自定義的 CSS Module選項(xiàng),則 css.requireModuleExtension必須被顯式地指定為true或者false,否則我們無(wú)法確定你是否希望將這些自定義配置應(yīng)用到所有 CSS文件中。
    requireModuleExtension: true,
    // 默認(rèn):生產(chǎn)環(huán)境下是 true,開(kāi)發(fā)環(huán)境下是 false, 是否將組件中的 CSS 提取至一個(gè)獨(dú)立的 CSS 文件中 (而不是動(dòng)態(tài)注入到 JavaScript中的inline代碼)。同樣當(dāng)構(gòu)建 Web Components組件時(shí)它總是會(huì)被禁用 (樣式是 inline 的并注入到了 shadowRoot 中)。當(dāng)作為一個(gè)庫(kù)構(gòu)建時(shí),你也可以將其設(shè)置為false免得用戶(hù)自己導(dǎo)入 CSS。提取 CSS 在開(kāi)發(fā)環(huán)境模式下是默認(rèn)不開(kāi)啟的,因?yàn)樗?CSS 熱重載不兼容。然而,你仍然可以將這個(gè)值顯性地設(shè)置為 true 在所有情況下都強(qiáng)制提取。
    extract: true,
    // 默認(rèn):false, 是否為 CSS 開(kāi)啟 source map。設(shè)置為true之后可能會(huì)影響構(gòu)建的性能。
    sourceMap: false,
    // 支持的 loader 有, css-loader,postcss-loader,sass-loader,less-loader,stylus-loader
    loaderOptions: {
      css: {
        // 這里的選項(xiàng)會(huì)傳遞給 css-loader
      },
      postcss: {
        // 這里的選項(xiàng)會(huì)傳遞給 postcss-loader
      }
    },
    devServer: {
      host: "0.0.0.0",
      port: 8888,
      open: true,
      // 如果你的前端應(yīng)用和后端 API 服務(wù)器沒(méi)有運(yùn)行在同一個(gè)主機(jī)上,你需要在開(kāi)發(fā)環(huán)境下將 API 請(qǐng)求代理到 API 服務(wù)器。這個(gè)問(wèn)題可以通過(guò)vue.config.js 中的 devServer.proxy 選項(xiàng)來(lái)配置。
      proxy: "http://localhost:6666",
      proxy: {
        "/dev-api": {
          target: "http://localhost:6666",
          changeOrigin: true,
          ws: true,
          pathRewrite: {
            ["^/dev-api"]: "",
          },
        }
      }
    },
     // 是否為 Babel 或 TypeScript 使用 thread-loader
    parallel: require('os').cpus().length > 1,
    // 向 PWA 插件傳遞選項(xiàng)
    pwa: {},
    // 這是一個(gè)不進(jìn)行任何 schema 驗(yàn)證的對(duì)象,因此它可以用來(lái)傳遞任何第三方插件選項(xiàng)。例如
    pluginOptions: {
      foo: {
      // 插件可以作為 `options.pluginOptions.foo` 訪(fǎng)問(wèn)這些選項(xiàng)。
      }
    }
  }

到了這里,關(guān)于Vue2 系列:vue.config.js 參數(shù)配置的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶(hù)投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【Vue】vue.config.js 的完整配置

    之前,我有提到過(guò),當(dāng)然大家肯定也都知道,Vue3.0不在有webpack.config.js的配置;但是不可避免,在項(xiàng)目開(kāi)發(fā)中我們肯定會(huì)存在一些特殊的需求需要調(diào)整webpack, 這個(gè)時(shí)候,在Vue3.0的項(xiàng)目當(dāng)中,我們就需要在根目錄創(chuàng)建vue.config.js去完成webpack的一些特殊配置,默認(rèn)它會(huì)被 @vue/cli-servi

    2023年04月22日
    瀏覽(18)
  • 解讀vue配置文件(vue.config.js)

    這是一個(gè)Vue.js的配置文件,用于指定項(xiàng)目的構(gòu)建和開(kāi)發(fā)服務(wù)器的行為。讓我們逐步解讀: resolve 函數(shù): 用于解析路徑。它被定義為簡(jiǎn)化創(chuàng)建目錄的絕對(duì)路徑的過(guò)程。 name 和 port 常量: name 設(shè)置為來(lái)自設(shè)置文件的標(biāo)題。 port 設(shè)置為 8013 ,表示開(kāi)發(fā)服務(wù)器的端口號(hào)。 publicPath :

    2024年01月17日
    瀏覽(16)
  • vue.config.js配置詳解

    vue.config.js 是一個(gè)可選的配置文件,如果項(xiàng)目的 (和 package.json 同級(jí)的) 根目錄中存在這個(gè)文件,那么它會(huì)被 @vue/cli-service 自動(dòng)加載。你也可以使用 package.json 中的 vue 字段,但是注意這種寫(xiě)法需要你嚴(yán)格遵照 JSON 的格式來(lái)寫(xiě)。 以下是 vue.config.js 的一個(gè)基本配置: 這里只是列出

    2024年02月15日
    瀏覽(28)
  • vue.config.js 跨域配置

    vue.config.js 跨域配置

    一般是配置 .env .env.production 等。 默認(rèn)配置就是用 .env 示例: 為啥要封裝,因?yàn)殚_(kāi)發(fā)模式需要proxy代理。。而線(xiàn)上模式不需要。 /dev-api 只要不和web里的path 沖突就行,也可以取其他名字。 開(kāi)發(fā)模式 就是web的路徑,再加個(gè)特殊的path 用作代理。 其他模式 不需要proxy配置,直接走

    2024年02月11日
    瀏覽(26)
  • vue.config.js中打包相關(guān)配置

    1.原始篇 2.改進(jìn)篇 通過(guò)對(duì)chunk生成的css和js文件數(shù)量和大小做限制,對(duì)代碼進(jìn)行壓縮和分割,線(xiàn)上生產(chǎn)環(huán)境下使用cdn方式等對(duì)webpack打包優(yōu)化。

    2024年01月22日
    瀏覽(24)
  • vue.config.js 配置proxy代理

    vue.config.js 配置proxy代理

    方案一:?配置文件 文件內(nèi)容 三個(gè)文件分別是三個(gè)不同環(huán)境使用的,如線(xiàn)上,線(xiàn)上測(cè)試,本地測(cè)試。我在本地測(cè)試時(shí)三個(gè)文件都配置成了一樣。 ?vue.config.js?配置文件 問(wèn)題: 控制臺(tái)顯示 400 (Bad Request)或404等問(wèn)題都是?vue.config.js?配置文件?的?proxy?的配置問(wèn)題。 主要檢查點(diǎn)

    2024年03月15日
    瀏覽(33)
  • vue.config.js中proxy配置

    這里以axios發(fā)請(qǐng)求為例 如果發(fā)送的請(qǐng)求都以 /abc 開(kāi)頭,那么我們就可以在proxy中進(jìn)行服務(wù)器代理配置。 3.代理多個(gè)接口 方法1:監(jiān)測(cè)多個(gè)接口,可以在proxy中寫(xiě)多個(gè)配置:(適用于target不同的代理,相同也可以用這個(gè)方法,就是會(huì)麻煩一點(diǎn),對(duì)于相同的target方法2會(huì)比較方便)

    2024年02月22日
    瀏覽(25)
  • vue.config.js使用代理配置真實(shí)請(qǐng)求url

    vue.config.js使用代理配置真實(shí)請(qǐng)求url

    前端請(qǐng)求接口過(guò)程中會(huì)統(tǒng)一配置代理請(qǐng)求url,配置之后瀏覽器只能看到local host路徑。 為方便查看請(qǐng)求的真實(shí)ip,需要在vue.config.js中做如下配置,便能在瀏覽器實(shí)時(shí)查看到真實(shí)地址 配置完重啟,效果如下:

    2024年02月13日
    瀏覽(31)
  • vite.config.ts常規(guī)配置(publicPath)

    @vue.confing.js中的publicPath屬性變?yōu)閎ase屬性 import { defineConfig } from ‘vite’ import vue from ‘@vitejs/plugin-vue’ // 單文件組件支持 /** Vue 3 單文件組件支持:@vitejs/plugin-vue Vue 3 JSX 支持:@vitejs/plugin-vue-jsx Vue 2.7 支持:vitejs/vite-plugin-vue2 Vue 2.7 的支持:underfin/vite-plugin-vue2 / import AutoImpor

    2024年02月04日
    瀏覽(24)
  • vue中vite.config.js配置跨域以及環(huán)境配置詳解

    vue中vite.config.js配置跨域以及環(huán)境配置詳解

    我們的 .env.development 和 .env.production 文件里面都會(huì)有 VITE_APP_ENV 配置: 在我們的 vite.config.js文件中: 以上是 vite.config.js 的配置,上面展示了在不同環(huán)境下去請(qǐng)求對(duì)應(yīng)環(huán)境的域名并且配置代理進(jìn)行跨域. 1.在vue.config.js中設(shè)置一下代碼: 2. 創(chuàng)建axioss實(shí)例時(shí),將baseUrl設(shè)置為 \\\'/api\\\'

    2024年02月15日
    瀏覽(29)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包