使用webpack从节点模块加载CSS文件

thi*_*ple 7 css reactjs webpack

我正在尝试使用包含css文件的react组件.我像往常一样要求组件:

var Select = require('react-select');
Run Code Online (Sandbox Code Playgroud)

我想知道如何才能要求组件所需的css.

我已经尝试过了:

require('react-select/dist/react-select.css');
Run Code Online (Sandbox Code Playgroud)

还有这个:

require('react-select.css');
Run Code Online (Sandbox Code Playgroud)

没有人奏效.

小智 12

确保安装了以下软件包:

npm install style-loader css-loader --save-dev
Run Code Online (Sandbox Code Playgroud)

并且您的webpack配置具有以下内容:

module: {
  loaders: [
    { test: /\.css$/, loader: "style-loader!css-loader" }
  ]
}
Run Code Online (Sandbox Code Playgroud)

这将需要并捆绑您需要的任何css文件,我会完全按照您的方式完成它:

require('react-select/dist/react-select.css');
Run Code Online (Sandbox Code Playgroud)

另一个可行的解决方法是复制该css文件,并在html中通过以下方式链接它:

<link rel="stylesheet" href="/path/to/react-select.css">
Run Code Online (Sandbox Code Playgroud)

  • @Birksy89对于更新的新手运行这个`npm install style-loader css-loader --save-dev`,如果你决定按照[文档](https://webpack.github)将CSS拆分成自己的文件.io/docs/stylesheets.html)请务必删除require中的显式css标记[如此处](https://github.com/webpack/css-loader/issues/295#issuecomment-231510027) (3认同)
  • @nmu所以你只是在开发时安装css和样式的加载器而不是在生产中使用CSS? (2认同)

Coo*_*ham -1

//package.json
"dependencies": {
    "my-package": "2.0.0"
}
//app.js
//Get a relative path to the installed css files:
require('../someRelativePathFromAppJs/node_modules/my-package/somePath/myNeeded.css')
Run Code Online (Sandbox Code Playgroud)