2016-09-12 23 views
5

Webpack chính nó hoạt động tốt, nhưng webpack-dev-server thì không. Về cơ bản, webpack đã tạo 2 tệp xây dựng cho tôi, một gói back-end và một gói front-end. Vì vậy, tôi có một webpack-config.js cho mỗi trong số này. Tôi muốn phát triển mã front-end của mình với webpack-dev-server, như bạn có thể thấy từ tệp webpack-config của tôi cho front-end-bundle.js bên dưới. Khi tôi chạy máy chủ web-pack-dev, nó có thể tìm và xây dựng front-end.js và index.html của tôi, nhưng không có gì hiển thị trong bảng điều khiển và nó cung cấp cho tôi "Uncaught ReferenceError: yêu cầu không được xác định"Lỗi WebPack-Dev-Server: yêu cầu không được xác định

// var nodeExternals = require('webpack-node-externals'); 
var webpack = require('webpack'); 

module.exports = { 
entry: './browser/entry.js', 
output: { 
    path: './builds', 
    filename: 'frontend.js' 
}, 
plugins: [ 
    new webpack.DefinePlugin({ 
     'process.env.NODE_ENV': '"development"' 
    }), 
    new webpack.DefinePlugin({ 
     'process.env': { 
      'NODE_ENV': '"development"' 
     } 
    }) 
], 
module: { 
    loaders: [ 
     { 
      test: [/\.es6$/, /\.js$/, /\.jsx$/], 
      exclude: 'node_modules', 
      loader: 'babel-loader', 
      query: { 
       presets: ['react', 'es2015', 'stage-1'] 
      } 
     }, 
     { 
      test: /\.json$/, 
      loader: 'json-loader' 
     }, 
     { 
      test: /\.html$/, 
      loader: 'html-loader' 
     }, 
    ] 
}, 
resolve: { 
    extensions: ['', '.js', '.es6', '.json'], 
    root: '/Users/johnhenry/Desktop/GAMR/gamr/browser' 
}, 
devServer: { 
    contentBase: 'builds/dev-build' 
}, 
target: 'node', 
// externals: [nodeExternals()] 
} 

các lỗi được kích hoạt bằng cách này trong front-end build của tôi (nó chỉ là trong máy chủ dev xây dựng, không phải trong không-dev-server webpack xây dựng):

function(module, exports) { 

module.exports = require("url"); 

Nếu bất cứ ai có cái nhìn sâu sắc về điều này, nó sẽ được nhiều đánh giá cao

Trả lời

2

Hãy thử addin g:

target: 'web' 

vào khối mô-đun của bạn.

+0

Đối với tôi, điều này ném * Không thể giải quyết ' fs '*. 'node: {fs:" empty ",}' gợi ý ném * _fs2.default.readFileSync không phải là một hàm *. Xem [this] (https://github.com/webpack-contrib/css-loader/issues/447). – Leo

0

tôi đã có lỗi tương tự và nếu có ai vẫn đang vật lộn với điều này, giải pháp này cũng giúp tôi:

... There are 2 ways to solve the issue:

1. (Recommended) Don't activate webpack-node-externals in your Webpack browser config, but let Webpack indeed bundle those modules when targeting the web (this is probable what you want to do)

  1. Have the external modules loaded in some other way in the browser, and add the appropriate importType flag to the webpack-node-externals configuration (either var for scripts or amd for AMD)

biết thêm chi tiết ở đây: https://github.com/liady/webpack-node-externals/issues/17#issuecomment-284222729

Các vấn đề liên quan