vue-cli中config目錄下的index.js文件詳解

// see http://vuejs-templates.github.io/webpack for documentation.
// path是node.js的路徑模塊,用來處理路徑統一的問題
var path = require('path')module.exports = {
// 下面是build也就是生產編譯環境下的一些配置build: {
// 導入prod.env.js配置文件,只要用來指定當前環境,詳細見(1)env: require('./prod.env'),
// 下面是相對路徑的拼接,假如當前跟目錄是config,那么下面配置的index屬性的屬性值就是dist/index.html
//path.resolve() 方法會把一個路徑或路徑片段的序列解析為一個絕對路徑。index: path.resolve(__dirname, '../dist/index.html'),adminIndex: path.resolve(__dirname, '../dist/admin.html'),
// 下面定義的是靜態資源的根目錄 也就是dist目錄assetsRoot: path.resolve(__dirname, '../dist'),
// 下面定義的是靜態資源根目錄的子目錄static,也就是dist目錄下面的staticassetsSubDirectory: 'static',
// 下面定義的是靜態資源的公開路徑,也就是真正的引用路徑assetsPublicPath: 'https://cdn.XXXX.cn/siteResource/pop-online-fund-vote-web/',
// 下面定義是否生成生產環境的sourcmap,sourcmap是用來debug編譯后文件的,通過映射到編譯前文件來實現productionSourceMap: true,// Gzip off by default as many popular static hosts such as// Surge or Netlify already gzip all static assets for you.// Before setting to `true`, make sure to:// npm install --save-dev compression-webpack-plugin
// 下面是是否在生產環境中壓縮代碼,如果要壓縮必須安裝compression-webpack-pluginproductionGzip: false,
// 下面定義要壓縮哪些類型的文件productionGzipExtensions: ['js', 'css'],// Run the build command with an extra argument to// View the bundle analyzer report after build finishes:// `npm run build --report`// Set to `true` or `false` to always turn it on or off
// 下面是用來開啟編譯完成后的報告,可以通過設置值為true和false來開啟或關閉 
// 下面的process.env.npm_config_report表示定義的一個npm_config_report環境變量,可以自行設置bundleAnalyzerReport: process.env.npm_config_report},dev: {
// 引入當前目錄下的dev.env.js,用來指明開發環境,詳見(2)env: require('./dev.env'),
// 下面是dev-server的端口號,可以自行更改port: 443,
// 下面表示是否自定代開瀏覽器autoOpenBrowser: true,assetsSubDirectory: 'static',assetsPublicPath: '/',
// 下面是代理表,作用是用來,建一個虛擬api服務器用來代理本機的請求,只能用于開發模式 // 詳見(3)proxyTable: {'/api': {target: 'http://localhost:8082',pathRewrite: {'^/api': '/'}},'/pop-shared-web-components': {target: 'http://pop-shared-web-components.cn:3000',pathRewrite: {'^/pop-shared-web-components': '/'}}},// CSS Sourcemaps off by default because relative paths are "buggy"// with this option, according to the CSS-Loader README// (https://github.com/webpack/css-loader#sourcemaps)// In our experience, they generally work as expected,// just be aware of this issue when enabling this option.
// 是否生成css,map文件,上面這段英文就是說使用這個cssmap可能存在問題,但是按照經驗,問題不大,可以使用 
// 給人覺得沒必要用這個,css出了問題,直接控制臺不就完事了cssSourceMap: false}
}

這是index.js,再說一下config下的dev.env.js和prod.env.js文件。

