回答
有類似的問題,包括amazon-cognito-identity-js
到Angular 4應用程序中。基本上Typescript不理解這些節點類型(緩衝區,http,流,fs等等)。要理解爲什麼,我們需要看看how Typescript specifies packages to include。
默認情況下,所有可見的「@types」包都包含在您的 編譯中。任何包含文件夾 的node_modules/@類型中的包都被視爲可見;具體而言,這意味着內 ./node_modules/@types/,../node_modules/@types/, ../../node_modules/@types/包,等等。
如果指定typesRoots,則只包含typeRoots下的包。例如:
{
"compilerOptions": {
"typeRoots" : ["./typings"]
}
}
這個配置文件將包括./node_modules/@types下./typings所有的包,並沒有包。
如果指定了類型,則只包含列出的軟件包。例如:
{
"compilerOptions": {
"types" : ["node", "lodash", "express"]
}
}
這tsconfig.json文件將只包括./node_modules/@types/node,./node_modules/@types/lodash和./node_modules/@types/express。不包括node_modules/@ types/*下的其他軟件包。
討厭複製/粘貼基本上的答案,但我真的不能說它比文檔更好。
檢查"typeRoots"
和/或"types"
在任何tsconfig.json
文件的定義(角-CLI項目有./tsconfig.json
和./app/tsconfig.app.json
文件)。
如果定義了"typeRoots"
,請確保包含"node_modules/@types"
。如果定義了"types"
,請確保包含"node"
。
要包括所有的@types,請從"compilerOptions"
完全的"typeRoots"
和"types"
,但請記住,這可能會產生不同類型的聲明之間的衝突,所以最好的選擇是可能有包含在"types"
財產"node"
。
我遇到了同樣的問題,但在tsconfig.json文件中沒有定義typeRoot或類型。任何人都可以找到答案? – JasonPerr
如果遇到此問題,這意味着typescript編譯器不知道安裝node_modules所依賴的基本Node類型。如果沒有定義'typeRoots'或'types',則包含所有@types文件夾。確保'@ types/node'被安裝爲devDependency('npm i -D @ types/node')並嘗試重新編譯。 – nwayve
我試過了。問題在於缺少類型的地方在aws-sdk node_modules文件夾中。奇怪的是,它似乎可以在任何OSX系統上正常工作,但在我嘗試的任何Windows 10系統上出現此錯誤。我不明白爲什麼會有差異。 – JasonPerr
我發現了幾個不同的東西,似乎有助於解決這個問題。感謝Benny Neugebauer對這篇文章的回答:error TS2304: Cannot find name 'Buffer'
我發現解決這個問題的關鍵是做以下工作。
使用的的NodeJS的穩定版本,而不是最新版本
安裝與NPM的分型工具安裝-g分型
安裝類型的定義與分型安裝DT〜節點--global --save
確認您沒有安裝這些類型,因爲它們會導致以我發現的使Windows和OSX同時工作的唯一解決方案起訴。 NPM刪除@類型/節點
刪除你的文件夾node_modules與紗重建
添加引用路徑app.component.ts
/// <reference path="../../typings/index.d.ts" /> export class YourClass {
後這樣做一切正常。這是在Windows 10環境和OSX環境中工作的唯一解決方案。我最後tsconfig.json文件看起來像這樣FYI
{
"compilerOptions": {
"allowSyntheticDefaultImports": true,
"declaration": false,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"lib": [
"dom",
"es2015"
],
"module": "es2015",
"moduleResolution": "node",
"sourceMap": true,
"target": "es5"
},
"include": [
"src/**/*.ts"
],
"exclude": [
"node_modules"
],
"compileOnSave": false,
"atom": {
"rewriteTsconfig": false
}
}
我發現這裏的解決方案:
實際上,你需要添加「類型」:「節點」]將tsconfig.app.json 文件,angular-cli在src目錄中創建。默認情況下, 類型是一個空數組。
https://github.com/aws/aws-sdk-js/issues/1271#issuecomment-291658668
- 1. 亞馬遜Cognito身份池區域不存在
- 2. 如何驗證在亞馬遜cognito身份-JS在以下nodeapp的節點JS
- 3. 集成安卓應用+亞馬遜EC2 +亞馬遜RDS
- 4. 亞馬遜S3 Cognito Sync
- 5. 亞馬遜API無法找到降價
- 6. 無法看到亞馬遜
- 7. AWS認證到亞馬遜Cognito
- 8. 亞馬遜MWS集成
- 9. 亞馬遜S3集成
- 10. Rails +亞馬遜API +集成
- 11. 亞馬遜GameCircle集成
- 12. Rails和亞馬遜SimpleDB身份驗證
- 13. 這是認證流程可能與亞馬遜Cognito身份和用戶池
- 14. 亞馬遜Cognito設置identityId使用開發人員身份驗證Obj C
- 15. Boto3 - 亞馬遜Cognito不進行身份驗證使用快捷鍵
- 16. 爲亞馬遜fps生成簽名
- 17. iOS亞馬遜Cognito登錄錯誤InvalidParameterException
- 18. 亞馬遜可用區
- 19. 亞馬遜ELB無法提供響應
- 20. 離線亞馬遜S3
- 21. 亞馬遜S3備份
- 22. 備份MySQL亞馬遜RDS
- 23. VirtoCommerce與eBay和亞馬遜的集成
- 24. 亞馬遜支付與magento集成
- 25. 亞馬遜DynamoDB的Spring集成支持
- 26. SSH成Kubernetes羣集上亞馬遜
- 27. Spring與亞馬遜SQS的集成
- 28. 亞馬遜FPS與ASP.NET集成
- 29. 亞馬遜S3作爲備份
- 30. 備份到亞馬遜和版本
請提供有關情況..閱讀[MCVE] –
一般來說,問題是更有益的,如果他們有什麼樣的 代碼的目的是做的,爲什麼解決這個問題的解釋而不引入其他人。 – Peter