Create-React-App:从node_module目录中包含CSS的最佳方法是什么

时间:2017-08-13 08:27:24

标签: create-react-app

我试图在我的create-react-app项目中包含一些CSS。 CSS来自第三方NPM包,因此它位于node_modules目录中。

我试过了: import '/node_modules/packagename/css/styles.css';

但我收到错误:

  

找不到模块:您试图导入位于项目src /目录之外的/node_modules/packagename/css/styles.css。不支持src /之外的相对导入。您可以在src /中移动它,或者从项目的node_modules /中添加符号链接。

我宁愿不将CSS移动到src /所以它可以通过NPM更新。我可以通过符号链接,但是当我在Windows上开发并部署到linux时,这并不理想。

包含CSS的最佳方式是什么?

4 个答案:

答案 0 :(得分:30)

node_modules不需要相对路径,不应该是包含css

的推荐方法

您要做的就是不要使用前面的斜杠和node_modules目录,就像从节点模块导入js包一样:

strToInt

答案 1 :(得分:9)

找到css文件的路径

示例:./node_modules/packagename/dist/css/styles.css

使用与node_modules相关的路径导入(node_modules/之后的任何内容)

import 'packagename/dist/css/styles.css'

答案 2 :(得分:6)

与之前的答案没有区别,这取决于您将CSS导入的位置;组件或样式表。

如果要将node_modules样式表导入到组件中,则不需要上面提到的相对路径。

import 'packagename/dist/css/styles.css'

但是,如果要将node_modules样式表导入CSS / SCSS文件,则需要使用波浪号~

@import '~packagename/dist/css/styles.css'

答案 3 :(得分:-2)

我发现这是一个令人讨厌的错误。特别是我的webpack.config.js不再运行。

特别反应应用程序现在正在src文件夹中运行,并且导入文件需要在公共文件夹中。

我当时使用的是materialize-social,发现最简单的方法是将node_module文件文件夹“ materialize-social”移动到公共目录中,请以其他方式推荐一下。