Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/455.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将外部库导入ReactJS应用程序(本地)_Javascript_Reactjs_Webpack_Materialize - Fatal编程技术网

Javascript 如何将外部库导入ReactJS应用程序(本地)

Javascript 如何将外部库导入ReactJS应用程序(本地),javascript,reactjs,webpack,materialize,Javascript,Reactjs,Webpack,Materialize,我有一个ReactJS应用程序,我通过ReactMaterialize使用MaterializeCSS。我已安装react materialized,并按顺序在我的index.html文件中添加了对MaterializeCSS文件的引用: <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/css/materialize.min.css"> (...) <sc

我有一个ReactJS应用程序,我通过ReactMaterialize使用MaterializeCSS。我已安装react materialized,并按顺序在我的index.html文件中添加了对MaterializeCSS文件的引用:

<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/css/materialize.min.css">
(...)
<script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/js/materialize.min.js"></script>
但是当我尝试对.js文件执行同样的操作时,我得到了大量错误,因为它试图传输materialize.js文件


我应该将此文件放在何处,如何从我的项目中引用它?

您可以使用windows命令提示符通过npm安装它,只需启动>运行>命令, 通过cd找到项目文件夹并键入以下内容:

npm install --save materialize-css@next
在您的Index.js:-中,它位于应用程序的根文件夹中

import 'materialize-css';
import 'materialize-css/dist/css/materialize.min.css';
我还强烈推荐material UI,它对于react应用程序非常方便:

您可以运行

npm install --save materialize-css@next
然后可以通过以下导入将其添加到index.js文件中:

import 'materialize-css'; //This adds the Js file
import 'materialize-css/dist/css/materialize.min.css';

为了避免潜在的复杂网页设置,一个更简单的解决方案是临时从其网站下载实际文件:

只需将它们的文件放在js文件夹中,并通过脚本标记引用它,就像它们在安装项目结构部分中显示的那样


我知道这不是最优雅的解决方案,但如果您有急事,它可能会起作用,否则您需要了解如何将项目包含在webpack中,而不涉及其代码。

那么如何将其导入到我的项目中?或者它是自动完成的?只需在组件的开头添加import“materialize css”,就可以了。我已经使用css文件完成了导入,并且可以正常工作,甚至只是下载和复制文件。我的问题是.JS文件。@ChrisG注释解决了我的问题,但我将看一看MaterialUI,它似乎很有趣。因为我正处于项目的开始阶段,所以我可以进行更改。materialize没有模块版本;它可以安装,但不能导入到网页包项目中。因此,良好的实践与否,在很大程度上取决于包是否是实际的ES6模块。一般来说,安装它是可以的,但是OP必须将文件从dist移动到public,所以这有什么意义呢?从CDN下载文件,将其放在您的公用文件夹中,并在索引中链接到它。html@ChrisG你应该写下你的评论作为回答,这样我就可以接受了。这是最简单的,但解决了它。CSS文件没问题,我的问题是.JS文件。只需添加:import M from'materialize CSS'
import 'materialize-css'; //This adds the Js file
import 'materialize-css/dist/css/materialize.min.css';