LocalForage는 빠르고 간단한 JavaScript 저장소입니다. LocalForage는 비동기 스토리지 (IndexedDB 또는 WebSQL)와 간단한 LocalStorage와 같은 API를 사용하여 웹 응용 프로그램의 오프라인 경험을 향상시킵니다.
IndexEddb 또는 WebSQL을 지원하지 않는 브라우저에서 LocalForage는 LocalStorage를 사용합니다. 호환성 세부 정보는 위키를 참조하십시오.
LocalForage를 사용하여 JavaScript 파일을 페이지에 넣습니다.
< script src =" localforage/dist/localforage.js " > </ script >
< script > localforage . getItem ( 'something' , myCallback ) ; </ script >예제를 시도하십시오.
GitHub에서 최신 LocalForage를 다운로드하거나 NPM을 통해 설치하십시오.
npm install localforage또는 Bower를 통해 :
bower install localforageLocalForage는 또한 브라우저 화와 호환됩니다.
혼란스러워? 도움이 필요하십니까? LocalForage API 문서를 사용해보십시오.
이 라이브러리를 사용하거나 테스트를 실행하거나 LocalForage에 기여하려면 irc.freenode.net을 방문하여 #localforage 채널에 문의하십시오.
최고의 컨설턴트는 Tofumatt 이며 온라인 시간은 일반적으로 오전 10시 - 오후 8시 그리니치 시간입니다.
Safari 10.1부터 기본값은 indexeddb입니다. 자세한 내용은 Changelog를 참조하십시오.
LocalForage는 비동기식 스토리지를 사용하기 때문에 API는 비동기입니다. 다른 측면에서는 LocalStorage API와 정확히 동일합니다.
LocalForage는 두 개의 API를 지원하며 콜백 함수 양식 또는 약속을 사용할 수 있습니다. 어느 것이 당신에게 더 나은지 확실하지 않다면 약속을 사용하는 것이 좋습니다.
다음은 콜백 함수의 형태의 예입니다.
localforage . setItem ( 'key' , 'value' , function ( err ) {
// 若 err 不为 null,则表示出错
localforage . getItem ( 'key' , function ( err , value ) {
// 若 err 不为 null,则表示出错,否则 value 为 key 对应的值
} ) ;
} ) ;약속 형식 :
localforage . setItem ( 'key' , 'value' ) . then ( function ( ) {
return localforage . getItem ( 'key' ) ;
} ) . then ( function ( value ) {
// 成功获取值
} ) . catch ( function ( err ) {
// 出错了
} ) ;더 많은 예를 보려면 API 문서를 방문하십시오.
LocalForage에 모든 유형을 저장할 수 있습니다. LocalStorage와 달리 문자열 만 저장됩니다. 백엔드의 스토리지 형태가 LocalStorage이더라도 LocalForage는 값을 얻거나 설정 해야하는 경우 JSON.parse() 및 JSON.stringify() 자동으로 실행합니다.
JSON으로 직렬화 될 수있는 기본 JS 객체 인 한, Arraybuffers, Blob 및 TypedArray를 포함하여 LocalForage를 저장할 수 있습니다. API 문서에서는 모든 유형의 LocalForage 지원을 볼 수 있습니다.
모든 백엔드 스토리지 드라이버는 모든 유형을 지원하지만 LocalStorage에는 스토리지 제한이 있으므로 큰 얼룩을 저장할 수 없습니다.
config() 메소드를 통해 데이터베이스 정보를 설정할 수 있습니다. 사용 가능한 옵션은 driver , name , storeName , version , size 및 description 입니다.
예:
localforage . config ( {
driver : localforage . WEBSQL , // 使用 WebSQL;也可以使用 setDriver()
name : 'myApp' ,
version : 1.0 ,
size : 4980736 , // 数据库的大小,单位为字节。现仅 WebSQL 可用
storeName : 'keyvaluepairs' , // 仅接受字母,数字和下划线
description : 'some description'
} ) ; ** 참고 : ** 데이터 상호 작용 전에 먼저 config() 호출해야합니다. 즉, getItem() , setItem() , removeItem() clear() key() , keys() 또는 length() 사용하기 전에 config() 호출해야합니다.
createInstance 메소드를 통해 다른 데이터웨어 하우스를 가리킬 수있는 여러 LocalForage 인스턴스를 만들 수 있습니다. 구성의 모든 구성 옵션을 사용할 수 있습니다.
var store = localforage . createInstance ( {
name : "nameHere"
} ) ;
var otherStore = localforage . createInstance ( {
name : "otherName"
} ) ;
// 设置某个数据仓库 key 的值不会影响到另一个数据仓库
store . setItem ( "key" , "value" ) ;
otherStore . setItem ( "key" , "value2" ) ; 요구 사항을 통해 LocalForage를 사용할 수 있습니다.
define ( [ 'localforage' ] , function ( localforage ) {
// 作为回调函数
localforage . setItem ( 'mykey' , 'myvalue' , console . log ) ;
// 使用 Promise
localforage . setItem ( 'mykey' , 'myvalue' ) . then ( console . log ) ;
} ) ; LocalForage 1.3+는 Browserify 및 Webpack을 지원합니다. 이전 버전의 LocalForage를 사용하고 있고 Browserify 또는 Webpack에 문제가있는 경우 1.3.0 이상으로 업그레이드하십시오.
정상적인 JavaScript 파일을 사전에 만들면 WebPack은 경고 메시지를 자극 할 수 있습니다. 경고를보고 싶지 않다면 다음 구성을 사용하여 웹 팩을 구문 분석 할 때 localforage 무시할 수 있습니다.
module : {
noParse : / node_modules/localforage/dist/localforage.js / ,
loaders : [ ... ] , tsconfig.json (typescript v1.8+지원)에서 true 로 allowSyntheticDefaultImports 컴파일 옵션을 설정하면 다음과 같이 사용해야합니다.
import localForage from "localforage" ;그렇지 않으면 다음 방법 중 하나를 사용해야합니다.
import * as localForage from "localforage" ;
// 若你用的 TypeScript 版本不支持 ES6 风格导入像 localForage 这样的 UMD 模块,则用如下方式导入:
import localForage = require ( "localforage" ) ; 다음 프레임 워크를 사용하는 경우 LocalForage는 이러한 프레임 워크의 드라이버로 모듈을 제공하며 LocalForage를 통해 오프라인으로 데이터를 저장할 수 있습니다. 지원되는 프레임 워크 드라이버는 다음과 같습니다.
다른 드라이버가 있고이 목록에 추가하려면 문제를 제출하십시오.
자신만의 드라이버를 만들 수 있습니다. defineDriver API 문서를 참조하십시오.
위키에는 사용자 정의 드라이버 목록이 있습니다.
노드/npm과 bower가 필요합니다.
LocalForage를 개발하려면 먼저 포크하고 종속성을 설치해야합니다. USERNAME GitHub 사용자 이름으로 바꾸고 다음 명령을 실행하십시오.
# 若你没有安装过 bower,则需要先全局安装 bower
npm install -g bower
# 将 USERNAME 替换为你的 GitHub 用户名:
git clone [email protected]:USERNAME/localForage.git
cd localForage
npm install
bower installBower 종속성이 누락되면 테스트 실패가 발생합니다!
지역 테스트를 실행하려면 Phantomjs가 필요합니다. npm test 실행하십시오 (또는 직접 : grunt test ). 코드는 Linter Check를 통과해야합니다.
LocalForage는 브라우저에서만 실행할 수 있으므로 테스트를 수행하려면 브라우저 환경이 필요합니다. 로컬 테스트는 헤드리스 웹 키트 브라우저 (Phantomjs 사용)에서 실행됩니다.
Sauce Labs를 통해 LocalForage는 Travis CI를 지원하며 요청을 가져 오면 모든 브라우저에서 테스트가 자동으로 수행됩니다.
이 프로그램은 무료 소프트웨어입니다. 라이센스 계약은 Apache 라이센스입니다.
저작권 (C) 2013-2016 Mozilla (기고자).