Css-loader: Final loader didn't return a Buffer or String

Created on 14 Nov 2015  路  6Comments  路  Source: webpack-contrib/css-loader

I was having the issue described in #145 ; however, when I attempt to use es6-promise to add solve the problem (either by calling polyfill or by just setting a promise var I get Final loader didn't return a Buffer or String.

I also get this error if I use css-loader ^0.18.0 as someone suggested.

I'm running node v4.2.2, below is my glupfile.js and package.json

var es6 = require('es6-promise');
es6.polyfill();
var Promise = es6.Promise;

var gulp = require("gulp");
var gutil = require("gulp-util");
var webpack = require("webpack");
var jade = require("jade");


gulp.task("build", function (callback) {
    // run webpack
    webpack({
        entry: "./App/app.js",
        output: {
            path: __dirname + "/dist"
        },
        resolve: {
            extensions: [
              '',
              '.js'
            ]
        },
        module: {
            noParse: [/acorn\.js$/, /walk\.js$/],
            loaders: [
                { test: /\.jade$/, loader: "jade" },
                 { test: /\.css$/, loader: "style-loader!css-loader" },
                { test: /\.png$/, loader: "url-loader?limit=100000" },
                { test: /\.jpg$/, loader: "file-loader" },
                // => "style" and "css" loader is used for ".css" files
                {
                    test: /\.less$/,
                    loader: "style!css!less"
                },
                // => "jade" loader is used for ".jade" files
                // => "less" loader is used for ".less" files (converted into CSS)

                {
                    test: /\.json$/,
                    loaders: ['json']

                }
            ]
        }
    }, function (err, stats) {
        if (err) throw new gutil.PluginError("webpack", err);
        gutil.log("[webpack]", stats.toString({
            // output options
        }));
        callback();
    });
});

{
  "version": "1.0.0",
  "name": "ASP.NET",
  "private": true,
  "devDependencies": {
    "css-loader": "^0.22.0",
    "file-loader": "^0.8.4",
    "gulp": "^3.9.0",
    "gulp-util": "^3.0.7",
    "jade": "^1.11.0",
    "jade-loader": "^0.8.0",
    "json-loader": "^0.5.3",
    "less": "^2.5.3",
    "less-loader": "^2.2.1",
    "loader-utils": "^0.2.11",
    "postcss": "^5.0.12",
    "postcss-loader": "^0.8.0",
    "url-loader": "^0.5.6",
    "webpack": "^1.12.4",
    "es6-promise": "^3.0.2"
  },
  "dependencies": {
    "ampersand-app": "^1.0.4",
    "ampersand-model": "^6.0.2",
    "ampersand-router": "^3.0.2",
    "ampersand-view": "^9.0.0",
    "ampersand-view-switcher": "^2.0.0",
    "bootbox": "^4.4.0",
    "bootstrap": "^3.3.5",
    "fs": "0.0.2",
    "jquery": "^2.1.4",
    "local-links": "^1.4.0",
    "pnnl-app-theme": "^1.0.1",
    "pnnl-icon-font": "^1.0.0",
    "pnnl-lookup": "^1.0.2",
    "pnnl-profile-card": "^0.11.3",
    "qs": "^6.0.0",
    "style": "0.0.3",
    "xhr": "^2.2.0"
  }
}

ERROR in ./App/styles/main.less
Module build failed: Error: Final loader didn't return a Buffer or String
    at DependenciesBlock.onModuleBuild (C:\Users\lane082\Documents\Visual Studio 2015\Projects\ProjectCentral.ProjectList\ProjectCentral.ProjectListWeb\node_modules\webpack\node_modules\webpack-core\lib\NormalModuleMixin.js:299:42)
    at nextLoader (C:\Users\lane082\Documents\Visual Studio 2015\Projects\ProjectCentral.ProjectList\ProjectCentral.ProjectListWeb\node_modules\webpack\node_modules\webpack-core\lib\NormalModuleMixin.js:275:25)
    at C:\Users\lane082\Documents\Visual Studio 2015\Projects\ProjectCentral.ProjectList\ProjectCentral.ProjectListWeb\node_modules\webpack\node_modules\webpack-core\lib\NormalModuleMixin.js:292:15
    at runSyncOrAsync (C:\Users\lane082\Documents\Visual Studio 2015\Projects\ProjectCentral.ProjectList\ProjectCentral.ProjectListWeb\node_modules\webpack\node_modules\webpack-core\lib\NormalModuleMixin.js:160:12)
    at nextLoader (C:\Users\lane082\Documents\Visual Studio 2015\Projects\ProjectCentral.ProjectList\ProjectCentral.ProjectListWeb\node_modules\webpack\node_modules\webpack-core\lib\NormalModuleMixin.js:290:3)
    at C:\Users\lane082\Documents\Visual Studio 2015\Projects\ProjectCentral.ProjectList\ProjectCentral.ProjectListWeb\node_modules\webpack\node_modules\webpack-core\lib\NormalModuleMixin.js:292:15
    at context.callback (C:\Users\lane082\Documents\Visual Studio 2015\Projects\ProjectCentral.ProjectList\ProjectCentral.ProjectListWeb\node_modules\webpack\node_modules\webpack-core\lib\NormalModuleMixin.js:148:14)
    at Object.<anonymous> (C:\Users\lane082\Documents\Visual Studio 2015\Projects\ProjectCentral.ProjectList\ProjectCentral.ProjectListWeb\node_modules\css-loader\lib\loader.js:113:3)
    at C:\Users\lane082\Documents\Visual Studio 2015\Projects\ProjectCentral.ProjectList\ProjectCentral.ProjectListWeb\node_modules\css-loader\lib\processCss.js:182:3
    at lib$es6$promise$$internal$$tryCatch (C:\Users\lane082\Documents\Visual Studio 2015\Projects\ProjectCentral.ProjectList\ProjectCentral.ProjectListWeb\node_modules\es6-promise\dist\es6-promise.js:326:16)
 @ ./App/app.js 1:0-29

