홈>
Angular 4 앱에서 Google Picker API를 사용하려고합니다. Google Picker의 기능을 사용하려면 라이브러리를 가져와야하며 index.html 파일에서해야합니다.
index.html :
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="theme-color" content="#2185d0">
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
<title>Librostic</title>
<base href="/">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="icon" type="image/x-icon" href="favicon.ico">
<script src="https://use.fontawesome.com/18845e1b3c.js"></script>
<link href="https://fonts.googleapis.com/css?family=Alfa+Slab+One" rel="stylesheet">
</head>
<body>
<app-root>
</app-root>
<!-- See the bellow script -->
<script type="text/javascript" src="https://apis.google.com/js/api.js?onload=onApiLoad"></script>
</body>
<script>
$('.ui.dropdown')
.dropdown()
;
</script>
</html>
그래서 문제는 Typescript가 무엇인지 모르기 때문에 몇 가지 방법을 사용하려고하는 곳입니다. 예를 보자. 다음과 같은 기능이 있습니다 :
function createPicker() {
if (pickerApiLoaded && oauthToken) {
// Here I get errors like: Cannot find name 'google'.
var view = new google.picker.View(google.picker.ViewId.DOCS);
view.setMimeTypes('application/pdf');
var picker = new google.picker.PickerBuilder()
.enableFeature(google.picker.Feature.NAV_HIDDEN)
.enableFeature(google.picker.Feature.MULTISELECT_ENABLED)
.setAppId(appId)
.setOAuthToken(oauthToken)
.addView(view)
.addView(new google.picker.DocsUploadView())
.setDeveloperKey(developerKey)
.setCallback(pickerCallback)
.build();
picker.setVisible(true);
}
}
이것은 TypeScript 오류 일 뿐이며 TS 컴파일러없이 함수가 실행된다는 것을 의미합니다. 이 문제를 어떻게 해결할 수 있습니까? 감사합니다!
- 답변 # 1
- 답변 # 2
누군가이 라이브러리에 대해 이미 작성된 유형일 수 있습니다. 많은 라이브러리에 대한 정의를 보유하고있는이 저장소를 확인해야합니다. 일반적으로
npm install @types/<library-name> --save-dev
를 사용하여 이러한 정의를 설치할 수 있습니다. .그렇지 않으면, 이미 작성된 정의가없고 사물을 다루고 싶다면 라이브러리를 임의의 이름으로 선언하여 타이프 스크립트를 침묵시킬 수 있습니다 (예 :
declare const google: any;
). 파일 상단에. 그러나 그렇게하면 라이브러리를 사용할 때 모든 유형의 안전을 잃게됩니다.
관련 자료
- typescript에서 제네릭 유형 및 공용체 유형을 사용하는 방법
- reactjs - typescript - 컴포넌트 인스턴스를 허용하는 외부 함수를 사용하여 반응 렌더링
- TypeScript에서 배열에 대한 필수 데이터 유형 정의
- 클래스 내의 타입 스크립트 유니온 타입
- lib - 외부 라이브러리를 인식하지 않는 javac
- Typescript에서 비어 있지 않은 배열 유형을 정의 할 수 있습니까?
- javascript - typescript 유형을 사용하도록 함수 변환
- javascript - TypeDoc을 사용하여 외부 유형 문서화
- java - VSCode가 외부 라이브러리를 가져올 수 없습니다
- javascript - TypeScript 인터페이스에서 requiredIf 멤버 정의
- webpack - threeJs 패키지에서 TypeScript 유형을 얻는 방법은 무엇입니까?
- javascript - Typescript에서 사용자 정의 속성을 정의하고 익명 객체와 함께 사용하는 방법은 무엇입니까?
- c++ - 두 개의 공유 라이브러리가 동일한 기호를 정의하면 실제로 어떻게됩니까?
- javascript - 자식 반응은 함수입니다 - typescript 유형을 올바르게 정의하는 방법은 무엇입니까?
- typescript - 타이프 스크립트 - 경로에 유형을 포함하지만 컴파일하지는 않습니다
- reactjs - 기본 반응 함수 구성 요소 유형으로 jest 및 typescript로 테스트하는 방법
- r - 양방향 막대 차트에서 다른 유형의 색상 정의
- typescript에서 기본값의 인수 유형
- TypeScript는 가져온 인터페이스 및 유형을 생성 된 JavaScript로 나열합니다
- graphql codegen typescript - graphql codegen typescript - 유형 만 생성하는 방법
관련 질문
- angular : Lazy Loading BrowserModule이 이미로드되었습니다.
- javascript : 테이블에 일련 번호를 보여주기 위해 어쨌든 거기에 있습니까?
- Angular CLI는 배열에서 값을 반환하지 않습니다
- angular : vs code : 동일한 이름과 다른 확장을 가진 그룹 파일
- javascript : 왜 합계의 가치가 합계 대신 연결이되는 이유
- JavaScript /Typescript를 사용하여 총 행을 계산합니다
- Angular에서 HTML에서 if 문을 사용하는 방법
- JavaScript 배열에 총 행을 추가하십시오
- angular : 각도 NgRx 효과에서 두 개의 API 호출을 연결합니다
- angularjs : TS 오류 : ES2015, 'Array. 유형
| 정의되지 않은 [] '은 반복자를 반환하는'[symbol.iterator] () 메서드가 있어야합니다.
CRice의 답변 확대
당신이 찾고있는npm install @types/google.picker @types/gapi.client --save-dev