安利一個自家封裝的基於web的cookie
庫,主要用途是對瀏覽器本地cookie
的進行一些基本操做,包括:增、刪、查
。
目前項目纔剛開始起步,也但願這個項目能作得長久。
歡迎你們加入這個項目,同時也歡迎你們提issue
,謝謝您的 Star
github 地址:https://github.com/justwiner/...
npm 地址:https://www.npmjs.com/package...git
讓cookie更簡單!github
npm install cookie-web
yarn add cookie-web
const cookie = require('cookie-web')
import cookie from 'cookie-web'
經過key-val(鍵值對)添加一個cookie
固然,這兒還能夠添加其餘設置項web
options = { expires, // 過時時間 path, // 容許訪問的路由 domain, // 容許訪問的主機名 secure // 加密傳輸 (true / false) }
使用它:npm
cookie.setOne('myCookie', 'test') cookie.setOne(2, 'test') // TypeError: key must be a string ! cookie.setOne('test') // TypeError: key can't be undefined ! cookie.setOne('myCookie', 2) // TypeError: val must be a string ! cookie.setOne('myCookie') // TypeError: val can't be undefined ! cookie.setOne('myCookie', 'test', { expires: 1 * 1000 * 60, // 一分鐘 }) cookie.setOne('myCookie', 'test', { expires: 1 * 1000 * 60 * 60, // 一小時 path: '/', // 也能夠是: /someRoute domain: '.google.com', secure: true })
傳入一個對象數組,添加多個cookie, 當傳入的是一個對象時,則添加一個cookie
[{key, val, options}] 或 {key, val, options}數組
cookie.set([{ key: 'cookie_1', val: 'value_1' }, { key: 'cookie_2', val: 'value_2', options: { path: '/home' } }, { key: 'cookie_3', val: 'value_3', options: { path: '/home', expires: 1 * 1000 * 60 * 60, secure: true } }, { key: 'cookie_4', val:'value_4', options: { path: '/menu', expires: 1 * 1000 * 60 * 60 } }]) cookie.set({ key: 'cookie_1', val: 'value_1' })
經過鍵值名獲取一個cookie, 當不傳入參數時,獲取全部可獲取的cookie
use it !瀏覽器
cookie.setOne('myCookie_1', 'hello') cookie.setOne('myCookie_2', 'my-cookie') cookie.getOne('myCookie_1') // 'hello' cookie.getOne('myCookie_1', true) // {'myCookie_1': 'hello'} cookie.getOne('myOtherCookie') // undefined cookie.getOne(true) // { myCookie_1: 'hello', myCookie_2: 'my-cookie' } cookie.getOne() // ['hello', 'my-cookie']
從字符串數組或字符串中獲取多個cookie,並選擇返回結果的方式(true: JSON鍵值對格式數組; false: 只包含值的數組
)cookie
cookie.set([{ key: 'cookie_1', val: 'value_1' }, { key: 'cookie_2', val: 'value_2', }]) cookie.get(['cookie_1', 'cookie_2'], true) // [{'cookie_1': 'value_1'}, {'cookie_2': 'value_2'}] cookie.get() // ['value_1', 'value_2'] cookie.get('cookie_1', true) // {'cookie_1', 'value_1'} cookie.get('cookie_1') // 'value_1'
經過鍵值名刪除一個cookie
固然,在建立以前, 若是你設置了路徑/域等屬性
你應該傳入建立時的設置信息(路徑/域等屬性),它必須與你建立它同樣!可是隻須要path
和domain
就行dom
options = { path, domain }
use it !ui
cookie.setOne('myCookie_1', 'hello') cookie.setOne('myCookie_2', 'my-cookie') cookie.getOne() // ['hello', 'my-cookie'] cookie.deleteOne('myCookie_1') cookie.getOne() // ['my-cookie'] cookie.deleteOne() cookie.getOne() // undefined
可是當你在建立它以前設置 path / domain 屬性時,刪除時,你必須使用相同的路徑和域來正確刪除它!google
cookie.setOne('myCookie_1', 'hello', { path: '/home', domain: '.google.com' }) cookie.deleteOne('myCookie_1', { path: '/home', domain: '.google.com' }) // delete 'myCookie_1' cookie.deleteOne(undefined, { path: '/home', domain: '.google.com' }) // 刪除全部 path: '/home' , domain: '.google.com'
從字符串數組中刪除多個cookie,或從字符串刪除單個cookie
cookie.set([{ key: 'cookie_1', val: 'value_1' }, { key: 'cookie_2', val: 'value_2' }, { key: 'cookie_3', val: 'value_3', options: { path: '/home' } }, { key: 'cookie_4', val:'value_4' }]) cookie.delete([ 'cookie_1', 'cookie_2', { key: 'cookie_3', options: { path: '/home' } }]) cookie.delete('cookie_4') cookie.delete() // 刪除全部 path: '/'
Thanks !
github 地址:https://github.com/justwiner/... 您的star是我最大的鼓勵 ^_^
npm 地址:https://www.npmjs.com/package...也但願大佬們糾正個人錯誤