1

I'm fairly new to Front End and I've been trying to learn webpack. I'm running into some problems when using Extract-Text-Webpack-Plugin that I can't seem to figure out. I'd appreciate any help on this topic. Also, any suggestion / tips are welcomed!

Warning / Error

WARNING in ./~/chokidar/lib/fsevents-handler.js Module not found: Error: Cannot resolve module 'fsevents' in C:\Git\JNJ.Web\src\JNJ.Web.UI\client\node_modules\chokidar\lib @ ./~/chokidar/lib/fsevents-handler.js 7:17-36

ERROR in (webpack)/~/constants-browserify/constants.json Module parse failed: C:\Users\christian\AppData\Roaming\npm\node_modules\webpack\node_modules\constants-browserify\constants.json Unexpected token (2:12) You may need an appropriate loader to handle this file type. SyntaxError: Unexpected token (2:12) at Parser.pp$4.raise (C:\Users\christian\AppData\Roaming\npm\node_modules\webpack\node_modules\acorn\dist\acorn.js:2221:15) at Parser.pp.unexpected (C:\Users\christian\AppData\Roaming\npm\node_modules\webpack\node_modules\acorn\dist\acorn.js:603:10) at Parser.pp.semicolon (C:\Users\christian\AppData\Roaming\npm\node_modules\webpack\node_modules\acorn\dist\acorn.js:581:61) at Parser.pp$1.parseExpressionStatement (C:\Users\christian\AppData\Roaming\npm\node_modules\webpack\node_modules\acorn\dist\acorn.js:966:10) at Parser.pp$1.parseStatement (C:\Users\christian\AppData\Roaming\npm\node_modules\webpack\node_modules\acorn\dist\acorn.js:730:24) at Parser.pp$1.parseBlock (C:\Users\christian\AppData\Roaming\npm\node_modules\webpack\node_modules\acorn\dist\acorn.js:981:25) at Parser.pp$1.parseStatement (C:\Users\christian\AppData\Roaming\npm\node_modules\webpack\node_modules\acorn\dist\acorn.js:709:33) at Parser.pp$1.parseTopLevel (C:\Users\christian\AppData\Roaming\npm\node_modules\webpack\node_modules\acorn\dist\acorn.js:638:25) at Parser.parse (C:\Users\christian\AppData\Roaming\npm\node_modules\webpack\node_modules\acorn\dist\acorn.js:516:17) at Object.parse (C:\Users\christian\AppData\Roaming\npm\node_modules\webpack\node_modules\acorn\dist\acorn.js:3098:39) @ ./~/graceful-fs/polyfills.js 2:16-36

package.json

{
  "name": "OrderEze.CRM",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "start": "",
    "watch": "webpack-dev-server webpack.config.js --progress --colors --watch",
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "OrderEze",
  "license": "ISC",
  "dependencies": {
    "babel-core": "6.7.4",
    "babel-loader": "6.2.4",
    "babel-preset-es2015": "6.6.0",
    "babel-preset-react": "6.5.0",
    "babel-preset-stage-1": "6.5.0",
    "classnames": "2.2.0",
    "css-loader": "0.19.0",
    "extract-text-webpack-plugin": "0.8.2",
    "react": "15.4.1",
    "react-dom": "15.4.1",
    "style-loader": "0.12.4",
    "webpack": "1.12.13"
  },
  "devDependencies": {
    "babel-eslint": "7.0.0",
    "eslint": "3.12.2",
    "eslint-config-airbnb": "12.0.0",
    "eslint-plugin-import": "1.16.0",
    "eslint-plugin-jsx-a11y": "2.2.2",
    "eslint-plugin-react": "6.3.0",
    "stylelint": "7.3.1"
  }
}

webpack.config.js

var aliases = require('./task-ticket/aliases.js');
var path = require('path');
var ExtractTextPlugin = require('extract-text-webpack-plugin');

module.exports = {
  devtool: 'cheap-module-eval-source-map',
  entry: './task-ticket/index.jsx',
  output: {
    path: path.join(__dirname, '/build'),
    filename: 'bundle.js'
  },
  module: {
    loaders: [{
      exclude: /node_modules/,
      test: /\.jsx?$/,
      loader: 'babel-loader',
      query: {
        presets: ['es2015', 'react', 'stage-1']
      }
    },
    {
      test: /\.css?$/,
      loader: ExtractTextPlugin.extract('style-loader', 'css-loader')
    }]
  },
  plugins: [
    new ExtractTextPlugin('style.css')
  ],
  node: {
    fs: 'empty'
  },
  resolve: {
    root: path.resolve(__dirname),
    alias: aliases,
    extensions: ['', '.js', '.jsx', '.css']
  }
};
1
  • Try to add .json on your resolve.extensions array. Commented Jan 7, 2017 at 23:07

1 Answer 1

1

ERROR in (webpack)/~/constants-browserify/ constants.json [...]

Some of the modules you are using need some json files, so you have to allow .json on your resolve.extensions.

resolve: {
  root: path.resolve(__dirname),
  alias: aliases,
  extensions: ['', '.js', '.jsx', '.css', '.json']
}
Sign up to request clarification or add additional context in comments.

1 Comment

Unfortunately I'm still getting the same error and warning. I really thought this was going to do the trick. =/

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.