Файл CSS не связывается в файле index.html, который подается из веб-пакета - PullRequest
0 голосов
/ 24 января 2019

Привет, у меня есть структура папок, как показано ниже: -

node_modules
src
|____components
|____index.css
|____index.html
|____index.js
|____index.scss
.babelrc
package.json
webpack.config.js

содержимое моего файла webpack.config.js выглядит следующим образом: -

const path = require("path")
const HtmlWebpackPlugin = require("html-webpack-plugin")
const ExtractTextPlugin = require("extract-text-webpack-plugin")

module.exports = {
entry: {
    "index": "./src/index.js",
},
output: {
    path: path.join(__dirname, "/dist"),
    filename: "[name].js",
},
resolve: {
    alias: {
        components: path.resolve(__dirname, "src/components")
    },
    extensions: [".js", ".jsx", ".json"],
    mainFiles: ["index"]
},
module: {
    rules: [
        {
            test: /\.js$/,
            exclude: /node_modules/,
            use: {
                loader: "babel-loader"
            }
        },
        {
            test: /\.(s*)css$/,
            use: ExtractTextPlugin.extract({
                fallback: "style-loader",
                use: ["css-loader", "sass-loader"]
            })//["style-loader", "css-loader", "sass-loader"]
        }
    ],
},
plugins: [
    new HtmlWebpackPlugin({
        template: "./src/index.html"
    }),
    new ExtractTextPlugin({
        filename: "bundle.css"
    })
],
watch: true,
}

содержимое моего файла index.html выглядит следующим образом: -

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <link rel="stylesheet" type="text/css" href="./index.css">
    <title>React Boilerplate</title>
 </head>

<body>
    <div id="root">

    </div>
</body>

</html>

..

<link rel="stylesheet" type="text/css" href="./index.css">

вышеприведенная строка не загружает мой index.css в браузер, пока он находится на уровне src / components, у меня есть файлы css, которые правильно упакованы и доставлены в файл bundle.css.

Любая помощь будет очень полезна

Ответы [ 2 ]

0 голосов
/ 17 августа 2019

Ссылка на css должна быть:

<link rel="stylesheet" type="text/css" href="../src/index.css">
0 голосов
/ 28 января 2019

Ссылка на CSS должна быть:

<link rel="stylesheet" type="text/css" href="/index.css">

Это должно быть так из-за publicPath.Поскольку он не установлен, он по умолчанию /.

...