web-dev-qa-db-ja.com

モジュールが見つかりません:エラー:ディレクトリの「./style.css」を解決できませんか?

コマンドnpm run buildを実行しようとしていますが、機能しません。そして私は以下のエラーを受け取ります:

> [email protected] build /Users/Prashant/Code/TypeScript
> webpack

Hash: c6dbd1eb3357da70ca81
Version: webpack 3.2.0
Time: 477ms
    Asset     Size  Chunks             Chunk Names
bundle.js  2.89 kB       0  [emitted]  main
   [0] ./src/index.js 51 bytes {0} [built]
   [1] ./src/index.css 290 bytes {0} [built] [failed] [1 error]

ERROR in ./src/index.css
Module build failed: Unknown Word (5:1)

  3 | // load the styles
  4 | var content = require("!!./index.css");
> 5 | if(typeof content === 'string') content = [[module.id, content, '']];
    | ^
  6 | // Prepare cssTransformation
  7 | var transform;
  8 |


@ ./src/index.js 1:0-22

私のWebパック構成ファイル(webpack.config.js)は次のとおりです。

var path = require('path');

module.exports = {
    entry: './src/index.js',
    output: {
        path: path.resolve(__dirname, 'dist'),
        filename: 'bundle.js'
    },
    module: {
        rules: [
            {
                test: /\.css$/,
                use: [
                    'css-loader',
                    'style-loader'
                ]
            }
        ]
    }
};

そして私のCSSファイル(index.css)は

body {
    color:red;
}

そして私のjsファイルindex.jsは以下です:

require("./index.css");
alert('this is my alert');

ファイルを実行しようとしていますが、機能しません。すべてのスペルをチェックしましたが、他の多くのCSSを追加しようとしましたが、機能しません。この問題の解決方法を教えてください。

9
Prashant Barve

ローダーは逆の順序で適用されます。つまり、最初にstyle-loaderを適用してから、その結果をcss-loaderに渡します。 style-loaderの出力はJavaScriptで、スタイルは<style>タグに挿入されますが、css-loaderはCSSを予期しており、JavaScriptが有効でないため解析に失敗します。

正しいルールは次のとおりです。

{
    test: /\.css$/,
    use: [
        'style-loader',
        'css-loader'
    ]
}
5
Michael Jungo

私は同じ問題を抱えていて、最終的に、*。cssファイルを処理していたwebpack構成に2番目のモジュールルールがあることがわかりました

1
HisDivineShadow