Webpack erfordern Ausdruck external
Ich habe einen Ausdruck, der zur Laufzeit aufgelöst werden soll, aber ich kann mich in diesem einfachen Beispiel nicht mit der Webpack-Konfiguration befassen:
import something from 'module';
import pkg from './package.json';
let a;
if (pkg.main) {
a = require(pkg.main);
}
Der resultierende Build sollte das @ enthaltmodule
aber auch benötigen./package.json
undpkg.main
zur Laufzeit als commonjs-Module - mit anderen Worten, schließen Sie sie vom Build aus.
Mywebpack.config.js
bisher
var webpack = require('webpack');
module.exports = {
entry: './src/main.js',
output: {
filename: '[name].js',
path: './build'
},
target: 'node-webkit',
plugins: [
new webpack.ExternalsPlugin('commonjs', './package.json')
],
module: {
noParse: /\.min\.js/,
exprContextRegExp: /$^/,
exprContextCritical: false,
loaders: [
{
test: /\.js$/,
loader: 'babel',
exclude: /node_modules/
}
]
}
};
Was jetzt passiert, ist die Voraussetzung fürpkg.main
ergibtwebpackMissingModule
Ausnahme und wenn ich @ entfernexprContextRegExp
, die Anforderung verwendet den Kontext.
Danke für jede Hilfe