タイトルが言うように、私は反応ファイルにCSSファイルをインポートしたいと思います。私は以下を試しました:
import disabledLink from "../../../public/styles/disabledLink";
しかし、エラーは私にこれを示しています:
モジュールが見つかりません:エラー:c:¥Users¥User¥Documents¥pizza-app¥client¥src¥components @内の 'file'または 'directory' ../../../public/styles/disabledLinkを解決できません。 /client/src/components/ShoppingCartLink.js 19:20-66
ハッシュ:2d281bb98fe0a961f7c4
バージョン:webpack 1.13.2
ファイルは次のパスにあります。
C:¥Users¥User¥Documents¥pizza-app¥client¥public¥styles¥disabledLink.css
私にとっては、インポートが正しいパスを探していないようです。 ../../../
を使うと、上の3つのフォルダレイヤーのパスを調べ始めると思いました。
CSSファイルをインポートするファイルは次の場所にあります。
C:¥Users¥User¥Documents¥pizza-app¥client¥src¥components¥ShoppingCartLink.js
ご意見ありがとうございます。
あなたがする必要がないのなら、あなたもそれに名前を付ける必要はありません。
例えば.
import React from 'react';
import './App.css';
完全な例はこちら https://egghead.io/lessons/build-a-jsx-live-compiler
Wepbackでバンドルを作成するときは、 css-loader を使用する必要があります。
それをインストールしてください。
npm install css-loader --save-dev
そしてそれをあなたのwebpack設定のローダーに追加してください。
module.exports = {
module: {
loaders: [
{ test: /\.css$/, loader: "style-loader!css-loader" },
// ...
]
}
};
この後、あなたはjsにcssファイルを含めることができるでしょう。
CSSモジュールを使うことをお勧めします。
反応する
import React from 'react';
import styles from './table.css';
export default class Table extends React.Component {
render () {
return <div className={styles.table}>
<div className={styles.row}>
<div className={styles.cell}>A0</div>
<div className={styles.cell}>B0</div>
</div>
</div>;
}
}
コンポーネントのレンダリング:
<div class="table__table___32osj">
<div class="table__row___2w27N">
<div class="table__cell___2w27N">A0</div>
<div class="table__cell___1oVw5">B0</div>
</div>
</div>
以下はReactコンポーネントに外部CSSファイルをインポートし、CSSルールをWebサイトの<head />
に出力します。
npm install --save-dev style-loader
npm install --save-dev css-loader
module.exports = {
module: {
rules: [
{
test: /\.css$/,
use: [ 'style-loader', 'css-loader' ]
}
]
}
}
import './path/to/file.css';
Style LoaderとCSS Loaderをインストールします。npm install --save-dev style-loader npmインストール--save-dev css-loader
ウェブパックを設定する
モジュール:{ローダー:[{テスト:/.css$ /、ローダー: 'スタイルローダー'}、{テスト:/.css$ /、ローダー: 'cssローダー'、クエリ:{モジュール:true、ローカルID名: '[名前][ローカル] _[ハッシュ:base64:5]'}}]}
スタイルシート全体にバンドルせずに、スタイルシートからコンポーネントにスタイルを挿入するだけの場合は、 https://github.com/glortho/styled-import 例えば:
const btnStyle = styledImport.react('../App.css', '.button')
// btnStyle is now { color: 'blue' } or whatever other rules you have in `.button`.
注:私はこのライブラリの作者です。スタイルとCSSモジュールの一括インポートが最善または最も実行可能な解決策ではない場合のためにそれを構築しました。