Angular:如何手动将打字文件添加到打字稿

时间:2018-05-22 17:45:44

标签: angular typescript

如何在我的应用程序中手动将打字文件添加到打字稿?

我正在尝试将以下实用程序添加到我的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 packagesTypescriptJS 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';

当我声明它不会加载时:
*页面显示我“无法获取/”

  • 控制台错误 - 无法加载资源:服务器响应状态为404()

我使用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"
],

我仍然得到与上面相同的错误。

1 个答案:

答案 0 :(得分:1)

如果您尝试使用WKT,则只需执行以下操作:

  1. 安装

    • 以GeoJSON
    • terraformer-WKT解析器
  2. 您需要做的就是将以下内容添加到TypeScript文件中:

    导入GeoJSON = require(“geojson”); import WKT = require(“terraformer-wkt-parser”);

    x = WKT.parse(someVar);