Webpack包没有显示css

时间:2016-03-09 11:07:58

标签: html css django webpack

我之前有一个带Bootstrap的Django工作正常。我试图在Webpack之后启动并运行(没有反应部分): http://owaislone.org/blog/webpack-plus-reactjs-and-django/

捆绑包是在我运行webpack脚本时生成的。在浏览器中,我一直得到简单的HTML,因此不使用该包......

相关代码

testhtml.html:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>This is my fantastic demo!!!</title>
</head>
{% load render_bundle from webpack_loader %}

{% render_bundle 'main' %}
<body>
<div>"how about this?"</div>

</body>
</html>

webpack.config.js:

var path = require('path');
var webpack = require('webpack');`enter code here`
var BundleTracker = require('webpack-bundle-tracker');
var HtmlWebpackPlugin = require('html-webpack-plugin');
var Clean = require('clean-webpack-plugin');
var bootstrapPath = path.join(__dirname, 'node_modules/bootstrap/dist/css');

module.exports = {
    devtool: 'eval-source-map',
    context: __dirname,
    entry: './assets/js/index', // entry point of our app. .assets/js/index.js should require other js modules and dependencies it needs
    output: {
        path: path.resolve('./assets/bundles/'),
        filename: '[name]-[hash].js'
    },
    node: {
        console: true,
        fs: 'empty'
    },
    plugins: [
        new webpack.ProvidePlugin({
            $: 'jquery',
            jQuery: 'jquery'
        }),
        new BundleTracker({filename: './webpack-stats.json'}),
        new webpack.BannerPlugin('Banner!!!! todo'),
        new HtmlWebpackPlugin({
            template: __dirname + '/assets/index.tmpl.html'
        }),
        new webpack.HotModuleReplacementPlugin(),
        new Clean(['assets/bundles'])
    ],
    module: {
        loaders: [
            {
                test: /\.js[x]?$/,
                loader: 'babel',
                exclude: /(node_modules|bower-components)/,
                query: {
                    presets: ['es2015', 'stage-0']
                }
            },
            {
                test: /\.json$/,
                loader: 'json-loader'
            },
            {
                test: /\.js$/,
                include: path.resolve(__dirname, 'node_modules/mapbox-gl/js/render/shaders.js'),
                loader: 'transform/cacheable?brfs'
            },
            {
                test: /\.js$/,
                include: path.resolve(__dirname, 'node_modules/webworkify/index.js'),
                loader: 'worker'
            },
            {
                test: /\.css$/,
                loader: 'style!css?modules!postcss'
            },
            {
                test: /\.scss$/,
                loaders: ['style', 'css?sourceMap', 'sass?sourceMap']
            },
            /*
             {
             test: /\.woff$/,
             loader: 'url-loader?limit=10000&mimetype=application/font-woff&name=[path][name].[ext]'
             }, {
             test: /\.woff2$/,
             loader: 'url-loader?limit=10000&mimetype=application/font-woff2&name=[path][name].[ext]'
             }, {
             test: /\.(eot|ttf|svg|gif|png)$/,
             loader: 'file-loader'
             }
             */
            {test: /\.woff(\?v=\d+\.\d+\.\d+)?2?$/, loader: 'url-loader'},
            {test: /\.ttf(\?v=\d+\.\d+\.\d+)?$/, loader: 'url-loader'},
            {test: /\.eot(\?v=\d+\.\d+\.\d+)?$/, loader: 'url-loader'},
            {test: /\.svg(\?v=\d+\.\d+\.\d+)?$/, loader: 'url-loader'}
        ]
    },
    postcss: [
        require('autoprefixer')
    ],
    resolve: {
        modulesDirectories: ['node_modules', 'bower_components', bootstrapPath],
        extensions: ['', '.js', '.jsx', '.css'],
        alias: {
            webworkify: 'webworkify-webpack',
            '$': 'jquery',
            'jQuery': 'jquery'
        }
    },
    devServer: {
        contentBase: './assets',
        colors: true,
        historyApiFallback: true,
        inline: true,
        hot: true
    }
};

2 个答案:

答案 0 :(得分:1)

我正在导入(相当于ES6下的require)一个显然导致问题的插件。离开该插件后,django-webloader-loader按预期工作。有关详细信息,请参阅: https://github.com/owais/django-webpack-loader/issues/51

答案 1 :(得分:0)

您需要css文件吗?

在Webpack包中使用css和样式加载器embed the css files,要求它们与任何其他模块一样。

如果你查看我链接的Webpack文档,你会看到:

// in your modules just require the stylesheet 
// This has the side effect that a <style>-tag is added to the DOM.
require("./stylesheet.css");// This has the side effect that a <style>-tag is added to the DOM.