(1)下面是prod.env.js的配置內容module.exports = {// 作用很明顯,就是導出一個對象,NODE_ENV是一個環境變量,指定production環境NODE_ENV: '"production"'}
(2)下面是dev.env.js的配置內容// 首先引入的是webpack的merge插件,該插件是用來合并對象,也就是配置文件用的,相同的選項會被后者覆蓋,至于這里為什么多次一舉,可能另有他圖吧var merge = require('webpack-merge')// 導入prod.env.js配置文件var prodEnv = require('./prod.env')// 將兩個配置對象合并,最終結果是 NODE_ENV: '"development"'module.exports = merge(prodEnv, {NODE_ENV: '"development"'})
(3)下面是proxyTable的一般用法//vue-cli使用這個功能是借助http-proxy-middleware插件,一般解決跨域請求apiproxyTable: {'/list': {target: 'http://api.xxxxxxxx.com', -> 目標url地址changeOrigin: true, -> 指示是否跨域pathRewrite: {'^/list': '/list' -> 可以使用 /list 等價于 api.xxxxxxxx.com/list}}}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/249868.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/249868.shtml
英文地址,請注明出處:http://en.pswp.cn/news/249868.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Business Intelligence——SSIS項目從創建到部署的簡單總結(二)

在上一篇博客中,我們成功的把包導進了SQL Server中,那么接下來我們就為其創建作業,使數據庫能夠自動執行我們的任務。首先,我們需要啟動“SQL Server 代理”。如圖1:圖1在“SQL Server 代理”的子節點中,選…

我的vscode配置 利用Settings Sync一鍵安裝

{"prettier.eslintIntegration": true, // 點擊保存時,根據 eslint 規則自定修復,同時集成 prettier 到 eslint 中"prettier.semi": false, //去掉代碼結尾的分號"prettier.singleQuote": true, //使用帶引號替代雙引號&q…

IdentityServer4【QuickStart】之使用asp.net core Identity

使用asp.net core Identity IdentityServer靈活的設計中有一部分是可以將你的用戶和他們的數據保存到數據庫中的。如果你以一個新的用戶數據庫開始,那么,asp.net core Identity是一個選擇。這個示例演示了如何在IdentityServer中使用asp.net core Ientit…

vue demo1

1.開發工具 試過sublime,現在轉戰vscode,覺得很順手,總之啥工具習慣就好。 vscode用著不錯的插件,推薦安裝。 2.項目目錄介紹 vue-cli生成的項目目錄有點多,初看有點懵,梳理一下會好很多。 ├── ind…

mysql日志介紹

1. 錯誤日志 錯誤日志記錄的事件: a. 服務器啟動關閉過程中的信息 b. 服務器運行過程中的錯誤信息 c. 事件調試器運行一個事件時間生的信息 d. 在從服務器上啟動從服務器進程時產生的信息 2. 查詢日志 查詢日志記錄查詢語句與啟動時間,建議不是在調試環境…

Mac OS X終端的常用操作命令(UNIX指令)

用了十多年windows,終于換了個高配Mac,俗話說 無論前端還是后端最終還是走向了linux,無論是換了多少臺PC最終都會走向Mac。不學習命令行用什么Mac? 干就完了~ pwd 顯示現在的文件路徑 (print working directory) ls 顯示…

索引( index )

索引在龐大的數據庫上最能體現出作用,所謂索引就是根據需求將指定的列提取出來做索引表,可以顯著提高在查找數據方面的速度。 在索引的前提下還可以指定索引值是否唯一,索引值是單列或是多列索引。 根據索引類型,索引分為&#xf…

dependencies 和 devDependencies 區別

當我們項目需要下載一個模塊的時候,我們安裝npm包(在項目目錄下面npm install module_name)的時候,很多時候我們會在后面加上–save-dev 或 –save。這兩個參數代表什么呢? 初識 相信很多人都會回答: np…

CentOS下防御或減輕DDoS攻擊方法(轉)

查看攻擊IP 首先使用以下代碼,找出攻擊者IP netstat -ntu | awk {print $5} | cut -d: -f1 | sort | uniq -c | sort -n 將會得出類似如下的結果: 1 114.226.9.132 1 174.129.237.157 1 58.60.118.142 1 Address 1 servers) 2 118.26.131.78 3 123.125.1…

iTerm2 快捷鍵

Ctrl a:將光標移動到命令行首 Ctrl e:將光標移動到命令行尾 Ctrl w:刪除光標前的一個單詞 Ctrl u:刪除所有內容 Ctrl y:粘貼上次刪除的內容 Ctrl r:搜索歷史命令刪除光標之前的單詞:ctrl …

vscode - 添加背景圖片

首先,CtrlShiftP安裝backround , 而后重啟vscode會有默認的背景圖片 修改背景圖,可自定義三張 具體請看gif圖 最開始時,發現png根本不是全透明,用ps處理了一下(下列所有操作均字母組合) 1.1 Ctr…

架構設計雜談004——架構師

什么是架構設師 架構師是:負責系統架構設計的人、團隊或組織 架構師主要干什么 ●架構師是技術領導,領導并負責架構設計,負責做決策 ●架構師可以是團隊或組織,這個時候通常會有首席架構師 ●架構師必須掌握足夠的技術知識 ●架構…

學習JS基本數據類型與對象的valueOf方法

https://blog.csdn.net/licheng11403080324/article/details/60128090 https://yq.aliyun.com/articles/399499 轉載于:https://www.cnblogs.com/smzd/p/9548530.html

security和oauth2.0的整合

security和oauth2.0的整合 之前已經介紹過security的相關的介紹,現在所需要做的就是security和oauth2.0的整合,在原有的基礎上我們加上一些相關的代碼;代碼實現如下: pom.xml: <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http:…

關于Vue.use()詳解

問題 相信很多人在用Vue使用別人的組件時&#xff0c;會用到 Vue.use() 。例如&#xff1a;Vue.use(VueRouter)、Vue.use(MintUI)。但是用 axios時&#xff0c;就不需要用 Vue.use(axios)&#xff0c;就能直接使用。那這是為什么吶&#xff1f; 答案 因為 axios 沒有 install。…

百度TTS的來由

#### https://home-assistant.io/components/tts.baidu/#### https://github.com/charleyzhu/HomeAssistant_Components#### 當前使用自定義組件 https://bbs.hassbian.com/thread-1152-1-1.html#### 2018-3-15添加百度云語音識別 - platform: baidu language: zh app_i…

eslint 禁用命令

/* eslint-disable */ ESLint 在校驗的時候就會跳過后面的代碼還可以在注釋后加入詳細規則&#xff0c;這樣就能避開指定的校驗規則了/* eslint-disable no-new */常用&#xff1a; rules: {"comma-dangle": ["error", "never"], //是否允許對象…

分布式工具的一次小升級?

前言 之前在做 秒殺架構實踐 時有提到對 distributed-redis-tool 的一次小升級&#xff0c;但是沒有細說。 其實主要原因是&#xff1a; 秒殺時我做壓測&#xff1a;由于集成了這個限流組件&#xff0c;并發又比較大&#xff0c;所以導致連接、斷開 Redis 非常頻繁。 最終導致獲…

淺談vue $mount()

Vue 的$mount()為手動掛載&#xff0c;在項目中可用于延時掛載&#xff08;例如在掛載之前要進行一些其他操作、判斷等&#xff09;&#xff0c;之后要手動掛載上。new Vue時&#xff0c;el和$mount并沒有本質上的不同。 具體見代碼&#xff1a; 順便附上vue渲染機制流程圖&a…

小三角

{border-color: transparent;border-right-color: #e5e5e5;border-width: 7px;margin-top: -7px;right: 100%;top: 20px;border: solid transparent;content: " ";height: 0;width: 0;position: absolute;pointer-events: none; }轉載于:https://www.cnblogs.com/smz…