Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用typescript在aurelia上导入awesomplete时使用TS2307_Typescript_Aurelia - Fatal编程技术网

使用typescript在aurelia上导入awesomplete时使用TS2307

使用typescript在aurelia上导入awesomplete时使用TS2307,typescript,aurelia,Typescript,Aurelia,我正在使用aurelia cli和typescript。我正在尝试在我的应用程序上集成awesomplete。所以我运行:npm安装awesomplete--save,编辑aurelia.json: { "name": "awesomplete", "path": "../node_modules/awesomplete", "main": "awesomplete" } 并使用typings安装dt~awesomplete--global--save安装ts定义 在我

我正在使用aurelia cli和typescript。我正在尝试在我的应用程序上集成awesomplete。所以我运行:
npm安装awesomplete--save
,编辑
aurelia.json

{
    "name": "awesomplete",
    "path": "../node_modules/awesomplete",
    "main": "awesomplete"
}
并使用
typings安装dt~awesomplete--global--save安装ts定义

在我的ts文件中,我使用
import*作为“awesomplete”中的awe导入它但是我得到一个
TS2307:找不到模块'awesomplete'

这是我第一次使用ts,所以我认为我做错了什么,但找不到什么。任何提示,我是否遗漏了一个步骤?

编译器可能找不到定义文件,因为它不足以通过
键入来安装它

正如它在中所述:

如果正在使用tsconfig.json中的文件,请添加索引文件:

如果未使用tsconfig.json,请添加作为对 类型脚本文件:

这样,您就不需要在tsconfig中添加任何内容,也不需要使用
reference
标记。

更多关于
@types
:。

编译器可能找不到定义文件,因为它不足以通过
键入来安装它
正如它在中所述:

如果正在使用tsconfig.json中的文件,请添加索引文件:

如果未使用tsconfig.json,请添加作为对 类型脚本文件:

这样,您就不需要在tsconfig中添加任何内容,也不需要使用
reference
标记。

更多关于
@types
:。

我在
typings/globals/awesomplete/index.d.ts
中没有看到任何
export
语句。这可能意味着类型化的作者没有考虑加载AWESOMPLTET作为模块的可能性,并打算将其仅用作定义一些全局的简单脚本。因此,您不能从中导入任何内容,但如果您在编译中包含Nitzan对您的问题的回答中提到的Awesomplete类型,则可以将
Awesomplete
AwesompleteOptions
作为全局选项提供。简言之,编译时不需要任何导入:

let awe = new Awesomplete(document.getElementById('input-id'));

换句话说,awesomplete的打字是过去被称为的,不能以任何其他方式使用。

我在
typings/globals/awesomplete/index.d.ts
中没有看到任何
export
语句。这可能意味着类型化的作者没有考虑加载AWESOMPLTET作为模块的可能性,并打算将其仅用作定义一些全局的简单脚本。因此,您不能从中导入任何内容,但如果您在编译中包含Nitzan对您的问题的回答中提到的Awesomplete类型,则可以将
Awesomplete
AwesompleteOptions
作为全局选项提供。简言之,编译时不需要任何导入:

let awe = new Awesomplete(document.getElementById('input-id'));

换句话说,awesomplete的类型是过去被调用的,不能以任何其他方式使用。

显然,awesomplete支持CommonJS模块定义,但不支持AMD(这是CLI使用的)。我认为最简单的方法是在aurelia.json文件中“预加”它。像这样:

{
  "name": "vendor-bundle.js",
  "prepend": [
    "node_modules/bluebird/js/browser/bluebird.core.js",
    "node_modules/awesomplete/awesomplete.js"
  ],
  ...
}
或者,您可以使用
标记加载它,这通常适用于遗留库


在这两种情况下,您都不必导入任何内容,您应该使用
Awesomplete
作为全局函数。

显然,Awesomplete支持CommonJS模块定义,但不支持AMD(这是CLI使用的)。我认为最简单的方法是在aurelia.json文件中“预加”它。像这样:

{
  "name": "vendor-bundle.js",
  "prepend": [
    "node_modules/bluebird/js/browser/bluebird.core.js",
    "node_modules/awesomplete/awesomplete.js"
  ],
  ...
}
或者,您可以使用
标记加载它,这通常适用于遗留库

在这两种情况下,您都不必导入任何内容,应该使用
Awesomplete
作为全局函数

{
  "name": "vendor-bundle.js",
  "prepend": [
    "node_modules/bluebird/js/browser/bluebird.core.js",
    "node_modules/awesomplete/awesomplete.js"
  ],
  ...
}