相关疑难解决方法(0)

使用TypeScript 2.0导入js文件

抽象

我正在尝试从外部位置导入".js"文件(即node_modules)我正在尝试使用commonjs模块模式执行此操作,但是导入不希望使用".js"文件类型,直到我添加" .d.ts"文件附近".js"文件位于同一文件夹中.

但问题是我不想用我的".d.ts"文件影响任何node_modules.我希望它位于另一个文件夹中,与node_modules分开,但是一旦我这样做,typescript编译器就会抛出一个错误:

我有以下文件夹结构:

|- DTS
|   |- y.d.ts
|- main.ts
|- y.js
Run Code Online (Sandbox Code Playgroud)

y.js具有以下内容

module.export = function (x) {
    console.log(x);
};
Run Code Online (Sandbox Code Playgroud)

ydts具有以下内容

export interface Y {
    (x): any;
}
declare let y: Y;
export default y;
Run Code Online (Sandbox Code Playgroud)

main.ts具有以下内容

import * as y from './y'
Run Code Online (Sandbox Code Playgroud)

现在,当我尝试编译main.ts时:

tsc -m commonjs -t ES2015 main.ts
Run Code Online (Sandbox Code Playgroud)

我会收到一个错误:

x.ts(1,20): error TS2307: Cannot find module './y'.
Run Code Online (Sandbox Code Playgroud)

如何导入".js"文件并能够定义它的".d.ts"声明,同时让两个文件位于不同的位置.


编辑

这是示例项目的链接.一定要使用TypeScript …

javascript node.js typescript typescript2.0

17
推荐指数
1
解决办法
2万
查看次数

标签 统计

javascript ×1

node.js ×1

typescript ×1

typescript2.0 ×1