vue引入靜態js檔案的方法
阿新 • • 發佈:2020-06-24
由於一些演示,需要對編碼名稱等可快速進行修改,需要頁面方便配置。由於build後的vue專案基本已經看不出原樣,因此需要建立一個檔案,並在打包的時候不會進行編譯。
vue-cli 2.0的作法是在static檔案下建立js。vue-cli 3.0 的寫法則是直接在public資料夾下建立js、
具體操作如下:
1、在public資料夾下建立config.js檔案,裡面檔案的語法是es5,不允許使用瀏覽器不能相容的es6語法。因為該檔案不進行編譯,es6部分語法瀏覽器不相容。
2.、在html檔案下,使用<scrtipt>標籤進入
3、在頁面直接按照原生的方法使用即可。
例如config.js定義了一個變數叫config,並在index.html頁面引入後,那麼在頁面任何一處地方都可以直接使用。
config.js
/*自定義全域性變數,此檔案不編譯,因此需要用原生的寫法*/ let config = { networkGuard:{ accountDBID: ‘9E54B0CA55E447148211ACEA6F911FBC‘,// 賬號表,網警資料-身份證賬號關聯 countDBQry: [ // 賬號表搜尋條件,需要和資料表的搜尋條件進行關聯 {fieldCode: "account",fieldName: "賬號",searchRule: "LK",javaType: "varchar",similar: 0,fieldValue:‘‘},// fieldValue需要頁面輸入賦值查詢 {fieldCode:"update_time",fieldName:"更新時間",searchRule:"BET",javaType:"datetime",similar:0,min:"2017-01-01 00:00:00",max:‘‘} // max為當天時間:23:59:59 ],} }
index.html
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no"> <link rel="icon" href="<%= BASE_URL %>favicon.ico"> <title><%= webpackConfig.name %></title> </head> <body> <div id="app"></div> </body> <script src="./config.js" type="text/javascript"></script>
頁面使用:
queryFun() { if(!this.mobile) { return false } // 驗證表示式不是電話號碼不給進入 const reg = /^[1][3,4,5,7,8][0-9]{9}$/ if(!reg.test(this.mobile)) { this.$message({ showClose: true,message: ‘請輸入正確的手機號碼!‘,type: ‘warning‘ }) return false } config.networkGuard.countDBQry[0].fieldValue = this.mobile Object.assign(this.listQuery,{ dataBaseId: config.networkGuard.accountDBID,params: config.networkGuard.countDBQry }) ……
個人錯誤記錄:
在開發環境中,我在public下建立了config.js檔案,並且用export default方法進行匯出。在頁面使用的地方使用import config from XXX進入引入。開發過程中,沒有出問題,但是在打包釋出以後,發現修改config檔案並不生效。
經過排查才意識到:不打包編譯的js檔案不識別es6語法,並且不應該使用import方法進行引入。應該按照原生的js檔案進行使用
到此這篇關於vue引入靜態js檔案的方法的文章就介紹到這了,更多相關vue引入靜態js檔案內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!