以下是我使用webpack在typescript / angular2 app中导入lodash的方法:
在webpack.config.js中:
module.exports = {
plugins: [
new ProvidePlugin({
'_' : 'lodash'
它有效。
但是我的编辑器(Sublime)和运行时的终端中仍然存在错误:找不到名称'_'
那么,我缺少什么?
在我使用lodash的.ts文件中,我试图像这样声明:
declare var _ : LoDashStatic
没有运气。
答案 0 :(得分:3)
我有同样的问题,这对我有用:
1 - 这将声明lodash模块到TypeScript可以为你输入检查。
typings install lodash --save
2 - 在您的.ts文件中,您要导入lodash:
import * as _ from "lodash"
我跳它可以帮助。
答案 1 :(得分:2)
我不确定这个问题有多久,但这些问题仍然存在。我刚刚将Lodash类型定义添加到我的Angular-CLI项目中并使其工作。这是我想在Angular2中使用一些第三方库的实验的一部分。我不得不努力弄清楚它是如何工作的,所以这里就是这样。
Lodash的当前类型定义似乎存在一些问题。所以我在编译时遇到错误。我用更旧版本的lodash类型定义文件替换了类型定义文件的内容,并且它工作正常。 工作版本来自路径,
https://github.com/borisyankov/DefinitelyTyped
我用typings install dt~lodash --save
添加任何类型定义文件后,它将在基本类型定义文件中获得引用,如下所示。
现在,如果您错过了在tsconfig.json中引用基本文件,我们将无法在Angular2中使用lodash模块。您可以按如下方式添加它,
要使用lodash功能,请导入在打开类型定义文件时可以看到的模块。如果是lodash,那就是" lodash"。
在您的组件中,您可以导入类似的库,
import * as $ from 'jquery';
import * as _ from "lodash";
并使用代码中的功能
例如:
结果是,
答案 2 :(得分:0)
我发现这对我有用:
declare var _ : _.LoDashStatic;