在我的react应用程序中导入新安装的模块

时间:2018-01-31 13:00:22

标签: reactjs npm

我在我的反应项目中使用npm install安装了一个模块

npm install mdbreact --save

然后检查了nodemodules文件夹以确保lib安装正确并且是。 现在我尝试从新的lib导入一些组件,如Input和Button 我正在尝试

import * as MDB from 'mdbreact';

import Input from 'mdbreact';

我总是收到错误error TS2307: Cannot find module 'mdbreact' 有什么帮助怎么解决这个?谢谢!

1 个答案:

答案 0 :(得分:0)

查看函数和变量的导出方式可能会有所帮助,以便您可以看到它们的导入方式。

我将进一步解释,但这里是文档:

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/export

要从文件中导出default变量/函数,您将使用export default短语。

var testObj = { 'hello' : 'world' };
export default testObj;

要从文件导入default变量/函数,您可以这样做:

import testObj from './testFile';

要从文件中导出标准变量/函数,您可以使用标准export关键字。

var testObj = { 'hello' : 'world' };
var testObj2 = { 'hello' : 'again' };
export { testObj, testObj2 }; 
// or if you just want to export testObj - notice the default keyword is missing
export testObj;

要从文件导入标准变量/函数,必须将导入的变量/函数包装在大括号内。

TL; DR;

只能导入文件中的默认导出变量/函数而不使用大括号,其他任何内容都必须从大括号内导入。 Input不是mdbreact的默认导出,这就是为什么必须像这样导入的原因:

import { Input } from 'mdbreact';

*将从文件中导入所有可用的导出,这就是允许导入工作的原因。但是您不希望在每个使用mdbreact的文件中导入mdbreact中的所有组件,否则您的项目会很快变得臃肿。