jsconfig.json 是一個用于配置 JavaScript 項目的配置文件,它提供了許多選項來指導編輯器和工具的行為。通過正確配置jsconfig.json,你可以提高代碼的可讀性、編輯器的智能感知,并改善開發流程。本文將詳細介紹jsconfig.json 配置文件的各個方面,幫助你更好地配置你的 JavaScript 項目。
首先,在你的 JavaScript 項目根目錄下創建一個名為jsconfig.json 的文件。這個文件將作為項目的配置文件,并包含一些用于配置編輯器和工具行為的 JSON 配置。
一個簡單的jsconfig.json 配置文件可能如下所示:
{
"compilerOptions": {
"target": "ES6"
},
"include": ["src/**/*"]
}
在這個配置中,我們設置了編譯選項target 為 ES6,同時指定了需要包含的源代碼文件夾。
在compilerOptions 中,你可以配置許多編譯選項,例如:
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 特點
如果你喜歡下面這些,那你一定會喜歡 Vue.js:
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. 安裝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比較卡)
*請認真填寫需求信息,我們會在24小時內與您取得聯系。