首页 > 解决方案 > 在 Angular CLI 中导入 javascript var

问题描述

我是 Angular CLI 的新手,并尝试导入一个 javascript 文件以更熟悉 Angular CLI:

// src/utils.js
var text = "TEST";
var util = {
    sayHello: function(name) {
            console.log( "Hello, " + name );

         }
}

对于这个文件,我创建了一个打字文件:

// src/utils.d.ts
declare module 'utils'; 
export var util: any;
declare var text: any;

现在我想使用 main.ts 中的 javascript 文件:

// src/main.ts
// ...
import * as util from 'utils';

console.log('TEXT: ', util.text);
util.sayHello("Bob");
// ...

这编译成功,但会引发以下运行时错误:

src/main.ts(12,6):错误 TS2339:“typeof”类型上不存在属性“sayHello”

我错过了什么或者我的代码有什么问题吗?我使用以下版本:

Angular CLI: 1.7.4
Node: 6.14.2
OS: linux x64
Angular: 5.2.10
... animations, common, compiler, compiler-cli, core, forms
... http, language-service, platform-browser
... platform-browser-dynamic, router

@angular/cli: 1.7.4
@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
@ngtools/webpack: 1.10.2
@schematics/angular: 0.3.2
@schematics/package-update: 0.3.2
typescript: 2.5.3
webpack: 3.11.0

标签: angulartypescriptangular-cli

解决方案


推荐阅读