繁体   English   中英

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

[英]best solution for importing non-typescript npm modules

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

import _ from 'lodash';

对于Typescript它是不够的 - 我得到错误error TS2307: Cannot find module 'lodash'所以,我安装'lodash.d.ts':

/// <reference path="lodash/lodash.d.ts" />
import _ from 'lodash';

现在,我得到: Module '"lodash"' has no default export. 来自Typescript编译器

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

/// <reference path="lodash/lodash.d.ts" />
let _ = require('lodash');

我得到: Uncaught (in promise) Error: require is not a function浏览器中Uncaught (in promise) Error: require is not a function

最后:

import _ = require('lodash');

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

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

(打字稿1.6.2)

尝试import * as _ from 'lodash';

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

如果你想从'lodash'导入* as _,那么通过TypeScript定义管理器(tsd)导入loadash。 在终端,做它

tsd安装lodash --save

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM