打字稿得到錯(cuò)誤TS2304:找不到名字'要求'我試圖讓我的第一個(gè)Typescript和DefinitelyTyped節(jié)點(diǎn)應(yīng)用程序啟動(dòng)并運(yùn)行,并遇到一些錯(cuò)誤。當(dāng)我嘗試轉(zhuǎn)換一個(gè)簡單的ts節(jié)點(diǎn)頁面時(shí),我收到錯(cuò)誤“TS2304:找不到名稱'require'”。我已經(jīng)在SO上閱讀了其他幾個(gè)這樣的錯(cuò)誤,我認(rè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)的文件夾中,并通過命令添加到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"] }}
第二步僅在您需要訪問全局可用功能時(shí)才很重要require
。對(duì)于大多數(shù)包,您應(yīng)該只使用該import package from 'package'
模式。不需要在上面的tsconfig.json類型數(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)注
- 1252 瀏覽
添加回答
舉報(bào)
0/150
提交
取消