相关疑难解决方法(0)

用于导入commonjs/amd模块的新es6语法,即`import foo = require('foo')`

以前我可以这样做:

import foo = require('foo');
Run Code Online (Sandbox Code Playgroud)

但是现在TypeScript(1.5)支持es6模块语法,在ES6模块语法中实现相同的正确方法是什么.

javascript typescript ecmascript-6

54
推荐指数
3
解决办法
5万
查看次数

如何导入在Typescript中使用module.exports =的CommonJS模块

以下产生有效的工作ES5但发出以下错误.我正在使用Typescript 1.7.5,我想我已经阅读了整个语言规范,我无法弄清楚为什么会产生这个错误.

error TS2349: Cannot invoke an expression whose type lacks a call signature.
Run Code Online (Sandbox Code Playgroud)

a.js(默认导出的ES5环境模块)

function myfunc() {
  return "hello";
}
module.exports = myfunc;
Run Code Online (Sandbox Code Playgroud)

ADTS

declare module "test" {
    export default function (): string;
}
Run Code Online (Sandbox Code Playgroud)

b.ts

import test = require("test");
const app = test();
Run Code Online (Sandbox Code Playgroud)

b.js(生成的ES5):

var test = require("test");
var app = test()
Run Code Online (Sandbox Code Playgroud)

typescript ecmascript-6 typescript1.7

10
推荐指数
1
解决办法
3941
查看次数