事の始まり
Electron + Reactで遊んでたら、
タイトルのエラーがおきた。
エラーの内容でググっても、すぐに解決記事が引っかからなかったので、
ここに書いておくよ。
忙しい人向け
webpack.configのexternalsの対象に、node_moduleを含めればいいよ。
エラーの詳細
var UglifyJS = exports;
var FILES = UglifyJS.FILES = [
"../lib/utils.js",
"../lib/ast.js",
"../lib/parse.js",
"../lib/transform.js",
"../lib/scope.js",
"../lib/output.js",
"../lib/compress.js",
"../lib/sourcemap.js",
"../lib/mozilla-ast.js",
"../lib/propmangle.js",
"./exports.js",
].map(function(file){
return /*require.resolve*/(!(function webpackMissingModule() { var e = new Error("Cannot find module \".\""); e.code = 'MODULE_NOT_FOUND'; throw e; }()));
});
UglifyJSの問題なのかな?
解決記事
If it is a server-side project, just don't pack the node_modules.
サーバー側のプロジェクトの場合は、node_moduleをパックしないでください。
そもそも
When bundling with Webpack for the backend - you usually don't want to bundle its node_modules dependencies.
バックエンド用のWebpackにバンドルするとき、通常はnode_modulesの依存関係をバンドルしたくない。
・・・そうなの?
これ!っていう理由が見つけられなかったのですが、
serverless + webpack関連の記事で、
外部モジュールのrequireでwebpackコマンドが失敗するよというものが何件が見受けられました。
私の事象とは異なりますが、requireを使える環境ではnode_moduleはバンドルの依存関係から
外したほうが良いという事でしょうか。
解決
webpack-node-externalsを使うと、
いい感じにnode_moduleをexternals出来るらしいので、
そのようにいたします。
npm install webpack-node-externals --save-dev
import nodeExternals from 'webpack-node-externals';
export default {
・・・
externals: [nodeExternals()],
・・・
};
動いた動いた。
詳しく解説いただける方、コメントいただけると助かりますm(__)m (主に私が