0

当我尝试按照说明将 react-widgets-webpack 与 extract-text-webpack-plugin 和 Webpack 2 一起使用时,我收到以下错误:

./~/react-widgets-webpack/index.loader.js!./react-widgets.config.js 中的错误模块构建失败:错误:重大更改:提取现在只需要一个参数。选项对象加载程序。示例:如果您的旧代码如下所示: ExtractTextPlugin.extract('style-loader', 'css-loader')

您可以将其更改为: ExtractTextPlugin.extract({ fallback: 'style-loader', use: 'css-loader' })

更改为

styleLoader: require('extract-text-webpack-plugin').extract({
        fallback: "style-loader",
        use: 'css-loader!less-loader'
    })

给出以下错误:

./~/react-widgets-webpack/index.loader.js!./react-widgets.config.js 中的错误模块未找到:错误:无法解析'[object Object],[object Object],[object '/Users/pbirmingham/Development/FLA/forks/flash/flash' 中的对象],[对象对象]'

我的 webpack.config.js:

const webpack = require('webpack');
const globalizePlugin = require('globalize-webpack-plugin');
const HtmlWebpackPlugin = require('html-webpack-plugin');
const ExtractTextPlugin = require("extract-text-webpack-plugin");

module.exports = {
    entry: {
        app: [
            'react-widgets-webpack!./react-widgets.config.js',
            'bootstrap-loader',
            './js/main.js']
    },
    output: {
        path: './public/',
        filename: 'js/bundle-[hash].js',
    },
    module: {
        rules: [
            {test: /\.(js|jsx)$/, exclude: /node_modules/, use: 'babel-loader'},
            {test: /\.json$/, use: 'json-loader'},
            {
                test: /\.(css|scss)$/,
                use: ExtractTextPlugin.extract({
                    fallback: "style-loader",
                    use: ['css-loader', 'sass-loader']
                })
            },
            {
                test: /\.woff(2)?(\?v=[0-9]\.[0-9]\.[0-9])?$/,
                use: "url-loader?name=[name].[hash].[ext]&limit=10000&mimetype=application/font-woff"
            },
            {test: /\.(ttf|eot|svg|gif)$/, use: "file-loader?name=[name].[hash].[ext]"},
            {test: /bootstrap.+\.(jsx|js)$/, use: 'imports-loader?jQuery=jquery,$=jquery,this=>window'}
        ]
    },
    plugins: [
        new ExtractTextPlugin({ filename: 'css/main.[contenthash].css'}),
        new globalizePlugin({
            production: false,
            developmentLocale: "en",
            supportedLocales: ["en"],
            output: "globalize-compiled-data-[locale].[hash].js"
        }),
        new HtmlWebpackPlugin({
            template: 'template/index.ejs',
            chunks: ['app']
        }),
        new webpack.DefinePlugin({
            'process.env': {
                NODE_ENV: JSON.stringify('production')
            }
        })
    ]
}

有没有其他人看到过这种行为?

4

1 回答 1

0

我有同样的问题。在 package.json 中设置,"extract-text-webpack-plugin": "~0.8.0"然后定义 ExtractTextPlugin 加载器,如loader: ExtractTextPlugin.extract('style', 'css!less')

于 2017-04-18T06:55:04.110 回答