私はノードを配布するために単一のファイルにnode.js expressアプリケーションをバンドルしようとしています。私はそのような目的のためにwebpackを使用しようとしています。バンドルプロセスは正常に動作しますが、バンドルからアプリケーションを実行しようとするとエラーが発生します。"express" node.jsアプリケーションをバンドルするには? (Webpackで)
Error: secure random number generation not supported by this browser use chrome, FireFox or Internet Explorer 11"
以下は私のwebpack設定です。私はここでnode bundle.js
var webpack = require('webpack');
module.exports = {
context: __dirname,
devtool: 'eval',
entry: [
'./index.js'
],
output: {
filename: 'bundle.js',
publicPath: '/public'
},
resolve: {
extensions: ['', '.js', '.json'],
},
module: {
loaders: [
{
test: /\.css$/,
loader: 'null-loader'
},
{
test: /\.json$/,
loader: 'null-loader'
}
]
},
plugins: [
new webpack.DefinePlugin({
'process.env.NODE_ENV': JSON.stringify('production')
}),
new webpack.NoErrorsPlugin(),
new webpack.optimize.DedupePlugin(),
new webpack.optimize.UglifyJsPlugin({
compress: { warnings: false }
}),
new webpack.optimize.AggressiveMergingPlugin(),
new webpack.optimize.OccurenceOrderPlugin(true)
]
}
でコードを実行している完全なエラー・スタックです:
Error: secure random number generation not supported by this browser
use chrome, FireFox or Internet Explorer 11
at module.exports (webpack:///./~/crypto-browserify/rng.js?:21:13)
at exports.randomBytes (webpack:///./~/crypto-browserify/index.js?:22:23)
at _rng (webpack:///./~/node-uuid/uuid.js?:60:53)
at eval (webpack:///./~/node-uuid/uuid.js?:121:20)
at Object.eval (webpack:///./~/node-uuid/uuid.js?:272:3)
at eval (webpack:///./~/node-uuid/uuid.js?:274:30)
at Object.<anonymous> (/Users/tomi/Github/apps/react-app-test/server/bundle.js:545:2)
at __webpack_require__ (/Users/tomi/Github/apps/react-app-test/server/bundle.js:20:30)
at eval (webpack:///./~/graphql-tools/dist/mock.js?:18:17)
at Object.<anonymous> (/Users/tomi/Github/apps/react-app-test/server/bundle.js:341:2)
私はこれをWebPackでやったことはありませんが、私はBrowserify(これはずっと前)でやっています。バンドルには、組み込みのNodeモジュールを模倣するBrowserifyモジュール( 'crypto-browserify'など)が含まれているようです。一方、組み込みのものが必要です。 WebPackでどのように管理しているのか分かりませんが、それが問題です。 WebPack/Nodeに関連する投稿[here](http://jlongster.com/Backend-Apps-with-Webpack_Part-I)があります。 – cartant
私はブラウザでも処理しようとしましたが、結果は同じでした; /これらのモジュールを強制的にノードからロードする方法はわかりません。 – tomitrescak
私の頭の上から外れて、私は覚えていない。私は、後で、私が何をしたのかを見るために、まわりを突っ込む。残念ながら、もう少し前ですが、組み込み関数とバイナリモジュールのバンドルを避けるために、Browserifyを使って作業をしていることを覚えています。 – cartant