打字稿得到錯(cuò)誤TS2304:找不到名字'要求'我試圖讓我的第一個(gè)Typescript和DefinitelyTyped節(jié)點(diǎn)應(yīng)用程序啟動(dòng)并運(yùn)行,并遇到一些錯(cuò)誤。當(dāng)我嘗試轉(zhuǎn)換一個(gè)簡(jiǎn)單的ts節(jié)點(diǎn)頁(yè)面時(shí),我收到錯(cuò)誤“TS2304:找不到名稱(chēng)'require'”。我已經(jīng)在SO上閱讀了其他幾個(gè)這樣的錯(cuò)誤,我認(rèn)為我沒(méi)有類(lèi)似的問(wèn)題。我在shell提示符下運(yùn)行命令:tsc movie.server.model.ts。該文件的內(nèi)容是:'use strict';/// <reference path="typings/tsd.d.ts" />/* movie.server.model.ts - definition of movie schema */var mongoose = require('mongoose'),Schema = mongoose.Schema;var foo = 'test';var mongoose = require('mongoose')行引發(fā)錯(cuò)誤typings / tsd.d.ts文件的內(nèi)容是:/// <reference path="node/node.d.ts" />/// <reference path="requirejs/require.d.ts" />.d.ts文件引用放在相應(yīng)的文件夾中,并通過(guò)命令添加到typings / tsd.d.ts:tsd install node --savetsd install require --save生成的.js文件似乎工作正常,所以我可以忽略錯(cuò)誤。但我很想知道為什么會(huì)出現(xiàn)這種錯(cuò)誤以及我做錯(cuò)了什么。
3 回答
湖上湖
TA貢獻(xiàn)2003條經(jīng)驗(yàn) 獲得超2個(gè)贊
對(duì)于TypeScript 2.x,現(xiàn)在有兩個(gè)步驟:
安裝定義的包
require。例如:npm install @types/node --save-dev
告訴TypeScript將其全局包含在
tsconfig.json:{ "compilerOptions": { "types": ["node"] }}
第二步僅在您需要訪(fǎng)問(wèn)全局可用功能時(shí)才很重要require。對(duì)于大多數(shù)包,您應(yīng)該只使用該import package from 'package'模式。不需要在上面的tsconfig.json類(lèi)型數(shù)組中包含每個(gè)包。
躍然一笑
TA貢獻(xiàn)1826條經(jīng)驗(yàn) 獲得超6個(gè)贊
您可以
declare var require: any
或者,要獲得更全面的支持,請(qǐng)使用DefinitelyTyped的require.d.ts
另外,var mongoose = require('mongoose')您可以嘗試以下方法
import mongoose from 'mongoose' // orimport mongoose = require('mongoose')- 3 回答
- 0 關(guān)注
- 1289 瀏覽
添加回答
舉報(bào)
0/150
提交
取消
