Create-React-App:从 node_module 目录中包含 CSS 的最佳方法是什么
Create-React-App: What's the best way to include CSS from node_module directory
我正在尝试在我的 create-react-app 项目中包含一些 CSS。 CSS 来自第三方 NPM 包,因此它在 node_modules 目录中。
我试过:
import '/node_modules/packagename/css/styles.css';
但我收到错误消息:
Module not found: You attempted to import /node_modules/packagename/css/styles.css which falls outside of the project src/ directory. Relative imports outside of src/ are not supported. You can either move it inside src/, or add a symlink to it from project's node_modules/.
我不想将 CSS 移动到 src/ 以便它可以通过 NPM 更新。我可以使用符号链接,但是当我在 windows 上开发并部署到 linux 时,这并不理想。
我认为包含 CSS 的最佳方式是什么?
找到 css 文件的路径
示例:./node_modules/packagename/dist/css/styles.css
使用与 node_modules 相关的路径导入(node_modules/
之后的任何内容)
import 'packagename/dist/css/styles.css'
相对路径在 node_modules 中是不必要的,不应该是包含 css
的推荐方式
你所要做的就是去掉前面的斜杠和node_modules目录,就像从节点模块导入js包一样:
import 'package/css/style-to-import.css'
使用 (s)css 导入时,使用波浪号 (~
) 表示绝对导入:
@import '~package/css/style-to-import.css'
我发现这是一个痛苦的错误。特别是我的 webpack.config.js 不再是 运行。
特别是 React 应用程序现在 运行 在 src 文件夹中,导入文件需要在 public 文件夹中。
我用的是materialize-social,发现最简单的方法就是把node_module文件夹"materialize-social"移动到public目录下,其他方法请大家点赞
与之前的答案没有区别的是,它取决于您将 CSS 导入的位置;组件或样式表。
如果您要将 node_modules
样式表导入到组件中,则不需要像上面提到的那样的相对路径。
import 'packagename/dist/css/styles.css'
但是,如果您要将 node_modules
样式表导入 CSS/SCSS 文件,则需要使用波浪号 ~
.
@import '~packagename/dist/css/styles.css'
我正在尝试在我的 create-react-app 项目中包含一些 CSS。 CSS 来自第三方 NPM 包,因此它在 node_modules 目录中。
我试过:
import '/node_modules/packagename/css/styles.css';
但我收到错误消息:
Module not found: You attempted to import /node_modules/packagename/css/styles.css which falls outside of the project src/ directory. Relative imports outside of src/ are not supported. You can either move it inside src/, or add a symlink to it from project's node_modules/.
我不想将 CSS 移动到 src/ 以便它可以通过 NPM 更新。我可以使用符号链接,但是当我在 windows 上开发并部署到 linux 时,这并不理想。
我认为包含 CSS 的最佳方式是什么?
找到 css 文件的路径
示例:./node_modules/packagename/dist/css/styles.css
使用与 node_modules 相关的路径导入(node_modules/
之后的任何内容)
import 'packagename/dist/css/styles.css'
相对路径在 node_modules 中是不必要的,不应该是包含 css
的推荐方式你所要做的就是去掉前面的斜杠和node_modules目录,就像从节点模块导入js包一样:
import 'package/css/style-to-import.css'
使用 (s)css 导入时,使用波浪号 (~
) 表示绝对导入:
@import '~package/css/style-to-import.css'
我发现这是一个痛苦的错误。特别是我的 webpack.config.js 不再是 运行。
特别是 React 应用程序现在 运行 在 src 文件夹中,导入文件需要在 public 文件夹中。
我用的是materialize-social,发现最简单的方法就是把node_module文件夹"materialize-social"移动到public目录下,其他方法请大家点赞
与之前的答案没有区别的是,它取决于您将 CSS 导入的位置;组件或样式表。
如果您要将 node_modules
样式表导入到组件中,则不需要像上面提到的那样的相对路径。
import 'packagename/dist/css/styles.css'
但是,如果您要将 node_modules
样式表导入 CSS/SCSS 文件,则需要使用波浪号 ~
.
@import '~packagename/dist/css/styles.css'