4

我有创建 bundle.js 的 webpack.config.js 但由于某种原因它没有创建任何 css 文件,尽管我有css-loader,style-loaderextract-text-webpack-plugin.

我的 webpack.config.js

const path = require('path');
const HtmlWebpackPlugin = require('html-webpack-plugin');
const HtmlWebpackPluginConfig = new HtmlWebpackPlugin({
  template: './client/index.html',
  filename: 'index.html',
  favicon: './client/asset/favicomatic/favicon.ico'
});
const ExtractTextPlugin = require('extract-text-webpack-plugin');

const BUILD_DIR = path.resolve(__dirname, 'dist');

module.exports = {
  entry: ['./client/src/index.js'],
  output: {
    path: BUILD_DIR,
    filename: 'bundle.js'
  },
  module: {
    loaders: [
      { test: /\.js$/, loader: 'babel-loader', exclude: /node_modules/ },
      { test: /\.jsx$/, loader: 'babel-loader', exclude: /node_modules/ },
      { 
        test: /\.css$/,
        use: ExtractTextPlugin.extract({
          fallback: "style-loader",
          use: "css-loader"
        })
      }
    ]
  },
  resolve: {
    extensions: ['*', '.js', '.jsx']
  },
  plugins: [HtmlWebpackPluginConfig, new ExtractTextPlugin('style.css')]
};

我希望我在其他地方创建这个捆绑的 css 文件我在我的文件夹中看不到任何 css 文件。

如果有人能发现我做错了什么,请告诉我。

谢谢,

4

1 回答 1

3

配置对我来说看起来不错。

一般:虽然 webpack 加载器执行特定于资源的任务,但它的源代码需要定义依赖项。在您需要 CSS 样式的源代码中,您需要导入该 CSS 文件。第一次听到可能听起来很奇怪,但这就是 webpack 的工作原理。

Webpack 应该处理依赖图中的 CSS 依赖。如果未创建输出 css 文件,则可能缺少的部分是源代码中的依赖项声明,即require("./css-file-here")import "./css-file-here"

从这里的 webpack 指南

这使您能够import './style.css'进入依赖于该样式的文件。

输出是否显示它处理 CSS 源文件的任何迹象?

如果它有助于查看这个 repo 中的 src/entry.js :webpack-bootstrap。在此期间,您可以尝试查看如何通过 webpack 应用引导样式。

于 2017-12-15T18:54:11.897 回答