Most helpful comment

I resolved my issue, I was trying to import an empty string!

import {domCreator} from ''

All 6 comments

Im having the same issue.
config:

var webpack = require("webpack");
module.exports = {
  plugins: [
    new webpack.ProvidePlugin({
      "$" : "jquery",
      "jQuery" : "jquery",
      "window.jQuery" : "jquery",
      "root.jQuery" : "jquery",
    })
  ],
  entry: "./client/js/client.js",
  output: {
    path: __dirname,
    filename: "public/bundle.js"
  },
  module: {
    loaders: [
      {
        test: /\.js$/,
        exclude: /(node_modules|bower_components)/,
        loader: 'babel',
        query: {
          presets: ['es2015']
        }
      },
      { test: /\.css$/, loader: "style-loader!css-loader" },
      { test: /\.png$/, loader: "url-loader?limit=100000" },
      { test: /\.jpg$/, loader: "file-loader" },
    ]
  }
};

output:

ERROR in 
Module build failed: Error: Final loader didn't return a Buffer or String
    at DependenciesBlock.onModuleBuild (/Users/basiclaser/work/databird/node_modules/webpack-core/lib/NormalModuleMixin.js:299:42)
    at nextLoader (/Users/basiclaser/work/databird/node_modules/webpack-core/lib/NormalModuleMixin.js:275:25)
    at DependenciesBlock.onLoadPitchDone (/Users/basiclaser/work/databird/node_modules/webpack-core/lib/NormalModuleMixin.js:262:4)
    at DependenciesBlock.loadPitch (/Users/basiclaser/work/databird/node_modules/webpack-core/lib/NormalModuleMixin.js:182:27)
    at DependenciesBlock.doBuild (/Users/basiclaser/work/databird/node_modules/webpack-core/lib/NormalModuleMixin.js:241:4)
    at DependenciesBlock.build (/Users/basiclaser/work/databird/node_modules/webpack/lib/NormalModule.js:84:14)
    at Compilation.buildModule (/Users/basiclaser/work/databird/node_modules/webpack/lib/Compilation.js:126:9)
    at /Users/basiclaser/work/databird/node_modules/webpack/lib/Compilation.js:309:10
    at /Users/basiclaser/work/databird/node_modules/webpack/lib/NormalModuleFactory.js:58:13
    at NormalModuleFactory.applyPluginsAsyncWaterfall (/Users/basiclaser/work/databird/node_modules/tapable/lib/Tapable.js:75:69)
    at onDoneResolving (/Users/basiclaser/work/databird/node_modules/webpack/lib/NormalModuleFactory.js:38:11)
    at onDoneResolving (/Users/basiclaser/work/databird/node_modules/webpack/lib/NormalModuleFactory.js:121:6)
    at /Users/basiclaser/work/databird/node_modules/webpack/lib/NormalModuleFactory.js:116:7
    at /Users/basiclaser/work/databird/node_modules/async/lib/async.js:726:13
    at /Users/basiclaser/work/databird/node_modules/async/lib/async.js:52:16
    at async.forEachOf.async.eachOf (/Users/basiclaser/work/databird/node_modules/async/lib/async.js:236:30)
    at _parallel (/Users/basiclaser/work/databird/node_modules/async/lib/async.js:717:9)
    at Object.async.parallel (/Users/basiclaser/work/databird/node_modules/async/lib/async.js:731:9)
    at /Users/basiclaser/work/databird/node_modules/webpack/lib/NormalModuleFactory.js:109:12
    at /Users/basiclaser/work/databird/node_modules/async/lib/async.js:726:13
    at /Users/basiclaser/work/databird/node_modules/async/lib/async.js:52:16
    at async.forEachOf.async.eachOf (/Users/basiclaser/work/databird/node_modules/async/lib/async.js:236:30)
    at _parallel (/Users/basiclaser/work/databird/node_modules/async/lib/async.js:717:9)
    at Object.async.parallel (/Users/basiclaser/work/databird/node_modules/async/lib/async.js:731:9)
    at /Users/basiclaser/work/databird/node_modules/webpack/lib/NormalModuleFactory.js:75:10
    at /Users/basiclaser/work/databird/node_modules/webpack/lib/NormalModuleFactory.js:28:4
    at /Users/basiclaser/work/databird/node_modules/webpack/lib/NormalModuleFactory.js:159:3
    at NormalModuleFactory.applyPluginsAsyncWaterfall (/Users/basiclaser/work/databird/node_modules/tapable/lib/Tapable.js:75:69)
    at NormalModuleFactory.create (/Users/basiclaser/work/databird/node_modules/webpack/lib/NormalModuleFactory.js:144:8)
    at /Users/basiclaser/work/databird/node_modules/webpack/lib/Compilation.js:214:11
 @ ./client/js/remote/initial-load.js 12:8-19

I resolved my issue, I was trying to import an empty string!

import {domCreator} from ''

Facing same issue. I cross checked I am not even doing any wrong (empty string) import.

Some time work will , but some time console this Error. so can somebody tell me how to fix it or some solution. Thanks.

Issues are for feature requests & bugs. All support requests / questions should be done in either the Webpack Gitter or in Stack Overflow w/ the webpack tag

You can get this error if you try to use an Injectable, such as a service without adding it to providers.

In my case I was accessing a service in ngAfterViewInit (for test purposes) and hadn't added it to providers for the component. I suspect that because this is so early on in the component's lifecycle that this error was being seen first as kind of a red herring.

Was this page helpful?
0 / 5 - 0 ratings