vue引入靜態js文件


 

由於一些演示,需要對編碼名稱等可快速進行修改,需要頁面方便配置。由於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>
</html>

 

頁面使用:

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文件進行使用


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM