导入非打字稿npm模块的最佳解决方案

时间:2015-10-09 07:15:57

标签: angular systemjs typescript1.6

ES6使用traceur和SystemJS这种形式是正确的:

mystat <- function(x) c(mi=min(x), ma=max(x), m=mean(x), s=sd(x), l=length(x))
aggregate(tot_male~year+complex, FUN=mystat, data=gs)

对于Typescript来说还不够 - 我收到错误import _ from 'lodash'; 所以,我安装'lodash.d.ts':

error TS2307: Cannot find module 'lodash'

现在,我从Typescript编译器获取/// <reference path="lodash/lodash.d.ts" /> import _ from 'lodash';

所以,我尝试'节点样式':

Module '"lodash"' has no default export.

我在浏览器中获得/// <reference path="lodash/lodash.d.ts" /> let _ = require('lodash');

最后:

Uncaught (in promise) Error: require is not a function

并且它有效,但它的'旧形式'不适合ES6。

对于非打字稿模块,是否有一种正确的方法可以使用ES6样式的Typescript导入?

(Typescript 1.6.2)

2 个答案:

答案 0 :(得分:7)

尝试import * as _ from 'lodash';

答案 1 :(得分:1)

如果您将lodash导入为node_module,则可能需要将其作为 声明var _:any;

如果您想从&#39; lodash&#39;中导入*作为_,则通过TypeScript定义管理器(tsd)导入loadash。在终端中,将其作为

tsd install lodash --save