如何在我的应用程序中手动将打字文件添加到打字稿?
我正在尝试将以下实用程序添加到我的Angular 5项目中。 WKT Parser
我还是Angular的新手,所以我将列出我尝试描绘我所处位置的所有步骤。
因此,如果我理解正确,我需要做以下事项:
1.将js文件添加到我的项目中
2.在我的项目中将类型添加到打字稿
3.在Typescript中导入库并编写我的代码。
经过一些研究后,似乎我可以在angular-cli.json文件中添加脚本。
"scripts": [
"../node_modules/terraformer/terraformer-1.0.8.min.js",
"../node_modules/terraformer-wkt-parser/terraformer-wkt-parser.min.js"
],
到目前为止一切顺利。应用程序没有显示任何错误,我在chrome中调试时可以看到script.bundle中的脚本。
我似乎很想把打字文件添加到我的打字稿中。
我尝试按以下方式安装类型:
npm install @types/terraformer-wkt-parser
我得到了404.所以我假设我不存在使用这种方式的类型包。
我看过TypeScript typings in npm @types org packages 和Typescript和JS Libraries in Angular 看看我如何手动添加它,但我没有成功。
tsconfig.app.json
{
"extends": "../tsconfig.json",
"compilerOptions": {
"outDir": "../out-tsc/app",
"baseUrl": "./",
"module": "es2015",
"types": [ "../node_modules/terraformer-wkt-parser/terraformer-wkt-parser.d" ]
},
"exclude": [
"test.ts",
"**/*.spec.ts"
]
}
我在类型部分添加了输入flie,并且不会加载应用程序。
我相信当我在我的tyescript文件中尝试以下任何一项时,它不会提取类型,应用程序将无法加载。
import WKT = require("terraformer-wkt-parser");
import WKT from 'terraformer-wkt-parser';
当我声明它不会加载时:
*页面显示我“无法获取/”
我使用yarn来安装两个软件包,我确实看到它们存在于我的package.json文件中。
"terraformer": "^1.0.8",
"terraformer-wkt-parser": "^1.2.0",
ng版本:
Angular CLI: 1.7.4
Node: 9.11.1
OS: win32 x64
Angular: 5.2.11
... animations, common, compiler, compiler-cli, core, forms
... http, language-service, platform-browser
... platform-browser-dynamic, platform-server, router
@angular/cdk: 5.2.5
@angular/cli: 1.7.4
@angular/material: 5.2.5
@angular-devkit/build-optimizer: 0.3.2
@angular-devkit/core: 0.3.2
@angular-devkit/schematics: 0.3.2
@ngtools/json-schema: 1.2.0
@schematics/angular: 0.3.2
@schematics/package-update: 0.3.2
typescript: 2.4.2
webpack: 4.8.3
编辑: - 更改了tsconfig.json
"typeRoots": [
"node_modules/@types",
"node_modules/terraformer",
"node_modules/terraformer-wkt-parser"
],
我仍然得到与上面相同的错误。
答案 0 :(得分:1)
如果您尝试使用WKT,则只需执行以下操作:
安装
您需要做的就是将以下内容添加到TypeScript文件中:
导入GeoJSON = require(“geojson”); import WKT = require(“terraformer-wkt-parser”);
x = WKT.parse(someVar);