Webpack自体は正常に機能していますが、webpack-dev-serverは正常に機能していません。基本的に、webpackは、バックエンドバンドルとフロントエンドバンドルの2つのビルドファイルを作成しました。だから、私はこれらのそれぞれのためのwebpack-config.jsを持っています。以下のfront-end-bundle.jsのwebpack-configファイルからわかるように、webpack-dev-serverを使用してフロントエンドコードを開発したいと思います。 web-pack-devサーバーを実行すると、front-end.jsとindex.htmlを見つけてビルドできますが、コンソールに何もレンダリングされず、"Uncaught ReferenceError:require is not定義済み "
// 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()]
}
エラーは私のフロントエンドビルドでこれによって引き起こされます(それは開発サーバービルドにのみあり、非開発サーバーWebpackビルドにはありません):
function(module, exports) {
module.exports = require("url");
誰かがこれについて洞察を持っているなら、それは大いにありがたいです
追加してみてください:
target: 'web'
モジュールブロックに。
私は同じエラーを抱えていました、そして誰かがまだこれに苦労しているなら、この解決策も私を助けました:
...この問題を解決するには2つの方法があります。
1。 (推奨)Webpackブラウザー構成でwebpack-node-externalsをアクティブ化しないでください。ただし、WebをターゲットにするときにWebpackにこれらのモジュールを実際にバンドルさせてください(これはおそらくあなたがやりたいことです)
- ブラウザに他の方法で外部モジュールをロードし、適切なimportTypeフラグをwebpack-node-externals構成に追加します(スクリプトの場合はvar、AMDの場合はAMD)。
詳細はこちら: https://github.com/liady/webpack-node-externals/issues/17#issuecomment-284222729
Webpack.config.jsに以下のルールがありました
rules: [
{
test: /\.js$/,
use:['script-loader']
}
]
上記のルールをwebpack.config.jsから削除すると、エラーが削除されました。
お役に立てれば。
この問題は、reactアプリのベースのノードアプリからのwebpack.config.jsで発生しました。
私は以下を持っていました:
target: 'web'
しかし、それでも同じ問題に遭遇しました。
webpack-node-externalsへの参照を削除すると、それが解決されました。これは、node-externalsが実際に何をしているのかを考えるときに意味があります。