vue3靜態配置文件不進行編譯
① vue2.0和3.0區別
項目目錄不同
1、vue-cli3.o移除了config.文件夾。
2、多了vue.config.js文件。
3、新增了一個views文件夾。
4、刪除了static新增了public文件夾。
5、index.html移動到public了。
配置項不同
1、vue-cli2.0的域名配置,分為開發環境和生產環境。
2、所以配置域名時,需要在config中的dev.env.js和。
3、prod.env.js中分別配置3.0 config.文件已經被移除。
4、但是多了。env.proction和env.development文件。
5、除了文件位置,實際配置起來和2.沒什麼不同。
創建項目的方式不一樣
1、vue-cli2.0,vue init webpack項目名。
2、vue-cli3.0 vue create項目名。
② 通俗易懂講解vue.config.js的配置參數
貼上 官網
vue-cli3 創建的時候並不會自動創建vue.config.js,因為這個是個可選項,所以一般都是需要修改webpack的時候才會自己創建一個vue.config.js
再然後因為vue-cli3內部高度集成了webpack,一般來說使用者不需要再去知道weboack做了什麼,所以沒有暴露webpack的配置文件,我們可以手動去創建vue.config.js 去修改默認的webpack。注意,只能叫vue.config.js。
publicPath (從 Vue CLI 3.3 起已棄用baseUrl,請使用publicPath)
參考: https://my.oschina.net/u/4446873/blog/4882847
默認情況下,Vue CLI 會假設你的應用是被部署在一個域名的根路徑上,例如 https://www.xxx.com/ 。如果應用被部署在一個子路徑上,你就需要用這個選項指定這個子路徑。例如,如果你的應用被部署在 https://www.xxx.com/my-app/ ,則設置 publicPath 為 /my-app/。
這個值在開發環境下同樣生效。如果你想把 開發伺服器架設在根路徑 ,你可以使用一個條件式的值:
通常開發環境,本地運行都會直接部署在根路徑上,publicPath設置為'/',訪問地址是你的IP地址。如下是設置成'/app'的效果:
從上面可以得知,靜態資源文件都是在app下的,所以在dist下新增添一個app目錄,把dist下文件放到app下,相當於一個文件的路徑,可以發現項目會正常啟動。一般nginx都會配置一個靜態資源目錄,打包後的文件都會放到這個靜態資源目錄裡面,nginx去做映射,所以publicPath這個屬性基本不用改。'/'就行。
結論: publicPath配置成'/aaa/bbb/ccc', 則需在相應的伺服器路徑中新建aaa>bbb>ccc的文件夾,然後將打包後的文件放進去,就ok啦。
項目中,我會在.env.proction文件中設置一個變數VUE_APP_BASE_URL ,項目打包後告訴相關人員 nginx 路由前綴是什麼即可
outputDir
assetsDir
indexPath
filenameHashing
直觀效果:當運行npm run build時,
打包後的文件後面都會帶一個8位的hash值,那啥是個hash值?
在打包出來的文件名上加上文件內容的hash是目前最常見的有效使用瀏覽器長緩存的方法,js文件如果有內容更新,hash就會更新,瀏覽器請求路徑變化所以更新緩存,如果js內容不變,hash不變,直接用緩存。(這段話是從別的文章裡面參考的)。
將filenameHashing這個值設置為false試試,就不會帶那個後綴hash值。
pages
lintOnSave
runtimeCompiler
transpileDependencies
proctionSourceMap
crossorigin (不理解)
integrity
configureWebpack
chainWebpack
Css相關配置
devServer
如果你的前端應用和後端 API 伺服器沒有運行在同一個主機上,你需要在開發環境下將 API 請求代理到 API 伺服器。這個問題可以通過 vue.config.js 中的 devServer.proxy 選項來配置。
補充知識
所謂的跨域就是不同源,不滿足協議、域名、埠都相同的約定
http://www.test.com/dir/login.html 同源
https://www.test.com/index.html 不同源 協議不同(https)
http://www.test.com:90/index.html 不同源 埠不同(90)
http://www.demo.com/index.html 不同源 域名不同(demo)
當協議、域名、埠中任意一個不相同時,就是不同源。若不同源之間相互請求資源,就算作跨域
補充知識
反向代理(Reverse Proxy)方式是指以代理伺服器來接受網路上的連接請求,然後將請求轉發給內部網路上的伺服器,並將伺服器上得到的結果返回給請求連接的客戶端,此時代理伺服器對外就表現為一個反向代理伺服器。客戶端無需做任何配置。
修改config/index.js /vue.config.js文件(改完之後千萬記得要重新 npm run dev)
host 將他的值修改為 0.0.0.0,代表可以訪問本機所有的IP地址,讓vue項目可通過localhost和IP同時訪問。
port 設置埠號
open 是否在第一次編譯時是自動打開瀏覽器
hot 開啟為true,啟動熱重載,自動刷新頁面
https
inline
overlay
targe 代理的伺服器,也就是api要訪問的伺服器。
changeOrigin 允許跨域, 為false時,請求頭中host仍然是瀏覽器發送過來的host;如果設置成true:發送請求頭中host會設置成target的值
ws 是否代理websocket
pathRewrite 重寫 url 的 path 部分
此文記錄下來,方便自己遺忘的時候能夠快速查閱,如有錯誤請指出。
參考鏈接:
https://www.jianshu.com/p/b358a91bdf2d
https://www.jb51.net/article/174200.htm
https://blog.csdn.net/liu_yunzhao/article/details/90520028
這篇文章講的也很詳細 https://blog.csdn.net/guozhangqiang/article/details/87197870
③ vue中靜態js文件怎麼打包
1.問題描述
在項目開發中,當我們通過npm run build打包之後將文件放在伺服器上時通常會出現圖片失效問題,控制台中提示某個圖片沒有找到(404錯誤),這些圖片可以是以src引入的圖片, 也可以是css中定義的背景圖片。圖片能否顯示與你的靜態資源文件存在位置和引入
的路徑直接相關,下面是我的其中一個項目的文件存放以及路徑書寫方式!
2.解決方法之一
靜態資源static存放位置放在src目錄下
以上是一種解決圖片失效問題的方法,當然,如果非要把static靜態資源目錄放在與src同級目錄下,也是有解決方法,例如通過導入圖片的方式(本人未實踐),可以自行嘗試!
④ 易語言編譯,靜態編譯都不行,怎麼解決啊
很好解決沒有安裝VC靜態鏈接庫
網路下載vc98linker
解壓到易語言目錄 然後對其靜態鏈接庫位置修復
然後再次靜態編譯即可
⑤ 原生快還是vue3快
vue3快。
_略雋巳鱟榧_ragment 支持多個根節點、Suspense 可以在組件渲染之前的等待時間顯示指定內容、Teleport 可以讓子組件能夠在視覺上跳出父組件(如父組件overflow:hidden)
_略鮒噶? v-memo,可以緩存 html 模板,比如 v-for 列表不會變化的就緩存,簡單說就是用內存換時間
_С? Tree-Shaking,會在打包時去除一些無用代碼,沒有用到的模塊,使得代碼打包體積更小
_略? Composition API 可以更好的邏輯復用和代碼組織,同一功能的代碼不至於像以前一樣太分散,雖然 Vue2 中可以用 minxin 來實現復用代碼,但也存在問題,比如方法或屬性名會沖突,代碼來源也不清楚等
_? Proxy 代替 Object.defineProperty 重構了響應式系統,可以監聽到數組下標變化,及對象新增屬性,因為監聽的不是對象屬性,而是對象本身,還可攔截 apply、has 等13種方法
_毓沽誦檳? DOM,在編譯時會將事件緩存、將 slot 編譯為 lazy 函數、保存靜態節點直接復用(靜態提升)、以及添加靜態標記、Diff 演算法使用 最長遞增子序列 優化了對比流程,使得虛擬 DOM 生成速度提升 200%
_С衷? 里使用 v-bind,給 CSS 綁定 JS 變數(color: v-bind(str))
_? setup 代替了 beforeCreate 和 created 這兩個生命周期
_略雋絲⒒肪車牧礁齬匙雍謐榧率? onRenderTracked 會跟蹤組件里所有變數和方法的變化、每次觸發渲染時 onRenderTriggered 會返回發生變化的新舊值,可以讓我們進行有針對性調試
_暇? Vue3 是用 TS 寫的,所以對 TS 的支持度更好
⑥ Vue項目中中編譯正確 控制台出現下列錯誤是什麼情況
1.
程序里可以含有不支持靜態編譯的控制項.
如:
字體選擇框
選擇顏色對話框
等
2.
也有可能是易語言軟體的問題...可以重裝安裝下試試
⑦ vue-cli3項目中console.log()為什麼會有警告
因為你創建項目的時候使用了eslint,有一條是 no-console, 是不允許有console出現的,你可以在配置文件.eslintrc.js里把這條規則關掉
⑧ vue配置plugins目錄不打包
您說的是vue配置plugins目錄為什麼不打包吧。
在static文件夾下添加一個配置文件,在static文件夾下添加一個配置文件,在static文件夾下添加一個配置文件在static文件夾下添加一個配置文件,就按照這種引入方式來調用即可拿到值。
⑨ vue3.0和2.0的區別是什麼
vue-cli2.0與3.0在目錄結構方面,有明顯的不同。
vue-cli3.0移除了配置文件目錄,config 和 build 文件夾。
同時移除了 static 靜態文件夾,新增了 public 文件夾,打開層級目錄還會發現, index.html 移動到 public 中。
配置項,3.0 config文件已經被移除,但是多了.env.proction和env.development文件,除了文件位置,實際配置起來和2.0沒什麼不同。
沒了config文件,跨域需要配置域名時,從config/index.js 挪到了vue.config.js中,配置方法不變。
Vue3.0不論是原生的html標簽還是vue組件,他們都會通過h函數來判斷,如果是原生html標簽,在運行時直接通過Virtual Dom來直接渲染,同樣如果是組件會直接生成組件代碼。
數據監聽,Vue2.x大家都知道使用的是es5的object.defineproperties中getter和setter實現的,而vue3.0的版本,是基於Proxy進行監聽的,其實基於proxy監聽就是所謂的lazy by default。
版權聲明:本文為CSDN博主「水墨-青花」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
⑩ E語言靜態編譯怎麼不行
我教你,不過要破解版的。你要選擇易語言目錄,然後修改,就可以了。我給你看看我的破解版加這個工具的靜態編譯截圖。