vue3.0 vue.config.js 配置基礎(chǔ)的路徑問題
更新時(shí)間:2022年10月25日 09:55:58 作者:周家大小姐.
這篇文章主要介紹了vue3.0 vue.config.js 配置基礎(chǔ)的路徑問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
vue3.0 vue.config.js 配置基礎(chǔ)路徑
在和src同級的路徑下創(chuàng)建一個(gè)文件名,vue.config.js(這文件名是固定這么寫的)
在文件中寫入
module.exports = { ? ? baseUrl:'/',//根路徑 ? ? outputDir:'dist',//打包的時(shí)候生成的一個(gè)文件名 ? ? assetsDir:'assets',//靜態(tài)資源目錄(js,css,img,fonts)這些文件都可以寫里面 ? ? lintOnSave:false,//是否開啟eslint保存檢測 ,它的有效值為 true || false || 'error' ? ? devServer:{ ? ? ? ? open:true,//啟動項(xiàng)目后自動開啟瀏覽器 ? ? ? ? host:'locahost',//對應(yīng)的主機(jī)名 ? ? ? ? port:8080,//端口號 ? ? ? ? https:false,//是否開啟協(xié)議名,如果開啟會發(fā)出警告 ? ? ? ? hotOnly:false,//熱模塊更新的一種東西,webpack中自動有過配置,但如果我們下載一些新 ? ? ? ? ? ?的模塊可以更好的給我更新一些配置 ? ? ? ? proxy:{ ? ? ? ? //配置跨域 ? ? ? ? '/api':{//配置跨域的名字 ? ? ? ? ? ? target:'http//localhost:5000/api',//跨域的地址 ? ? ? ? ? ? ws:true, ? ? ? ? ? ? changOrigin:true,//是否跨域 ? ? ? ? ? ? pathRewrite:{//當(dāng)前的名字 ? ? ? ? ? ? ? ? '^/api':'' ? ? ? ? ? ? } ? ? ? ? ? } ? ? ? ? ? } ? ? } ?};
在XXX.vue頁面引用
let self = this; let params= { ?? ??? ??? ?type: 14, ?? ??? ??? ?SYS_UNIT: "440100113" ?? ?} ?? ?self.$http.get('/apis',{params}).then( data => { ? ? ? ? ? ? ? ? //請求回來的數(shù)據(jù) ? ? ? ? })
vue3.0+ 3.x config配置
//參考vue3.x官方文檔:https://cli.vuejs.org/zh/config //注意開頭被//注釋的參數(shù)不建議新手輕易改動 //默認(rèn)是沒有vue.config.js的,需要手動在根目錄下建立并填入需要的配置項(xiàng)如下: module.exports = { //baseUrl從 Vue CLI 3.3 起已棄用,請使用publicPath。 publicPath: './',//默認(rèn)為/,可以改為相對路徑,默認(rèn)情況下,Vue CLI 會假設(shè)你的應(yīng)用是被部署在一個(gè)域名的根路徑上,例如 https://www.my-app.com/。如果應(yīng)用被部署在一個(gè)子路徑上,你就需要用這個(gè)選項(xiàng)指定這個(gè)子路徑。例如,如果你的應(yīng)用被部署在 https://www.my-app.com/my-app/,則設(shè)置 publicPath 為 /my-app/。 /*這個(gè)值在開發(fā)環(huán)境下同樣生效。如果你想把開發(fā)服務(wù)器架設(shè)在根路徑,你可以使用一個(gè)條件式的值: publicPath: process.env.NODE_ENV === 'production' ? '/production-sub-path/' : '/' */ outputDir: 'dist1',//默認(rèn)值為dist,構(gòu)建輸出目錄,若打包時(shí)不改會覆蓋之前版本 assetsDir:'assets',//默認(rèn)為'',靜態(tài)文件目錄(css,img,js,fonts) //indexPath:index.html,//默認(rèn)為index.html,可改成其他文件///一般不改 //filenameHashing:true,//默認(rèn)為true,默認(rèn)情況下,生成的靜態(tài)資源在它們的文件名中包含了 hash 以便更好的控制緩存。///一般不改 //pages:undefined,//在 multi-page 模式下構(gòu)建應(yīng)用。每個(gè)“page”應(yīng)該有一個(gè)對應(yīng)的 JavaScript 入口文件。其值應(yīng)該是一個(gè)對象,對象的 key 是入口的名字,以下是官方說明 /* pages: { index: { // page 的入口 entry: 'src/index/main.js', // 模板來源 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è)頁面中包含的塊,默認(rèn)情況下會包含 // 提取出來的通用 chunk 和 vendor chunk。 chunks: ['chunk-vendors', 'chunk-common', 'index'] }, // 當(dāng)使用只有入口的字符串格式時(shí), // 模板會被推導(dǎo)為 `public/subpage.html` // 并且如果找不到的話,就回退到 `public/index.html`。 // 輸出文件名會被推導(dǎo)為 `subpage.html`。 subpage: 'src/subpage/main.js' } */ lintOnSave:false,//默認(rèn)true,開啟會降低執(zhí)行效率,用途是eslint檢測代碼,可選值:true,false,'error',當(dāng)為true時(shí)檢測代碼,出現(xiàn)錯(cuò)誤時(shí)提示信息會輸出到命令行,不會編譯失?。粸?error',出現(xiàn)錯(cuò)誤編譯會失敗 //runtimeCompiler:false,//默認(rèn)為false,是否使用包含運(yùn)行時(shí)編譯器的 Vue 構(gòu)建版本。設(shè)置為 true 后你就可以在 Vue 組件中使用 template 選項(xiàng)了,但是這會讓你的應(yīng)用額外增加 10kb 左右。 //transpileDependencies:[],//默認(rèn)為[],默認(rèn)情況下 babel-loader 會忽略所有 node_modules 中的文件。如果你想要通過 Babel 顯式轉(zhuǎn)譯一個(gè)依賴,可以在這個(gè)選項(xiàng)中列出來。 //productionSourceMap:true,默認(rèn)為true,如果你不需要生產(chǎn)環(huán)境的 source map,可以將其設(shè)置為 false 以加速生產(chǎn)環(huán)境構(gòu)建 //crossorigin:undefined,//默認(rèn)為undefined設(shè)置生成的 HTML 中 <link rel="stylesheet"> 和 <script> 標(biāo)簽的 crossorigin 屬性。需要注意的是該選項(xiàng)僅影響由 html-webpack-plugin 在構(gòu)建時(shí)注入的標(biāo)簽 - 直接寫在模版 (public/index.html) 中的標(biāo)簽不受影響。 //integrity:false,//默認(rèn)為false,在生成的 HTML 中的 <link rel="stylesheet"> 和 <script> 標(biāo)簽上啟用 Subresource Integrity (SRI)。如果你構(gòu)建后的文件是部署在 CDN 上的,啟用該選項(xiàng)可以提供額外的安全性。需要注意的是該選項(xiàng)僅影響由 html-webpack-plugin 在構(gòu)建時(shí)注入的標(biāo)簽 - 直接寫在模版 (public/index.html) 中的標(biāo)簽不受影響。另外,當(dāng)啟用 SRI 時(shí),preload resource hints 會被禁用,因?yàn)?Chrome 的一個(gè) bug 會導(dǎo)致文件被下載兩次。 /*configureWebpack //調(diào)整 webpack 配置最簡單的方式就是在 vue.config.js 中的 configureWebpack 選項(xiàng)提供一個(gè)對象: configureWebpack: config => { if (process.env.NODE_ENV === 'production') { // 為生產(chǎn)環(huán)境修改配置... } else { // 為開發(fā)環(huán)境修改配置... } } */ /* chainWebpack,Vue CLI 內(nèi)部的 webpack 配置是通過 webpack-chain 維護(hù)的。這個(gè)庫提供了一個(gè) webpack 原始配置的上層抽象,使其可以定義具名的 loader 規(guī)則和具名插件,并有機(jī)會在后期進(jìn)入這些規(guī)則并對它們的選項(xiàng)進(jìn)行修改。 chainWebpack: config => { config.module .rule('vue') .use('vue-loader') .loader('vue-loader') .tap(options => { // 修改它的選項(xiàng)... return options }) } */ //css.modules:false,//默認(rèn)為false,默認(rèn)情況下,只有 *.module.[ext] 結(jié)尾的文件才會被視作 CSS Modules 模塊。設(shè)置為 true 后你就可以去掉文件名中的 .module 并將所有的 *.(css|scss|sass|less|styl(us)?) 文件視為 CSS Modules 模塊。詳細(xì)解釋:https://cli.vuejs.org/zh/guide/css.html#css-modules //css.extract:false,//默認(rèn)值:生產(chǎn)環(huán)境下是 true,開發(fā)環(huán)境下是 false。是否將組件中的 CSS 提取至一個(gè)獨(dú)立的 CSS 文件中 (而不是動態(tài)注入到 JavaScript 中的 inline 代碼)。 //css.sourceMap:false,//默認(rèn)為false,是否為 CSS 開啟 source map。設(shè)置為 true 之后可能會影響構(gòu)建的性能。 //css.loaderOptions,默認(rèn)為{},向 CSS 相關(guān)的 loader 傳遞選項(xiàng)。見官方文檔例子,具體見官方文檔:https://cli.vuejs.org/zh/guide/css.html#%E5%90%91%E9%A2%84%E5%A4%84%E7%90%86%E5%99%A8-loader-%E4%BC%A0%E9%80%92%E9%80%89%E9%A1%B9 /* css: { loaderOptions: { css: { // 這里的選項(xiàng)會傳遞給 css-loader }, postcss: { // 這里的選項(xiàng)會傳遞給 postcss-loader } } } */ //所有 webpack-dev-server 的選項(xiàng)都支持。具體內(nèi)容參見官方文檔https://webpack.js.org/configuration/dev-server/ devServer:{ open:true,//服務(wù)開啟后直接在瀏覽器中打開主頁面 host:'localhost',//主機(jī)名 port:7070,//端口號 https:false,//是否開啟https hotOnly:false,//是否開啟熱模塊更新 proxy:{ //配置跨域,可參見官方文檔https://webpack.js.org/configuration/dev-server/#devserverproxy '/api':{ target:'http://localhost:7000/api/',//跨域地址 ws:true,//如果要代理WebSockets,設(shè)置為true changOrigin:true,//默認(rèn)flase,將主機(jī)頭的原點(diǎn)更改為目標(biāo)URL pathRewrite:{//如果不希望傳遞/api,則需要重寫路徑: '^/api':'' } } } } //parallel:require('os').cpus().length > 1,//是否為 Babel 或 TypeScript 使用 thread-loader。該選項(xiàng)在系統(tǒng)的 CPU 有多于一個(gè)內(nèi)核時(shí)自動啟用,僅作用于生產(chǎn)構(gòu)建。 //pwa,向 PWA 插件傳遞選項(xiàng),PWA是Progressive Web App的英文縮寫, 翻譯過來就是漸進(jìn)式增強(qiáng)WEB應(yīng)用, 是Google 在2016年提出的概念,2017年落地的web技術(shù)。目的就是在移動端利用提供的標(biāo)準(zhǔn)化框架,在網(wǎng)頁應(yīng)用中實(shí)現(xiàn)和原生應(yīng)用相近的用戶體驗(yàn)的漸進(jìn)式網(wǎng)頁應(yīng)用。 //pluginOptions:{}可以用來傳遞任何第三方插件選項(xiàng),例如 /* pluginOptions: { foo: { // 插件可以作為 `options.pluginOptions.foo` 訪問這些選項(xiàng)。 } } */ //其他一些配置如Babel,官方建議使用babel.config.js;ESLint官方建議使用.eslintrc;TypeScript官方建議tsconfig.json }
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
vue中內(nèi)嵌iframe的src更新頁面未刷新問題及解決
這篇文章主要介紹了vue中內(nèi)嵌iframe的src更新頁面未刷新問題及解決方案,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-12-12前端低代碼form-generator實(shí)現(xiàn)及新增自定義組件詳解
這篇文章主要給大家介紹了關(guān)于前端低代碼form-generator實(shí)現(xiàn)及新增自定義組件的相關(guān)資料,form-generator是一個(gè)開源的表單生成器,可以幫助我們快速構(gòu)建各種表單頁面,需要的朋友可以參考下2023-11-11vue使用?vue-socket.io三種方式及踩坑實(shí)例解析
這篇文章主要為大家介紹了vue使用?vue-socket.io三種方式及踩坑實(shí)例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-09-09Vue3中如何使用v-model高級用法參數(shù)綁定傳值
本文給大家介紹Vue3中使用v-model高級用法參數(shù)綁定傳值的相關(guān)知識,包括單個(gè)輸入框傳值和多個(gè)輸入框傳值,一個(gè)組件接受多個(gè)v-model值,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友參考下吧2023-10-10vue3(vite)設(shè)置代理封裝axios api解耦功能
這篇文章主要介紹了vue3(vite)設(shè)置代理封裝axios api解耦,本文結(jié)合示例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-12-12vue.js內(nèi)部自定義指令與全局自定義指令的實(shí)現(xiàn)詳解(利用directive)
這篇文章主要給大家介紹了關(guān)于vue.js內(nèi)部自定義指令與全局自定義指令的實(shí)現(xiàn)方法,vue.js中實(shí)現(xiàn)自定義指令的主要是利用directive,directive這個(gè)單詞是我們寫自定義指令的關(guān)鍵字,需要的朋友們下面跟著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2017-07-07