整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          解析 jsconfig.json 配置文件:深入了解

          解析 jsconfig.json 配置文件:深入了解 JavaScript 項目配置

          析 jsconfig.json 配置文件:深入了解 JavaScript 項目配置

          jsconfig.json 是一個用于配置 JavaScript 項目的配置文件,它提供了許多選項來指導編輯器和工具的行為。通過正確配置jsconfig.json,你可以提高代碼的可讀性、編輯器的智能感知,并改善開發流程。本文將詳細介紹jsconfig.json 配置文件的各個方面,幫助你更好地配置你的 JavaScript 項目。

          創建 jsconfig.json 文件

          首先,在你的 JavaScript 項目根目錄下創建一個名為jsconfig.json 的文件。這個文件將作為項目的配置文件,并包含一些用于配置編輯器和工具行為的 JSON 配置。

          基本配置

          一個簡單的jsconfig.json 配置文件可能如下所示:

          {
            "compilerOptions": {
              "target": "ES6"
            },
            "include": ["src/**/*"]
          }

          在這個配置中,我們設置了編譯選項target 為 ES6,同時指定了需要包含的源代碼文件夾。

          編譯選項

          compilerOptions 中,你可以配置許多編譯選項,例如:

          • target:指定目標 ECMAScript 版本。
          • module:指定模塊系統。
          • outDir:指定輸出目錄。
          • baseUrlpaths:用于配置模塊解析。
          • ...

          使用智能感知

          jsconfig.json 可以用于提供編輯器智能感知的信息。例如,你可以配置導入路徑的別名,以便編輯器可以更好地識別和自動補全路徑。

          {
            "compilerOptions": {
              "baseUrl": "./src",
              "paths": {
                "@components/*": ["components/*"]
              }
            }
          }

          遞歸包含

          通過配置"include",你可以指定哪些文件需要被包含在項目中。通配符** 可以用于遞歸地包含文件夾內的所有內容。

          {
            "include": ["src/**/*"]
          }

          使用外部類型聲明

          如果你使用了第三方庫,你可能需要為它們提供類型聲明文件。可以使用"typeRoots" 來配置類型聲明文件的路徑。

          {
            "compilerOptions": {
              "typeRoots": ["./typings"]
            }
          }

          結語

          jsconfig.json 配置文件為 JavaScript 項目的編輯器和工具提供了重要的指導。通過配置編譯選項、智能感知信息、文件包含以及類型聲明路徑,你可以提升項目的開發體驗和代碼質量。掌握jsconfig.json 配置文件的使用將使你能夠更加高效地進行 JavaScript 開發。

          么是 Vue.js?

          Vue.js 是用于構建交互式的 Web 界面的庫。

          Vue.js 提供了 MVVM 數據綁定和一個可組合的組件系統,具有簡單、靈活的 API。

          本章節是關于 Vue1.x 版本的內容,如需查看 Vue2.x,可點以下鏈接。

          Vue.js2.0 教程:http://www.runoob.com/vue2/vue-tutorial.html

          Vue2.0 新手入門:http://www.runoob.com/w3cnote/vue2-start-coding.html

          Vue.js 特點

          • 簡潔: HTML 模板 + JSON 數據,再創建一個 Vue 實例,就這么簡單。
          • 數據驅動: 自動追蹤依賴的模板表達式和計算屬性。
          • 組件化: 用解耦、可復用的組件來構造界面。
          • 輕量: ~24kb min+gzip,無依賴。
          • 快速: 精確有效的異步批量 DOM 更新。
          • 模塊友好: 通過 NPM 或 Bower 安裝,無縫融入你的工作流。

          如果你喜歡下面這些,那你一定會喜歡 Vue.js:

          • 可擴展的數據綁定機制
          • 原生對象即模型
          • 簡潔明了的 API
          • 組件化 UI 構建
          • 多個輕量庫搭配使用

          Vue.js 安裝

          獨立版本

          直接下載并用 <script> 標簽引入,Vue 會被注冊為一個全局變量。

          Vue.js 官網下載地址:http://vuejs.org/guide/installation.html

          我們可以在官網上直接下載生產版本應用在我們項目中。

          或者可以使用本站的靜態資源 CDN 庫(1.0.11版本):

          http://static.runoob.com/assets/vue/1.0.11/vue.min.js
          

          NPM 安裝

          在用 Vue.js 構建大型應用時推薦使用 NPM 安裝:

          # 最新穩定版本
          $ npm install vue
          # 最新穩定 CSP 兼容版本
          $ npm install vue@csp
          # 開發版本(直接從 GitHub 安裝)
          $ npm install vuejs/vue#dev
          

          Bower 安裝

          # 最新穩定版本
          $ bower install vue
          

          創建第一個 Vue 應用

          接下來我們創建第一個 Vue 應用。

          View 層 - HTML 代碼如下:

          <div id="app">
           {{ message }}
          </div>
          

          Model 層 - JavaScript 代碼如下(需放在指定的HTML元素之后):

          new Vue({
           el:'#app',
           data: {
           message:'Hello World!'
           }
          });
          

          嘗試一下 ?


          雙向數據綁定

          接下來我們創建一個 view 層 HTML 文件:vueapp.htm,以及 model 層文件:vueapp.js,然后通過 vue.js(使用v-model這個指令)完成中間的底層邏輯,實現綁定的效果。改變其中的任何一層,另外一層都會改變。

          vueapp.htm 文件代碼:

          <div id="app">
           <p>{{ message }}</p>
           <input v-model="message">
          </div>
          

          vueapp.js 文件代碼:

          new Vue({
           el: '#app',
           data: {
           message: '菜鳥教程!'
           }
          })
          

          嘗試一下 ?

          以上實例中 {{message}} 會根據輸入框 input 的改變而改變,如果你不想讓其變化可以修改為:

          {{* message }}
          

          同時還支持一些簡單的表達式:

          <!-- 字符串連接 -->
          {{ message + '官網地址:www.runoob.com' }}
          <!-- 字符串反轉 -->
          {{ message.split('').reverse().join('') }}
          

          嘗試一下 ?

          列表輸出

          列表輸出使用 v-for(v-for取代了1.0以前版本中的v-repeat) 這個指令就能完成:

          <!DOCTYPE html>
          <html>
          <head>
          <meta charset="utf-8">
          <title>菜鳥教程(runoob.com)</title>
          <script src="http://static.runoob.com/assets/vue/1.0.11/vue.min.js"></script>
          </head>
          <body>
          <div id="app">
           <ul>
           <li v-for="todo in todos">
           {{ todo.text }}
           </li>
           </ul>
          </div>
          <script>
           new Vue({
           el: '#app',
           data: {
           todos: [
           { text: 'Learn JavaScript' },
           { text: 'Learn Vue.js' },
           { text: 'Build Something Awesome' }
           ]
           }
          })
          </script>
          </body>
          </html>
          

          嘗試一下 ?

          多維數組實例

          <div id="app">
           <ul id="example-2">
           <li v-for="item in items">
           {{ parentMessage }} - {{ $index }} - {{ item.message }}
           </li>
          </ul>
          </div>
          <script>
          var example2=new Vue({
           el: '#example-2',
           data: {
           parentMessage: '菜鳥教程官網',
           items: [
           { message: 'www.runoob.com' },
           { message: 'www.runoob.com' }
           ]
           }
          })
          </script>
          

          嘗試一下 ?


          條件判斷

          在字符串模板中,如 Handlebars,我們得像這樣寫一個條件塊:

          <!-- Handlebars 模板 -->
          {{#if ok}}
           <h1>Yes</h1>
          {{/if}}
          

          在 Vue.js,我們使用 v-if 指令實現同樣的功能:

          <h1 v-if="ok">Yes</h1>
          

          也可以用 v-else 添加一個 "else" 塊:

          <h1 v-if="ok">Yes</h1>
          <h1 v-else>No</h1>
          

          嘗試一下 ?

          因為 v-if 是一個指令,需要將它添加到一個元素上。但是如果我們想切換多個元素呢?此時我們可以把一個 <template> 元素當做包裝元素,并在上面使用 v-if,最終的渲染結果不會包含它。

          <template v-if="ok">
           <h1>Title</h1>
           <p>Paragraph 1</p>
           <p>Paragraph 2</p>
          </template>
          

          v-show

          v-show作用與v-if類似,不同的是v-show的元素會始終渲染并保持在 DOM 中,且v-show不支持<template>標簽。

          <h1 v-show="ok">Hello!</h1>
          

          過濾器

          與Linux中的管道類似,vue.js也使用的是|:

          {{message | uppercase}}
          

          這樣就能輸出message的大寫了,過濾器也能串聯在一起使用:

          {{message | reverse | uppercase}}
          

          這里reverse并不是內建的過濾器,我們可以用Vue.filter自定義:

          有天老板找我到辦公室跟我說要做一個商城,商城賣出去東西就有傭金可以拿。我聽著就頭大。老板打開電腦給我看了網站:你看一下這個網站,照著它的流程就可以擁有一個商城了。我靠過去一看,大概了解一下:原來是利用第三方工具就可以構建一個導購網站,只要消費者在網站領取優惠券就會自動跳轉到某bao的購買頁面,購買成功后就可以有傭金了。我看了一下覺得可以,只要不讓我敲代碼一切好說。于是我照著流程構建了一個網站,然后勾選了很多零食進行推廣,然后我就發現了一個問題:我只勾選了一些零食啊,商城怎么還有其它類型的商品?我思索了一下就明白了,這網站還是挺流氓的,還摻雜著其他人的推廣鏈接,我一想這樣不行,轉化率肯定低啊。果不其然,試用了一天就只有5個單子,因為公司的網站還是挺有流量的,所以這轉化率不可能這么低。老板看了一下,覺得沒什么用讓我把商城入口給關了,我只好照做,但是我心里對這流氓網站不服啊,于是我打算自己做一個導購網站。(最后還是要敲代碼(。?_?)/~~~)

          想法

          1. 在推廣平臺上下載一個商品清單的excel文檔,文檔的內容包含:商品的名稱、商品的主圖鏈接、商品分類、商品價格、商品推廣鏈接.....。
          2. 利用python讀取excel,獲得分類、商品信息的json文件。
          3. 創建一個html頁面讀取json文件,把分類和商品顯示出來,利用html中的錨點定位,點擊就會滾動到對應的分類商品,就可以選擇心儀的商品下單,從而達到推廣商品的作用了。

          行動

          1. 安裝xlrd

          cmd窗口: pip install xlrd
          

          2.創建index.py,導入模塊

          import xlrd
          

          3.打開Excel文件讀取數據

          wb=xlrd.open_workbook('文件路徑')
          

          4.獲取表格

          sheet1=wb.sheet_by_index(0) #這里的excel文檔內只有一個表格,0代表第一個
          

          5.獲取表格的行數

          rows=sheet1.nrows
          

          6.獲取表格中的類目

          商品一級類目

          住宅家具

          影音電器

          影音電器

          美容護膚

          廚房電器

          運動服/休閑服裝

          餐飲具

          category0=sheet1.col_values(4) #獲取列內容(類目),這里excel文檔的第四列是類目
          del category0[0] #刪除列表中的 "商品一級類目"
          category=sorted(set(category0),key=category0.index) #類目列表->去除重復
          

          7.整理數據

          [ 
           [
           分類名,
           [商品信息]
           ],
           [
           分類名,
           [商品信息]
           ]
          ]
          data=[]
          for i,v in enumerate(category):
           data.append([v,[]])
          for i,v in enumerate(data):
           for x in range(rows):
           if v[0]==sheet1.cell(x,4).value:
           data[i][1].append(sheet1.row_values(x))
          

          8.導出json文件

          jsonData=json.dumps(data, ensure_ascii=False)
          with open('results.json', 'w',encoding="utf-8") as f:
           f.write(jsonData)
          

          9.運行index.py,獲得json文件

          cmd窗口:python index.py
          

          10.創建html頁面,并引用json文件

          <!DOCTYPE html>
          <html lang="en">
          <head>
           <meta charset="UTF-8">
           <script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
           <script>//引用jquery
           $(function(){
          function color16(){//十六進制顏色隨機
           var r=Math.floor(Math.random()*256);
           var g=Math.floor(Math.random()*256);
           var b=Math.floor(Math.random()*256);
           var color='#'+r.toString(16)+g.toString(16)+b.toString(16);
           return color;
           }
          var navo='';//類目導航
          var info='';//商品內容
          $.get('./results.json', function(data) {//請求json文件
           
           $.each(data, function(index, val) {
           navo+="<a href='#"+val[0]+"''>"+val[0]+"</a> "
           });//把json文件中的類目數組遍歷出來,并用錨定位
           $.each(data, function(index, val) {
           var div_title="<div id='"+val[0]+"' style='float:left;'>";
           var div_content="";
           $.each(val[1], function(index, val) {
           div_content+="<div style='background:"+color16()+"' onclick=\"location.href=\'"+val[21]+"\'\" class='pro_img'>"+val[1]+"<span class='money'>¥"+val[6]+"</span><\/div>"
           });
           var div_footer="</div><br>";
           info+=div_title+div_content+div_footer
           });
          $('#nav').html(navo);//把導航顯示出來
          $('#content').html(info);//把商品顯示出來
           },'json');
           })
           
           </script>
           <style>
           #content{
           margin-top: 10px
           }
           .money{
           position: absolute;
           left: 0;
           bottom: 0;
           height: 30px;
           line-height: 30px;
           color: #e22a40;
           font-weight: 700
           }
           .pro_img{
           position: relative;
           float: left;
           width: 220px;
           height: 220px;
           line-height: 220px;
           text-align: center;
           border: 1px solid #eee;
           cursor: pointer;
           font-size: 30px;
           white-space:normal; 
           overflow:hidden; /*超過部分不顯示*/
                text-overflow:ellipsis; /*超過部分用點點表示*/
                white-space:nowrap;*//*不換行
           }
           </style>
          </head>
          <body>
          <div id="nav"></div>
          <div id="content"></div>
          </body>
          </html>
          

          效果

          https://fjxasdf.github.io/daogou (github比較卡)

          遺留問題

          1. 導購頁面沒有樣式,不夠美觀。
          2. 沒有顯示商品圖片,由于excel文檔中有1萬條商品信息,把一萬張圖片顯示出來太卡了。

          主站蜘蛛池模板: 亚洲欧美国产国产综合一区| 成人在线一区二区| 日韩在线观看一区二区三区| 精品一区二区无码AV| 冲田杏梨AV一区二区三区| 国产高清不卡一区二区| 国产精品亚洲产品一区二区三区| 久久精品亚洲一区二区三区浴池| 国产激情一区二区三区 | 美女视频黄a视频全免费网站一区| 亚洲一区二区三区久久| 无码一区二区三区老色鬼| 精品aⅴ一区二区三区| 亚洲AⅤ视频一区二区三区| 国产一区在线电影| 欧洲精品码一区二区三区| 欧美日韩一区二区成人午夜电影| 97一区二区三区四区久久 | 亚洲变态另类一区二区三区| 久久高清一区二区三区| 免费观看一区二区三区| 亚洲爆乳精品无码一区二区三区| 国产无套精品一区二区| 伊人色综合一区二区三区| 91福利国产在线观看一区二区| 国产精品主播一区二区| 熟女少妇丰满一区二区| 国产麻豆精品一区二区三区v视界| 国产av成人一区二区三区| 国产精品亚洲一区二区三区在线| 丰满爆乳一区二区三区| 无码人妻精品一区二区三区在线 | 精品久久国产一区二区三区香蕉| 无码少妇一区二区浪潮av| 久久AAAA片一区二区| 高清国产AV一区二区三区| 激情亚洲一区国产精品| 色天使亚洲综合一区二区| 一级毛片完整版免费播放一区| 精品国产不卡一区二区三区| 国产乱码精品一区二区三区中文|