文档(请参阅“导出”和“导入”部分): Typescript 模块文档 https://www.typescriptlang.org/docs/handbook/modules.html.
完成瓦西尔的回答:
当您以这种方式导入模块时:
// <some_file>.ts
import <whatever_name_I_want> from "<path_to_my_awesome_module>";
<my_awesome_module>.ts
需要有一个默认导出。例如,可以这样完成:
// <my_awesome_module>.ts
export default foo = () => { // notice the 'default' keyword
// ...
};
export bar = () => {
// ...
};
通过上面的代码,<whatever_name_I_want>
将是foo
方法(一个模块只能有1默认导出)。为了导入bar
方法也是如此,您必须单独导入它:
// <some_file>.ts
import <whatever_name_I_want>, { bar } from "<path_to_my_awesome_module>";
但根据您想要执行的操作,可能不需要使用默认导出。您可以简单地使用以下命令导出所有方法export
关键字,像这样:
// contactController.ts
export index = (req: any, res: any) => { // no need for a default export
// ...
};
export create = (req: any, res: any) => {
// ...
};
并将它们都导入括号中:
// api-routes.ts
import { index, create } from "./contactController";
// Usage
index(...);
create(...);
或者在全局变量中:
// api-routes.ts
import * as contactController from "./contactController";
// Usage
contactController.index(...);
contactController.create(...);
PS:我给你重命名了new
中的方法create
因为“new”已经是 JavaScript 关键字了。