1. 程式人生 > >對vue中 預設的 config/index.js:配置的詳細理解 -【以及webpack配置的理解】

對vue中 預設的 config/index.js:配置的詳細理解 -【以及webpack配置的理解】

當我們需要和後臺分離部署的時候,必須配置config/index.js:

用vue-cli 自動構建的目錄裡面  (環境變數及其基本變數的配置)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 var path = require('path') module.exports = { build: { index: path.resolve(__dirname, 'dist/index.html'
), assetsRoot: path.resolve(__dirname, 'dist'), assetsSubDirectory: 'static', assetsPublicPath: '/', productionSourceMap: true }, dev: { port: 8080, proxyTable: {} } }

在'build'部分,我們有以下選項:

build.index

必須是本地檔案系統上的絕對路徑。

index.html (帶著插入的資源路徑) 會被生成。

如果你在後臺框架中使用此模板,你可以編輯index.html路徑指定到你的後臺程式生成的檔案。例如Rails程式,可以是app/views/layouts/application.html.erb,或者Laravel程式,可以是resources/views/index.blade.php

build.assetsRoot

必須是本地檔案系統上的絕對路徑。

應該指向包含應用程式的所有靜態資產的根目錄。public/ 對應Rails/Laravel。

build.assetsSubDirectory

被webpack編譯處理過的資原始檔都會在這個build.assetsRoot

目錄下,所以它不可以混有其它可能在build.assetsRoot裡面有的檔案。例如,假如build.assetsRoot引數是/path/to/distbuild.assetsSubDirectory 引數是 static, 那麼所以webpack資源會被編譯到path/to/dist/static目錄。

每次編譯前,這個目錄會被清空,所以這個只能放編譯出來的資原始檔。

static/目錄的檔案會直接被在構建過程中,直接拷貝到這個目錄。這意味著是如果你改變這個規則,所有你依賴於static/中檔案的絕對地址,都需要改變。

build.assetsPublicPath【資源的根目錄】

這個是通過http伺服器執行的url路徑。在大多數情況下,這個是根目錄(/)。如果你的後臺框架對靜態資源url字首要求,你僅需要改變這個引數。在內部,這個是被webpack當做output.publicPath來處理的。

後臺有要求的話一般要加上./ 或者根據具體目錄新增,不然引用不到靜態資源

build.productionSourceMap

在構建生產環境版本時是否開啟source map。

dev.port

開發伺服器監聽的特定埠

dev.proxyTable

定義開發伺服器的代理規則。

 專案中配置的config/index.js,有dev和production兩種環境的配置 以下介紹的是production環境下的webpack配置的理解

複製程式碼
 1 var path = require('path')
 2 
 3 module.exports = {
 4   build: { // production 環境
 5     env: require('./prod.env'), // 使用 config/prod.env.js 中定義的編譯環境
 6     index: path.resolve(__dirname, '../dist/index.html'), // 編譯輸入的 index.html 檔案
 7     assetsRoot: path.resolve(__dirname, '../dist'), // 編譯輸出的靜態資源路徑
 8     assetsSubDirectory: 'static', // 編譯輸出的二級目錄
 9     assetsPublicPath: '/', // 編譯釋出的根目錄,可配置為資源伺服器域名或 CDN 域名
10     productionSourceMap: true, // 是否開啟 cssSourceMap
11     // Gzip off by default as many popular static hosts such as
12     // Surge or Netlify already gzip all static assets for you.
13     // Before setting to `true`, make sure to:
14     // npm install --save-dev compression-webpack-plugin
15     productionGzip: false, // 是否開啟 gzip
16     productionGzipExtensions: ['js', 'css'] // 需要使用 gzip 壓縮的副檔名
17   },
18   dev: { // dev 環境
19     env: require('./dev.env'), // 使用 config/dev.env.js 中定義的編譯環境
20     port: 8080, // 執行測試頁面的埠
21     assetsSubDirectory: 'static', // 編譯輸出的二級目錄
22     assetsPublicPath: '/', // 編譯釋出的根目錄,可配置為資源伺服器域名或 CDN 域名
23     proxyTable: {}, // 需要 proxyTable 代理的介面(可跨域)
24     // CSS Sourcemaps off by default because relative paths are "buggy"
25     // with this option, according to the CSS-Loader README
26     // (https://github.com/webpack/css-loader#sourcemaps)
27     // In our experience, they generally work as expected,
28     // just be aware of this issue when enabling this option.
29     cssSourceMap: false // 是否開啟 cssSourceMap
30   }
31 }
複製程式碼

下面是vue中的build/webpack.base.conf.js

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

相關推薦

vue 預設config/index.js:配置詳細理解 -以及webpack配置理解-config配置的目的都是為了服務webpack配置

