我试图在Visual Studio Code中设置一个TypeScript项目,并让Bootstrap 4与Popper、jQuery和Knockout一起正常工作。
我安装了Knockout、jQuery和Bootstrap类型定义。
npm install -–save @types/knockout
npm install -–save @types/jquery
npm install --save @types/bootstrap
在 require.js 配置中引用了 JS 文件
declare var require: any;
require.config({
paths: {
"knockout": "externals/knockout-3.5.0",
"jquery": "externals/jquery-3.3.1.min",
"popper.js": "https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js",
"bootstrap": "https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"
}
})
我的tsconfig.json
文件如下:
{
"compilerOptions": {
"baseUrl": ".",
"paths": {
"*": ["types/*"]
},
"outDir": "./built/",
"sourceMap": true,
"noImplicitAny": true,
"module": "amd",
"target": "es5"
},
"files":[
"src/require-config.ts",
"src/hello.ts"
]
}
我开始编译这个项目,但是出现了以下错误:
node_modules/@types/bootstrap/index.d.ts:9:25 - error TS2307: Cannot find module 'popper.js'.
9 import * as Popper from "popper.js";
~~~~~~~~~~~
Found 1 error.
The terminal process terminated with exit code: 1
看起来我的Bootstrap类型定义文件编译失败,因为它找不到popper.js模块。
popper.js模块确实在我的@types文件夹中。
node_modules
|-@types
| |- bootstrap
| |-index.d.ts (this is failing)
|- popper.js
|- index.d.ts (popper.js type definition)
我该如何告诉TypeScript编译器,bootstrap类型定义所寻找的popper.js位于更高层次结构中?
我甚至找不到任何与此相似的答案。所以,要么我碰巧遇到了其他人从未遇到过的错误(不太可能),要么作为Typescript的新手,我没有正确设置环境并错过了一个非常基本的设置步骤,而每个人都得到了这个步骤,因此没有人需要问(很可能)。
我该怎么办才能解决这个问题?