timomue
timomue

Reputation: 317

Webpack fails rendering express import

NodeJS/Express: Webpack fails transpiling src/server/app.js to dist/server/app.js, after me adding import express from 'express' to the src-file (src/server/app.js).


The error messages look like:

ERROR in ./~/express/lib/request.js

in detail:

Module not found: Error: Can't resolve 'net'
 in '/Users/timo/Desktop/Eggs/node_modules/express/lib'

or

ERROR in ./~/express/lib/view.js

in detail:

Module not found: Error: Can't resolve 'fs'
 in '/Users/timo/Desktop/Eggs/node_modules/express/lib'

Do I have to change something in my webpack.config.babel.js-file?

here it is:

export default [
  {
    entry: './src/server/app.js',
    output: {
      path: './dist/server',
      filename: 'app.js'
    },
    module: {
      loaders: [{
        test: /\.js$/,
        exclude: /node_modules/,
        loader: 'babel-loader',
        query: { presets: ['es2015', 'react'] }
      }]
    }
  },
    {
    entry: './src/client/app.js',
    output: {
      path: './dist/client',
      filename: 'app.js'
    },
    module: {
      loaders: [{
        test: /\.js$/,
        exclude: /node_modules/,
        loader: 'babel-loader',
        query: { presets: ['es2015', 'react'] }
      }]
    }
  }
]

Upvotes: 3

Views: 1028

Answers (2)

holi-java
holi-java

Reputation: 30696

are you config .babelrc?webpack1 has no query option in module.loaders.if the problem even occurs.you can delete node_modules and reinstall npm install.May be something you link some dependencies from global repository via npm link,I have met.

Upvotes: 0

robertklep
robertklep

Reputation: 203534

Try setting the "node" target for your server-side code:

{
  entry  : './src/server/app.js',
  target : 'node',
  ...
}

By default, Webpack will compile for usage in a web browser, which doesn't support a lot of modules that only make sense to run server-side (like net and fs).

Upvotes: 6

Related Questions