我正在使用Parceljs(https://github.com/parcel-bundler/parcel)和React。我决定使用Prime React组件,因为它们接缝非常牢固,构造良好。我已经成功地用npm安装了Prime React,当然所有的js和css文件都位于node_modules/primerect文件夹中。此外,所有css文件(包括所有免费主题的css文件)都在node_modules/primreact/resources文件夹中。
在Prime React文档中,他们只提到了Prime Reat组件能够工作所需的css文件,并且有一个关于如何在使用webpack的情况下导入css文件的示例。
这是Prime React组件的"入门"文档部分的链接:
https://www.primefaces.org/primereact/#/setup
根据文档,如果我使用的是webpack,我可以用导入命令导入css文件,如下所示:
import 'primereact/resources/themes/nova-light/theme.css';
import 'primereact/resources/primereact.min.css';
import 'primeicons/primeicons.css';
但是,如果我使用ParceljsBundler,导入css文件的最佳方式是什么?
很明显,我可以将css文件从node_modules/primreact/resources文件夹复制到我的应用程序文件夹,然后通过链接正常导入css文件:
<link rel="stylesheet" type="text/css" href="mystyle.css">
但这样我就不能用npm更新prime react并获得最新的文件。
解决这个问题的最佳方法是什么?
这个问题的答案是,我不明白Parcel在使用import命令时也会查看node_modules文件夹。因此,根据包裹文件:
https://parceljs.org/css.html
您可以使用import命令导入css文件:
import './index.css';
<link rel="stylesheet" type="text/css" href="index.css">
但这也意味着,如果在应用程序文件夹中找不到node_modules文件夹,那么import命令将查找该文件。因此,我在MainApp.js文件中成功地导入了Prime React css文件,其中包含以下命令:
import "primereact/resources/themes/nova-light/theme.css";
import "primereact/resources/primereact.min.css";
import "primeicons/primeicons.css";
这实际上和Webpack是一样的。