複製於:https://www.cnblogs.com/whkl-m/p/6627864.html   當我們需要和後臺分離部署的時候,必須配置config/index.js:   用vue-cli 自動構建的目錄裡面  (環境變數及其基本變數的配置)

vue 預設config/index.js:配置詳細理解 -以及webpack配置理解

當我們需要和後臺分離部署的時候,必須配置config/index.js: 用vue-cli 自動構建的目錄裡面  (環境變數及其基本變數的配置) 1 2 3 4 5 6 7 8 9 10 11 1

vueconfig/index.js:配置詳細理解

github ase child top 提示 調用 base 取出 source 當我們需要和後臺分離部署的時候,必須配置config/index.js: 用vue-cli 自動構建的目錄裏面 (環境變量及其基本變量的配置) 1 var path = require

VUE——在配置檔案config/index.js配置統一請求介面

在配置檔案config/index.js找到  module.exports={         dev:{             proxyTable:{}         }     } 更改為:     proxyTable:{         "/api":

vue-cli webpack config index.js 配置註釋

for use 輸入 域名 pack set com map webp var path = require(‘path‘) module.exports = { build: { // production 環境 env: require(‘

vueconfig配置

goods 別名 pre post ati import conf 文件中 dirname 在webpack.base.conf文件中配置別名以及擴展名 resolve: { extensions: [‘.js‘, ‘.vue‘, ‘.json‘, ‘.styl‘]

config/index.js

acc cau enc root auto proxy module emp tps // see http://vuejs-templates.github.io/webpack for documentation.var path = require(‘path‘) m

vue動畫函式鉤子js動畫

1. 動畫開始:@before-enter      @before-leave     動畫過程: @enter                 @lea

如何vue的元件進行點選事件監聽

<link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-default/index.css"> </head> <body> <div id="

vue的data進行資料初始化

this.$data是表示當前的改變後的this中的資料,而this.$options.data()是表示沒有賦值前的this中的資料,表示 初始話的data. 當在頁面中要對data中的資料進行多組操作時,防止每組資料之間的影響,可以先對資料進行初始化後在進行賦值。 一般可以使用Objec

vue引入遠端的js檔案

vue js components: { //引入外鏈中的js 'remote-js': { render(createElement) { return createElement('script

vue require方式引入js檔案

post.vueimport timePicker from '@/components/timePicker' import { mapState } from 'vuex' import * as

關於在vue引入jquery或js檔案

起 最近需要在vue中引入jquery,在網上找了若干資料。 以下文章比較靠譜: [參考傳送門1](http://www.jianshu.com/p/3746cf6cebe2) [參考傳送門2](ht

Vue 如何引入第三方 JS

我們以 jQuery 為例,來講解 一、絕對路徑直接引入,全域性可用 主入口頁面 index.html 中用 script 標籤引入: <script src="./static/jquery-1.12.4.js"></script>

vuenextTick()的理解及使用場景說明

非同步更新佇列: 首先我們要對vue的資料更新有一定理解: vue是依靠資料驅動檢視更新的,該更新的過程是非同步的。 即:當偵聽到你的資料發生變化時, Vue將開啟一個佇列(該佇列被Vue官方稱為非同步更新佇列)。 檢視需要等佇列中所有資料變化完成之後,再統一進行更新。示例: <

關於Vue:key="index"的console警告

在寫vue專案時,瀏覽器的console出現如下警告資訊: [Vue warn]: Property or method "in

Vue的MVVM原理解析和實現

對Vue中的MVVM原理解析和實現 首先你對Vue需要有一定的瞭解,知道MVVM。這樣才能更有助於你順利的完成下面原理的閱讀學習和編寫   下面由我阿巴阿巴的詳細走一遍Vue中MVVM原理的實現,這篇文章大家可以學習到: 1.Vue資料雙向繫結核心程式碼模組以及實現原理 2.訂閱者-釋出者模式是如

記一筆vue的中央事件總線的問題,以及解決方案

ole work 手動 lag debug 事件總線 lse 沒有 導致 代碼結構:首先HeaderNav組件是被單獨拎出來的,router-view中就對應了內容組件,由於有時候i有的界面的header內容是不一樣的,因此要用到兄弟組件的相互通信,這個時候我首先選擇了bu

VScode開發Vue項目,關閉eslint代碼檢查,以及相關配置

img image http com false span inf lin bubuko 剛開始打開vue項目的時候會發現vue代碼報紅,解決方式如下 首先安裝Vetur和ESLint 打開文件》首選項》設置,配置如下代碼 { "explorer

vuethis.$router.push路由2種傳參以及獲取方法

vue中this.$router.push路由2種傳參以及獲取方法 專案中通過this.$router.push路由跳轉頁面傳遞引數的方式很常見,一般有兩種方式: 1.params傳參: this.$router.push({name:'parasetEdit',params:{pk_r